何かを志そうと思った時
「どうせ無理」
「そんなのできる訳がない」
と言われたり
「私にはどうせ無理か…」
と諦めてしまったりすることがあるかと思います。
システムエンジニアとして働く中でそんな”どうせ無理”に抗い、今では好きなことを仕事にすることができています。
どう抗い、どう好きなことを仕事にしてきたのかをご紹介します。
誰かが少しでも自分らしく生きるためのヒントになれば幸いです。
自社プロダクトの保守運用では、ユーザーからのお問い合わせに対して技術調査を行う場面があります。プロダクトが大きくなるにつれて自分の知らない知識(コードベース)も増えて、技術調査が難航する場面もあります。
本トークでは、自分の知らない知識に対し、AIを活用した技術調査の方法についてお話します。特にドキュメントに対してはNotionAI、コードベースに対してはGitHub Copilotを使用した知見についてお話します。
話すこと
GitHub Copilot Code ReviewでPHPのコードレビューをしてもらってます。
レビュアーにアサインするだけでコメントを付けてくれるので非常に便利です。
でも概要はあっさりしてますし、もっと多くの観点からレビューしてもらいたいです。
なので自分は、VSCodeのCopilot AgentにCustom Instructionsでレビュー観点を与えた上で、GitHubのMCPを通してブランチ差分のコードレビューをしてもらっています。
PRのレビュー依頼があればとりあえずCopilotに投げてます。
GitHub Copilot Code Reviewよりもう一歩進んだレビューが得られます。
このトークでは実際の業務で使用しているCustom Instructionsの具体的な設定内容と、
設定前後のレビュー品質の違いを実例でお見せします。
標準で備わっている多種多様な関数たちはPHPの大きな魅力です。
array_merge() や implode() のような定番の関数がある一方で、
「えっ、こんな関数あるのぅ〜〜〜ぅん!?」と思ってしまうような、
ちょっとニッチで味濃いめな関数も存在します。
今回はそんな"気になる関数"を取り上げて、
背景から意外な使い方までざっくばらんに紹介していきたいと思います。
まだ内容は調整中ですが、5分で「へぇ〜」がひとつ増える
そんなトークを楽しくライトにお届けする予定です!
laravelの php artisan optimize
開発環境では思わぬエラーになるかも?
TypeScriptやRubyから、
PHPを触りはじめて1番戸惑ったコチラについて、事例も交えてお話出来ればと思います。
この辺りの理解を深める事で、
なんとなく治った謎のエラーから、
ちゃんと理解して解決できるようになりました!
こんな事を話します。
ありがとうPHPカンファレンス福岡!
私が体験したPHPカンファレンスで得たことをとりあえず叫ばせてください
こんなことを話します
PHPに限らず我々はフレームワークを使って開発を行うことが多いです。一方であえてフレームワークを使わず開発することもあるでしょう。
フレームワーク、便利ですが便利すぎるが故に「なんとなくコードを書いてる感」を自分は感じます。また、フレームワークをそのまま使わず自分たちでカスタマイズ(ライブラリを組み込む、フレームワークの1部だけ使う)する場合は 「なぜこれが今動いているのか」を理解できないとうまくカスタマイズできません。
いわゆる「よくわからんけど動いてる」を少しでも無くし、これまで以上に自分たちがフレームワークやライブラリを使いこなすために何ができるのかを自分の視点で紹介します。PHPに限らず他の言語にも応用できるような紹介を目指します。
話すこと(変更の可能性あり)
・ 今回の話をする経緯
・ 原理を理解するために自分がしていること
・ 「車輪の再開発」という言葉に対する持論
きっかけなんて、なんだっていい
私がPHPを始めた理由。それは「象がかわいかったから」でした。そう、PHPのマスコット“ElePHPant”に心を撃ち抜かれたんです。
「なぜゾウなのか?」と調べていくうちに、PHPという言語の特徴にも、その姿勢にも、ゾウのようなおおらかさや包容力を感じました。そして気づけば、私はPHPを書くようになっていました。
このLTでは、ゾウに惚れてPHPを始めたちょっと恥ずかしい話とともに、「始める理由は人それぞれでいいんだよ」というメッセージをお届けします。
誰かが明日、ゾウに惹かれてPHPを始めてくれたら、それだけで嬉しいです。
対象者
PHPのロゴがどんなデザインか、皆さんは即座に思い浮かべられますか?
「たしか楕円…」「青と紫の中間色?」「このロゴって何代目?」「っていうか背景色あったっけ?」など、さまざまな思いが頭をよぎるかもしれません。
「知ってるつもり」だったPHPロゴについて、公式ドキュメントをベースに正しい仕様を紐解いていきたいと思います。
スライド作成中に「あれ、どのロゴが正しいんだっけ」と迷った経験のある方、一緒に答え合わせをしてみませんか?
対象者
話すこと
「やる気が出ない。でも何かしなきゃ。」
そんな焦りに飲み込まれていた自分が、少しだけラクになれた経験をお話しします。
仕事での責務が増えてアウトプットが止まり、アウトプットするネタも浮かばず、周りがどんどんアウトプットしているのに自分だけが取り残されているように感じて、焦っていた時期がありました。
そこで私は、無理に動かず“できる範囲だけ続ける”ことを選びました。
このセッションでは、私が試してきた工夫や気づき、そして“やる気がない前提でどう設計するか”についてお話します。
やる気が出ないことにモヤモヤしている方、立ち止まっている自分に不安を感じている方へ、エンジニアとして長く続けていくための“ペースのつくり方”の一例として、少しでもヒントになれば嬉しいです。
「i18n」や「k8s」など、長い英単語を数字で省略する語をヌメロニム(数略語)と言います。
WEB 開発者であれば毎日のようにどこかで目にするこれらの言葉ですが、いつの間にか自分の知らないヌメロニムが当たり前のように使われていたり、その意味を理解したつもりが雰囲気だけで使っている……そんなことはありませんか?
この LT では我々PHP開発者の身の回りに溢れるヌメロニムをクイズ形式で出題しつつ、その意味をちょっとだけ深掘りしていきます。
あなたも今日からヌメロニムマスター!
弊社で運用しているサービスの一機能である検索機能は、数百万件以上のデータを対象に、ユーザから毎分3,000件以上もの検索リクエストが送られています。
検索機能のミドルウェアにはAWS OpenSearch Serviceを利用していますが、現行バージョンがEOLになる見込みがあり移行が避けられない状況でした。
移行にはアプリケーション側の修正も必要で、移行中にダウンタイムが発生するとサービス提供に影響が生じ、インシデントに繋がる可能性もあります。
本発表では、運用中のサービスを止めず・壊さず、段階的リリースやコードの移植を通じて実現したゼロダウンタイム移行の手法、移行を通じて浮上した移行しにくい設計、今後の設計改善についてお話します。
ミドルウェアのバージョンアップを実施・検討している方
ゼロダウンタイムでのリリース手法に興味がある方
既存設計の改善に興味がある方
「このレガシーコードから、いつか抜け出したい」──そう願いながらも、触れれば壊れる恐怖と日々のタスクに追われ、巨大な技術的負債を前に動けずにいませんか?
本トークは、そんな絶望的な状況から抜け出すための、現実的かつ具体的な「脱出計画」を提案します。
鍵は、一度きりの大規模リファクタではなく、チームで実践する持続可能な「1日1改善」です。
新機能には必ずテストを書き未来のバグを防ぐ。バグ修正の際は「来た時よりも綺麗に」を合言葉に少しだけ改善する。静的解析をCIに組み込み品質の門番とする。未来の調査を楽にするログを戦略的に仕込む。
この小さな一歩の積み重ねが、やがてチームを、あなたを負債のスパイラルから解放します。
明日から始める「脱出計画」で、もうコードに怯えず、楽しく開発していきましょう!
Eloquent ORMはLaravelのコアを成す機能といっても過言ではありません。
しかし、少ない記述量で多くの処理を書くことができる一方で
モデルにいろんな知識が集約されていくとすぐにFat Model化してしまいます。
ではEloquentを諦めてRepositoryを導入するのか?
いやいや
せっかくLaravelを使うならEloquentでもう少し頑張りたい!
そのためにどんなことができるのか、Laravel歴1年ちょっとの新人が考えてみました。
Inertia.jsはLaravelとモダンフロントエンド(React, Vue.js)をシームレスに繋ぐアダプターです。
Laravelから見るとbladeテンプレートを利用するのとほとんど同じ書きっぷりでReactと連携することができます。
バージョンが2.0に上がってからはprefetchや無限スクロール、遅延ロードなどもサポートされ、より利便性が向上してきています。
この登壇ではInertia.jsの基本的な書き方を説明しつつ、上記のような新機能も使ってどこまでできるのかを紹介します。
本発表では、履歴書・職務経歴書・推薦文の手作業を「Laravel」「Python」「Node.js」「AWS Bedrock」を用いたWebアプリで自動化した事例をご紹介します。社内システム上で対象IDを入力すると即座に書類がAI生成され、担当者にメール送信される仕組みを構築。実際の運用では作業時間を90%以上削減し、業務効率化に大きく寄与した具体的な成果や苦労、得られたノウハウを紹介します。
また開発はエンジニア一人が担当。CursorやGeminiCLIなどを使用したAI駆動開発のノウハウも共有します!