ピープルマネジメントは「感情労働」と言われたりもしますが、その要因の1つは「色々な他人と真剣に個人対個人で向き合わなければいけないこと」だと思います。
共感し寄り添う必要がありつつ、「一緒に怒る」「一緒に焦る」という風にグラグラしていては身が持たない…という面もあります。
真面目に話を聞く!しかし適度に自身を安定させる!
その両立は、どのように可能となるのでしょうか?
リーダーシップ論を学んだり、コーチングのトレーニングを受けた事は、「自分の感情を保護する」のにも役立っていると感じます。
それらも踏まえ、自分自身がマネジメントに携わり2年ほどで、学んだ知識や実践の中で磨いてきたものを共有します。
皆さんはPHPStorm、Xdebugを使いこなしているでしょうか?
メソッドジャンプや、単純にテストを実行するだけで使ってないでしょうか?
このトークでは基本的なセットアップ方法から解説し開発チームが
PHPStorm + Xdebugを使って効率的にかつ、素早くデバッグを行えるTipsを紹介していきます。
・PHPコードの実行フローを追跡して、バグの原因を特定する。
・変数の値を監視し、変数の値や状態を確認する。
・ブレークポイントを設定して、特定のコード行で停止し、デバッグを進める。
・ステップ実行や式の評価を使用して、コードの動作を詳細に調査する。
・デバッグ時の便利なツールや機能を活用して、生産性を向上させる。
・Dockerを使ったリモートデバッグの設定と実行
など...
「チームでふりかえりをしている」という組織は多いと思います。
どんなふりかえりをしていますか?あるいは、何の為に行っていますか?
実際には、「出来事や結果を共有する」「その再発防止や改善について話し合う」ものになっている事が多いかも知れません
良いふりかえりは、「上手いやり方を学ぶ場」を超えて「チームが学び方自体をアップグレードして行く場」に成り得るはずです!
チーム自体の進化を促したり実感できるふりかえり、できていますか?
そうでないのであれば、何ができていて・何が足りていないのでしょうか。
「学習する組織」のコンセプトをヒントにして、ふりかえりについて改めて考えていきます
アジャイルサムライの中では「概算見積もりは当てずっぽう」と書かれ、相対見積もりを推奨されています。
スクラムではストーリーポイントという名前を使って単位の意味合いを曖昧にすることで時間やお金に対する「約束」という概念から遠ざけています。
しかし、プロダクト開発をするうえではプロダクトロードマップがあり、それを達成することで事業成功を牽引する開発チームがあります。
プロダクトロードマップを作成するにも概算見積もりはあったほうが立てやすいですが、それが「約束」となって開発チームへの「呪い」ともなるケースもあります。
そんなPdMとエンジニアの狭間で、見積もりに対する考え方を言語化しチームに伝搬していこうとする話です。
REPL(Read-Eval-Print Loop)はコードのデバッグ、小さなスクリプトの実行、簡単な計算などを行うのに便利な対話式環境です。
代表的なREPL環境にはRubyのirbや、PHPのbobthecow/psysh があります。
使ってみて便利な一方でどのような仕組みで動いているのでしょうか?
このセッションではREPLの解説から実際、Read(読み込み、)Eval(評価)、Print(出力)、Loop(ループ)
それぞれの処理をPHPで書きながらどのような仕組みで動いているのかを解説して、紹介を行います。
みなさんライブラリを公開していますか? PHPのサポートバージョンをどうやって決めていますか?
原則論で考えればEOLを迎えてサポート終了したバージョンや、極論をいえば自分が使っているPHPのバージョン以外はサポート継続する義理はないわけですが、技術者としては可能な限り古いPHPでも使えるように互換性を保ち続けたいというのは人情ではあります。
このトークでは個人的な興味でメンテナンスを継続しているPHPライブラリでいかにして後半なPHPバージョンをサポートしているか、そして開発体験を落とさずに古いバージョンへのサポートを維持するために考えられるテクニックについて紹介いたします。
アスペクト指向プログラミング(AOP)は、アプリケーションのコードベース全体に横断的に影響を与える部分(Cross-cutting concern)を効果的に管理するためのプログラミングパラダイムで、
オブジェクト指向プログラミングには無い新たな視点を提供します。
本トークでは、まずAOPの基本概念や利点について確認します。
その後、PHPで実装されたAOPライブラリを紹介し、どのように実装されているのかをライブラリによる違いや共通点に着目して深掘りします。
最後に、AOPを導入・活用するにあたってのポイントなどを紹介します。
本トークを通じて、AOPの基本概念を知り、PHPでどのように実現されているかを知ることができます。
「テストがないコードはレガシーコードだ!」
Webアプリ開発においてPHPUnitなどでテストが書かれることは一般的になりました。
ですが、テスト完走までにかかる時間は適切でしょうか?
テストにかかる時間は生産性に直接的な影響を及ぼす重要な要素です。早ければ早いほど良い。
本トークでは、PHPUnitで書かれているテストを高速化するテクニックについてお話します。
「テストがないコードはレガシーコードだ!」
Webアプリ開発においてPHPUnitなどでテストが書かれることは一般的になりました。
ですが、テスト完走までにかかる時間は適切でしょうか?
テストにかかる時間は生産性に直接的な影響を及ぼす重要な要素です。早ければ早いほど良い。
本トークでは、PHPUnitで書かれているテストを高速化するテクニックについてお話します。
セキュアなアプリケーションを実装することはとても大事なことですよね。
しかし、開発者だけで様々なセキュリティ対策を施すのは限界があります。
そこで本セッションでは、GitHubが提供する機能を活用することで「セキュリティ対策の仕組み」を構成する方法について解説します。
また、GitHub Actions+クラウドサービスで実装可能なDevSecOpsについても解説を行う予定です。
ソフトウェアをソフト(変更容易)に作るって、めっちゃ難しくないですか?
私はずっと難しいと感じていて、設計のスキルを伸ばすのに苦闘しています。
そんな私にとって、2022年12月に発売された『ちょうぜつソフトウェア設計入門』(ちょうぜつ本)は非常に学びが大きい一冊でした。
躓いていた概念が(かわいい挿絵の力もあって)スルスルわかり、設計に関する知の高速道路と感じています。
このトークでは、設計スキルで壁を感じている方向けに、ちょうぜつ本や『Clean Architecture』を参照して、理解が深まったポイントを(使い慣れた)Python🐍のコード例を交えて共有していきます(PHPのコードは書籍をどうぞ!)。
トピック
・Clean Architectureとは
・オブジェクト指向 「鍵は抽象!」
・SOLID原則
・私見:一発でソフトに設計できるほど強くないと割り切る戦略
Webアプリケーション開発でデータストアとして良く使われているRDBMS 「MySQL」。
大きなシェアを誇るMySQLですが、ご存知の通り2023年10月に5.7系はEOLを迎えます。
安全のためにもMySQL 8へのバージョンアップが必要となりますが、メジャーバージョンアップとなると押さえておくべきことがたくさんあります。
本トークでは、MySQLを8へバージョンアップするに当たって押さえておくべきこと、省力化する方法についてお話致します。
アプリケーションを安定的に運用していくには、安定した実行基盤を構成する必要があります。
プラットフォームの選択肢としてMicrosoft Azureというクラウドをオススメしたいです。
「PHPとAzure」についての情報はそれほど多くないため、親和性はあまり良くないんじゃない?と思う人もいるかもしれません。
しかし現在のAzureは様々なサービスが提供されており、PHPにおいても様々なシーンでAzureを利用することができます。
PaaSを中心としたアーキテクチャーを構成することで、運用の作業負荷を軽減し、エンジニアが本来の役割や作業に専念するための環境を作ることができます。
アーキテクトや開発者を対象に、Azureで実現するクラウドアーキテクチャーについて紹介します。
【キーワード】
クラウドネイティブ、PaaS、GitHub、コンテナー、CI/CD、サーバーレス、開発環境
話者は前回のPHPカンファレンスにて「RFC911*から振り返るHTTPの仕様」という話をさせて頂きました。
その中で特に新しい仕様である「RFC 9114 - HTTP/3」を読んでインターネットの未来を感じました。
今回はHTTP/3に焦点を絞ってRFC 9114からの仕様を理解した後に検証を行い、これまでのHTTPとの違いを体験します。
PHPerとは切っても切り離せないHTTPの次世代プロトコルを体験することでその価値に触れ、
HTTP/3採用のモチベーションになれば幸いです。
Webアプリケーション開発でデータストアとして良く使われているRDBMS 「MySQL」。
大きなシェアを誇るMySQLですが、ご存知の通り2023年10月に5.7系はEOLを迎えます。
安全のためにもMySQL 8へのバージョンアップが必要となりますが、メジャーバージョンアップとなると押さえておくべきことがたくさんあります。
本セッションでは、MySQLを8へバージョンアップするに当たって押さえておくべきこと、省力化する方法についてお話致します。
PHPerの皆さまは今日もPHPを何処かの環境で動かしている事だと思います。
様々なクラウドベンダーの上にはPHPを動かす選択肢がいくつもあるのですが、
実際にどの環境で動かすのが良いのか迷ってしまいます。
今回はクラウドベンダーをAWSに絞り、
現在稼働させることのできるPHP実行環境の比較を行います。
より良いPHP環境を選択して、コスト効率よくPHPを運用しましょう。
フレームワークは偉大です。
共有済みの知見を共有しながらスピーディーに開発を行えます。
今回その中身について深く知りたくなりフレームワークの気持ちを知るために
ある目的に合わせたフレームワークを作成することにしました。
その目的とはPHPをサーバーレスに動かすためのフレームワークです。
BrefというOSSと組み合わせながら、AWS Lambda上で快適に開発を進める事を目標に
フレームワークの作り方を学びながら、機能を再履修します。
OSSのコードリディングと手を動かすことにより、フレームワークの世界へDeepDiveしましょう
サーバーレスPHP、凄いんです。
BrefというOSSのお陰で、驚くほど簡単に環境が作れて、デプロイまで出来てしまう。
今回はサクッと作れてコストメリットが高いサーバーレスPHPの魅力を語ります
実行環境の1つとして、是非サーバーレスPHPを選択肢に加えてください。
話者は昨年HTTP3について調べた結果「スゲー!」ってなりました。
この体験を皆さまにスピーディーに体験していただくために、
HTTP3のいいところを仕組みにちょっと触れながらライトニングに話します。
細かいことは良いんです、HTTP3スゲー!ってなって欲しいんです。
その結果、HTTP3やってみるか〜!というモチベーションに繋がる事を望んでいます。
グローバルプロダクトを作ろうとすると、避けては通れないのが多言語化対応です。
データベースに保持される情報の多言語化はどうするのかが悩ましいところです。
そして、考えた先に思いつた EAV(エンティティ・アトリビュート・バリュー)という方法。
しかし、EAVは様々な理由によりSQLアンチパターンに含まれています。
その理由と照らし合わせて、実際どうなのかを考えた話