「愚者は経験に学び、賢者は歴史に学ぶ」
オットー・フォン・ビスマルクの格言です
今回PHPカンファレンス関西が求めているトークの中に「PHPの現状や歴史を知ることができるトーク」があります
そこで私はPHP4から少しづつ進んできたPHPの変化を感覚として捉えていますが、
言語化出来るレベルでの理解が出来ていないと気付きました
今回はオンラインリソースを駆使することでPHPの歴史を振り返ることで、
PHP、ひいてはPHPコミュニティの選択を振り返ってみようと思います
私と一緒にPHPの歴史を振り返りながら、この日本でPHPのカンファレンスが生まれるまで成長してきたのかを学べればと思います
現代のコンピュータはハードウェアから私たちプログラマが書くプログラムの動作までの間が多くのレイヤーに分けられて動作しています。
レイヤーは自分より下を抽象化し、下のレイヤーを詳しく理解しなくても多くの場合プログラマはプログラムを書けます。
一方、プログラムが期待した様に動作しない時には下のレイヤーの動作の理解が問題の解決の助けになることもあります。
このトークでは私たちが愛するPHPをスタート地点にして、「CPUによる"プログラム実行"」「 PHPやJavaとC言語の根本的な違い」など、コンピュータプログラムがどの様に動作するのかを解説します。
コンピュータのレイヤー構造を理解すると、いままでは見えていなかった角度からプログラミングを楽しめるようになります。
このトークを通じて、低レイヤーが好きになったり、いろいろなレイヤーで面白いことをしたりする方が増えることを期待しています!
FOSRestBundleやライブラリを利用せずにAPIの実装をしていたがAPI Platformを試してみたいと思っている方向けの内容です。
Symfony6.3とAPI Platform3.2を利用したRestfulAPIの実装方法についてお話します。
今回お話する内容
・ Attribute1行追加するだけのAPIの実装
・ 独自ロジックでのAPIの実装
・ バージョニング
など
みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
よくサーバレスなマネージドコンテナサービスでWEBアプリを実行しますが、定期実行するジョブもマネージドなサーバレス環境で実行したくありませんか?
そんなあなたのために、3大クラウドそれぞれで定期ジョブ実行するためのポイントやそれぞれのサービスの比較を行い、実際にPHPを動かす際のポイントなどをライブデモを交えながらお話します!
対象
・Dockerなどコンテナについてなんとなく聞いたことがあり、ちょっと動かしてみたい人
・サーバレスでコンテナを使った定期ジョブをしたい方
・サーバレスという言葉に惹かれる人
お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)
・実際にトライしてみての気づき
お話しないこと
・商用環境での運用の話(個人開発ベースです)
みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
このコンテナを稼働させる仕組みは様々ありますが、1つのコンテナを動かして気楽にWEBアプリ開発をしたくありませんか?
そんなあなたにぴったりなのが フルマネージドでコンテナ型アプリを作成できる
・App Runner
・Cloud Run
・Container Apps
です。
これらのサービスの比較や解説をしっかり交えながら、当日はライブデモも交えてお話します!
対象
・Dockerなどコンテナについてなんとなく聞いたことがあり、ちょっと動かしてみたい人
・サーバレスという言葉に惹かれる人
お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)
お話しないこと
・商用環境での運用の話(個人開発ベースです)
Laravelをウェブアプリケーションフレームワークとして採用している会社はたくさんあるようです。これほどまでに人気のフレームワークですが、長期運用をしていくと、ちょっとずつツラミが現れてきます。
本トークでは、実際に行われている施策なども紹介しながら、どうしたら、それなりに運用・保守が可能なLaravelアプリケーションを作っていけるのか?を紹介します。
本トークで話す内容
これからPHPを始めようとしている方向けのセッションです。
PHPの入門は、応用に興味があるならLaravelやWordPressから入っても良いのですが、フレームワークの使い方に振り回されて、基礎が疎かになるのが心配だと感じる方も(こんなカンファレンスに参加するタイプならきっと何人かは)おられることでしょう。まずは「PHPそのもの」をしっかり押さえてから、理解の枝を広げていく道順を、手を動かして実際にやってみませんか。
ウェブ開発環境の変化は日進月歩です。古い書籍の案内は、時代に合わなくなることもあります。今しかないからこそベストな、2024年版のPHP入門を。
(ご注意:PHPは初心者でも構いませんが、全くのプログラミング初心者、パソコン初心者でもわかるレベルの内容ではありません。プログラミング入門としてのPHPではない点をご了承ください)
OpenTelemetryといえば、最近インフラ界隈で話題のワードですよね。
ただOpenTelemetryにはたくさんの専門の用語が登場し、さらにOpenTelemetryの公式のドキュメントをそのまま実行しただけで導入ができず、つまづきポイントがとても多くなっています。
TechTrainにおいて実際に導入しました。このトークでは次のようなことについてお話しします。
どのプログラミング言語の初心者にもお伝えしたい知見「テストを書こう」のPHP版です。
これは私が考える「良いコードを書くための心得」です。
初心者時代の私は目指してはいても変更しやすい実装ができませんでした。
実はこれは達人ケント・ベックも同じようで、それを知って以降、少しずつ実装を改善する道を選びました。
テストコードがあると、変更前後で振る舞いが変わっていないかを何度でもすぐに確認できます
こんな方に向けて話します
こんなことを話します
PHP を含む、クラスベースのオブジェクト指向プログラミング機能を持つ言語(あるいはそれ以外の言語でも)インターフェースを利用できます。
アプリケーションの実装上の設計を考えたことがある人は、インターフェースが使えると何が嬉しいのか?どんな場面で使えばよいのか?と思ったことがあるのではないでしょうか。
本トークでは、また設計の文脈で聞いたことがあるかもしれない「腐敗防止層」というワードとともにインターフェースの使い方、ひいては設計全般に通用する考え方をお話します。
以下を満たす方が聴講することを想定します。
ORMを使っているから、DBMSの便利な機能は使えない…と諦めていませんか?
DoctrineはDBAL(データベース抽象化レイヤー)を擁し、各DBMSに共通の使い方を提供してくれますが、それだけでなくカスタマイズ機構も備えていて、DBMS側の便利な機能を使うこともできます。
本トークではPostgreSQLの便利な機能をDoctrineORMで扱う方法を題材に、DoctrineORMのカスタマイズ手法についてご紹介します。
Laravelで出来たアプリケーションの本番環境まだEC2使ってませんか?
OSのEOL対応、PHPのバージョンアップ、サーバ障害対応などEC2で管理していると保守するだけでも色々やらないといけない事が多いです。
Laravelアプリケーションをコンテナ化してECSにデプロイすることで、辛いサーバ管理から解放されましょう。
このトークでは、EC2で管理していたLaravelアプリケーションをECSに移行するために考える必要があるポイントや移行のために必要な手順、デプロイの仕組み、ECSで運用する際に便利だったツール(ecspresso)などをお話します。
想定聴講者は、EC2でLaravelアプリケーションを運用、移行検討してる方はもちろん、インフラとかよく分からないけど分かるようになりたいという方にもおすすめです。
今や Web API の設計として広く利用されている REST API ですが、下記のような弱点が存在します。
上記の弱点を克服する手法として、 GraphQL があります。
GraphQL は従来の REST API とは異なり、クライアントが クエリ を用いてデータの取得や操作をします。
本トークでは、 GraphQL の基礎を説明し、 Lighthouse を利用して GraphQL サーバーを Laravel 上で実装する方法を紹介します。
GraphQL に興味があるけれど触ったことがない方々に、 GraphQL を始めるきっかけとなれば幸いです。
フレームワークに備わっているようなクエリビルダや ORM、便利ですね。
一方で「この SQL 文はクエリビルダの機能では表現できないな」「長年使われてきた秘伝の SQL 文があってな......」といったケースで生の SQL 文を使わざるを得ない、というケースがあるかもしれません。
そこで今回は以下の 3 つの手段で生 SQL を扱う方法を説明します。
多くのPHPerは日常的にGitを使用していると思いますが、その機能や最適な使い方を十分に理解して使いこなせているでしょうか?
このトークは、新卒入社したばかりのPHPerやGit初級者に向けて、チーム開発におけるGitの"使いこなし方"に焦点を当て、実践的なノウハウを具体例を交えながらお届けします!
初歩から応用まで、チームでの開発をスムーズに進めるためのTipsをたくさん盛り込みます!
このトークを通じて、Gitを「ただ使う」レベルから「理解して使う」レベルへとステップアップし、今よりもっとチーム開発を楽しみましょう!
情報発信の種を育てるには、どうすればよいのでしょうか。そもそも、情報発信は何のためにするのでしょうか。
遡ること2019年、それまでGaroon開発チームは外部に向けた情報発信をほとんどおこなっていませんでした。
長年の開発による負債に悩まされ、自分たちの仕事を魅力的だと感じられなかったことが大きな要因のひとつでした。
しかし、とある会を皮切りに、開発者にとって魅力的なプロダクトを目指して活動することができ、徐々に状況は変わっていきました。
私は、長年Garoon開発チームに所属しつつ、技術広報を兼務してきました。
Garoon開発チームの変化と共に歩んだからこそ見えてきた、情報発信を続ける理由と技術広報としての関わり方、目指すものをお話しします。
情報発信について考えている方々に届き、情報発信と開発組織について考えるきっかけにしたいと考えています。
PHPでメールサーバからメールを取り込みたいと思ったことはありますか?
メールと言えばPOP3/IMAP4ですのでPOP3やIMAP4を使えば良さそうですが自分でPOP3/IMAP4を喋るのはややシンドイですね。
このトークではPHPでメールをメールを取り込むにはどうしたら良いか、そして最も広く使われているであろうメールサービスのGmailからメールを取り込む方法をお話します。
インターネット黎明期から存在するインターネットメールに放たれる自由奔放なメールは素手で立ち向かうにはやや手強い。
このトークがメールと戦うみなさんの力となることを祈っています。
PHPは様々な技術要素を組み合わせて動いています
カスタマイズ性という観点では非常にポジティブな要素ではあるのですが、
初めてPHPを動かす為には「環境構築」という障壁が存在します
今回はサーバー上でPHPを動かす為に必要な要素を解説しながら、
yumやdnfなどのパッケージ管理ツール、configureやmakeにも触れ、
phpenvやasdfが行っている事も覗きながら、PHPの環境構築についてお話します
soファイルとは何なのか、Apache + mod_phpとphp-fpm + Nginxの仕組みの違いについても触れ、
php.iniでどのように制御しているか解説します
PHP動作の仕組みを知り、理解してPHPを動作させましょう
このセッションでは、ターミナル上で動作するリバーシを作成しつつ、テスト駆動開発(TDD)の基本を解説します。
一部、ライブコーディングを取り入れ、PHPを使用してリバーシを開発するプロセスを実際に見ていく予定です。
セッションの内容 :
主な対象者 :
令和になっても相変わらず紙の書類の需要は大きく、Webアプリ開発においても帳票印刷機能は多くの案件で要求されます。
しかし、これがとにかく面倒くさい。
帳票印刷機能を実装したことのある方には強く共感していただけると思います。
そんな面倒で難しい帳票印刷ですが、実は私は既に数年前に最強無敵のソリューションを編み出し済みです。
という条件を満たせる唯一(当社調べ)の方法です。
このトークでは、この至高のソリューションを具体的に解説します!