自分の専門領域の外側の「のりしろ」を増やしていくこと

こんにちは、CTOの山岡(@hiroy.kotori.styleもしくは@hiro_y)です。

先日、当社湘南オフィス(茅ヶ崎にあります)にてGitやGitHubに関する勉強会を行いました。今さら?と思われるかもしれませんが、対象はエンジニアではなく、エンジニアと一緒に仕事をするWebコンサルタントや運用メンバーたち(&donutsプロジェクトメンバー中心)。少しでもエンジニアの話す言葉をわかるようになりたい、円滑にコミュニケーションできるようにしたいとのことでした。

自分が話した内容は、バージョン管理システム、Git、GitHub、CI/CD、ブランチ戦略について等。どこまでわかっておいた方がよいですか、という質問があったので、概要は理解しておいてほしい部分もあるけど、基本的にはエンジニアに聞いてください、コミュニケーションを取るようにしてくださいとお願いしました。

続きを読む

JavaScriptで名前付き引数と似たようなことをする

こんにちは、フロントエンドエンジニアのうじた(@uji_t4)です。 今回はコードレビュー中にphpの名前付き引数について教えてもらったので、JavaScriptで似たようなことが出来ないか調べてみました。

名前付き引数とは

名前付き引数とは、位置ではなく名前ベースで引数を渡すことができる機能です。 Pythonではキーワード引数と言うみたいです。 以下のように使います。

続きを読む

whereHas()を通してEXPLAIN入門してみる

はじめに

Laravel Eloquent には whereHas() というメソッドがあります。 このメソッドは、「リレーション先が存在するか」という条件を追加することができます。

最近whereHas()を使用した際に、以前のレビューコメント「whereHas()は相関サブクエリを発生させる可能性がある」と言う内容を思い出し、今回はPostgreSQLでその検証を試みました。

この記事では、その検証過程やEXPLAINの読み解き方について解説します。

続きを読む

Webエンジニアはクリエイティブな仕事か?

こんにちは、CTOの山岡(@hiroy.kotori.styleもしくは@hiro_y)です。

先日、PHPカンファレンス2023[^1]が開催され、来年前半に開催される東京以外(北海道関西小田原香川)のカンファレンスが案内されました。東京ではPHPerKaigiが来年も開催予定。PHPコミュニティの盛り上がりを感じます。

そうした催しに参加する私たちは「Webエンジニア」なわけですが、よく語られる言説として「エンジニアはクリエイティブな仕事である」というものがあります。クリエイティブ、つまり創造的な仕事というわけです。でも、本当にそうでしょうか。

続きを読む

処理完了後のリダイレクトのHTTPのステータスコードに「302」と「303」どちらを使うべきかという話

こんにちは、CTOの山岡(@hiroy.kotori.styleもしくは@hiro_y)です。

Webアプリケーションを作成する際、最近だとJavaScriptでAPIにアクセス、その結果を受け取って画面の表示を変えたり、場合によっては別のURLに移動するように作ることが多いかもしれません。Next.jsやRemix、SvelteKit等のフロントエンド由来のフレームワークを用いれば簡単に実装もできてしまいます。

しかし全てのWebアプリケーションがそうした実装を必要としているわけではありませんし、以前から運用されているWebアプリケーションはもっと素朴な作りをしているのではないでしょうか。サーバーサイドでHTMLをレンダリングし、フォームから値がPOSTで送信され、サーバーサイドで処理を行う、というような。

そうしたAPIを返すのではないサーバーサイド実装において、POSTで値を受け取り、処理(データベースに値を保存したり、いろいろ)を実行した後は(そのまま結果を表すHTMLをレンダリングしたりせずに)どこか別のページにリダイレクト処理を行うのがお約束です。

さて、そのリダイレクト処理でHTTPのステータスコードには何が使われているでしょうか。

続きを読む