LT(5分)

オフショア開発でのマネジメントのコツ

kanbo0605 カンボ@沖縄

私は以前に海外の人に仕事を発注するオフショア開発の案件でPMを担当した事があります。その際に学んだことをお話できればと思います。
話す内容は下記になります。

  • 文化の常識を疑え
    • 文化の違いにより、仕様を伝えても上手くいかない事があります。
  • 仕事の進め方の常識を疑え
    • 働き方や仕事に対する考え方が違う事が多いので、注意が必要です。
  • 翻訳を疑え
    • 間に通訳の人が入る場合は技術的な専門用語は上手く伝わらない可能性があるので、注意が必要です。
LT(5分)

地方カンファレンス主催のススメ

kanbo0605 カンボ@沖縄

私はPHPカンファレンス沖縄の実行委員長を務め、カンファレンスの立ち上げを行いました。
その経験を元に地方でPHPカンファレンスを主催すると楽しいよ!という話をします。話す内容は主に下記になります。

  • 開催に至った経緯
  • 開催するまでのステップ
    • コアスタッフを集める
    • 日程を決める
    • 会場を決める
    • イベントサイトを作る
    • トークを募集する
    • スポンサーを募集する
      など
  • 良かったこと
  • 大変だったこと
1
LT(5分)

SI業界に20年もいたのにSaaS業界に転生したらどうなった?SaaS業界転生記

井上良太

SI業界で小規模から大規模開発まで一通り経験し、管理職もこなしてきて、経験値だけは十分に積んだと思っていた私が、SaaS業界ではその経験値を生かすことができたのでしょうか。
SaaS会社でテックリードとして転生した私が、開発視点からマネージメント視点等いろいろな気づきをお話します。

・開発フローやシステム開発の考え方は同じなようで何が違う?
・プロジェクトマネジメントではなくてプロダクトマネジメント
・SI業界の経験値は結局生かすことができたのか?

10
採択
2024/03/09 16:35〜
Track A
LT(5分)

MySQL のインデックスの種類をおさらいしよう!

okashoi おかしょい/岡田 正平

アプリケーションのパフォーマンス改善目的で、データベースのカラムにインデックスを作成することはよくあるでしょう。
でも、インデックスにはいくつかの種類があることをご存知でしたか?

本トークでは MySQL の公式リファレンスをベースに、インデックスの種類とその使い方をおさらいしていきます。

知っているインデックスの種類が増えると、データベースのパフォーマンスをより引き出せるようになる、かもしれません。

LT(5分)

"config" ってなんだ?

okashoi おかしょい/岡田 正平

Web アプリケーションフレームワークを使ったプロジェクトを新規作成し、自動生成されるファイル郡の中にある config というファイルまたはディレクトリ。

いったいこいつは何なのか?
どうやら項目を自分でも追加できるようだが、一体何を追加してよくて、何を追加すべきでないのか。

本トークはそんな疑問にお答えします。

1
LT(5分)

ここが変だよPHP(褒め言葉) 入門編

KizuMiyagi BABY JOB ミヤギ

みなさん、PHPを初めて学んだ時に感じた「?」を覚えていますか?

私の所属する開発チームでは、PHPマニュアルの精読を始めました。
精読してみて改めて感じたPHP独自の魅力について、皆さんに共有したいと思います。
このセッションでは、PHPの特殊な機能、他のプログラミング言語との比較、その機能ができた背景について、私なりに調べた結果や考察を発表します。

対象者:

  • 他のプログラミング言語からPHPに転向を考えているエンジニア
  • PHPの良さを知りたいエンジニア
6
採択
2024/03/09 15:55〜
Track A
LT(5分)

PHPでOfficeファイルを取り扱う! ~PHP Officeライブラリをプロダクトに組み込んだ話~

tomoki2135 廣部 知生

みなさんは、PHPでOfficeファイルを取り扱いと思ったことはありますか?
もちろん、ありますよね?

このLTでは、PHPでOfficeファイルを取り扱う方法と、実際にどのようにプロダクトに使用しているかをお伝えします!

このLTで話すこと
・PHPOfficeライブラリの基本的な使い方
・読み込んだOfficeファイルをどのように利用したか
・PHPOfficeライブラリの難点

話さないこと
・Officeファイルの仕様
・PHPOfficeの細かい使い方

このLTを聞いて、みなさんもPHPでOfficeファイルを扱えるようになりましょう!

LT(5分)

PHP8.1で、リソースがオブジェクトに!? ~マイナーリリースの変更がレガシープロダクトに与えた影響~

tomoki2135 廣部 知生

PHP8.1では、いくつかのリソースがobjectに移行しました。
例えば
pgsql result リソース → PgSql\Result オブジェクト
pgsql link リソース → PgSql\Connection オブジェクト
などです。

私が開発しているMaildealerは、すでに開発から20年以上経過しているレガシープロダクトです。
その中に存在する PgSQL 用の独自ライブラリは、すべてがリソースで扱うことが前提のコードになっていました。

マイナーリリースで気軽に入れられた変更が、レガシープロダクトに与えた影響と、その解決方法をお話します!

※このLTは、PHPConference関西2024と同じ内容になる予定です

9
LT(5分)

JSONの定義済み定数ぜんぶ見る

oogFranz すぎやま@MASH弦楽団

PHPでJSONを扱う場合は、json_decode(), json_encode()といった関数の利用が一般的です。
この2つの関数の利用にはJSONの定義済み定数の理解が欠かせません。
JSONの定義済み定数を用いることで2つの関数の挙動を細かく制御したり、発生したエラーの詳細を把握したりできます。
このLTではJSON定義済み定数をすべて紹介しながら、PHPのJSON関数の少し進んだ使い方を紹介します。

3
採択
2024/03/09 15:35〜
Track A
LT(5分)

Composerを便利に使うために私がやっていること

o0h_ きんじょうひでき

Composer使っていますか?使ってそうですよね!

パッケージマネージャーの魅力は、
「色々な環境や操作者に対して、画一的な成果物(依存解決)を提供できること」はもちろん、
「継続的なメンテナンスやアップデートを実現容易にすること」にもあると考えています!

前者はcomposer.lockによって自動的に実現され、後者は「良いcomposer.jsonを作ること」が肝です。
そして、composer.jsonの美しさが、Composer中級者としての実力を語るのではないでしょうか!?

このトークでは、私が「実際にComposerを使っているプロジェクトに関わる際に、意識していること・使っているツールや操作」を紹介します

お話する内容の例(一部)

  • @stableや@dev、使ってますか?
  • require-devに入れる?それとも、composer-bin-pluginを使う?
  • config.jsonに書いておくと良いこと、CLIコマンドのオプション
  • depends / prohibits で差がつくComposer運用
  • Packagist Semver Checkerは良いぞ
採択
2024/03/09 16:55〜
Track A
LT(5分)

OSSの脆弱性との向き合い方

at_taisuke 荒瀬 泰輔

アプリケーション開発を行う際、OSS(オープンソースソフトウェア)はなくてはならない存在となっています。
そんなOSSにも脆弱性はあり、日々攻撃の脅威に晒されています。
私のチームでは、Garoon(ガルーン)という20年ものの製品をより安全に、そして継続的に提供するために、セキュリティの観点からOSSのアップデートを行っています。
このLTでは、私のチームでOSSのアップデートをどのような基準で行っているのか、ということについて共有します。

話すこと

  • OSSの脆弱性をどう検知するか
  • この脆弱性って対応すべき?をどう判断するか
LT(5分)

要件ヒアリングに自信ニキは顧客との対話中に何を考えているのか

ttskch たつきち

どうも、要件ヒアリングに自信ニキです。
私はフリーランスエンジニアとして受託開発のお仕事をよく頂くのですが、お客さんとの対話・ヒアリングを割と得意としています。

お客さんはシステム開発のプロではないので、説明が的を射ないことも多く、複雑なシステム要件のヒアリングには根気と体力を要しますよね。
そればかりか、なかなか合意や結論に辿り着けずいたずらに時間が奪われた挙句、結局失注して悲しみ、といった経験はないでしょうか。

私はよくお客さんから「1しか言ってないのに100のアウトプット出てくるんやが」「話が早すぎてもはや笑える」などと言われます。
一体私はお客さんとの対話中に何を考え、どんな手順でヒアリングを進めているのでしょうか。

このLTでは、お客さんとの対話中の私の頭の中身をまるっと皆さんにシェアします。
明日からのお客さんとの対話・ヒアリングに少しでも役立てていただけると嬉しいです!

4
LT(5分)

PHPでCLIツールを作ってHomebrewで公開しよう!

ttskch たつきち

Macユーザーの皆さんにはお馴染みのHomebrew。
Macの初期設定時のみならず、日々新たに便利なコマンドを見つけてはbrew installしていることと思います。
そんなお馴染みのHomebrewですが、裏側はどんな仕組みになっていて、コマンド自体はどこからダウンロードされているのかはご存知でしょうか?

実はこれ、とても簡単な仕組みになっていて、誰でも自分のGitHubリポジトリを通して自作のコマンドをHomebrewで配布することができます。

このLTでは、実際にPHPでCLIツールを作ってHomebrewで公開するまでの流れをお話しします。
自作のコマンドをHomebrewで公開して、世界に羽ばたきましょう!

1
LT(5分)

Macで複数バージョンのPHPを楽に使い分ける

ttskch たつきち

Macで複数バージョンのPHPを使い分けるのって意外と難しくないですか?
Docker経由でしかPHPを使わないみたいな猛者スタイルで行ければいいのかもしれませんが、
パフォーマンスや開発体験の問題からローカルのPHPを使いたい事情もあると思います。
phpenvと.php-versionファイルを併用すればディレクトリごとに使用するPHPバージョンを指定することもできますが、
このソリューションはいざ導入しようとするとYak Shavingの嵐が待っていて(実体験)非常に面倒だったりします。

というわけで、このLTでは私がMacのローカル環境で複数バージョンのPHPを楽に使い分けるために実際にやっていることを5分でサクッとお伝えします。
実際に運用していてまったくストレスを感じていない方法なので、ちょっとでも困っている人には明日からすぐにお役立ていただける内容だと思います!

1
LT(5分)

「どうにかする力」の正体とは?

HiroyaYamamoto1 やまもとひろや

一緒に働いていて「この人に相談したらどうにかなる」って人、いますよね。
この「どうにかする力」って何なんだろう。
力を持ってる人に聞くと「気合」「経験」「勘」と言った回答が来ることが多いです。
本LTではこれをもう少し噛み砕き、「どうにかする力」の正体に迫ります。
みんなで「どうにかする力」を身につけていきましょう!

1
採択
2024/03/09 15:45〜
Track A
LT(5分)

Chromeが擬似的に返す謎の307リダイレクト、HTTPSファーストモードとは

cakephper cakephper

2023年10月16日のChromeアップデートによりHTTPSファーストモードがデフォルトで有効になり、httpでアクセスするとhttpsに自動的に誘導されるようになりました。
このモードによってHSTS(Hypertext Strict Transport Security)ではないサイトでもhttpでアクセスするとChromeが勝手にhttpsにリダイレクトします。(特定条件で)
リダイレクトもWebサーバにリクエストを飛ばさずにChrome内部で307リダイレクトのレスポンスを擬似的に返します。
このようなChromeの独自世界観がインターネットに溢れ出すようになった令和の時代を生き抜くため、今回のChromeの動作の条件、動きの詳細を解説します。

参考ツイート
https://twitter.com/cakephper/status/1719275453943525571

参考ブログ
https://blog.ichikaway.com/entry/chrome-307-https-first