「愚者は経験に学び、賢者は歴史に学ぶ」
オットー・フォン・ビスマルクの格言です
今回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 を含む、クラスベースのオブジェクト指向プログラミング機能を持つ言語(あるいはそれ以外の言語でも)インターフェースを利用できます。
アプリケーションの実装上の設計を考えたことがある人は、インターフェースが使えると何が嬉しいのか?どんな場面で使えばよいのか?と思ったことがあるのではないでしょうか。
本トークでは、また設計の文脈で聞いたことがあるかもしれない「腐敗防止層」というワードとともにインターフェースの使い方、ひいては設計全般に通用する考え方をお話します。
以下を満たす方が聴講することを想定します。
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を「ただ使う」レベルから「理解して使う」レベルへとステップアップし、今よりもっとチーム開発を楽しみましょう!
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アプリ開発においても帳票印刷機能は多くの案件で要求されます。
しかし、これがとにかく面倒くさい。
帳票印刷機能を実装したことのある方には強く共感していただけると思います。
そんな面倒で難しい帳票印刷ですが、実は私は既に数年前に最強無敵のソリューションを編み出し済みです。
という条件を満たせる唯一(当社調べ)の方法です。
このトークでは、この至高のソリューションを具体的に解説します!
API Platformは、SymfonyをベースとするPHP製のオープンソースAPIフレームワークです。
Symfonyアプリケーションにアトリビュートを1行追加するだけで一瞬でREST APIを作れてしまう優れもので、
Symfonyのエコシステムにおいては既に決定版となっています。
しかし、ある程度複雑なことをしようとすると途端にフレームワークについての深い理解が求められたり、
痒いところに手が届かず強引なワークアラウンドが必要になったりするという面もあり、入門と実戦の間には大きな隔たりがあります。
このトークでは、API Platformの導入方法から基本機能の概要、さらには実践投入に向けた各種ワークアラウンドや実装テクニックを、
実際に動作するデモをお見せしながら丁寧にご紹介します。
API Platformの実戦投入、あるいはその検討の一助になれば幸いです!
良いコード、読みやすいコード…欲しいですよね
経験を積むほどに、コードを書くのは上手くなることでしょう
ですが!!
「1発で綺麗に書ける」とはならないのです
それどころか、「書き直す」のが当たり前になっていきます
つまり、リファクタリングです。長く付き合えるコードを生むには、コイツが欠かせません
みんな、色んな所で、昼夜を問わず、当たり前にリファクタリングに手を出しているのです
1回味わったら、きっと忘れられなくなりますよ
このトークでは、「初めてのリファクタリング」をテーマに、最初の1歩を踏み出すための武器を提供します
一緒に「めちゃ長ぇメソッド」を飼い慣らしていきましょう!