アラサー転職組の新米エンジニア日記

2017年に未経験からエンジニアになったアラサーです。

現場が変わりました(2社目)

新しく現場がおもっきりベンチャー寄りの企業で、そこで働き始め一週間がたちます。

少しいつもやっていることから離れて現場の環境になれないといけない。

新しい現場はインフラチームに配属されるようになり、以前よりはがっつり技術に触れる機会が増えそうです。

チームのメンバーも全体的に技術力が高く、ちょっとした作業のスピードも格が違うので、もっと積極的に作業スピードを上げる努力をしなければいけないなって気がしています。

というかここでブレークスルー出来なかったらマジやばいなと。

以下はこれからベースアップするために必要なこと。

技術力がある方々にとっては特に確認するまでもありません。

 

ワンライナーでコマンドを叩けるようになる。

 

□for文

現場の環境によっては様々ですが、ファイルは共通して規則性のある名前がある場合は、一回一回コマンドを打ってなんかないで一気にやることが時短になります。こういったちょっとした作業でも時間を意識するとちりつもで結構な節約になる。

例)連続する特定のファイルを別のディレクトリにコピーする(別のサーバの場合はacp)

# for i in `ls` ;do cp -pf ./${i} /home/user/testdir/${i} ;done

 

ログファイルなどの場合はseqコマンドを引数にすることでログの日付に関数を合わせることもできるので合わせて覚えておくと便利。例えばひと月の特定の期間のログのみを別のディレクトリにコピーするなど

例)11月20から30日分のログのみを別のディレクトリにコピーする

# for i in `seq 20 30` ; do cp 201811${i}.log /home/user/testdir/; done

 

scpコマンドでホームディレクトリに送ってあげるみたいな時。ディレクトリ丸ごとではなく、連番の課から特定の日にちのみみたいな時にかなり便利っぽい、一つのコンテンツに対していくつかwebサーバが経ってるときとかも順番で数振りされてるときとかも使えるときあるかも。他にもwhile文などあるけどここら辺は勉強が必要だなと。

 

●補足:seqコマンドについて

seqコマンドはオプションwを付けると桁数を合わせてくれる

[user@localhost test]$ seq -w 1 10
01
02
03
04
05
06
07
08
09
10

 

□findコマンド

ファイルを検索する際はよく以下のコマンドを打っていました。

# find ./ -name "*.html" |xargs grep "XXX"

検索した後の結果にコマンドを実行したいときは以下のように"-exec"オプションを使うと結果に対して別のコマンドが実行できる。

linuxであるフォルダ以下の全サブフォルダ内のファイルだけ削除

# find testdir -type f -exec rm {} \;

 

 

以上、これからも何かいいコマンドを見つけたらアップデートしていく所存

 

 

 

1、Wordpressでサイト制作【基礎~テーマディレクトリについて】

wordpressのテーマディレクトリとは?
テーマに関するファイルが保存してあるディレクトリの場所
\wordpress\wp-content\以下に普通はありますね。
※XAMPPだと"C:\xampp\htdocs\wordpress\wp-content\themes"


☆get_template_directory_uri()
⇒テーマディレクトリまでのURLを取得する

☆esc_url()
⇒URLの無害化

☆☆esc_url( get_template_directory_uri() )
⇒テーマディレクトリまでのURLを出力
以下のようにechoで安全に取得したテーマディレクトリのURLを
取得してくれる。
<?php esc_url( get_template_directory_uri() ); ?>

http://localhost/wordpress/wp-content/themes/mvcoffee

 

画像ファイルを引き出す書き方

<img src="<?php echo esc_url(get_template_directory_uri() ); ?>/img/画像ファイル名.png" alt=""/>

wordpressの画像は"\wordpress\wp-content\themes\mvcoffee\img"以下に保存されている。

 

エスケープ関数について

esc_url() →URLを無害化してくれる

esc_html() →HTMLタグのエスケープ処理

esc_attr() → < > & " 'をエンコード

ecs_textarea() →textareaタグ内の値をエスケープする

1、Wordpressでサイト制作【基礎~サイト制作にあたって】

とりあえず題名の通りサイトを製作できるようになりたいと思って作っていくうえで学んだこと、大事なこと、思考の整理を備忘録として残していこうかと。

 

☆そもそもなぜ??

そもそもの話である。

なぜこんな気持ちになったかというと以下の点がある。

 

◆新しいウェブサービスを始めたい。

実は始めてみたい商売があってネタもあるのだがネットでの見せ方がいまいちわからない、そんなとき一から全部学んで実用できるのがこれだなって思ったわけ。しかももうボーナスと同時にレンタルサーバを契約済み(Xサーバ)。

wordpressも構築して一から作成しようにもテーマ選びからページの配置までわからないなりにやっていくうえで「これは一から勉強したほうがいいな。。」と思うようになってきた。なので目標としてはテーマを何となく形に出来るぐらいに出来ればいいかな~と、それでSEOとかその他もろもろのスキルも少し身につけばいいかな~と(←Web制作専業の人はマジで尊敬しています。これやってるんだなーって驚く毎日です。)

 

◆構築から制作リリースまでの一通り仕事でかじれるようになりたい

こう見えてインフラエンジニアなのでLINUXに一からwordpressは構築できるんだけどそこから運用もできてさらには制作もできるようになれば少しは自分の市場価値が上がるかなって気持ちがある。動的コンテンツはApacheで静的コンテンツはNginxで!みたいなのをうまく操りつつやっていけたら面白いのではないかと心のどこかのキャリア形成って書いた引き出しに漠然とした目標が入ってはある。

 

フリーランス的な感じで仕事を受注できる技術を得たい

これは2番目の動機とかなり似ている。せっかくITで技術を扱う会社で働いてるわけで

その技術を使った稼ぎ口が所属してる会社だけじゃなって思った。なんかパソコン一台で働けるようになりたいって目標を抱いて業界に移ったものの結局会社通さないとお金ももらえなのはなって不安が行動になった感じだ。

 

以上の動機である。

 

☆まず始めたこと

 

とりあえず、基本を学べる系の書籍を一冊、そしてまずはサイト制作においてのwordpressの仕組みについてネットで記事を探してみた。テーマ作成やプラグインについての知見を深める前にまずはwordpress自体の全体の仕組みを把握する必要があるなと。

なので下記を参考に知見を深めました。

 

【書籍】

ビジネスサイトをこれからつくる WordPressデザイン入門 サイト制作から納品までのはじめの一歩

 

【HP】

hijiriworld.com

 

 

 

粛々とやっていきたいと思う。

 

追伸

最後まで読んでいただきありがとうございます。

ほんとにうれしい!

wordpress初心者なのでおすすめの書籍やサイト教えていただけたら本当にうれしいです。よろしくお願いいたします。

 

 

CentOS7上でLaravelでWEBアプリケーションを作る ~CSSとjQueryをレイアウトに反映させる~

こんにちは

インフラエンジニアで勉強にもなるし勉強になるってことで環境がvirtualboxでcentOS7を入れてそれをteratermでローカル環境からコード書くって感じだったのですが、あれですねXAMPPめっちゃ便利っすね。これに乗り換えました。

今回はCSSファイルとjQueryをレイアウトで機能するようにしました。

resoses/views/layouts/testlayout.blade.php

layoutsディレクトは自分で作成してその中にファイルを作成しています。 このファイルに記載されているコードを骨組みとしてをブラウザに表示するファイルに読み込ませてる形になります。このブラウザに読み込ませるファイルにはこのレイアウトファイルを読み込むために継承させるコードを頭に書きます

@extends('layouts.testlayout')
※この'layouts.testlayout'というのはlayouts ディレクリ
 のtestlayout.blade.phpという意味これで継承してくれます。
 便利ね。

このレイアウトファイル内の<head>タグのなかにcssファイルの指定とjQueryファイルの呼び込み、</body>直前にjavascriptのファイルを指定上げるだけ

<head>
 <link rel="stylesheet" href="css/tomatoapp.css" >
 <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
</head>

:
:
:
<script type="text/javascript" src="js/test.js"></script>
</body>

以上の感じ。 なんかほかに良い方法があったら教えていただきたいです。

CentOS7上でLaravelでWEBアプリケーションを作る ~DBクエリ,stdClassの値を直接参照する~

larabel初心者です。というかPHP初心者でもあります。

larabelのDBクラスから値を直接引っこ抜きたいんだけどどうもvar_dumpで表示させてみるとstdClass内に入ってて、このstdClassから直接値を参照しようと通常の連想配列から引き出すような感じで試したところ、Woooops!!ってなるので調べたところ下記で解決したのでその記録に。

select * from user;

id name old
4 sato 20
5 yamada 20
6 yoshida 20

routes/web.php

Route::get('/', function() {
  $message = DB::select('select * from user');
  echo '<pre>' . var_export($message,true) . '</pre>';
  $test= $message[0];
  print_r($message[0]);
  print '<br>'. $message[0]->name;
  print '<br>'.$message[1]->name;
  print '<br>'.$message[2]->name.'<br>';
  return 'おわり';
});

ブラウザでは下記が表示される

array (
  0 =>
  stdClass::__set_state(array(
     'id' => 4,
     'name' => 'sato',
     'old' => 20,
  )),
  1 =>
  stdClass::__set_state(array(
     'id' => 5,
     'name' => 'yamada',
     'old' => 20,
  )),
  2 =>
  stdClass::__set_state(array(
     'id' => 6,
     'name' => 'yoshida',
     'old' => 20,
  )),
)

stdClass Object ( [id] => 4 [name] => sato [old] => 20 )
sato
yamada
yoshida
OK

下記の表記でいけるっぽい

print '<br>'.$message[0]->name;
print '<br>'.$message[1]->name;
print '<br>'.$message[2]->name;

上記みたいな形で書けばいいみたい。 何かほかにいい方法知ってたら教えてください。

CentOS7上でLaravelでWEBアプリケーションを作る ~遷移先のURLにパラメータを渡す方法~

ブラウザに表を表示して、<a href=''>で特定のページに飛ばす際にアドレスにパラメータを指定してクリックと同時パラメータが指定されたアドレスURLに飛ばしたい。

blade.phpファイルに下記のように記載するとできました。
-------------------------------------------
@section('content')
<table>
<tr><th>日にち</th><th>プランID</th>
<th>&nbsp;</th></tr>
@foreach ($items as $item)
<tr>
<td>{{$item->play_day}}</td>
<td>{{$item->plan_id}}</td>
<td> <a href='deltask?id={{$item->id}}'>削除</a></td>
</tr>
@endforeach
</table>
@endsection
--------------------------------------------
これで画面の"削除"をクリックすると
"http://127.0.0.1:8000/deltask?id=番号"というアドレスに飛ぶ

f:id:wakachann:20180520142704p:plain

 

赤矢印部分の削除をクリックすると下記のURLページに飛ぶ。(遷移先のページはまだ作ってません)

f:id:wakachann:20180520142715p:plain

 

方法があまりよろしくなくほかに良い方法があればぜひ教えていただきたいです。

 

 

CentOS7上でLaravelでWEBアプリケーションを作る ~.envファイルを更新してもDBの結果が反映されないときの対処法~

アプリ制作をぼちぼちとやってるが、表題の通り、別のデータベースから値を取り出したく.envファイルを編集するも、更新されず前回設定したデータベースを参照してしまうというところで少しはまってしまい、ネットで調べその備忘録を。
 
データベースはMariaDB(MYSQL)
 
☆laravelのプロジェクトのディレクトリで下記のコマンドをたたいたら治りました。
# php artisan config:cache
 
 
ほかにも対処法がつらつらとあったので、書いときます。
 
キャッシュをクリアにする
# php artisan config:clear
 
下記のファイルがある場合キャッシュが優先される場合があるので削除する(自分はなかった)
# rm bootstrap/cache/config.php
 
下記のページを参考にしました。ありがとうございます。