人間は意思薄弱なので「○○より××の方が早いよ」という情報があれば、つい飛び付いてしまいがちです。
SDGsの重要性が認識されつつある現代、同じ機能のプログラムなら低炭素で動いた方がいいに違いありません。
しかし、いついかなるときにでも「速い」コードを目指すことに意味はあるのでしょうか。
このトークでは、あなたのコードをプログラムを光輝かせ続けるために重要な価値観についてお話しいたします。
「PHPでもデータ分析しないと出られない部屋」を題材にして、5分で普段PHPerな方々でもデータ分析の概観が分かるように、PHP縛りをしながら脱出を試みてみます
背景設定:あなたは「PHPでもデータ分析しないと出られない部屋」に閉じ込められてしまいました。
そこにはPHPが使えるPC、とある小売店のデータ、遺言が残されていました。部屋から脱出するためには4桁のパスワードを入力する必要があるようです。
残された時間は10分しかありません。あなたはたった10分間で何をしますか?
問題1:売上高が最大である店舗IDを教えてください
問題2:売上が大きく変動する店舗IDを教えて下さい
問題3:2012年第3四半期において、四半期ごとの成長率が高いのはどの店舗IDか教えて下さい
問題4:全店舗を合わせた非ホリデーシーズンの平均売上高よりも高い売上高を持つホリデーシーズンを見つけてください
本セッションでは、OpenAPIの定義ファイルを運用する際に静的解析やフォーマッターを導入する方法やメリットについてお話しします。
OpenAPI仕様は、RESTful APIの設計と記述に広く使用されており、APIの構造を明確にし、開発者間のコミュニケーションを改善します。しかし、スキーマ定義が複雑になると、エラーの発見や保守が困難になることがあります。これに対処するためには、静的解析ツールとフォーマッターを導入することで、コード品質を向上させ、一貫性を保つことができます。
本セッションでは、OpenAPIスキーマ定義に対して静的解析ツールとフォーマッターを導入し、以下の目標を達成する方法をお伝えします。
本LTでは、「PHPでもデータ分析しないと出られない部屋」を題材にして、5分で普段PHPerな方々でもデータ分析の概観が分かるように、PHP縛りをしながら脱出を試みてみます
背景設定:あなたは「PHPでもデータ分析しないと出られない部屋」に閉じ込められてしまいました。
そこにはPHPが使えるPC、とある小売店のデータ、遺言が残されていました。部屋から脱出するためには4桁のパスワードを入力する必要があるようです。
残された時間は5分しかありません。あなたはたった5分間で何をしますか?
問題1:売上高が最大である店舗IDを教えてください
問題2:売上が大きく変動する店舗IDを教えて下さい
問題3:2012年第3四半期において、四半期ごとの成長率が高いのはどの店舗IDか教えて下さい
問題4:全店舗を合わせた非ホリデーシーズンの平均売上高よりも高い売上高を持つホリデーシーズンを見つけてください
君はいくつMySQLのトラップを見抜けるか?
パフォーマンスチューニングコンテスト ISUCONの過去問を元に、MySQLのトラップ的なクイズを出題します。
Composerは素敵なので、PSR-4ベースのオートローディングを提供してくれます。
否!PSR-4だけじゃなく…PSR-0、class mapベースだって出来ちゃいます。
でも、ComposerやPSR/PHP-FIGが生まれる前の時代から、 spl_autoload_register()は存在していた訳です。
「昔あったオートローダー」たちを見に行ってみましょう!
今や当たり前の「ComposerとPSR-4」以外の世界に触れることで、
日常を支える「How」についての解像度が上がるかも知れません。
プロダクト開発は楽しいですよね。楽しいです。チームメンバーと切磋琢磨しながら、品質やスピードを向上させていくことは非常にやりがいがあります。
しかし、他部署や非エンジニアと関わる場合、そのプロセスは容易ではありません。異なるバックグラウンドを持つメンバーとの協力は中々噛み合わず議論が平行線になるこも少なくないと思います。また、人対人でうまく目線があっても、部署や組織としてうまく合意形成がなされず、部署内で目線がずれることも珍しくはありません。
さらに、エンジニアだけ頑張ってもうまくいきません。開発したソフトウェアを利用し、現状を変える、売上を上げるのは現場の人たちなのです。反対に非エンジニアだけが頑張っても、やはりうまくはいきません。
本セッションでは、そんな現場でスピード感を持ったプロダクトを作るために必要なコミュニケーション方法について、具体的な事例を交えてお話します。
プログラミング初めたての頃、杜撰なコードばかり書いてきた経験から
「きれいなコードを書く手段」として設計に興味を持ち始めました。
しかし、経験を積んでいくにつれ
設計とは法則や手段・方法などというよりは、
むしろ言葉のやり取りに近いものではないかと考えるようになりました。
設計とは、チームメンバーやクライアントとの言葉のやり取りを通じて共通の理解を築き上げるプロセスであり、この日本語力が設計の成功に直結するのです。
本LTでは、コンテキストやコントラクトの重要性と、それがどのように設計力と結びつくかについて具体的な経験則ベースでお話します!
Git操作でまだマージしたくないブランチに誤ってマージしてしまったデベロッパーは、
世の中には少なからずいらっしゃると思います。
ええ、わたしもそのうちの一人です。
慌てて傷口を広げることもあると思います。
そうならないよう、
やらかしたあと適切に対応するための知っておきたい取り消し系コマンドの紹介、
わたしなりのマインドセットをお話させていただければと思います。
ChatGPTやClaudeなど、チャットAIが普及してきています。
驚くほど人間的な応対で世間を賑わせたチャットAIですが、2024年現在に思い通りの回答させるにはテクニックが必要です。
ChatGPTやClaudeなど、チャットAIが普及してきています。
驚くほど人間的な応対で世間を賑わせたチャットAIですが、2024年現在に思い通りの回答させるにはテクニックが必要です。
PHPアプリケーションのパフォーマンスを最大限に引き出すためには、プロファイラの活用が不可欠です
本トークではXdebugを中心にプロファイリングの手法について解説を行い、実践的なチューニング手法へと導きます
具体例を示しながら、プロファイラを用いたボトルネックの可視化による特定方法や、パフォーマンスデータの解析技術、最適化のポイントについて詳細に解説します
またボトルネックに関連してくるDBのクエリプロファイリングを用いたデータベースの最適化方法も取り上げ、
PHPとDB双方のパフォーマンス向上を目指します
プロファイリングを通じて得られる洞察を基に、実行計画の策定と具体的なチューニング手法を学び、
PHPアプリケーションのパフォーマンスを向上させましょう
PHPアプリケーションのパフォーマンスを最大限に引き出すためには、プロファイラの活用が不可欠です
本トークではXdebugを中心にPHPプロファイリングの手法を解説し、即効性のあるチューニングテクニックを紹介します
具体的には、プロファイラを用いたボトルネックの特定方法や、パフォーマンスデータの解析技術、最適化のポイントについて
実際プロファイリングの様子も示しながら解説します
そのプロファイリング結果を利用した、アプリケーションのレスポンス時間を短縮し、全体のパフォーマンスを改善する様子もお見せします
プロファイリングの基礎を学び、パフォーマンスチューニングの第一歩を踏み出し、アプリケーションにパフォーマンスという付加価値を付与しましょう
最近サーバーレスPHP流行ってますよね?
私は全国でサーバーレスPHPの利用がもっと広がって欲しいと思って活動をしています
広がって欲しいなら方法を示すべきです
それでは「5分で」サーバーレスPHPをデプロイするデモをしてみましょう
5分でデプロイ出来るなら、みなさん試してくれますよね?
このデプロイのデモを動画ではなくみなさんの眼の前でデプロイすることで、
「本当に5分で出来るならやってみるけど...」 -> 「サーバーレスPHPすごい!簡単!やっていくぞ!」
と感じてもらうのが目的です
スライドは「タイトル」と「自己紹介」と「デモ」と書かれたセクションだけです
その後、すぐデモに入ります
私自身のデモの練度を上げることで、制限時間の中で出来る事を増やして、
みなさまの手を動かすきっかけになれれば幸いです
※AWSアカウントの作成が済んだ状態で始める事は許容してください
何かソフトウェアやツールについて何となくは理解してるけど、もっと詳しくなりたい時、その対象そのものを実装してみながら学ぶことで、より内部の仕組みを理解できる場合があります。
たとえば、gitの各コマンドが内部でどう動作するのかは、OSSのソースコードに記述されていますが、コードが膨大で難解です。
そこで、"build your own x"というものをご存知でしょうか?
これは、特定のアプリケーションなどを自分で一から作成する取り組みを指し、その目的はまさに自身の理解のためです。
すでに様々なアプリケーションが様々な言語で実装および公開されており、
その簡易的な実装は読みやすく、もしかしたらあなたが読める言語で実装されているかも知れません。
「コードを読んでみる」、「写経してみる」だけでも、得られるものは大きいと思うので、ぜひこの"build your own x"に触れてみませんか?
あまりお金はかけられないけど、サービスのオブザーバビリティを高めたい……!
開発環境で使用して、サービスの検証(ボトルネックがないか)をしたい……!
そんな方におすすめしたいのが、OpenTelemetryです。
OpenTelemetryを使ってPHPアプリケーションのオブザーバビリティを高め、問題がないことを確認してサービスを提供していきましょう!
プログラムの信頼性と保守性を向上させるために例外処理は重要です。
しかしどのような例外が存在し、何をcatchすべきかについては様々な考え方があります。
本セッションでは、PHPにおける例外処理の基本を体系的にご紹介します。
例外の全体像から始まり、主要な例外クラスの説明、そして具体的な例外処理の方法までを網羅してお話しします。
運用時にslack通知しているシステムは多々あると思います。
しかし、slack通知が多すぎて本当に必要なものが流れてしまったり、@channelだらけでミュートしたくてもできないチャンネルになったりしていませんか?また、実は通知があったのに誰も対応できなかった、なんて経験はありませんか?
そんな運用の苦労を少しでも減らす方法を、実際に運用してみて直面したケースを例にお話ししたいと思います。
■話す事
・slack通知NGパターン
・slack通知を誰が見るか
・slack以外の手段
■話さない事
・slack通知の設定方法
障害対応において
一つ上の視点に立ってみると、それらを統括する「インシデントコマンダー」という役割があります。
この「インシデントコマンダー」とはどんなことをしている人なのか、どんなことを考えているのか。
そんなお話をしていこうとおもいます。
このセッションでは、PHPカンファレンスに来るようなエンジニアがWordPressを苦手とする理由を探り、WordPressについて検討します。以下のポイントを中心に解説します。
•曖昧な型とテーマ実装のメンテナンス性: WordPressのテーマやプラグインがしばしば直感的でないコードや曖昧な型を使用について取り上げます
•セキュリティの懸念: WordPressは広く使用されているため、攻撃の対象になりやすいことからセキュリティの問題が多発しています。具体的な脆弱性やセキュリティ対策について説明します。
•パフォーマンスの問題: デフォルト設定や一部のプラグインがサイトのパフォーマンスに悪影響を及ぼすことがあるため、これを改善するためのベストプラクティスを紹介します。
•デプロイ環境:デプロイ環境が避けないことが多いという背景と良いデプロイ環境があるか?について紹介します