カテゴリー: Programing / Coding
PHPの「DateTime::ISO8601」に嵌められた
【Laravel】クエリビルダ:Select節内で加工したデータでグループ分け【#np2020】
つい何でもSQLをゴリゴリ書きそうになるところを抑えてクエリビルダで何とかしようと頑張るというのも、ORMもクエリビルダも使っていなかった環境からフレームワークに移行するときあるあるかなと思ったりするわけですが、例によって処理の中にこんな感じのクエリがありました。
【Chart.js】グラフの変更が完了しました【#np2020】
これまでのFlashを使ったグラフからChart.jsを使ったグラフへの切り替えが完了しました。既存のデータを現在のシステムに移行する必要がありましたが、Laravelで適当なコマンドツールを作って、amChartのXMLファイルを読み込んで解析、必要に応じてデータベース上にテーブルを作ってデータを入力という流れで簡単にコンバートできました。特にLaravelのEloquent ORMには助けられてばかりです。素敵すぎ。
開発環境の大幅な刷新が必要性はわかるけれども(しんどい)
パートタイムなエンジニアとして復帰してから早くも1年と8ヶ月が経ちました。早いなあ。始めの1年2ヶ月は前任者であり技術部門の責任者であったAさんの部下として、Aさん退職後の6ヶ月間は責任者代理として仕事をしてきましたが、開発環境を変えるというのは楽しいけれどしんどいですね。自分の趣味であれば新しい技術に対しては楽しさ100で接することが出来るんですけど、業務でってことになると学習コストがそのまま納期へのプレッシャーとなっていくので、なかなか楽しんでばかりもいられない。ただでさえ歳取って新しいことが入って来にくくなってるので、若い頃よりもさらに学習コストが掛かる。きついなー。
【メモ】 CircleCI 2.0 でGitHubのmasterブランチとS3を同期させる
事情があってあれこれ試行錯誤したんですけど、最終的にはこちらの記事を全面的に参考にしてあっさり終わりました。 CircleCIからAWS S3にアップロードする – Qiita
Vue.js+Chart.js(vue-chartjs)+Laravelでグラフを作成しました。 【#np2020】
このブログではこれまでFlashを使ったグラフを採用してきたのですが、ブラウザ側のFlashへの対応が厳しくなっている今、Flashじゃないよなあということでリニューアル後はJavaScriptによるグラフを採用することにしました。
【メモ】ローカルのMySQLにrootでログイン出来なくなったら
動作確認のためにVagrant上にインストールしたMySQLにrootでログイン出来なくなってしまいました。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
メインで使っていない開発環境の方なので、きちんとパスワードを設定したかも疑わしい。普段使っている限りではrootでログイン出来なくても別に困らないんですが、DBユーザーに十分な権限が割り当てられていなくて、テーブル作成すらできないことがわかったのでなんとかしないといけない。
仕方が無いので、次の手順でrootのパスワードを再設定し、ローカルホストからのアクセスに権限を付与したたところ、ログイン出来るようになりました。
(パスワードを設定したつもりでしてなかったのかも)
環境
- CentOS 7
- MySQL 5.6
手順
$ sudo vi /etc/my.cnf
mysqld に skip-grant-tables を追記
$ sudo service mysqld restart
$ mysql -u root
mysql > use mysql;
mysql > UPDATE `user` SET `authentication_string` = PASSWORD('password') WHERE `user` = 'root';
mysql > flush privileges;
mysql > grant all privileges on *.* to root@localhost identified by 'password' with grant option;
mysql > flush privileges;
mysql > quit
$ sudo vi /etc/my.cnf
skip-grant-tables を削除
$ sudo service mysqld restart
$ mysql -u root -p
嵌まった点
- CentOS7で上手くMySQLをセーフモードで起動出来なかったので、my.cnfに追記しました。多分なんか方法があるはずです。
- パスワードを設定したあと、権限の変更を行おうとしたら、skip-grant-tablesが設定されてるからダメだと怒られました。が、 flush privileges してから変更したら上手く出来ました。それでいいのか……
【vue-chartjs】グラフのオプションを一括設定したい【#np2020】
Vue.js と Chart.js を連携させてグラフを描画する場合、ラッパーとして「vue-chartjs」を使うと面倒なことがかなり省略できて楽です。ファイルさえ準備しておけばデータを入れて簡単にグラフが描画できるというイメージでしょうか。導入に関しては公式サイトなどを参照してください。
【メモ】npmからyarnに乗り換え【#np2020】
少しずつ開発している新サイト(プロジェクト名:np2020)では、環境の設計以来ずっとnpmを使っていたんですけど、業務でこれまた新しく設計された環境(設計したのは前任者)で開発をしていて、そこでyarnを使っていてインストールがとても速くて使いやすいので、こっちでもそれに乗り換えましょうということで乗り換え。 npmとyarnの違いについてはこの辺がわかりやすいです。 Yarnとnpmの違い:JavaScriptパッケージマネジャーを比較する – WPJ npm vs yarnどっち使うかの話 – Qiita 手順は以下の通り。
- npmでyarnをインストール
- yarnコマンドを実行