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

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

続きを読む

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

Chart.js

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

続きを読む

LaravelでスクレイピングしてAmazonのおすすめ度を取得【#np2020】

Amazonで参考にするものと言えばレビューとそれに基づいて表示されるおすすめ度の星の数。商品表示するときにその星の数を取得出来ると良いんですけど、残念ながら現在のAPIでは提供されていません。提供されているのは、レビューとおすすめ度が表示されたページのURLだけです。例えばこんな感じ。

続きを読む

RSSを読み込んで表示するだけのツールをLaravel + BootstrapVueで作ってみました【#np2020】

Laravel + BootstrapVueの習作として、RSSを読み込んで何らかの形で表示するだけのツールを作成してみました。例によって僕個人が個人サイトで使用する目的のためだけに制作しているので、汎用性は保証していません。 (トラフィック次第では制限が掛かる可能性もあります)

続きを読む

LaravelでAPIの結果をCloudFrontでキャッシュさせようとしてハマった話【#np2020】

先日用意したAmazon API(Amazon Product Advertising API)を利用したAPIを、リクエスト数節約のためにCloudFrontでキャッシュさせようとしたんだけど、どう設定してもキャッシュしてくれなくてハマってました。見直す中でCloudFrontの設定に間違いもあってそれで混乱してしまったのですが、どうやら設定のせいじゃない。APIの取得結果をJSONで返すだけだからCookieも使っていないし、なぜキャッシュされないのか…… と思いながら冷静になってChromeのデベロッパーツールでリクエスト見てたらこんなんなってました。

続きを読む

【メモ】Laravelで簡単なAPIを実装してみる【#np2020】

Laravelへの機能実装を進めながら泥縄でいろいろ勉強するということをしています。で、ある機能を実装するのにフロントエンドはVueで実装して、データはサーバ側で取得してJSONで渡そうかというようなことを考え、APIを実装してみました。とりあえずサンプルなので使うデータは何でも良かったんですが、あとで使えるようにってことでAmazonの商品情報API(Amazon Product Advertising API)を使うことに。ASINを渡すと商品情報のJSONを返してくれるだけのシンプルなAPIです。

続きを読む