【Laravel】クエリビルダ:Select節内で加工したデータでグループ分け【#np2020】

つい何でもSQLをゴリゴリ書きそうになるところを抑えてクエリビルダで何とかしようと頑張るというのも、ORMもクエリビルダも使っていなかった環境からフレームワークに移行するときあるあるかなと思ったりするわけですが、例によって処理の中にこんな感じのクエリがありました。

続きを読む

【Chart.js】グラフの変更が完了しました【#np2020】

Chart.js

これまでのFlashを使ったグラフからChart.jsを使ったグラフへの切り替えが完了しました。既存のデータを現在のシステムに移行する必要がありましたが、Laravelで適当なコマンドツールを作って、amChartのXMLファイルを読み込んで解析、必要に応じてデータベース上にテーブルを作ってデータを入力という流れで簡単にコンバートできました。特にLaravelのEloquent ORMには助けられてばかりです。素敵すぎ。

続きを読む

開発環境の大幅な刷新が必要性はわかるけれども(しんどい)

倒れるプログラムのキャラクター

パートタイムなエンジニアとして復帰してから早くも1年と8ヶ月が経ちました。早いなあ。始めの1年2ヶ月は前任者であり技術部門の責任者であったAさんの部下として、Aさん退職後の6ヶ月間は責任者代理として仕事をしてきましたが、開発環境を変えるというのは楽しいけれどしんどいですね。自分の趣味であれば新しい技術に対しては楽しさ100で接することが出来るんですけど、業務でってことになると学習コストがそのまま納期へのプレッシャーとなっていくので、なかなか楽しんでばかりもいられない。ただでさえ歳取って新しいことが入って来にくくなってるので、若い頃よりもさらに学習コストが掛かる。きついなー。

続きを読む

【メモ】ローカルのMySQLにrootでログイン出来なくなったら

mysql_logo.png 動作確認のために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】

yarn_logo.png 少しずつ開発している新サイト(プロジェクト名:np2020)では、環境の設計以来ずっとnpmを使っていたんですけど、業務でこれまた新しく設計された環境(設計したのは前任者)で開発をしていて、そこでyarnを使っていてインストールがとても速くて使いやすいので、こっちでもそれに乗り換えましょうということで乗り換え。 npmとyarnの違いについてはこの辺がわかりやすいです。 Yarnとnpmの違い:JavaScriptパッケージマネジャーを比較する – WPJ npm vs yarnどっち使うかの話 – Qiita 手順は以下の通り。

  1. npmでyarnをインストール
  2. yarnコマンドを実行
以上です。それだけ。

続きを読む