レギュラートーク(25分)

複雑性に立ち向かうモブワークのススメ

katzchum katzumi

2020年からモブワークという開発スタイルを継続して取り入れており、そこで感じたメリットについてお話をさせて頂きたいと思います。
またチームの熟練度の向上に伴い、モブワークの形態も進化させていった内容にも触れていきたいと思います。
実際にチームで実践していることや、それを支えているツールについても紹介したいと思います。

1
レギュラートーク(25分)

複雑な現実をいかにコードにするか:デザインパターンを使って配送業務をモデル化した話

後藤 暁子

つい手続き型の複雑なコードになってしまい、読みづらい、メンテナンス性が低いという問題が起こったことはありませんか?

一方で、デザインパターンは知っていても、いくつかのデザインパターンはPHPでは使えないと思っていませんか?
例えば、オブザーバーパターンはJavaなどの常駐することができるプログラミング言語で使うものであって、PHPでは使えないという声を聞きます。

しかし、実際の世界と向き合って、複雑な問題を解決するプログラミングにデザインパターンは有効です。それがPHPであってもです。

弊社では運送・配送業向けのシステムを作っています。コードが複雑になるという問題を実際にデザインパターンで解決してきました。

このトークではオブザーバーパターンを例にとって、それがPHPでどのように実装できるかを実際のプロダクトにも使った実装方法を紹介しながら伝えていきたいと思います

1
レギュラートーク(25分)

アナログとデジタルの架け橋 - 0と1の世界

tomzoh 長谷川智希

「コンピュータは0と1しか処理できない」とよく言われています。
ビット演算があったり、浮動小数点演算があったり、文字コードが16進数だったりと、PHPerのみなさんもなんとなく実感としてはあると思いますが、なぜ「0と1しか処理できない」のでしょうか。

このトークではアナログの世界・電気回路でデジタルの世界・コンピュータ処理がどの様に表現されるのか、私たちがC言語やPHPで書いたプログラムの実行結果がディスプレイやスピーカーで認識できるところまでがどの様にできているかをお話します。

ふだんの活動ではあまり気にすることのないコンピュータの基本的な仕組みの話になりますが、このトークを聞いたみなさんが今までより少し解像度の上がった目でコンピュータを楽しめることを願っています。

2
レギュラートーク(25分)

ぼくのかんがえたさいきょうのドメインモデル

strtyuu 吉田あひる

私はこれまでビジネスロジックとドメインロジックをほぼ同じものとして捉え、ドメインモデルが業務知識を表現できるような実装を意識していましたが、開発を進めていく中でもっと良い構造があるのではないかと思うようになりました。
そして最近では、この2つのロジックを区別しドメインモデルからビジネスロジックを追い出すことでさらに良い構造を作ることができるのでは考えています。

このトークでは、以下のトピックに関する私の考えを共有することを目標とします

  • ドメインとはそもそも何なのだろうか
  • ドメインモデル・ドメインロジックとはどのようなものなんだろうか
  • 何をドメインロジックとして扱うべきで、何を扱わないべきなんだろうか
3
レギュラートーク(25分)

PHP LangChainで始める大規模言語モデルプログラミング

yando yando

ChatGPTの登場以降、関心の高まっている大規模言語モデル。
機械学習に関するツールやライブラリがPythonに多いですが、PHPからそれらのモデルを駆動させる事もできます。

Pythonで注目の集まっているPHP LangChainのPHP実装、PHP LangChainを紹介します。
LangChainは個別のWeb APIやローカルで動作するモデルなどを抽象化した実装で扱う事ができます。
これにより復数のモデルを組み合わせたり、利用するモデルを切り替えられます。

可能な範囲でデモを交えて紹介し、利用したプログラムコードなどは公開する予定です。

予定する内容
・大規模言語モデル入門
・PHP LangChainとは
・PHPからOpenAIのモデルを利用する
・PHPからLLaMAのモデルを利用する

1
レギュラートーク(25分)

あなたの知らないドメインの世界(入門編)

litencatt 中村光佑

6月にGoogleが運営するドメイン登録サービス「Google Domains」の売却が発表されて話題になりましたが、一般的にドメインとはインターネット上のURLのことであるくらいの認識で、普段ドメインに関わる機会は少ないと思います。 しかしドメインとは2023年においてもインターネット上においてとても重要な要素です。 そこで普段ドメイン登録サービスの開発に携わる自分がドメインについての入門的な基礎知識から普段あまり知ることがないドメインの管理構造や公表されている管理ポリシーなどについて紹介し、みなさんにドメインについてより興味をもっていただきたい思います。

本トークでは以下についての発表を行います

  1. ドメインの基礎知識(ドメインの仕組み、管理団体、WHOISとは?、DNSとの関係)
  2. ドメインの登録・管理・移管方法(ドメインのライフサイクル、ドメイン管理に関わるポリシー)
2
レギュラートーク(25分)

Raspberry PiでCPUを作る 2023 - ベアメタルプログラミングの世界

tomzoh 長谷川智希

私はこの1年ほど、趣味プロジェクトとして1980年代に栄華を誇った名作CPUである"Z80"のハードウェアエミュレータを開発しています。
これはZ80で動作しているコンピュータからZ80を取り外して、代わりに自作のハードウェアを取り付けて動作させるというもので、Raspberry Piをベースに開発しています。

PHP Conference Japan 2022では、実際にZ80として動くハードウェアエミュレータをご紹介しました。
このトークでは昨年の大きな課題だった動作速度を改善させるべく意を決して踏み込んだベアメタルプログラミングの世界について利点と欠点、それがもたらすパフォーマンスについてお話します。

CPUを作ってみたい方はもちろん、コンピュータの仕組みを理解したい方や、プログラムが実行された時にコンピュータの中で何が起きているのかを知りたい方などにもお楽しみ頂けると思います。

2
レギュラートーク(25分)

PHP (本体) デバッグ入門

zeriyoshi 工藤 剛

PHP を使っていて予期せぬクラッシュなどに遭遇したことはありませんか?
バグ報告するにもバックトレースやコアダンプをどうやって取れば良いか悩むことも多いかと思います。
今回は PHP 本体のデバッグ手法について説明し、最低限のバグ報告ができるようになるまでを説明させていただきます。

5
レギュラートーク(25分)

大規模プロジェクトにおける静的解析との付き合い方

zeriyoshi 工藤 剛

PHPStan や Psalm 等の静的解析が急速に普及する中、既存の大規模プロジェクトに対し持続可能な形で導入するためには考慮しなければならないことが数多く存在します。
PHPStan を導入した実例を元に、大規模なコードベースに対しどのようなアプローチで静的解析を導入していったかについて説明させていただきます。

2
レギュラートーク(25分)

気が利くDTO!データオブジェクトライブラリ「Laravel-data」導入してみた

古池新太郎 | 株式会社スタイル・エッジ

みなさんDTO(Data Transfer Object)使ってますか?
実際使用すると、Getter/Setterや型変換など、コード量が肥大化してしまうケースもあるのではないでしょうか。
それらの課題を解消すべく、入出力や加工をシンプルにできるデータオブジェクトライブラリ「Laravel-data」を導入してみました。

本セッションでは、Laravel-dataの機能を活用した「気が利くDTO」の作り方をご紹介します。

話すこと

  • Laravel-dataとは
  • 機能と事例
    • FormRequestやEloquent Modelなど、あらゆる形式から分解せずにDTO生成
    • 型宣言・アトリビュートのみでキャスト・バリデーションを自動適用
    • APIやView用など要求に応じた出力制御
    • プロパティ名変換・キャストなど加工ロジックの独自拡張が容易
2
レギュラートーク(25分)

Laravelアップデートを行った経験をシェアする

kido

Laravelのアップデートを、Laravel Shiftを使いながら行ってきました。

実際にどのようなことを行ってきたかをお話しできればと思います。

アップデートをいずれ行う予定の方や、Laravel Shiftの導入を検討している方に
経験したことをシェアすることで、何かしらの参考になればと思います。

レギュラートーク(25分)

エンジニア経験2~3年のメンバー中心でDDD・TDDに挑戦してみた

古池新太郎 | 株式会社スタイル・エッジ

弊社では数年間運用してきた業務システムをフルリプレイスしました。
既存のシステムでは、業務ロジックが分散されていたり、業務知識の属人化などによって、開発スピードが出せなくなってきていました。

この状況では、機能拡充のボトルネックになることが明らかだったため、今回のリプレイスでは、ドメイン駆動設計(DDD)やテスト駆動開発(TDD)、依存関係や責務を明確にしたレイヤードアーキテクチャなどを取り入れた、よりモダンな開発に挑戦しました。

本セッションでは、モダン開発への挑戦にあたり、具体的に実践したことや直面した課題、工夫したことなどを話したいと思います。

本セッションで話すこと

  • 実際に行ったドメインモデリングの流れと気をつけたこと
  • DDDやTDD、レイヤードアーキテクチャをチーム開発で実現する上での取り組み
  • 直面した課題とそれを解消した仕組み
2
レギュラートーク(25分)

エンジニアの少ない会社で新人エンジニアリングマネージャーがよい仕事をするために心がけたこと

s_ikuta_tete 生田 聡満

最近流行り?のエンジニアリングマネージャー。
ある日突然上司(非エンジニア)から会社初の技術職でのマネージャーをやってくれないかと打診があった私。
エンジニアリングマネージャーになって何したの〜から、上手くやれた話、上手くやれなかった話、めちゃ大変だった話をします。

エンジニアの少ない会社でエンジニアリングマネージャーになるのって何が大変?
実際にどんな仕事が増えたの?
なりたい人はどういうことやってくとよさそう?

みたいなことお話します!

レギュラートーク(25分)

なぜ人は組織から去っていくのか?

samurai_se Kanon

システム開発を行う上で必ず存在するもの、それは組織です。
そして組織には人の出入りがつきものです。
しかし、入る人間よりも出る人間の方が多いと次第に組織運営は立ち行かなくなってしまいます。

このトークではなぜ人は組織から去っていくのか?自身の経験+書籍『エンジニアリングマネージャーの仕事』をもとに考察した結果をお話したいと思います。

具体的な内容

  • 自身の経験に基づく、組織を去るときのマインド
  • 書籍『エンジニアリングマネージャーの仕事』に基づいた、「エンジニアリングマネージャーが与えるべきもの」
  • 自身の経験と書籍『エンジニアリングマネージャーの仕事』で語られる「人が去っていく理由」を照らし合わせた結果

対象者

  • 現在進行形でエンジニアリングマネージャーの方
  • 長く一緒に働いてくれる同僚を探している方
  • 転職を考えている方
レギュラートーク(25分)

PHPで学ぶGitの仕組み

22kerokero22 kerokero

現場で働くうえでよく分からん&ほぼ必須な要素としてGitが存在します。
とはいえ、gitについて調べても「 commit や push みたいな基本操作は分かるけど、深いところが何も分からん……」となりがちではないでしょうか?

このトークでは、ベテランエンジニアはなぜか知っている git 知識についてお話ししようと思います。

具体的な内容

  • git init した際に構成される.gitディレクトリの中身について
  • GitHub上にあるgit/gitのソースコードを覗いてみる
  • 実際にgit addgit commitをPHPで実装してみる

対象者

  • 簡単なgitコマンドは扱える人(add, commitなど)
  • 複雑な操作になると不安になってしまう人
  • あの日破壊したブランチのことをまだ忘れられない人
3
レギュラートーク(25分)

完全未経験のIT初心者に、2か月ほど夜な夜な PHP を教えてみた結果

22kerokero22 kerokero

先日、製造業で働いている友人からIT業界に転職したいという話をいただいたのですが、その際にある疑問が湧きました。
それは、完全な初心者が2か月間訓練したら、どれくらいPHPが書けるようになるのだろうか……?というシンプルなものです。
お互いに平日はお仕事があるので、夜中や休日にひっそりとお勉強するしかありません。

IT未経験の若者が苦労の末 2か月間でPHPを習得する 話、 聞いてみたくない ?

具体的な内容

  • PHPやバックエンドについて教えた2か月間の記録
  • 教わる側の新人目線でどういうところがキツイと感じたかについてのぶっちゃけ裏話
  • 実際に教えた技術実践で作ったもらった成果物の紹介

対象者

  • 未経験エンジニアの可能性に興味がある方
  • 新人教育でPHPを教える際に難しさを感じている方
6
レギュラートーク(25分)

Webシステム開発の新潮流 「フルサイクル開発者」

pinkumohikan 篠田 北斗

フロントエンドやバックエンドのような技術的関心事で担当領域を区切るのではなく、プロダクトが価値を提供するために技術面全般へ責任を持つ「フルサイクルエンジニア (full-cycle developer)」という考え方が流行りつつあります。
本トークではフルサイクルエンジニアとして5年ほど仕事をしてきた私が、フルサイクルエンジニアとは何なのか、何をやり何をやらないのか、良いところ大変なところ、キャリアについての懸念についてお話します。

対象観客

  • フルサイクルエンジニアという考え方に関心があるかた
  • フロントエンド/バックエンド/インフラだけを専門的にやっているがこれで良いのか?という悩みを抱えているかた

話すこと

  • フルサイクルエンジニアとは何か
  • フルスタックエンジニアとの違い
  • やること・やらないこと
  • 良いところ・大変なところ
  • 専門性やキャリアへの懸念
1
レギュラートーク(25分)

フリーランスWebエンジニアというキャリア

pinkumohikan 篠田 北斗

だいぶ市民権を得てきたフリーランスという働き方。
2019年にフリーランスになって4期目を迎えた私が、フリーランスのWebエンジニアとして働くということについて広くお話します。

対象観客

  • フリーランスWebエンジニアをというキャリアに関心があるかた

話すこと

  • そもそもフリーランスとは何なのか
  • 正社員との働き方の違い
  • どういう人がフリーランスに向いている、向いてないのか
  • どうやって仕事を取っているのか
  • いつまでフリーランスとして働けそうなのか
  • フリーランスのつらいこと
  • お金の話
  • 住宅ローン組める組めない話
1
レギュラートーク(25分)

動くソフトウエアを素早く提供するためのスプリントの過ごし方

sanogemaru Genki Sano

アジャイルソフトウェア開発宣言の中に「包括的なドキュメントよりも動くソフトウェアを」と記載がある通り、アジャイル開発において「動くソフトウェア」というものは非常に重要視されていると思います。
そのため、普段の開発業務で「動くソフトウエア」を素早く提供することを求められる場面は、きっと多いのではないでしょうか?(むしろ、常にそういう期待値を持たれているかもしれません。)

本トークでは、そんな「動くソフトウエア」を素早く提供するために実際にスクラムチームで取り組んだことについて、実体験をベースにした知見をご紹介します。

このトークでお話すること

・「動くソフトウエア」とは何か
・どうやって価値提供のスピードを上げたのか
・内部品質を保つためにどんなことをしたのか
・まだ改善していく余地はあるのか

レギュラートーク(25分)

モジュラーモノリスを導入してみたチームの裏話

sanogemaru Genki Sano

数年間で成長してきた自社プロダクトですが、モノリスの複雑化の増大に対して軽減・改善していくために、モジュラーモノリスを導入することにしました。

そんな話を度々耳にしたことがあるのではないでしょうか。
ただ、実際にやってみたら「こんなはずしゃなかった」「予想外にいいことがあった」みたいなことになる、そんな経験がきっとあると思います。

本トークでは、モジュラーモノリスを導入した際の現場目線での知見や体験談をお話します。
モジュラーモノリスの1歩目を踏み出そうと思っている方や、レガシーコードに日々向き合っている方に聞いていただけると嬉しいです!

このトークでお話すること

・Pakege By Feature について
・導入するに至った背景
・モジュール構成とその中身について
・導入してみてよかったこと/苦労したこと
・これからの展望

4