コード覚書

1/25ページ
プログラミング言語ごとのコードを記した備忘録。

laravelの「__construct()ってなんだ」について

laravelの「__construct()ってなんだ」について 私もつい最近までちゃんと理解することを逃げてました。 だってねぇ、1人で作る分には使わなくても作れるし。 functionだってstaticにすればコンストラクタ関係なく構築できるし。 でも、こいつの扱いをコントロールできるか否かは初心者と中級者の分かれ目だったりします。 ハードコーディングとコンストラクタ HardCodingは良 […]

Laravelからaws-sdk-for-php でDynamoDBからデータを取得する時の注意点

Laravelからaws-sdk-for-php でDynamoDBからデータを取得する時の注意点 実装して感じた課題を先に抽出します。 1回当たり1MBの最大データサイズ制限 5000件あるレコードを全て取得するにはどうすればいいの問題 Key以外のカラムは存在しない時があるよ問題 Viewでのリレーション先取得問題(既存システムがSQLだった場合実装されている事がある) ページネーションどうす […]

Laravel:Redis php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379]

Laravel:Redis php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379] とある現場にて、Laradockを使い開発環境を構築していました。 で、詰まったのがこのRedisのエラーです。 検索すると「M1_MACの事由」の話も存在しており「それか!」とも思ったので […]

Laravel:単語の接続方法(〜Case)と命名規制とベストプラクティス

Laravel:単語の接続方法(〜Case)と命名規制とベストプラクティス 「ルートはケバブケースの複数形で」と言われケバブケースが出てこなかったので一通りまとめていきます。 ついでに【ベストプラクティス】についても触れていきます。 単語の接続方法【〜Case】 一人で開発していた時は気にした事も無かったのですが、チーム開発な現場に入ると絶対に言われるのがコレです。 「そこはキャメルケースで書いて […]

DynamoDBとの接続でlaravel-dynamodbを使ってみた感想

DynamoDBとの接続でlaravel-dynamodbを使ってみた感想 laravel-dynamodについて簡単にまとめます。 dynamodb-localもコンパイルされたある意味完成されたDockerが存在している 勉強用資料としてはとても優れている とりあえず試すには最適(これ以上の解はない) 本番環境で利用するにはdynamodb-localの切り離しが必要だがここが心配になるスクリ […]

Laravel:数字8桁の一意の乱数を生成する5つの方法

Laravel:数字8桁の一意の乱数を生成する5つの方法 例えば、サーバーが決めたIDでログインさせるなど「自動採番で8桁数字を生成してログインに使えるようにして」とか。 SMSで認証コードとして利用する乱数も数字になること多いですよね。 PHPでランダム値を生成する方法は全部で5通り rand() mt_rand() random_int() random_bytes() openssl_ran […]

Laravel:5億越えのレコードをEloquentで消費メモリを抑えながら処理する方法

Laravel:5億越えのレコードをEloquentで消費メモリを抑えながら処理する方法 私の作成したアプリにて不具合発生の連絡がありました。 結論を先に言ってしまえば、レコード数が多すぎて私の書いたコードではTimeOut 起こして終了してました。 TimeOut時間を伸ばす。 その方法もあるのですが、今回は処理時間を早くして解決するアプローチを記載していきます。 止まっていたのはLaravel […]

Laravel:ハッシュ化したパスワードとの一致確認

Laravel:ハッシュ化したパスワードとの一致確認 忘れそうなので自分用にメモ。 パスワードとか最近では顧客名をハッシュ化して格納することもあるみたいです。 ハッシュ化すると値が複合不可な文字列に置き換えられ、一見何が何だか確認ができません。 しかし、Laravelをはじめとするフレームワークさん達は複合キーをしっかり理解していて、ハッシュ化した値と称号が可能になります。 今回はそんなケースのコ […]

MySQLをDynamoDBにリプレイスしたい時に考えるべき事

MySQLをDynamoDBにリプレイスしたい時に考えるべき事 MVCモデルなフレームワークが開発の中心に座っている現在、チョコチョコと話に上がるのがSQLをNonSQLにリプレイスする話です。 具体的にはMySQLをDynamoDBにしようとかAzureが使えないかとか。 今回はDynamoDBに特化してリプレイスが可能なシーンとDBの構造設計についてまとめてみます。 MySQLなどのリレーショ […]

LaravelのModelの【guarded】について勘違いしていた件

LaravelのModelの【guarded】について勘違いしていた件 [crayon-61e8716111f38531356459/] はい、これ間違いスクリプトです。guardedにemailが存在する事、無いとは言えませんが、まぁほぼ無いでしょう。 チームに迷惑かけた私の理解不足。 いやぁ、申し訳ない。 guarded = 複数代入禁止項目の設定 この認識はあったんですよね。 で、個別に登録 […]

1 25