最近サーバーレスPHP流行ってますよね?
私は全国でサーバーレスPHPの利用がもっと広がって欲しいと思って活動をしています
広がって欲しいなら方法を示すべきです
それでは「5分で」サーバーレスPHPをデプロイするデモをしてみましょう
5分でデプロイ出来るなら、みなさん試してくれますよね?
このデプロイのデモを動画ではなくみなさんの眼の前でデプロイすることで、
「本当に5分で出来るならやってみるけど...」 -> 「サーバーレスPHPすごい!簡単!やっていくぞ!」
と感じてもらうのが目的です
スライドは「タイトル」と「自己紹介」と「デモ」と書かれたセクションだけです
その後、すぐデモに入ります
私自身のデモの練度を上げることで、制限時間の中で出来る事を増やして、
みなさまの手を動かすきっかけになれれば幸いです
※AWSアカウントの作成が済んだ状態で始める事は許容してください
エンジニアなら、「メール通知機能」を実装したことがありますよね?
Webサービスにおいて、メールはユーザへの通知方法としてほぼ必ず利用されます。
近年でメールに関する"セキュリティ"はより重要視されるようになりましたが、
実はちゃんと理解できていないエンジニアも多いのではないでしょうか?
2024年4月から本格的に始まったGmailの"メール送信者のガイドライン"の運用によって
エンジニアだけでなくカスタマーサクセスのメンバやさらにはユーザまでもこれらへの理解が求められるようになりました。
これはエンジニアがメールセキュリティを「理解する」だけでなく、「他人に理解させる」ことも求められるようになったことを意味します。
この発表では、DKIM、DMARC、SPF といった基本的な仕組みについて解説しつつ、
できるだけ平易な言葉で他人に伝えるためのヒントをお話しします。
プログラミング界の十徳ナイフ、正規表現を使いこなせていますでしょうか!
正規表現は文字列処理において多くのタスクをこなせ、テキストエディタなどPHP以外の場でも利用できる汎用性の高い道具です。
しかしながら正規表現を自信をもって使えるようになることにハードルを高く感じる初心者も多く、曖昧なまま使い続ける中級者も多い技術でもあります。
このトークでは初心者向けの正規表現入門から、中級者にも役立つテクニック、Unicodeとの関連と正規表現の罠まで含めて、基礎を固めて使いこなせるようになるヒントをお伝えします。
登壇経験ありません!
新卒エンジニアとして、まずは新人研修でLaravel 11をゼロから学び、実践的なプロジェクトを通じて必要なスキルを養いました。
その後、初案件では環境構築や画面設計、メインコーダーとして開発業務に挑戦しました。
技術者としてだけでなく、見積もりや顧客とのミーティング、要件定義、PMやチームメンバーとの認識の共有など、多岐にわたる業務を経験し、コミュニケーション力や調整力を大きく伸ばすことができました。
さらに、課題解決に向けたコミュニケーションやスケジュール管理、プレッシャーへの対応を通じて、プロジェクト完遂に必要なスキルを幅広く習得しました。
当日は、研修で取り組んだ内容から、初案件で直面した課題やそれをどう乗り越えたかについて、具体的な事例を交えてお話しします。
これからLaravelに挑む方や新卒エンジニアにとっても役立つリアルな体験談をお届けします!
受け持っているプロジェクトの進行と新人教育の両立は、多くのエンジニアが直面する課題です。
この課題を解決するために、PHPの研修を自動化する方法を思いつき実践してみました。
どのようにしてPHPの研修を自動化し、新人が自己学習を進められる環境を整えたのかを共有します。
具体的には、問題を作成し、自動テストで答え合わせを行うことで、新人が自己ペースで学習を進められる環境を提供しました。
この方法により、研修のが簡単になり新人の教育を効率的に行うことができました。
約2年の間、私は新規プロダクトの開発責任者としてプロダクトの完成を目指してマネジメントを行っていました。
チームの発足当時、社内には該当プロダクトに関するドメイン知識がほとんどなく、「そもそもプロダクトとして成立するのか?」といったところの検証から繰り返しながらの進行となりました。
そのくらい不確かな出発点ですので様々なハードルに見舞われます。
増えゆく要件、進まない開発、ぶれるプロダクトの定義......。
しかし蓋を開けてみれば、特に本番リリースまでの半年間の間、社内の既存のどのプロダクトよりも生産性(ここではリリース頻度を指します)高く開発をすることができていました。
一体何が功を奏したのか?
本発表ではその要因となった考え方や具体的な取り組みを、新規プロダクト開発の試行錯誤の中で得た知見とともにお届けします。
みなさんPHPStanを使っていますか? PHPStanはオープンソースで開発されているので誰でもソースコードを読んで仕組みを学ぶことができ、理に適った提案であれば取り入れてもらうこともできます。
本トークでは私がこれまでPHPStanに送信したPull Request(※トークプロポーザル時点で未マージ含め43件)について分類して紹介します。
SOLID原則・凝集性・結合度・関心の分離・DDD・クリーンアキテクチャ...
設計を考える際、学ぶべき原理や手法が多すぎて圧倒されてしまうこともありますよね。
しかし、これら設計原則は、実は私たちがよく知っている「英語の文法」にヒントが隠されているかも...?
英文法の基本的なルールに着目することで、仮に設計原則を知らなくても、シンプルで明確な設計ができるようになるかもしれません!
このトークでは、SVO・SVOCなど基礎的な英語文法がどのようにコード設計に応用できるかを具体的に解説します。
例)
人生初プロポーザル提出です!
登壇経験ありません!
Laravel 11 がリリースされて半年以上経ちましたが、皆さんの会社では、技術力向上のためにどのような取り組みをされていますか?
弊社では、7月から「Laravel 11 公式ドキュメント輪読会」を実施しています。
ざっくり進める会ですが、初心者には理解が難しいことも多く、Slackでの共有内容も後から見返すのが大変です。
そこで新卒エンジニアである私が考えました!
「参加していないメンバーや後から振り返るメンバーにも役立つ資料の作り方」を提案します。
公式ドキュメントを活用し、メンバーが知見を追加できる資料作成の手法を提案します。
これにより、輪読会の参加者だけでなく、後から参照するメンバーとも知識を共有できます。
当日は、この資料作成の方法や活用方法を実例を交えて紹介します。
みなさん、PHPのテストを書くときに「他のクラスや依存関係のせいでテストが難しいな…」と思ったことはありませんか?
そんなときに役立つのが、PHPのモックフレームワーク Mockery です!
Mockeryを使えば、依存するクラスやインターフェースの動作をモックして、テストをもっとシンプルに、効率的に進められます。このトークでは、Mockeryの基本的な使い方から実際の業務で役立つテストケースまで、具体例を交えて解説します。
取り上げる予定の内容はこちら!
モックを使ったメソッド呼び出しの検証方法
高度な引数の比較を使った柔軟なテスト
実務でのテストケースの実例紹介
Mockeryを使えば、テストのストレスが軽減され、もっとスマートにテストが書けるようになります!ぜひ参加して、PHPのテストを楽にする方法を学んでください!
わたしは十数年間この業界にいますが、いろいろなサービス層を見てきました。
そこには、愛らしいサービスもあれば、目を背けたくなるサービスもいました。
そしてこう思うのです「人には人それぞれのサービス層がある」と。
なぜ、人はみなそれぞれのサービス層を作ってやまないのか謎に迫りつつ、
について、SOLID原則、特にSRPを切り口として理想的なサービス層について考察したいと思います。
みなさん、モックは好きですか?わたしは好きです。
外部依存から隔離してテストの実行を容易にしたり、テストを高速化できるからです。最高。
ですが、わたしが観測している限りどうやらモックというのはテストが壊れやすくなるので、なるべく使わない方がいいという風潮も耳にします。
ではテストが壊れにくければモックは使っていいのでしょうか。モックを使うとテストが壊れやすくなるのでしょうか。善いモックというのは無いのでしょうか。
そういった疑問を解消すべく、果たしてモックは悪いのか、善いモックというのはあるのか、モックの使い方はどうあるべきかをお話できればと思います。
本セッションは、Laravelを使って現場でCIをぶん回すエンジニアを対象に、CI/CDパイプラインのベストプラクティスを紹介します。
PHPUnitとParatestなどを活用し、テスト時間を短縮しつつ、GitHub Actionsでコストパフォーマンスを最大化する方法を具体例とともに解説します。
⚪︎ CIの高速化
⚪︎ 効率的なリソース管理
⚪︎ カードで必要な変更
を交えつつポイントを共有します。
昨年7月から11月にかけて、49歳で約25年勤めた会社を退職してソフトウェアエンジニアとして転職活動を行い、PHPを書ける会社に転職しました。
比較的高齢なおじさんがどのような気持ちで転職活動をおこない、その結果どうなったのかをできるだけ赤裸々に且つスピーディにお話しします。
Laravelアプリケーションと事業の成長に伴い、フェーズごとに最適なアーキテクチャは変化します。
本セッションでは、シードフェーズからシリーズA、さらなる成長フェーズに至るまで、各段階でのアーキテクチャの変遷と最適化ポイント(スケーラビリティ、コスト効率、開発速度などのバランス)をメインの観点として保ちながら、持続可能なシステム設計を実現するためにやった施策を交えて紹介します
みなさん、ドメインイベントって使っていますか?
このトークでは、ドメインイベントを使ってPHPコードをリファクタリングする方法についてお話しします。ドメインイベントは、ビジネスドメインで発生する「出来事」を表現するモデルで、これをうまく使うことで、副作用をわかりやすく整理し、システムをシンプルにできます。
ドメインイベントを導入してみると、「あ、こんな風に設計すれば良いんだ!」と新しい発見があるはずです。リファクタリングを通じて、どうやってドメインイベントを設計し、活用するのか、その具体的な手法をお伝えします!
話すこと
開発しているときにこんなことはありませんか?
「プロダクションコードをきれいに書きたいけど、なかなか書く時間が取れない・・・。」
「ここを触る前にリファクタリングしたいけど、納期的にそんな余裕はないしなぁ・・・。」
「// TODO: いつかキレイに直す」
リファクタリングしたい気持ちはありつつも、機能開発の事業価値とリファクタリングによる事業価値を天秤にかける必要があります。
しかし、リファクタリングによる事業貢献度を算出するのはなかなか難しく、なかなかここを説得力のある数字を出しながら進めていくのは骨が折れます。
本セッションでは、このリファクタリングによる事業貢献度を算出するための考え方と、
PhpMetrics( https://www.phpmetrics.org/ )を使い 開発的にも、事業的にも 効率よくリファクタリングをしていく方法について話します。
OOP はクラスやオブジェクトというものを前提としています。また、「抽象化」や「一般化」「共通化」というような用語がプログラミングでは普通に使われます。
OOPの設計・実装では「こう書けば後からうまくいく」式の解説ばかりですが、その実OOPの本質に立ち向かったものは少ないのではないでしょうか。
本発表では、西洋哲学の知恵を借りてOOPという営みを捉え直すというチャレンジをします。
最初に「クラスはプラトンのイデア論に似ている」というOOP界隈で真っ先に言及されるこの命題が真か偽か考察することから始めます。
プロポーザル執筆時では、プラトン、アリストテレス、カント、ウィトゲンシュタイン(後期)には言及する予定です。
なお、アラン・ケイの考えていた本当のオブジェクト指向にも言及する予定です
このワークショップでは、ゼロからLT(Lightning Talk)を考えて、資料を用意し、実際に発表するまでをやっていきます!
でも、そもそもアウトプットって何で大事なんでしょう?
自分の成長に気づけたり、他の人に新しい気づきを与えたり、メリットはたくさんありますよね!
とはいえ、「何を話せばいいの?」「資料ってどう作るの?」って不安もありますよね。実際、アウトプットをするのって結構ハードルが高いんです。
だからこそ、みんなでミニPHPカンファレンスに挑戦するつもりで、一緒にチャレンジしてみませんか?
初めてでも大丈夫!
LTのプロ(自称)である私が、誰でも簡単にLTができるように徹底サポートします!このチャンスに、ぜひLTに挑戦してみましょう!
みなさんが今日、PHPカンファレンスに来たこと自体がすでに成長の一歩です!さらにもう一歩挑戦してみませんか?
■ 発表内容
「オブジェクト設計スタイルガイド」という書籍の良さについて熱弁します。
スタイルガイドという名前がついているものの、その実はOOPの設計のベストプラクティスを集めた設計・実装集です。
この本は頭から一つずつ書き方を見ていくだけで、自然と以下の重要概念が身につく優れた書籍なのです。
・サービス層とドメイン層の違い
・SOLID原則
・クリーンアーキテクチャ
・CQS(コマンドクエリ分離原則)
・エンティティ・バリューオブジェクト(もちろんミュータブル・イミュータブルの考え方も)
・ドメインイベント
・DI
・リファクタリング
OOPのベストプラクティスを学ぶことができる新時代の「リーダブルコード」と言っても過言ではないでしょう
チームでこの本の読書会を実施しているので、そこで出てきた「現場の意見・疑問」もお伝えします(発表時には終了予定)