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のステータスコードには何が使われているでしょうか。

続きを読む

「正しさ」をめぐるコミュニケーションについて

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

自分も含め、エンジニアは「正しいこと」にこだわりがちです。設計の「正しさ」だったり、プログラミングコードの「正しさ」だったり、「正しいこと」について考える機会が多いのが理由でしょうか。

その結果として、「正しくないこと」に過剰に反応してしまいがちです。つい強い言葉を使ってしまったり、細かい部分に都度意見を言ってしまったり。そうしたきっかけで、他の人と衝突してしまったことはないでしょうか。自分はあります。

続きを読む

GitHub ActionsにPHPMDを導入して循環的複雑度を計測・警告してみた

ソフトウェアエンジニアの荻島です。

弊社では現在レガシー化してしまったLaravelアプリケーションのフレームワークのアップデートとリファクタリングが絶賛進行中です。

今日はその活動の一環でPHPMD(Mess Detector)という老舗の静的解析ツールを導入した話を記事にしたいと思います。

  • 静的解析ツールって?
  • PHPMDって何ができるの?
  • PHPMDを導入してCLIで実行してみる
    • ライブラリをインストール
    • 設定ファイル(phpmd.xml)を作成
    • 【お好みで】composer.jsonのscriptsに追記
    • phpmdの呼び出し方
  • PHPMDをGitHub ActionsのCIに組み込む
  • まとめ
続きを読む

Slackのチャンネル一覧を取得するスクリプトを書いた

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

イノベーター・ジャパンではコミュニケーションのツールとしてSlackを利用しています。今回、たくさんあるチャンネルの整理を図ろうという話が出てきたのですが、現在契約しているProプランだとSlackが用意しているチャンネル管理ツールを利用できません。

要件としてはとりあえずチャンネルの一覧を出力できればよいだけなので、さくっとNode.js(バージョンは18系を想定)でチャンネル一覧のCSVファイルを出力するコードを書いて解決しました。

続きを読む