みなさんは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ファイルに定義する方法を具体的な例を交えながらご紹介します。
勉強会とかカンファレンスに何回か参加しているとそのうち湧き上がってくる感情があると思います。
それは、自分も登壇する側に立ってみたい!
でも、
発表には憧れてるけど、発表することがない。
自分なんかが発表したって誰にも刺さらないでしょ?
発表したいけど発表ネタが浮かばないから、手を挙げられない。
その一方で、いつも登壇してる人がいるし、なんなら勉強会が決まった後にネタなんて考えればいいでしょ?って人もいるんです。
同じようにネタがないのに発表できる人と発表を尻込みしてしまう人、この違いはなんなんでしょうね?
そこで、ネタがなくて発表を尻込みしちゃっていた自分が、発表ネタを見つけるために心がけたことを話します。
同じように発表したいけど話すネタがなくて困ってる方の背中を押せたら嬉しいなと思います。
テストコード書いてますか?
書いてる皆様、 クラウドマネージドサービスが関連するアプリケーションでもテストコードを書けてますか?
継続開発が続く程重要性が高まるテストコードですが、今回はマネージドサービスが関連する場合について考察します
マネージドサービスが関わるアプリケーションの場合、
テスタブルになるようにどの様に分割して実装すればよいのか、
CI/CDでテストする為にどのようにエミュレートするのか考慮すべき課題があります
今回はAWS Lambda上で動作するPHPサーバーレスアプリケーションを題材に
Amazon S3、Amazon DynamoDB等の代表的なマネージドサービスのテスタブルなアプリケーションコードを具体的に示しながら考察します
PHPは様々な技術要素を組み合わせて動いています
カスタマイズ性という観点では非常にポジティブな要素ではあるのですが、
初めてPHPを動かす為には「環境構築」という障壁が存在します
今回はサーバー上でPHPを動かす為に必要な要素を解説しながら、
yumやdnfなどのパッケージ管理ツール、configureやmakeにも触れ、
phpenvやasdfが行っている事も覗きながら、PHPの環境構築についてお話します
soファイルとは何なのか、Apache + mod_phpとphp-fpm + Nginxの仕組みの違いについても触れ、
php.iniでどのように制御しているか解説します
PHP動作の仕組みを知り、理解してPHPを動作させましょう
生成系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実行環境を見つけましょう
AWS Lambdaはうまくアーキテクチャに組み込む事で大きなメリットをもたらします
今回はAWS LambdaとLaravelを利用して作成した個人開発のMVPの動的サイトを紹介します
サーバーレスPHP、話には聞くけど動いてるとこ見たことないなぁという方必見!
技術要素を超高速スライドめくりで、構築する手順を示します(※解説するわけではありません)
元々個人的に作成したかったものをこのタイミングで作成して配置しておき、
皆様にも動かしてもらいながら、サーバーレスPHPを体験して頂ければ幸いです。
話者はPHP Conference Japan 2022にてHTTP3について調べた結果「スゲー!」ってなりました。
この体験を皆さまにスピーディーに体験していただくために、
HTTP3のいいところを仕組みにちょっと触れながらライトニングに話します。
細かいことは良いんです、HTTP3スゲー!ってなって欲しいんです。
その結果、HTTP3やってみるか〜!というモチベーションに繋がる事を望んでいます。
HTTPとPHPは切っても切れ離せない関係があります、その世界に酔いしれましょう!
コミュニケーションにおける「パス」について、「コミュニケーションパス」がまず頭に浮かぶと思います。
いわゆる、1対1のコミュニケーションがどれだけ発生するか?というコミュニケーションパスとともに、チーム間を跨ぐ場合に誰を経由してコミュニケーションするか?という経路としてのパスもあります。
個人的に、直接のコミュニケーションにおけるやりとりも「パス」(pass)することだと考えていて、相手にいいパスを出せるか?というのもチームコミュニケーションにとって大切な要素ではないでしょうか。
本トークでは、1対1のコミュニケーションにおける対話(パス交換)に着目して、私が大切にしていることを共有したいと考えています。
アプリケーションのパフォーマンス改善を行う場合、適当に手を動かしてもうまくいかないことが多いと思います。
少しでもよいカイゼンを行うためには「事実」を把握するために「計測」するというアクションが大事です。
ツールを使ってコードのメトリクスの取得するのも1例です。
コードのサイズ、重複コードの有無、コーディング規約の遵守状況、循環的複雑度、エラーの有無などコードに対する「事実」を把握することができます。
把握できた色々な「事実」を元に、どこがアプリケーションの改善点なのか…?何がアプリケーションにとって最適なのか…??プロダクトにもっとも寄与するためには…???を考え「判断」し、「行動」に繋げていきたい。
このトークではどのように考えてカイゼンのための行動をとっているのか?をお伝えしたいと思っています。
様々な職種の学生インターンが常時100人程度働く組織において、
エンジニアインターンが急増した中で、新卒3年目のエンジニアが学生インターンと向き合い、どのように格闘したかをお話します。
★今回お話する内容
・ そもそもなぜ学生インターンと働くのか
・ チャレンジしたこと
・ うまくいったこと / いかなかったこと
・ 今後の野望
誰もが最初は未経験のエンジニアです。
学生時代からエンジニアとしてのキャリアの1歩目を踏み出すインターン生の成長の裏側を見てみませんか?
【注意】 このプロポーザルが採択されることでタイトルのお話ができます!
これまで技術系のイベントでは、
登壇に憧れながらも、参加者としてずっとみなさんの登壇を見に来るだけでした。
しかし、とあるきっかけから登壇するハードルが1つずつ下がっていきました。
その過程をみなさんにご紹介します!
Laravelには便利な機能がたくさんあり、Eloquent、Facede、サービスコンテナ、認証、ミドルウェア、Blade、artisanコマンドなどの機能を活用することで、スピード感のある開発ができることは間違いありません。
ただ、それらに依存しすぎることによる弊害も少なくないでしょう。ビジネスの変化への対応による作り直し、各機能のバージョンアップの際に思わぬ量のコード修正になってしまうことがあります。
そんなことを想定し、Laravelのコードからドメインのコードが独立するよう、主にInterfaceを利用してドメインロジック(=わたしたちのコード)を切り出すことを心がけています。
まずLaravelで素早く開発するための例を紹介し、どのようにしてLaravelのコードとドメインのコードの距離を保っているか、どんなメリットがあるのかを事例を交えて紹介させていただきます!
みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
よくサーバレスなマネージドコンテナサービスでWEBアプリを実行しますが、定期実行するジョブもマネージドなサーバレス環境で実行したくありませんか?
そんなあなたのために、3大クラウドそれぞれで定期ジョブ実行するためのポイントやそれぞれのサービスの比較を行い、実際にPHPを動かす際のポイントなどをお話します!
対象
・Dockerなどコンテナについてなんとなく聞いたことがあり、ちょっと動かしてみたい人
・サーバレスでコンテナを使った定期ジョブをしたい方
・サーバレスという言葉に惹かれる人
お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)
・実際にトライしてみての気づき
「Nginxってどんなものなんだろう?」「Webサーバーってどうやって動くんだろう?」―こんな疑問を持つあなたに捧げる、Nginx入門者向けのLTセッションです。
このLTでは、Nginxの基本的な概念から始め、基本的な設定の読み方について紹介します。
対象者
話すこと
令和では受託開発はオワコンで内製化の時代?駆け出しエンジニアに人気なのは受託開発より自社サービス開発?
世間では「自社サービスのエンジニアになりたい!」という声が大きく聞こえるようになりました。
私は受託開発フリーランスから自社サービス開発の社員エンジニアになり、エンジニア人生の中で自社サービス開発に携わっている期間の方が長くなりました。
キラキラした仕事のイメージで語られがちな自社サービス開発ですが、日々どんな仕事をしているかは意外と知られていないようです。
自社サービス開発のエンジニアとしてどんな仕事をしてきたか、見てきたかについて話します。
コードやチームの健全性や品質向上について、「データを取って可視化する」のは便利です。
それを見て安心したり、進化を喜んだり、
「問題が起きているかも知れない、考えてみよーぜ」と気付くキッカケになったりします。
そのために、見るべき(見てほしい)人が簡単にアクセス出来ることが重要です。
「データ取得ロジックを自由に扱える」
「定期的に更新する」
「アクセス制限をする」
「簡単に開ける」
要件を考えていくと、地味に面等だったりしませんか?
そんな時、GitHub Actions + GitHub Pages + SQLiteが便利です!!
定期実行はもちろん、
任意の言語でのロジックの実装も、
GitHub Pagesなら組織限定公開も、
SQLiteをコミットすればデータ管理も容易です。
実現方法(とっても簡単!)の紹介に、
どんなものを収集していくと便利そうかな?を加えてLTします!