リモートワークが日常となった現代、テキストコミュニケーションの重要性に気づいている人はどれほどいるでしょうか?
リモートネイティブとして、新卒から3年間の社会人経験を通じて、私が学んだテキストコミュニケーションの重要性をLTでお伝えします!!
「先輩にどう質問する?」「ビジネス側のやり取りはどう進める?」などシーンに応じて、伝わりにくい文章の例をどう改善するか解説します!
そして、絵文字「👍」や感嘆符「!」の使い方など、細かな表現まで、日々のテキストコミュニケーションで意識しているポイントを余すことなくお話しします!!
スロークエリちゃんと改善してますか?
日頃パフォーマンスを考えて開発はしていても、実際のデータや経年でのデータ増加によって気づけば増えてるスロークエリ。
増えすぎると慢性的になりどのスロークエリから改善すればいいのか、そもそもこのクエリはどの機能、画面から使われてるのか把握することも困難になってしまいます。
これに対してGrafanaを使いスロークエリを可視化し、定期的にチームで確認しスロークエリ改善をしていった活動とその際のテクニックについてお話します。
アプリケーションのパフォーマンス改善目的で、データベースのカラムにインデックスを作成することはよくあるでしょう。
でも、インデックスにはいくつかの種類があることをご存知でしたか?
本トークでは MySQL の公式リファレンスをベースに、インデックスの種類とその使い方をおさらいしていきます。
知っているインデックスの種類が増えると、データベースのパフォーマンスをより引き出せるようになる、かもしれません。
Web アプリケーションフレームワークを使ったプロジェクトを新規作成し、自動生成されるファイル郡の中にある config というファイルまたはディレクトリ。
いったいこいつは何なのか?
どうやら項目を自分でも追加できるようだが、一体何を追加してよくて、何を追加すべきでないのか。
本トークはそんな疑問にお答えします。
入社して2年経った際に初めてのPLを任されました。
それまではプロジェクトの開発のみだったり、プロジェクトに満たない作業だったりのみしか経験していなかったのですが、
初めてプロジェクトのPLをやることになりました。
自分での振り返りも含めて、その際の失敗談や学びを共有したいと思います。
PHPerの皆さんなら、不意にLaravel触りたいな〜と思うことありますよね。
そんな時、どのような方法で環境構築を行いますか?
上記どの方法でも、環境構築をすることは可能ですが、結構時間かかるはずです。
このトークでは、以下の制約を基に"5分"でLaravelを使ったWebアプリケーションを作成してみます。
制約
「Laravel開発を始めるのって簡単だな!」と思ってもらえるように頑張ります。
ISUCON(イスコン)?Iikanjini Speed Up Contest(いい感じにスピードアップ コンテスト)?なんだか難しそう……!!私はよく分からないし、分かるようになったら出ようかな?
そんなことを考えていましたが、ISUCON夏祭りというイベントに参加した勢いで、2023年11月開催のISUCON13に初参加することを決めました。
ISUCONの練習って何やるの?どうやるの?当日はどうだった?てか、PHPでもできるの?という、ISUCONについてよく知らなかった1年前のワタシに向けた、ISUCON初心者への解説LTです!
もしかして、ISUCON次回は参加してみたいかも……!!という勇気の後押しが出来たら嬉しいです!
Composerを使うには、 require
・ install
・ update
の3つのコマンドを理解していれば大丈夫です!
Composerをもっと便利に使うには、役立つであろうコマンドがまだまだあります!
https://getcomposer.org/doc/03-cli.md が、標準コマンドの一覧です。
remove
・self-update
・dump-autoload
search
辺りは、初見でも名前から予測がつくでしょうか。
私は、 show
(info
)・why
(depends
) why-not
(prohibits
)などは日常的に利用しています。
browse
も便利ですし、 outdated
なんかも有り難いです。
このLTで、色々なコマンドを知ってもらいます。
そして豊かなPHPライフを手に入れましょう!
みなさんはシステム障害が起きた時、どのように調査を行いますか?
根拠となるデータを元に仮説を立てて検証するというのがセオリーですが、時に必要なデータが無くて行き詰まったり、経験則や自身の勘に頼ってしまいがち、という事もあると思います。
OpenTelemetry はシステムの状態を可視化するためのデータ(テレメトリーデータ)を収集するためのツールとして登場し、オブザーバビリティを高めることがやりやすくなっています。そして、OpenTelemetry PHPが最近GAされたことでPHPアプリケーションにもこの波がやってきました。
本セッションではオブザーバビリティ入門したい方向けに、以下のことをお話しします。
速いは正義、アプリケーションは速くあるべきです。
ではどうすれば良いのか
細かい理論などは気にしない、こうしたら早くなった
結果を貼り付けながら、何をしたのかひたすら話しますが、細かいことは話しません
OS、Webサーバー、PHP、RDBMS等の見直すべき要素に関して、情報を詰め込むだけ詰め込むことに挑戦します。
※注釈は付けますので細かな理論はそちらでご確認ください
想定する聴講者
お話しないこと
2024年のPHPのカンファレンスがなんと前半6ヶ月毎月カンファレンスがあります。
2023年11月現在、もっと増えるかもしれませんよね…!
そんなに毎月カンファレンスがあるのなら、もう喋るしかない!ということで、会社の人も誘ってプロポーザルを書いてるという方もいるのではないでしょうか。ぼくもそのひとりです。
流石に本番の2024年2月になってしまうとプロポーザルを投稿できるカンファレンスは減ってしまうかもしれませんが、
コミュニティに顔を出し、沢山の人の前でトークをして、ご挨拶をして、名前を覚えてもらいましょう!
本トークは、コミュニティに顔を出して、名前を覚えてもらうことのメリットを精一杯喋ります。
開発をしているときにコメントがあると助かりますよね。
「なるほど、ここはそういう処理をしてるのか!」と、コードの中身を詳しく読まなくとも実装を進めることができます。
しかし、時としてコメントは嘘をつき、あなたを陥れます。
特に古いシステムではこれまでに蓄積され、忘れられ、熟成されたコメントが至るところに散りばめられています。
私が普段開発をしているメール共有サービス メールディーラーはリリースから20年以上が経つサービスであり、熟成されたコメントが多数存在します。
本LTでは私が実際に遭遇したレガシーコードに潜む奇妙なコメントをご紹介し、コメントを信じることが如何に危険なことであるかを知っていただきます。
コメントを信じるか信じないかはあなた次第です!
Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)
Symfony Profilerが超便利なので、個人的推しポイントを共有します!
業務でPHPを使ったバッチを設計することあり、先輩エンジニアから様々なQA指摘を受け、学んだバッチ作成時に考慮する自分的Tipsを紹介したいと思います。
具体的にはエラーハンドリング処理、テスタビリティを意識したメソッド分割、ロギング処理、トランザクション分割、などをPHPのコード例を用いて解説します。
対象は若手エンジニア向けとなっています。自分も3年目のエンジニアでバッチ作成で苦労したためそういった方の助けになればと思っています。
どうも、要件ヒアリングに自信ニキです。
私はフリーランスエンジニアとして受託開発のお仕事をよく頂くのですが、お客さんとの対話・ヒアリングを割と得意としています。
お客さんはシステム開発のプロではないので、説明が的を射ないことも多く、複雑なシステム要件のヒアリングには根気と体力を要しますよね。
そればかりか、なかなか合意や結論に辿り着けずいたずらに時間が奪われた挙句、結局失注して悲しみ、といった経験はないでしょうか。
私はよくお客さんから「1しか言ってないのに100のアウトプット出てくるんやが」「話が早すぎてもはや笑える」などと言われます。
一体私はお客さんとの対話中に何を考え、どんな手順でヒアリングを進めているのでしょうか。
このLTでは、お客さんとの対話中の私の頭の中身をまるっと皆さんにシェアします。
明日からのお客さんとの対話・ヒアリングに少しでも役立てていただけると嬉しいです!
Macユーザーの皆さんにはお馴染みのHomebrew。
Macの初期設定時のみならず、日々新たに便利なコマンドを見つけてはbrew installしていることと思います。
そんなお馴染みのHomebrewですが、裏側はどんな仕組みになっていて、コマンド自体はどこからダウンロードされているのかはご存知でしょうか?
実はこれ、とても簡単な仕組みになっていて、誰でも自分のGitHubリポジトリを通して自作のコマンドをHomebrewで配布することができます。
このLTでは、実際にPHPでCLIツールを作ってHomebrewで公開するまでの流れをお話しします。
自作のコマンドをHomebrewで公開して、世界に羽ばたきましょう!
Macで複数バージョンのPHPを使い分けるのって意外と難しくないですか?
Docker経由でしかPHPを使わないみたいな猛者スタイルで行ければいいのかもしれませんが、
パフォーマンスや開発体験の問題からローカルのPHPを使いたい事情もあると思います。
phpenvと.php-versionファイルを併用すればディレクトリごとに使用するPHPバージョンを指定することもできますが、
このソリューションはいざ導入しようとするとYak Shavingの嵐が待っていて(実体験)非常に面倒だったりします。
というわけで、このLTでは私がMacのローカル環境で複数バージョンのPHPを楽に使い分けるために実際にやっていることを5分でサクッとお伝えします。
実際に運用していてまったくストレスを感じていない方法なので、ちょっとでも困っている人には明日からすぐにお役立ていただける内容だと思います!
私が最初に出会ったプログラミング言語は大学の授業で勉強したC言語でした。授業や試験で問題を解くためにC言語を勉強していました。
ですが、授業外でHTMLやCSS, JavaScriptでWEBサイトを制作し、そこでPHPに出会いプログラミングが好きになりました。ここで初めて「プログラミング = 授業で勉強するもの」の考え方がなくなりました。プログラミングでWEBアプリケーションを作成し、エラーに苦しんで、実際に動かす体験は嬉しさと楽しさでワクワクしていました。
最初はノンフレームワークのペライチのコードを書き、次はフレームワークで開発、一周回ってノンフレームワークで開発しました。
本セッションでは、PHPで「作ることが楽しい」体験から「コードが書ける、読める楽しさ」に変化していった経験についてお話しします。
SI業界で小規模から大規模開発まで一通り経験し、管理職もこなしてきて、経験値だけは十分に積んだと思っていた私が、SaaS業界ではその経験値を生かすことができたのでしょうか。
SaaS会社でテックリードとして転生した私が、開発視点からマネージメント視点等いろいろな気づきをお話します。
・開発フローやシステム開発の考え方は同じなようで何が違う?
・プロジェクトマネジメントではなくてプロダクトマネジメント
・SI業界の経験値は結局生かすことができたのか?
業務でサポートの切れた全文検索エンジンSolrが使われていた社内ツールをElasticsearchにリプレースしました。
また、Solrへのインデックス追加は5分おきにバッチで行っていましたがその処理が2か月終わらない問題もありました。
このLTでは既存ツールで使われているライブラリをリプレースするときに考えるべきこと、どのようにバッチ処理を早くしたかを紹介したいと思います。