私は普段AWSの構築など、クラウドを中心としたAWS技術支援を行っています。仮想サーバーを立てたり、データベースやロードバランサーなどのリソースをAWSクラウド上に構築しています。
しかし普段からクラウドインフラを扱っていると、サーバーに乗せるアプリケーションへの関心がどうしても薄くなってしまいます。
そこで本LTでは、AWSによるクラウドインフラからPHPアプリケーション(WordPress)まで、上から下までぜ~んぶ構築・開発してみたいと思います。
私は大学時代にJavaScriptやTypeScriptでWeb開発に従事していましたが、PHPもぺちこんも初心者になります(>_<)
ですので、PHPやWordPressをどれだけキャッチアップできるかなど、AWSエンジニア兼PHPビギナーとして、技術的に突っ込んでいきたいと思います!
PHPプロによるツッコミもお待ちしています!
このセッションでは、PHPとDockerで様々な言語をブラウザのフォームから実行できるアプリを作ったので、アプリの仕組みや特徴をお話しします。
プログラミング学習サイトではブラウザにコードを入力すると実行結果が分かるようなサービスを提供しています。以前、このようなWEBサイトをPythonとDocker(Docker outside of Docker)を用いて自作しました。
こちらの解説は月刊I/O 3月号4月号に掲載されています。
今回は、Pythonで作成した上記のアプリのPHPバージョンを作成しました。
本セッションでは、上記のPHPのコードを解説し、デモもします。
対象
Webアプリケーションは繁盛するとどんどん機能が追加されていきます。Laravelを代表とするWebアプリケーションフレームワーク(WAF)は、機能が少ない間は開発スピードも早く、比較的理解も用意なプログラムが書けますが、年を重ねるごとに複雑化していきます。
このように肥大化したウェブアプリケーションのことを巨大泥団子(Big Ball of Mud)と呼びます。運用・保守性が下がってしまったレガシーでモノリシックなWebアプリケーションはどのように改善すればよいのでしょうか?
本トークで話す内容
日本でも大人気のウェブアプリケーションフレームワーク「Laravel」 ある程度のデータ量までは、割と速い速度で動いてくれる Laravel をあの手この手で低速化させてみようという試みです。
PHPカンファレンス2022で一度低速化については発表しましたが、今回はさらに、あの手この手で遅くしてみようという試みです。
このトークでお話すること
約1年前に主だったメンバーの退職を機に組織体制が大きく変更されました。
様々な組織イベントの移り変わりがあるなか、私達のチームは社内LT会という文化の重要性を理解し、この文化を残し発展させることを選びました。
旗振り役がいなくなった後、この社内LTの文化をどの用に引き継ぎ継続していったのかを話します。
話す内容
非同期処理やマイクロサービス間の通信などで利用頻度が増え続けているQueuingシステムを、PHPとAmazonSQSでの実装を用いて解説します。
Queueの基本であるFIFOの考え方から、それをコンピューティングに応用する方法、AmazonSQSの設定でQueuingシステムを制御する方法までが本発表の対象となります。
扱うトピック
・Queueの基本とFIFO
・Queueって何が嬉しいの?どう利用されてるの?
・Queuingシステムに欠かせない「ポーリング」について
・Dockerでマイクロサービスをローカルに再現し、通信をSQSで管理するデモを動かす
SQS操作を通じてQueuingシステムについての理解に集中していただく為に、LaravelデフォルトのJobクラスなどのフレークワーク依存ではなく、PHPのみでサンプルを記述して解説を行います。
以前「心理的安全性の育て方」という記事を書きました。
https://tech.innovator.jp.net/entry/how-to-promote-psychological-safety
一読して、「わかる」と思われた方も「そうは言っても」と思われた方もいるのではないでしょうか。
このトークでは、中原淳さんの書籍『「対話と決断」で成果を生む 話し合いの作法』をベースに、
チームのメンバーの相互理解を深めるための「対話」と「決断」をどう進めていくべきか、私自身の体験も交えながらお話しします。
実は私たちは、正しい「話し合い」のやり方を習ったことがないかもしれません。
でも大丈夫、今からだって学んでうまくなれるようにしていけばよいのです。
「プレゼンの極意を伝授してやる」というお話ではありません。
ただ「傍目八目」とはよく言ったもので、PHP カンファレンスをはじめとする技術系のイベントに参加してトークを拝聴していると「このあたりを意識すれば、もっと素敵な発表になるのではないか」と思うことがよくあります。
時間をかけて念入りに支度し、伝えたいことをたくさんの人に聞いてもらうせっかくの機会ですから、話し手にとっても聴き手にとってもより有意義なものにしたいと思いませんか。
準備と本番において頭の片隅に置いておくとより魅力的なセッションにつながるかもしれない8つのことがらを厳選してお伝えします。
皆さんはPHPサーバーのセットアップをどのように行っていますか?
手動で行う方法、構築済みサーバーを利用する方法、コンテナ技術を用いる方法など、様々な方法があると思います。
しかし、これらの方法は時間がかかったり、手順が複雑であったり、構成変更の柔軟性に欠けたりすることがあります。
今回紹介するのは、Ansibleという強力な構成管理ツールを用いた、PHPサーバーの構築・デプロイメントの自動化です。
AnsibleはSSH接続によってエージェントレスで動作し、軽量で学習コストも低いため、PHPサーバーの環境構築に最適なツールです。
このセッションでは、PHPエンジニア向けに、柔軟な構成で効率的にPHPサーバーを自動構築する手法についてお伝えします。
主な対象
PHPサーバーの環境構築に興味のある方
インフラ・DevOpsに興味のある方
みなさんはFormRequestのルール部分のUnitテストを書いていますか?
dataProviderに全てのケースを洗い出し、それを使っているのをよく見ますが、
なんか違うんだよな〜と思ったことはないでしょうか?
このトークでは、FormRequestのテストをより快適に書くやり方について、
実際のコード例と共に説明いたします。
話す内容
「プログラマが知るべき97のこと」「ソフトウェアアーキテクトが知るべき97のこと」「スクラム実践者が知るべき97のこと」など、「97」というマジックナンバーを使った名著が10年代初頭から20年代にかけて出版されてきました。
2011年頃に当時の「IT勉強会」によく参加していたエンジニアたちが ぼっちが懇親会でするべき97のこと という大喜利を当時のTwitterで繰り広げ、 まとめが今でも残っています https://togetter.com/li/140804
それから10数年、令和の時代になって、エンジニアたちも取り巻く環境も大きく変わりましたが、まだまだコミュニケーションの不安感は人々の間にあり続けています。
その大喜利の一員として、また参加者・登壇者・開催者・企業側スポンサー担当者・技術広報など様々なロールを体当たりで担ってきたものとしての、カンファレンス参加戦略をお話します。
皆さんは普段一緒に働いているチームにおいて、しばしば品質の基準がズレていると感じたことはありませんか?それがズレていると後に多大なる影響が及びます。
チームにおける「品質」が何を指していて、どのレベルになることを期待しているのかを明確にすることで、チームが同じゴールを目指しやすくなり、製品の提供スピードや品質が改善されたり、チームでの相互理解や尊敬を作るきっかけにもなります。
今回は品質を起点とした期待値のすり合わせについて、チーム全員が期待する品質を把握するメリットを事例を交えて紹介したいです。
内容
・ チームのみんなで品質やテストに関する資料を読む
・ 開発チームみんなで品質の基準をすり合わせる
・ エンジニアと一緒にテストを作る
One Line Programmingを始めましょう!
プログラムの実行というと, 作成したファイルコンパイルしたり, インタープリタで読み込ませることを想像される方が多いと思います. しかし, PHPをはじめ, 多くのプログラミング言語ではシェルに直接コードを書き込んで実行する方法
があります. 例えばPHPはphp -r
を使うことで直接コードを渡すことができます.
一行では何もできない!と思われる方もいらっしゃるかと想像しますが, Shellのpipe機能などを使うことで実用的なアプリケーションを作ることも可能です.
https://zenn.dev/shundeveloper/articles/e113c189e3cc97
本セッションは「一行でプログラムを書く」ことに焦点を当てた発表です. 紹介するコードはどれも一行ですので初心者から上級者まで楽しめます!
PHPはインタプリタ型言語で、実行ごとにパースとコンパイルが必要です。
OPcacheは一度コンパイルされたコードの最適化されたバージョンをキャッシュする拡張機能です。これによりPHPの実行が効率化されます。
PHP8よりOPcacheにはサブセットとしてJITコンパイラが導入され、より高速にPHPコードが実行できるようになりました。
本トークではOPcacheの概要から、チューニングの要点、監視や運用について解説します。
また、25k req/s程度を捌く大規模なPHP Webサービス環境におけるOPcacheチューニングの影響や、
特にJIT導入時のレスポンスタイムやCPU系メトリクス等についての変化を共有します。
PHPで作られたツールをいろんな環境でサクッと動かしたいと思ったことはありませんか?
Docker上で動かすことも出来なくもないけれど、色々制約もあるし、どうにかしてシングルバイナリで動かせないかな?ということでアレコレ試してみたことをトークしたいと思います。
SaaSでは複数顧客のデータを同じApp、データベースサーバーで扱う設計(マルチテナント)をよく用います。
リソースの運用効率がよく管理も楽ですが、他顧客のデータにアクセス出来てしまうリスクを抱えています。
これでは攻撃が怖くて夜しか眠れない…情報流出のニュースを見るたび不安で寿司しか喉を通らない…恐怖を和らげるために毎日飲みに行ってしまう…
安心して遠くのカンファレンスに行くこともできません。
この対策として、顧客別にデータベース スキーマ(MySQLでの"データベース")を分け、DBユーザも分離する方法を紹介します。
DBユーザ権限の制限により、ロジックミスがあっても、仮にSQLインジェクションが通っても、絶対に他顧客データにはアクセスできない設計です。
またCakePHPのORMでこの運用を自動化し、ロジック側で意識せず運用する方法も紹介します。
単位時間あたりの充実度,高めたいですよね.
これだけ情報過多の世界になって,いいブログやいいスライドもたくさん出てきました.
「いいブログやいいスライド以外を掴んだら時間が無駄」
「センスのある人の発信を追いかけるだけで十分」
そうお思いの方はいらっしゃいませんか?
あるいは,
「チームメンバーにも自主的に情報収集してほしいけど,なかなか行動を起こしてもらえない」
と,嘆かれている方はいらっしゃいませんか?
これらの思い込み,悩みに,永遠の別れを告げましょう.
私が取り組むインプット活動である「ブログを読む会」を紹介します.
inspired by https://iidasaketen.thebase.in/items/8376621
参考情報 : https://note.com/tomio2480/n/nf909bb77b4b7
1年前の私は、チーム開発や複雑なシステムの開発経験がほとんどありませんでした。
しかし、試行錯誤しながら色々な「道具」を身につけていき、中途入社1年足らずで複雑な業務システムのリファクタリングのリーダーを任されるまでになりました。
私が開発で使っている「道具」は最新のパッケージばかりではなく、ごく普通のアナログなものも数多くあります。
このトークでは以下を実現するために、私が普段使っている七つ道具を紹介します。
・思考の整理にはこれ -> 〇と〇〇
・見落としをなくせ -> 〇〇〇〇〇〇〇
・複雑なパターンを攻略 -> 〇〇〇〇〇〇〇〇〇〇
・「わかっている」が落とし穴 -> PHP〇〇〇〇〇
・論より証拠を提示せよ -> PHP〇〇〇〇〇〇〇〇
・縦横無尽に検索 -> 〇〇〇〇
・退屈なことは… -> 〇〇〇〇
対象者
仕事でコードを書き始めて1~3年くらいのエンジニア
WEB開発において、コンテンツ管理機能の追加は一般的な要件です。
ブログ機能の追加を例に挙げてみましょう。
従来の開発プロセスでは、データベース設計、投稿機能、画像アップロード機能などの実装に多大な手間とコストが必要になります。
このプロセスは開発者にとって負担が大きく、プロジェクトの進行を遅らせる原因にもなります。
本トークではLaravelとヘッドレスCMSのmicroCMSを組み合わせることで、この問題を効率的に解決する方法をご紹介します。
LaravelアプリケーションとmicroCMSの連携方法、APIを活用したコンテンツの取得や表示の方法をコードスニペットを交えて解説します。
本トークの内容を実践すれば、開発の自由度を高めつつコンテンツ管理の手間を減らすことができます。
あなたはより効率的に、そして柔軟にプロジェクトを進められるでしょう。
私はこれまで幅広いキャリアを歩んできました。経歴としてはSES企業/Web系自社開発の上場企業/フリーランスエンジニア/起業/Web系受託開発企業/スタートアップ企業/プログラミングスクール講師/地方移住などです。
その中で得られた経験などを元にエンジニアとしてどのような選択肢があるのか?というお話をできればと思っています。
1.何故キャリアのゴールを決めた方が良いのか?
日々の仕事の納得感が変わる
人的資産、社会的資産、知的資産の計画を立てるとゴールが見えてくる。
2.日本と世界におけるエンジニア市場の違い
3.これまでの自分のキャリア
4.他のエンジニアのキャリアモデルケース
5.どうやったら、ユニークな人材になれるのか?
6.自分に合ったキャリアの最適解を決める方法
7.実際、エンジニア出身経営者としてキャリアを歩んでみてどうだったか?