Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

OPENLOGI Advent Calendar 2017- Qiita の10日目の記事です。 Advent Calendar 2回目の登場です。前回は MySQL 5.7 の全文検索で不正確な郵便番号に立ち向かう というタイトルで物流に深く関わる郵便番号について書きました。 今回はOPENLOGIでも使っているLaravelに関する記事を書こうと思います。 Laravelで継続的に強化されている機能の一つとしてキュージョブがあります。8月末にリリースされた5.5でもキュージョブのチェーンやレート制限など活発に開発が進んでいます。 [参考]Laravel 5.5 リリースノート また5.5リリースに先駆けて、今年の7月にLaravelのRedisキューのモニタリングに便利なLaravel Horizonがリリースされました。 OPENLOGIではデータの更新を伴う処理はすべてJobクラス
オープンロジアドベントカレンダー13日目です。がんばって書いてみたよ ちなみに12月13日は俺の誕生日だよ 祝ってくれてええんやで はじめに Laravel や Lumen は複雑なシステムにも利用することができるとても優れたフレームワークです。 個人的にLaravel/Lumenにおいて重要な機能のひとつがQueueです。 LaravelのQueueのドキュメント LumenのQueueのドキュメント 今回は、Queueにフォーカスして、Laravel/Lumenの内部でどのように処理が行われているのかを追っかけたいと思います。 要点としては、標準のQueueは比較的シンプルで若干物足りないのですが、ちゃんと拡張するためのAPIが用意されているので、それらを利用することで、大抵の目的を達することはできますよ、ということをお伝えしたいと思っています。 対象の環境 今回は以下の環境を元に説明
ラクス Advent Calendar 2017 の6日目の記事です。昨日は@fnzzzさんによる「 VUIのデザインについて考察してみた 」でした。 本日はこの記事でQiita初投稿となります、@amderbarです。 はじめに 先日、個人的に作っているWebアプリケーションにLaravel Mixを導入しましたのでそのお話です。大筋は「Laravel Mixでwebpackをもっと簡単に使う方法」に従っていますが、1点だけハマった点があったのでそこも含めてお話しします。 Laravel Mix とは 本題に入る前に簡単にLaravel Mixのご紹介です。 Laravel Mix はPHPフレームワーク「Laravel」に内包されるwebpackのAPIラッパーです。webpackは便利なようですが、ちょっと見ただけでも自由度が高い分設定が複雑で敷居が高い印象を受けます。 ですがLar
1. ユーザーによる入力値の検証入力パラメータ値のエンコーディングが正しいことをチェックするMiddlewareの例以下のミドルウェアを作成して、Global Middleware として登録して使用する。 app/Http/Middleware/EncodingValidateParams.php <?php namespace App\Http\Middleware; use Closure; class EncodingValidateParams { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next
Eloquentを使って簡単に関連するデータを操作するためには、 migarationファイルに外部キーを定義 Eloquentにリレーションを定義 の2つが必要です。 Laravelの公式ドキュメントでもこの2つに関する記述まとまっている記事等がなかったので記述いたします。 ##状況 UserはEmaiを複数登録できるとします。 この関係をこの関係をテーブルとEloquentに定義します。 ##migarationファイルに外部キーを定義 ###親テーブル 親テーブルには特に定義は必要ありません。 public function up() { Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('username', 64); $table->strin
はじめに Laravelのジョブ機能、便利ですよね。 Controller側から割り当てて、タスク監視サービスのsupervisorから自動で実行できれば、バックグラウンドで処理させることも簡単ですね。 アップロードしたファイルをDBにセットする処理をジョブ化したのですが、ここでハマってしまったので自分なりに理解するために現状を整理しました。 経緯はこんな感じ。 おいィ?処理は正常終了してるはずなのにDBのレコード数が想定の倍になってるだとォ? ジョブが失敗したとき(public function failed())でログを吐くようにしてなかったので修正した 見かけ上はうまく行ってるのにfailedに引っかかってるナンデ? ログファイルを詳細に吐けるようにしてデバッグしたろ! そもそも**tries=1の時点で最高2回は処理が走る**とか言う仕様→二重になってたのはこれが原因では? con
追記 コメントにて補足頂きました。 Laravel5からは.env.{APP_ENV}に環境ごとの設定を記載する形になっていたようです。 当該ソースはこの辺。 流儀に沿うなら、環境ごとの.envを用意するのが正しいかも。 本編 Laravel4のときは、config以下にenvironment名ごとのconfigファイルを置いておけば環境変数によってconfigを切り替える機能があったようだが、(参考: http://www.1x1.jp/blog/2014/09/laravel-environment-config.html )Laravel5ではこのような機能はなくなっていた。 なぜ5でなくなってしまったのか(と言うか本当になくなってしまったのか)、 思想的な部分がわからないので若干不安はあるが、プロジェクトであったほうがよいという話になったので作成した。 <?php namespac
リアルタイムの通知は優れたユーザーエクスペリエンスの必要条件です。Ajaxリクエストを一定間隔でバックエンドに送信して最新の通知を受け取る実現方法もありますが、より優れたアプローチはWebSocketsを利用して通知が送信されると同時に受信する方法です。詳しく紹介します。 PusherとはWebサービスの1つで、WebSocketを使ってリアルタイムかつ両方向の通信機能をWebサイトやモバイルアプリに組み込むサービスです。 PusherのAPIはもともとシンプルですが、Laravel BroadcastingとLaravel Echoを組み合わせると極限までシンプルにできます。 この記事では、リアルタイム通知を既存のブログに追加する方法を紹介します。 基本的な機能はStreamで実現するリアルタイムLaravel通知に似ています。 まずはChristopher Vundiが作ったリポジトリ
はじめに このエントリーについて この記事は「Laravelでウェブアプリケーションをつくるときのベストプラクティスを探る」シリーズの一編です。 他の記事は目次からアクセスしてください。 Kent Beck による Test-Driven Development by Example の新訳版が出たことを記念して、本書に載っているサンプルを題材に、Laravel でテストを書く際のベストプラクティスを探ってみようと思います(と言いつつ、私は旧訳版しか持ってないです、すみません)。 ※ 異なる通貨単位を持つ金額を足し合わせる機能のコード例を若干編集して使用しています。 環境 PHP: 7.1.4 Laravel: 5.5.18 PHPUnit: 6.4.3 Laravel Dusk : 2.0.7 為替レートAPI: Open Exchange Rates (Free プランなので、USD
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く