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

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

続きを読む

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

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

続きを読む

Tumblrから画像データを取得してサムネイル表示するアプリをLaravel + BootstrapVueで作ってみました【#np2020】

昨日から引き続いて。 Laravel + BootstrapVueの習作の一環として、Tumblrから画像データを取得してきてサムネイル表示するアプリケーションを作成してみました。このブログのトップにずっとあったやつですね。「umbls.com」というサイトで「Tumblr Thumbnails」として提供していたものとほぼ同じですが、テスト版なので機能面での互換性はありません(デザインのアレンジも出来ません)。

続きを読む

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です。

続きを読む