みなさんはITコミュニティに関わっていますか?
そのITコミュニティにはどのように参加しましたか?
今,ITコミュニティに所属していると認識している方なら,自分自身がどのようにしてITコミュニティに溶け込んで行ったのか,ご自身の歴史を語るように話せるでしょう.こうした言い伝えのように語り継がれたITコミュニティへの参加,ITコミュニティへの貢献の話は,ITコミュニティに入ってきていない方や,ITの業界の外にいる方には伝わりにくいものです.その上,受け入れる側もどうすればよいか,経験で知るしかありません.そこで本セッションでは,ITコミュニティに受け入れる側としてどのような点に注意して振る舞えばよいか,整理整頓を試みます.
テストコードのプルリクが来て意気揚々と見てみると、こんなコードが書かれていたりしませんか?
こういったテストがレビューで飛んできたとき、見るのがしんどそう...と、自分はまず別タブに移動してしまいます。
レビューはすぐにしたいんです。それなのになぜネガティブな感じから始まるのでしょう?もちろん理由はあるのです。
そこで本トークでは、上記テストコードに対する問題点と解決策についてコード例を交えつつ説明し、
こんなPHPUnitのレビューはいやだと言われぬために僕らが今日からできることをお話したいと思います。
レビュアーが嫌がるテストコードを知ることで、レビュアーに優しいテストコードを書いていきましょう!
私が開発しているプロダクトでは、DBへのデータアクセスでPDOを利用しています。しかし、そのまま使わずに、SQLのテンプレートエンジンであるTetoSQLを通して利用しています。TetoSQLでは、防衛的な型チェックや、ループ処理などのPDOの表現力を高める事ができます。
このトークでは、SQLテンプレートエンジンであるTetoSQLの紹介、PDOやORMとの比較、実際に使用した結果等についてお話しします。
PHPフレームワークであるSymfonyのSymfonyDI(Dependency Injection)はSymfonyを使う上でコードの保守性や拡張性を向上させるための不可欠なツールです。
その強力で柔軟な機能を初心者の方々にわかりやすく紹介します。
今回はyamlファイルに定義する方法を具体的な例を交えながらご紹介します。
生成系AIの勢いは止まりません
OpenAI のGPT-4 TurboやAssistants API の衝撃により、更に生成系AIは利用が広がることだと思います
またAWS re:Invent 2023にてAmazon Bedrockのアップデートも期待されています
利用するのと利用しないのでは、差を感じずにはいられず
私達PHPerも生成系AIの知識を追う必要があることは語る必要もないと思います
今回PHPerは生成系AIとどう付き合うべきなのかを、
2つの生成系AIサービスを比較しながら考えます
生成系AIの比較を行いながら理解することで、
現状PHPerがどのように向き合っていくべきなのかを振り返るセッションになれば幸いです
先日「PHPを動かす技術バトル~PHPer Tea Night~」という非常に興味深いイベントがあったので参加しました
その中でPHPの実行環境は「mod_php」を利用しているのか「PHP-FPM」を利用しているのかの議論がありました
インターネットでみた記事以上の情報のやり取りも行われ、様々な議論が起こり知見が深まった中で、
その違いの解像度を上げたいと考えました
もう一つの選択肢としてOSSであるBrefの話も添えてPHPの実行環境についての比較をします
なんとなくPHPの実行環境を決めるのではなくて、あなたの推しのPHP実行環境を見つけましょう
(初心者向けトークです)
PHP Data Objects(PDO)は、DBへのデータアクセスを抽象化する、軽量で高性能な拡張モジュールです。PHPでWebアプリケーションを作成するときは、多くの機会でPDOを利用する事があります。
このトークではPDOの基礎的な使い方から、実務レベルでRepository層でのPDOの扱い方についてお話しします。
JIT コンパイルとは、実行時にネイティブコードへのコンパイルをおこなうことです。
PHP では、バージョン 8.0 から導入されました。
PHP 8.4 (プロポーザル記述時点での予定) では、8.0 で導入された JIT エンジンが作り直され、新しい JIT エンジンが導入される予定です。
このセッションでは、新しく入る JIT エンジンについて、現在の実装と比較しつつ紹介する予定です。
ある日、「手動オペレーションに定評がありますね!」(意訳)と言われたことがあります。(全然ネガティブな文脈ではないので安心してください!!!!!!!!!)
特にプロダクトの初期フェーズにおいては、プロダクト自体の機能や価値提供のために、管理画面の開発などの優先順位が下がることがあると考えています。
運用フロー、提供フローが定まっていないうちに画面を作り込んでしまうなどが、「早すぎる最適化」になってしまうこともあるでしょう。
そのような事態を避けるためにも、作り込めるポイントがくるまで、安定した手動オペレーションを行うことはチームにとってもプロダクトにとっても大切なことなのかもしれません。
本トークでは、手動オペレーションを行う際に私がどのようなことを心がけているのか?という話を中心に、作り込めるポイントをどう判断しているのかをお話ししてみたいと思います。
P.S. 浜松っこです。
Laravelには便利な機能がたくさんあり、Eloquent、Facede、サービスコンテナ、認証、ミドルウェア、Blade、artisanコマンドなどの機能を活用することで、スピード感のある開発ができることは間違いありません。
ただ、それらに依存しすぎることによる弊害も少なくないでしょう。ビジネスの変化への対応による作り直し、各機能のバージョンアップの際に思わぬ量のコード修正になってしまうことがあります。
そんなことを想定し、Laravelのコードからドメインのコードが独立するよう、主にInterfaceを利用してドメインロジック(=わたしたちのコード)を切り出すことを心がけています。
まずLaravelで素早く開発するための例を紹介し、どのようにしてLaravelのコードとドメインのコードの距離を保っているか、どんなメリットがあるのかを事例を交えて紹介させていただきます!
みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
よくサーバレスなマネージドコンテナサービスでWEBアプリを実行しますが、定期実行するジョブもマネージドなサーバレス環境で実行したくありませんか?
そんなあなたのために、3大クラウドそれぞれで定期ジョブ実行するためのポイントやそれぞれのサービスの比較を行い、実際にPHPを動かす際のポイントなどをお話します!
対象
・Dockerなどコンテナについてなんとなく聞いたことがあり、ちょっと動かしてみたい人
・サーバレスでコンテナを使った定期ジョブをしたい方
・サーバレスという言葉に惹かれる人
お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)
・実際にトライしてみての気づき
令和では受託開発はオワコンで内製化の時代?駆け出しエンジニアに人気なのは受託開発より自社サービス開発?
世間では「自社サービスのエンジニアになりたい!」という声が大きく聞こえるようになりました。
私は受託開発フリーランスから自社サービス開発の社員エンジニアになり、エンジニア人生の中で自社サービス開発に携わっている期間の方が長くなりました。
キラキラした仕事のイメージで語られがちな自社サービス開発ですが、日々どんな仕事をしているかは意外と知られていないようです。
自社サービス開発のエンジニアとしてどんな仕事をしてきたか、見てきたかについて話します。
仕事としてPHPを書いていらっしゃる方はコードレビューに関わる事も多いかと思います。
コードレビューはバグを未然に防いだり、保守性を悪化させないためなど品質保証の基本的なプロセスですが、その「正しい」方法を見つけるのは難しいものです。特にPHPのようなダイナミックな言語では、レビューのアプローチはチームの成熟度やプロジェクトの特性によって大きく変わることがあります。
このセッションでは、コードレビューの目的とレビュー手順について私たちのチームの経験を基に紹介します。
さらに、自動化を取り入れることでレビュープロセスを少し手軽にするTipsも紹介します。
意識が高くない。エンジニアだけど自分のサービス・プロダクトを持っていない。作りたいものがない。
だけど技術は好き。
まだ出会ったことのないキミ(技術)と出会うための熱量を大事にしたい。
PHPの新しいバージョンをナウでヤングな環境で試したい。
このプロポーザルのディスクリプションを読んでいるアナタは業務が忙しいにも関わらず、技術への飽くなき探求があるはずだ。
そんな、意識が高い訳では無いが、技術をキャッチアップしたい人に話したいことがある。
話すこと
プログラムを書くときに計算量を意識していますか?計算量の基本を理解することで、サービスが成長したときに問題を起こしにくいプログラムを作成することができます。簡単なプログラムを例にして、まず計算量という概念に慣れてみましょう。
本トークで話す内容
Architecture Decision Record (ADR)はご存知でしょうか?
設計に関する議論や決定をまとめておく文書として、近年注目を集めています。
本トークでは、実際に会社でADRを導入して一年以上運用した結果、開発現場で継続的に使われているのかどうかなど、 実情を赤裸々にお話します。
本トークで話す内容
FIRST IN MOB WORK
PHPerのみなさんは、モブワークでの開発をされていますでしょうか。
「ペアプロならあるが・・・」「興味はあるけどまだ…」「我流で…」など色々な方がいると思います。
そんなみなさまのハックになれば嬉しいと思ってエントリーさせていただきます。
モブワークは様々な効能があって、
人とあまりコミュニケーションを取りたくない、1人で何でもやりたいという方には向かないですが、
チーム・組織という視点で見た時の成果物の質とスピードが上がりますし、チームでの制作そのものが面白くなって結果的にいいチームビルディングに繋がります。
ただ、このモブワークの威力を発揮するためには、多くの条件・コツがあります。
その概要の概要をお話させていただき、興味を持つキッカケにしていただけたら嬉しいです。
PHPStan は コードを静的解析してバグとなりうる箇所を検出するツール です。
PHPStan ではコードを解析する際の厳密性をレベルで指定することができます。
そのため、レガシーなプロダクトに対してリファクタリングをする際に、段階的にエラーを検出できます。
私自身、 PHPStan の存在自体は知っていたものの、触る機会がなかったので、個人開発のプロジェクトに対して使ってみることにしました。
本トークでは、 PHPStan の基本的な使い方を、 PHPStan を初めて使った入門者の目線 から紹介します。
PHPStan に触れたことのないみなさんも、一緒に PHPStan に入門してみませんか?
AWS Lambdaはうまくアーキテクチャに組み込む事で大きなメリットをもたらします。
今回はAWS Lambdaを利用した動的サイトをLaravelを使って構築する手法についてお話します。
皆さんに馴染み深いLaravelを利用して、サーバーレスの世界へ第一歩を踏み出しましょう!
お話すること
想定する聴講者