ChatGPTの登場以降、関心の高まっている大規模言語モデル。
機械学習に関するツールやライブラリがPythonに多いですが、PHPからそれらのモデルを駆動させる事もできます。
Pythonで注目の集まっているPHP LangChainのPHP実装、PHP LangChainを紹介します。
LangChainは個別のWeb APIやローカルで動作するモデルなどを抽象化した実装で扱う事ができます。
これにより復数のモデルを組み合わせたり、利用するモデルを切り替えられます。
可能な範囲でデモを交えて紹介し、利用したプログラムコードなどは公開する予定です。
予定する内容
・大規模言語モデル入門
・PHP LangChainとは
・PHPからOpenAIのモデルを利用する
・PHPからLLaMAのモデルを利用する
【トーク概要】
『コードレビューやペアプロの文化がない環境で過ごした転職前の5年間』と『チーム開発が活発な職場に転職してからの半年間』では、
確実に後者の方が私に多くの学びや恩恵を与えてくれています。
1人ではなくチームで開発をすること、人を頼ることのメリットについて、お話したいと思います。
【対象者】
・職場にコードレビューやペアプロの文化がなく、基本的に一人で開発している方
・人を頼るのが苦手な人
・スキルアップに伸び悩んでいる人
※大きめなカンファレンスでの登壇は今回がはじめてです。
6月にGoogleが運営するドメイン登録サービス「Google Domains」の売却が発表されて話題になりましたが、一般的にドメインとはインターネット上のURLのことであるくらいの認識で、普段ドメインに関わる機会は少ないと思います。 しかしドメインとは2023年においてもインターネット上においてとても重要な要素です。 そこで普段ドメイン登録サービスの開発に携わる自分がドメインについての入門的な基礎知識から普段あまり知ることがないドメインの管理構造や公表されている管理ポリシーなどについて紹介し、みなさんにドメインについてより興味をもっていただきたい思います。
本トークでは以下についての発表を行います
私はこの1年ほど、趣味プロジェクトとして1980年代に栄華を誇った名作CPUである"Z80"のハードウェアエミュレータを開発しています。
これはZ80で動作しているコンピュータからZ80を取り外して、代わりに自作のハードウェアを取り付けて動作させるというもので、Raspberry Piをベースに開発しています。
PHP Conference Japan 2022では、実際にZ80として動くハードウェアエミュレータをご紹介しました。
このトークでは昨年の大きな課題だった動作速度を改善させるべく意を決して踏み込んだベアメタルプログラミングの世界について利点と欠点、それがもたらすパフォーマンスについてお話します。
CPUを作ってみたい方はもちろん、コンピュータの仕組みを理解したい方や、プログラムが実行された時にコンピュータの中で何が起きているのかを知りたい方などにもお楽しみ頂けると思います。
PHPerな僕がアルケミストになってElixirを触っている話。
PHPがメイン言語な僕がElixirを触っていてPHPと似ているところやElixirの良いところや癖など紹介。
Elixirからの良い文明をPHPに持ってきたい。
【対象者】
受け持っているプロジェクトの進行と新人教育の両立は、多くのエンジニアが直面する課題です。
この課題を解決するために、PHPの研修をDockerとDevContainerを使用して自動化する方法を思いつき実践してみました。
どのようにしてPHPの研修を自動化し、新人が自己学習を進められる環境を整えたのかを共有します。
具体的には、問題を作成し、自動テストで答え合わせを行うことで、新人が自己ペースで学習を進められる環境を提供しました。
この方法により、新人の教育を効率的に行うことができました。
みなさん、PSRを全部覚えてますか?
私は覚えてません。
なので、SymfonyでIntefaceを実装している具体的な部分を読んでみます。
その一部をご紹介します。
普段からPHPやフレームワークのバージョンアップ対応、技術的負債の解消、新しい技術の導入など技術的な改善活動が日常的にできていますか?
技術的改善を進めたいけど事業を優先して時間がとれずなかなか進められないといったことがあるのではないでしょうか。
コネヒトでもこの問題に直面し、長年に渡り様々な試みをしてきました。
これらの試みでうまくいったことうまくいかなかったこと両方についてお話します。
みなさんの組織運営のヒントになると幸いです。
PHP を使っていて予期せぬクラッシュなどに遭遇したことはありませんか?
バグ報告するにもバックトレースやコアダンプをどうやって取れば良いか悩むことも多いかと思います。
今回は PHP 本体のデバッグ手法について説明し、最低限のバグ報告ができるようになるまでを説明させていただきます。
PHPStan や Psalm 等の静的解析が急速に普及する中、既存の大規模プロジェクトに対し持続可能な形で導入するためには考慮しなければならないことが数多く存在します。
PHPStan を導入した実例を元に、大規模なコードベースに対しどのようなアプローチで静的解析を導入していったかについて説明させていただきます。
みなさんDTO(Data Transfer Object)使ってますか?
実際使用すると、Getter/Setterや型変換など、コード量が肥大化してしまうケースもあるのではないでしょうか。
それらの課題を解消すべく、入出力や加工をシンプルにできるデータオブジェクトライブラリ「Laravel-data」を導入してみました。
本セッションでは、Laravel-dataの機能を活用した「気が利くDTO」の作り方をご紹介します。
弊社では数年間運用してきた業務システムをフルリプレイスしました。
既存のシステムでは、業務ロジックが分散されていたり、業務知識の属人化などによって、開発スピードが出せなくなってきていました。
この状況では、機能拡充のボトルネックになることが明らかだったため、今回のリプレイスでは、ドメイン駆動設計(DDD)やテスト駆動開発(TDD)、依存関係や責務を明確にしたレイヤードアーキテクチャなどを取り入れた、よりモダンな開発に挑戦しました。
本セッションでは、モダン開発への挑戦にあたり、具体的に実践したことや直面した課題、工夫したことなどを話したいと思います。
みなさんDTO(Data Transfer Object)使ってますか?
実際使用すると、Getter/Setterや型変換など、コード量が肥大化してしまうケースもあるのではないでしょうか。
それらの課題を解消すべく、入出力や加工をシンプルにできるデータオブジェクトライブラリ「Laravel-data」を導入してみました。
本セッションでは、Laravel-dataの機能を活用した「気が利くDTO」の作り方をご紹介します。
Laravelのアップデートを、Laravel Shiftを使いながら行ってきました。
実際にどのようなことを行ってきたかをお話しできればと思います。
アップデートをいずれ行う予定の方や、Laravel Shiftの導入を検討している方に
経験したことをシェアすることで、何かしらの参考になればと思います。
ーーー 深淵をのぞく時、深淵もまたこちらをのぞいているのだ。 (フリードリヒ・ニーチェ『善悪の彼岸』より)
ということは、私たちはPHPを触る時、無意識的にC言語をPHPという壁越しにのぞいているとも考えられるのでは?🤔
(たぶんC言語も私たちをPHP越しにのぞいている気がする)
というわけでC言語完全初見の自分から見たC言語の印象・PHPとの比較、
向き合った結果わかったこと・わからなかったこと等をお話してみようと思います。
【対象者】
多くのWEBアプリケーションで導入されているであろう ECS(Fargate) 環境では DB マイグレーションってどうやってますか?
弊プロダクトでは マイグレーション用のコンテナを用意する 方法を採用しています。
コンテナ環境での DB マイグレーションの実行方法はあまり情報がないように思われるので参考になれば嬉しいです。
弊社では数年間運用してきた業務システムをフルリプレイスしました。
既存のシステムでは、業務ロジックが分散されていたり、業務知識の属人化などによって、開発スピードが出せなくなってきていました。
この状況では、機能拡充のボトルネックになることが明らかだったため、今回のリプレイスでは、ドメイン駆動設計(DDD)やテスト駆動開発(TDD)、依存関係や責務を明確にしたレイヤードアーキテクチャなどを取り入れた、よりモダンな開発に挑戦しました。
本セッションでは、モダン開発への挑戦にあたり、具体的に実践したことや直面した課題、工夫したことなどを話したいと思います。
Instagram使ってますか?
仕事でInstagramからデータを取得するAPIを毎日何万回と叩いてるんで、普通の人より詳しいです。
Meta社への問い合わせや許せねえ!というエピソードなど素早くたくさん話します。
Instagramのサービス作ってみようかな〜とか、Meta社が最近ThreadsだしたしAPI公開されたら気になってる〜や、外部API利用で起こる怖い話ききたい〜みたいな人に大変刺さる内容になるはずです。
最近流行り?のエンジニアリングマネージャー。
ある日突然上司(非エンジニア)から会社初の技術職でのマネージャーをやってくれないかと打診があった私。
エンジニアリングマネージャーになって何したの〜から、上手くやれた話、上手くやれなかった話、めちゃ大変だった話をします。
エンジニアの少ない会社でエンジニアリングマネージャーになるのって何が大変?
実際にどんな仕事が増えたの?
なりたい人はどういうことやってくとよさそう?
みたいなことお話します!
Symfonyフレームワークを使って、リアルタイムでメモアプリを作ります。
5分という限られた時間の中で、どれだけの機能を実装できるかを実証するために、ライブコーディングを行います。
もちろん、トラブルが発生する可能性もありますが、その場合はその場での対応をお見せします。
SymfonyはLaravelやCakePHPなどのフレームワークと比べ、少し敷居が高いと感じられるかもしれませんが、実際そうでもないと思っています。
1年間のSymfony経験で得た知見や手法を駆使し、5分間でどれだけ素早くアプリケーションを構築できるかを発表しようと思います!
Symfonyに興味を持つ全ての方々に、実際の開発をリアルに感じていただける内容にしようと思います!