エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

2018-04-01から1ヶ月間の記事一覧

部下がやる気を出すために、伝えるべき要素3つ【199日目】

注意 これは、過去に参加したセミナーと、 私自身が部下として仕事をして、モチベーション高く仕事が出来た要素を まとめたものになります。 あくまで参考程度にお願いします。 上司から仕事を振られた 上司「新しくこの仕事増えたよ、やっておいてね!」 の…

SQL文で’INSERT INTO Pages VALUES(?, ?, ?)'のように、?を使う理由【198日目】

こんな時ありませんか SQL文を見た時に、 INSERT INTO Pages VALUES(?, ?, ?)" こんな感じに、一部に?が使われている時。 どんなことになるの? ?のところに、あとで数値を入れます。 PDOの時の例で言うと、 $dbh->prepare("INSERT INTO Pages VALUES(?, ?)"…

【PHP】PDOで、エラーが出たら今までの変更なかったことにする方法【197日目】

どんな時につかう 基本はbegin commit rollbackの話。 // 1個目 $sth = $this->dbh->prepare("INSERT INTO Pages VALUES(?, ?, ?)"); $sth->execute(array(1, 'Etc', date('Y-m-d H:i:s'))); //typo $sth = $this->dbh->prepare("INSERT ITO Pages VALUES(?,…

ブログ更新時、Slackに通知を送るやつの補足・蛇足【196日目】

いい感じに記事まとめてくれた いい感じにやり方記事まとめてくれたので、シェア! ちょこっと補足があるので書きますね。 https://shiwataro.com/2018/04/27/post-215/shiwataro.com 補足 最初にすること、RSSをSlackと連携 get.slack.help コマンドがちょ…

【PHP】PDO使ってSQL文タイポした時にExceptionを投げる【195日目】

こんな時に使う (PDO使う時ほぼないというツッコミは置いておいて) $dbh->exec('CREATE TBLE Pages (id int, name nchar(255), create_date datetime)'); あ、 TABLEが TBLEになってる。 でもエラー出てないから気づかなかった・・・ って時に、エラーを投…

【PHP】相対パスでincludeした後のファイルで、さらにincludeすると読み込めない【194日目】

こんなファイル作りました public/index.php include ../xxx/yyy/temp.php xxx/yyy/temp.php include ../../zzz/item.php zzz/item.php echo 'hello'; これ、動かないです。 どこが問題か xxx/yyy/temp.php include ../../zzz/item.php これ。単体で見たら問…

【Laravel】モデルが更新した時に、関数を動かす【193日目】

こんなとき使える ユーザー情報を更新する時に、イベントを発行する。 User::updated(function($user) { if ($user->isDirty('email')) { Mail::to($user)->send(new UserMailChanged($user)); } }); これで、ユーザー情報を変更して(updatedイベント)、 …

nginx+phpで、index.phpが2度リクエストされる【192日目】

一度ページを見ると、2度アクセスされたことになる DBの書き換えをしたら、2度アクセスされる。なんでだ。 nginxの設定は・・・ location / { try_files $uri $uri/ /index.php$is_args$args; } dockerのログ見てみた php_1 | あいぴー - 23/Apr/2018:11:01…

【GTM】Googleタグマネージャーで本番環境で計測出来ない問題【191日目】

プレビューは動いてる タグ設定した トリガー設定した プレビューで見たら動いてる 自分がプレビューで見た結果をGAで見ても動いてる ☓. 自分以外の人が見ても計測出来ない 解決 ■公開忘れてた ということで、Googleタグマネージャの右上で、公開ボタンを押…

【GTM】Googleタグマネージャで記事の読了率測ってみる【190日目】

参考元。 昨日行ったイベントと、この記事を参考にしてみました。 blog.hatenablog.com 今回設定したこと ユーザーが1記事に対して何%読んだか(スクロールしたか) ユーザーが記事を最後まで読んだか(ユーザー名を表示したか) 言いたいこと めっちゃ簡単!!…

【イベント】マンガでわかるGoogleアナリティクスの勉強会行きました【189日目】

ってことで勉強会のツイートまとめ 自分のWebサイト持ってなくてもデモサイトで試せるのか、知らなかった・・・ #spzcolab #サポーターズ— ういろう@毎日エンジニアブログ (@16210372) 2018年4月20日 新機能出たら、デモアカウントを見ると、いい感じに設定…

【Laravel】直前にアクセスしたページのURLを取得する【188日目】

引数を入れた時どうなるかも書きました 取得失敗した時の動作が書かれているよ。 willow710kut.hatenablog.com 直前にアクセスしたURL、ページに来るためのリクエスト元のURL こうかく url()->previous(); 結果 "http://blog.hatena.ne.jp/willow710kut" み…

【git】一度revertしたブランチを修正して再mergeすると、変更が保存されない【187日目】

こんな場面 xxx_branchで作業したぜ! masterにmergeするで! あ、 xxx_branchまだ修正点あるわ。 masterにmergeしたのをrevertして元通りに戻すっと。 さあ、 xxx_branchをもう一度mergeするで! あれ・・・? xxx_branchの変更が masterに反映されてない・…

【Docker】phpでPDOにmysqlを使うと、could not find driverと出る【186日目】

Dockerfile FROM php:7.1-fpm phpファイル $dbh = new PDO('mysql:host=mysqlaaa;dbname=dbname', 'username', 'password); エラー could not find driver 対処法 RUN docker-php-ext-install pdo_mysqlの一文をDockerfileに付け足す FROM php:7.1-fpm RUN d…

【Laravel】パスワード入力時に、確認の入力をバリデーションする。【185日目】

こんな時に使う よく新規会員登録とかで見かける、 パスワード入力 パスワードの確認 とかで、同じパスワード入れないと通らないあれ。 こう書く id='xxx'のバリデーションに、 confirmedを設定 id='xxx__confirmation'を、確認用のformとして用意する id='x…

【日記】ブログ毎日更新が半年続いたので、次にやりたいこと。【184日目】

気づけば半年 毎日習慣となっていったブログ更新、とうとう半年になりました。 本当にあっという間でした。三日坊主にならなくてよかった。 良かったこと 知識の整理が出来る時間が出来たのは良いこと。 形として残ってるから、自分が忘れたものも、自分のブ…

【Laravel】データベースから取り出したデータを、型変換してから取り出したい【183日目】

値を取り出す時に、事前キャストしたい ユーザーが管理者のときに○○したいという時に、以下のようにコードを書きたい $user = new User('uiro'); if($user->is_admin === true) { .... } でも、データベースから取得した$userは0,1で is_adminが入ってる・・…

【Laravel】コレクション内の多重配列を合体させて、一次配列に【182日目】

こんな時に使える コレクション内に、[1,2,3]、[4,5,6]とかの配列を、一個にくっつけたい。 普段なら、foreachで取り出して、一個一個結合させる必要がある。 使うもの collapse() コード $collection = collect([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); $colla…

【Laravel】Formファサードのpasswordのoptionがきかないのは【181日目】

Formファサード Form::text('email', null, ['id' => 'email', 'class' => 'mail', 'tabindex' => 1]) こんなやつ これだと上手く動かない Form::password('password', null, ['id' => 'password', 'class' => 'pass', 'tabindex' => 1]) この時、formタグに…

【Laravel】route.phpの書き順で動かなくなるパターン。例題あり。【180日目】

書き方間違えてないはず、なぜか反応しない // ① Route::get('/', 'TopController@index')->name('top'); // ② Route::get('/{name}', 'ProfileController@detail)->name('profile_detail'); // ③ Route::get('/list', 'ProfileController@list')->name('pro…

【Laravel】routeに名前空間(namespace)を使って、見やすい構成に【179日目】

こんな書き方あるよ Route::group(['namespace' => 'Admin'], function () { // "App\Http\Controllers\Admin"名前空間下のコントローラ }); 何が嬉しいの? App\Http\Controllers\Admin\SomeController.php App\Http\Controllers\Admin\AnyController.php A…

抽象メソッドに対するコメントを、具体的にしすぎない【178日目】

抽象メソッドって? abstract class ClassHuman { abstract protected sayGreeting(); } この abstract protected sayGreeting();の部分。 これは、実装が描かれていないので、 class ClassJapanese extends ClassHuman { protected sayGreeting() { echo '…

特化型AIじゃシンギュラリティ起こせないとかいう話【177日目】

注意 AIについて全く詳しくない人が、過去に複数の人から聞いた話を継ぎ接ぎにして、まとめてメモしたものです。 真に受けすぎないでください(´・ω・`) シンギュラリティ(技術的特異点) 人類の進化曲線が、無限大になるポイントを指す言葉。 http://www.n…

『余裕マネジメント』で『始めにくい施策』をやれる環境づくり【176日目】

この記事読んでみました next.rikunabi.com 『対話をする』ことは『コストに対して成果が見えにくい』 以前の記事で、『納得感』を上げることは難しいと考えました。 それは『対話』をすることは、『コストに対して成果が見えにくい』から実行しにくい。 例…

仕様変更で要らなくなったコードはどうすべき?【175日目】

こんなコード if ($use < 0) { func(pow($use, 2)); } else { func($use); } $useがマイナスなら、2乗を使うってコード。 仕様変更起こりました。 Aさん『$useが負になることはなくなったよ!』 え、まじか。このコードどうしよう。 残す利点 もし、仕様変更…

jQueryで、自分の真上、真下の要素を取得する【174日目】

親、子はわかる <div class="parent"> <div class="child"></div> </div> これが親子なのはわかる <div class="a"></div> <div class="b"></div> 同じ階層の上下にある、これの関係はどうしたら・・・ prev $('.b').prev(); これで $('.a')が取得出来る ちなみに、自分より上の要素全部を取る場合は $('.b').prevAll(); next $('.a').next(); これでさっきの…

納得感vs生産性vsコストって難しい【173日目】

以前私が悩んだこと 開発をするときにこんな悩みを持ちました 『この開発やる必要ある?』 そう思った時に、まあ仕事に集中出来なかったり、 積極的に仕事に関わろうとする意欲が、いつもより下がったことがあります。 これを読んでる人も同じことを思ったこ…

【LT】新卒エンジニアが150日ブログ書き続けたLTのスライド【172日目】

新卒1年目が 毎日ブログ書いて得た 3つのこと from ObataMasaki www.slideshare.net 都内某所でLTしました willow710kut.hatenablog.com ということで、以前都内某所でLTした時のスライドです。 情報量少ない 絵が多めなので、情報量少ないです。 以下、スラ…

DockerでJavaの環境構築についてメモ【171日目】

前に書いたDockerでJavaの環境構築について。 alias用意して、bash起動する方式だったけど、 そもそもコンパイルをbuild時点で終わらせておきたい。 Dockerの思想的には、イメージの時点で動くものが用意されているべきなので、 コンパイルを済ませておいた…

コメントと名前付けについて、ブログ書いてもらえました【170日目】

こちらの記事 namu-r21.hatenablog.com 自分が所属しているコミュニティで、 私が前書いた『コメントの二重管理』の記事から、派生した雑談で生まれた記事。 この記事、本当に勉強になります。 でも、なぜこの記事が生まれたんだろう。 アウトプットすること…