はじめに

Laravel でモデルの 作成/更新/削除 を検知してログ出力する方法

TL;DR

  • bootXXXX を持つ trait を作成して、ログ取得したいモデルに設定
  • beginTransaction などのログも合わせて取得すると正確性が増す
  • クエリログも合わせて取得すると where()->update() のようなケースも取得できる
  • 要件/環境 によってはボトルネックになりかねないので注意が必要
続きを読む

はじめに

Laravel でメール送信イベントを検知してログ出力する方法

TL;DR

  • MessageSent イベントを監視
    • app/Providers/EventServiceProvider.phpprotected $listen に設定
  • リスナ(イベントハンドラ)内でログを出力
    • getTo, getSubject で送信先、件名を取得可能
  • 要件/環境 によってはボトルネックになりかねないので注意が必要
続きを読む

はじめに

Laravel の Tinker(PsySH)、php -a で起動する PHP の対話シェル(インタラクティブシェル)などで、日本語が入力できない(※)場合の対処方法。

(※イメージとしては 'ほげ' って入力しても Enter を押して確定した瞬間に '' となるような動作)

TL;DR

  • 恒久的な対処としては libedit の更新
  • 一時的な対処としては Unicode デコード可能な関数を定義して利用
続きを読む

はじめに

Vuex の状態を robinvdvleuten/vuex-persistedstatelocalStorage などに永続化する方法。

TL;DR

  • npm i vuex-persistedstate でインストール
  • plugins で設定するだけで OK
  • localStorage 以外を使いたい場合は storage オプションで設定
    • sessionStorage, Cookie, localStorage + 暗号化, etc
続きを読む

はじめに

「Vue.js で○○を実現するライブラリを探したい」というときは Awesome Vue.js を使うと便利、というだけの話。
リポジトリは vuejs/awesome-vue

公式ページ上でも、GitHub(リポジトリ トップ) 上でも情報を探せるようになっている。

GitHub 上で見る場合は、スクロールバーのサイズ(ページの長さ)や目次のデカさを見て探す気が失せるかもしれないが、目次の「Components & Libraries」を見て自分の見たい箇所だけチェックするという使い方で OK。
もしくは 「Ctrl(Cmd) + F」 で探すとかでも良いと思う。

あとは各ライブラリのリポジトリで詳細を確認し、自分のプロジェクトにマッチするかどうか、スター数、コミット頻度(放置されてないか)などで、どれを使うかを判断すれば良い。

その他・メモ

わかりにくいけど公式ドキュメントにも awesome-vue へのリンクはある。(自分は Google 検索から、たまたま awesome-vue にたどり着いた)


プラグインの使用 の下記

コミュニティの貢献による膨大なプラグインやライブラリは awesome-vue で確認できます。

Using a Plugin の下記

Checkout awesome-vue for a huge collection of community-contributed plugins and libraries.


もしくは

エコシステムを調べる の下記

The Awesome Vue Page: 他の素晴らしい人々によって公開された素晴らしいリソースを参照します。

Explore the Ecosystem の下記

The Awesome Vue Page: See what other awesome resources have been published by other awesome people.

参考文献

コメント・シェア

はじめに

Vue.js で PeachScript/vue-infinite-loading を使った無限スクロール(Infinite Scroll)の実装方法。

TL;DR

  • npm i vue-infinite-loading でインストール
  • <infinite-loading @infinite="infiniteHandler" /> を記述
  • infinite イベントのハンドラ内でデータの追加や、読み込み完了などの処理を実施
続きを読む

はじめに

Twitter の埋め込みツイート(Embed tweet)を Lazy load させる方法

TL;DR

  • ApoorvSaxena/lozad.js を CDN などから読み込み
  • カスタムハンドラ内で埋め込みツイート作成に必要な要素(blockquote, script)を 作成/追加
  • いきなりイベントが大量発火しないように min-height などを設定しておく
続きを読む

はじめに

Node.js で semver 形式のバージョンを比較する方法。

Semantic Versioning 2.0.0 | Semantic Versioning

TL;DR

続きを読む

はじめに

NativeScript でアプリのバージョン情報などを取得する方法。

TL;DR

続きを読む

r17n


Softwear Engineer


Fukuoka