PHP

Laravel トランザクション リトライ設定 DB:Transaction()

  この記事で紹介すること try catchを利用する リトライ回数を指定 失敗時にロールバックしてログ出力   ざっくりこう

       

PHP

Laravel 中間テーブルを利用した多対多のリレーション

2千分後の私へ。       テーブルはこんな感じ   users user_id role name email create_at updated_at 1 1 yuu yuu@example.net 2019-12-29 03:18:05 2019-12-29 03:18:05   devices udid device_name creat …

アプリ

ゲストログイン + アプリの通知既読管理による問題と解決

      ゲストログイン + アプリの通知既読管理による問題と解決 要点 ゲストログイン機能が必要 通知の既読管理をしたいから共通のゲストユーザではだめ。 ゲストユーザの既読は管理しなければならない 1台のデバイスにPush通知は1通 →1台のデバイスに複数ユーザがある時に複数送付はだめ。 ・ゲストユーザA ・ゲストユーザB ・会員A ・会員B →インストール時の端 …

開発

うごうご動け! GitLab Runner

  CI/CDの合計が2, 000分を超えると制限がかかります。 その場合にGitLab Runnerを利用して自前で動かしつつGitLabをまた利用できます。   // あんまり実用的じゃないかも?CIがこけまくる…コーンコーン。きつねちゃんにお金を払うのが絶対良いよ!   トークンの確保   プロジェクトと紐づけるトークンを確保します。 ht …

PHP

Laravel6 JWT ユーザ登録+メール認証 + jwt-auth(JWT)

  この記事では実践的なコードであっさりまとめます。   JWT関連のJSONなどの細かいのは下記記事でまとめています。 Laravel JWTで認証API メール認証   Gmailの利用 開発用のメールサーバとして、Gmailサーバを送信サーバとして利用します。 // 本番環境はAWS SES, SendGridあたりを利用するのがおすすめです。   G …

NoSQL, RDB, SEノウハウ

RDB NoSQLパフォーマンス

  ざっくり覚える数字 ざっくり感が大事。 ちょっと好きかも?より大好き!の方が嬉しいでしょ? MySQL SELECTは100,000回/秒 UPDATE15,000回/秒 NoSQL SELECTは200,000〜750,000回/秒 UPDATE30,000回/秒 データサイズ感 100万レコード →  1GB     ディスク オンメモリ + SSDがさいつよ …

開発, PHP, SEノウハウ

バグのないプログラム

    バグのないプログラムを書きたい それは人類の願い。   フェイルファスト 想定外は処理を止めるのが安全 投稿されたファイルを読み込んで拡張子で判断し、CSVFileReaderクラスかXMLFileReaderクラスに振り分けるクラス (PHPによるデザインパターン入門 Factory Methodパターンより) [crayon-5e545bf23a46b95 …

PHP

jwt-auth + Laravel6 アクセストークンとリフレッシュトークン

  備考 Laravel6ではjwt-auth1以上が必要。 https://jwt-auth.readthedocs.io/en/develop/laravel-installation/ /logoutは作らない。 アプリ側でtokenを決して貰うので 当記事の設定を推奨しているわけではないです。 ・jwt-authのブラックリスト機能をfalseにしています。   設定例 …

未分類

【工事中】SQL パラメータテーブル

  設定例 プレイ時間によって課金が行われる 加入プランによって無課金プレイできる時間が設定されている プレイ履歴によって請求額とポイント合算を求める     test.sql

       

MySQL, RDB, SQL

MySQL5.7 いいね機能のSQL

    SQLの実行順序おさらい   SELECT 列の抽出対象 FROM テーブル名 WHERE 行の絞り込み条件 GROUP BY hoge_colum HAVING 100 > amount Aテーブルの列と行を切り出しイメージをする Bテーブルの列と行を切り出しイメージをする ONで結合条件を指定 WHEREで行を絞りこむ GROUP BYでグループ化 …