LT(5分)

まだスケジュールで消耗してるの?

kizu19911020 神谷

スタートアップの開発で、アジャイルと言われるものも取り入れたが、
いわゆるスケジュール管理まじ辛い、
優先度変わるし、タスク増えるし、マストだし卍だし、減らないし、辛いし。

そんな時に出会ったアジャイル侍先輩の本を読んで実際に今実践しているタスク管理方法を共有します!

LT(5分)

XPで学ぶ、良いサービスは良い人間関係から

kkznch けけずん

「良いサービスは良い人間関係から」....という言葉を今作ってみました。

自分がWebエンジニアになって早一年、今では開発チームのリーダー的なポジションでメンバーと開発を行っています。
これまで、どうすれば効率よく開発できるか、どうすれば良いモノを作ることができるのか、というようなことを考えながら開発をしてきました。

「この技術を使えば〜」
「このデザインパターンを則れば〜」
「このツールを導入すれば〜」

試行錯誤を繰り返すも、結局のところ何が最も効果的で何が最も大切なのかという答えに至らず、開発リーダーとして不安を感じながら仕事をしていました。

そんな中で「エクストリームプログラミング」という本に出会い、最も大切なことは人間関係なのだなという答えにたどり着いたので、そのへんのお話をしようかと思います。

LT(5分)

入門 ミューテーションテスト

strtyuu 吉田あひる

みなさんは効果的なテストコードをかけていますか?
書いたテストコードがどれくらい効果的なものなのか測定できていますか?

もしかするとミューテーションテストがヒントを教えてくれるのかもしれません。

1
LT(5分)

新卒エンジニアがphpとjavaを比較してみた

yamauchi387 yamako

私はプログラミングを勉強しはじめて1年半になります。。

【学習経歴】
去年の4月にrubyを勉強→7月からphpを勉強してインターンで実務経験を積む→今年4月に新卒でweb系会社に入社してphpを研修で勉強→7月から業務でjavaを使い始める。

プログラミングを勉強しはじめてずっとphpをやっていた新卒がjavaを業務でやり始めて、phpがより好きになった話をしようと思ってます。

よろしくお願いします!

LT(5分)

エンジニアの文化の作り方 〜社内Podcastのススメ〜

goodoo 株式会社サイバーエージェント 白井 英

弊社の文化づくりの考え方の一つにトランザクティブメモリという考え方があります
ノウハウは人にたまりますが、トランザクティブメモリとは、誰が何をしっているか、を知る、という考え方です
その誰が何を知っているかを、知ってもらうための施策として社内Podcastをやっています
社外向けとはまた一味違った、文化づくりの一環としての社内Podcastの良さをお伝えします

LT(5分)

さらに速くなるPHP

nunulk

Preloading と FFI (Foreign Function Interface) を中心に、PHP 7.4 の高速化の機能と調査結果についてお話します。

PHP スクリプトをそのまま実行した場合とこれらの機能を使った場合とでどのくらいの速度差が出るのかの調査結果がメインですが、時間があれば、C 言語を書きたくない方のために Nim を使った FFI 用ライブラリの作り方についても触れる予定です。

LT(5分)

PHP on AWS Lambda!

seike460 清家史郎

AWS Lambda Custom Runtimes が利用できる様になって随分たちました。

我々PHPerとしては、張り切ってPHP on AWS Lambda するしかありません。

AWS LambdaにおけるPHPのパフォーマンスと利便性を時間が許す限りトークします。

  • お話すること
     - PHP on AWS Lambda
      - パフォーマンス
      - 利便性

  • 利用する技術
     - AWS Lambda

1
LT(5分)

PHPでSeleniumを使ってブラウザテストをやってみた

ヒデキチ

php+Seleniumを使用し、毎回ブラウザ画面で入力するようなテストケースを自動で行い、単純作業の工数を削減!

LT(5分)

Laravel Pipe Dreamを使って素早くプロジェクトを始める

Fendo181 endu

Laravel Pipe Dreamは、AndersJürisoo氏が開発したLaravelのアプリケーションスキーマを迅速に作成するためのパッケージです。Laravel Pipe Dreamを使う事で初期プロジェクトを立ち上げ時に必要なControllerやModel、マイグレーションファイルなどを、たった数行書くだけで全て生成する事が可能です。発表ではLaravel Pipe Dreamの使い方や、具体的にプロジェクトで使うにあたっての気をつける事について発表をしようと思います。

1
LT(5分)

API Gateway + Lambda + php-gdでサムネイル処理

yakitori009 金澤 裕毅

サムネイル処理の手段として、AWS Lambda で行う手法が浸透してきていますが、
その事例のほとんどがImageMagickを使ったものです。

ImageMagickは定番ですが、気を付けて使わないとサーバーリソースの問題に悩まされることもあります。
そこで、敢えてphp-gdで検証して、優位性があるかを検証してみたいと思います。

ImageMagick、php-gd、Golangのimagingで比較した結果を発表いたします。

LT(5分)

PHPでモンキーパッチを当てる

nazonohito51 川島慧

モンキーパッチという言葉をご存知でしょうか?
プログラミング言語により若干意味は異なるようですが、一般的には元のソースコードは書き換えずに、実行時にそのコードを拡張してしまうという手法のことです。
過去にはゲリラパッチと呼ばれていた時代もあり、言語のルールを超えたり、あるいはフレームワーク・ライブラリを制作者の意図に反する動きをさせることが出来たりと正真正銘の闇の技術です。

PHPにおいては、せいぜいrunkitといったC言語レベルでの拡張によって実現ができるくらいなので、PHPはモンキーパッチしづらい言語であると言えるかと思います。
ですがC言語レベルの拡張を使わずともStreamWrapperというマイナーな言語組み込みの機能を使うことにより・・・実は可能です。
PHPファイルに書かれたソースコードがincludeされる直前に、そのコードを書き換えてしまうなんていうとんでもないことが可能なのです。
これを使うことにより、本当に色々なことが出来ます。

  • フレームワークのコアコードを書き換えずにその振る舞いを変えてしまう
  • 本来モックにできない言語組み込みの関数を呼び出している箇所を、自分たちの関数呼び出しに変換することでモック化してしまう
  • 本番環境のAPIを呼び出しているコードのURLを書き換えてテスト環境に向けさせる
  • PHPStanが解析対象を読み込む際に、実行されると困る副作用の処理を削除して無効化したり、重複クラスの読み込みを直前にクラス名を書き換えて回避する

今回はそんな闇の技術の裏側の実装のお話や、実際に皆様がすぐお使いいただけるライブラリを作ってしまったのでご紹介させていただければと思います。

LT(5分)

沖縄対応!PHP製バス停検索サービスの路線バス情報オープンデータ活用

8nohe 福田 匡彦

北海道から沖縄まで(離島含む)全国対応なのに無料の「バス停検索」サービス(全国約26万6千ヶ所のバス停収録)を日々運営しています。

実は2011年のサービス開始当初から、その裏側はPHPとMySQL、JavaScriptで動いています!
(使用フレームワークはCakePHP)
さらに、公開用ページだけではなく、管理画面や多くのメンテナンス用スクリプトまでもがPHP製です。

バス停検索の大きな特徴は、住所や地図上から自由に探せることで、スマホやタブレットのGPS機能による位置情報からも最寄りバス停を探せます。
しかし、公開情報の国土数値情報を利用している関係で、データ精度に大きな課題もあります。

その対策として、「標準的なバス情報フォーマット(通称:GTFS-JP)」によるバス情報のオープンデータ活用を進めています。
(GTFS-JP)形式はCSVテキストファイルです)

今後沖縄県内で公開される予定のバス情報オープンデータ(那覇バスや沖縄バス等)のデータも順次追加予定です。

PHPを使い各バスデータを反映していく過程での技術的な悩みや苦労などを語ります。

LT(5分)

開発を早くするために、『正しい意味で』プログラムを書く

nyamucoro うゐろう

■対象
プログラミング初心者・中級者

■概要

  1. もし、間違った認識でプログラムを書いたら?
  2. 手法: 日本語を書いてから、プログラムに翻訳する
  3. 手法: アンチパターン・登場人物の洗い出し

1.『ボタンをクリックしたら、このページのclassがspecial_itemsのパーツの色を変えてほしい』
2.『それはこの画面の上から4番目のパーツだ』

こう言われたとき、あなたはどんなプログラムを書きますか?

  1. 対象のclassのパーツの色を変える
  2. 上から4番目のパーツの色を変える

どちらも、正しく動くでしょう。・・・今は。
もし、一番上に新しいパーツが追加されたら・・・?

プログラムは言語です。『本当にやりたいこと』を正しく理解して、そのとおりにプログラムを書かなければ、簡単にバグは発生します。

1+1も、4-2も、結果は一緒なのでプログラムは正しく動きます。
しかし、仕様変更や他のプログラムを合体させると動かなくなり、再修正の時間が発生することがあります。

『正しく意味を理解して、それをプログラミング言語に落とし込む』
バグを減らし、変更に耐えやすくなり、再修正も減って、最終的に開発が早くなります。

LT(5分)

初めてのミドルウェアアップデート(php5.3→7.3)

城間 奏人

新卒2年目にしてミドルウェアアップデートに対応したので、そちらについて話をさせていただきます。

現在進行形で着手中で、発表時期までにはphp5.3→7.3の実装が終わっている段階なので、苦労した点や所感について話していこうと思います。
また案件の進捗次第ですが、今回はCakePHP1→3への対応(Cakeを使用しているのは一部のソースのみ)も行っているので、可能ならそちらも話の内容に含めていこうと考えております。

1
LT(5分)

新卒エンジニアが生PHPに苦しめられた話

1dkiy yabikiyo

新卒1年目に、フレームワークなしのPHPを書いてみて、どれだけフレームワークが有用か感じた話。業務内で困ったコードやファイル構成について話します。未経験から新卒で入社し、実際の業務として困ったこと、肌で感じたエンジニア社会をお伝えします。

1
LT(5分)

LaravelでObserverパターンを簡単に実装!

kanbo0605 カンボ@沖縄

Laravelのイベントとリスナを使ってObserverパターンを実装した話をします!
Observerパターンとは、デザインパターンの一つで、
監視される側と監視する側の関係を持つプログラム構造で、
イベントをリスナーがキャッチして処理を行うものです。

1
LT(5分)

エンジニアがブログや登壇で、アウトプットするとどうなる?

nyamucoro うゐろう

■対象の人

  1. アウトプット続かない
  2. アウトプットの良さわからない
  3. アウトプットで何かが変わる未来が見えない

■内容

  1. アウトプットって本当に意味あるの?
  2. 『あなた』はアウトプット『すべきか』
  3. 私が本当に起こったこと
  4. アウトプットはいいぞ

私はもともと『落ちこぼれ』でした。自分に全く自信がありませんでした。
そんな私が、今Conferenceで登壇したり、勉強会でLTをしたりしています。

『エンジニアがアウトプットしろというの意味わかんない』
『アウトプットとか絶対続かない』

いやいや、エンジニアこそやると良いと思いますよ。
一年間で生活が大きく変わった私から、私の思いを話したいと思います。

2
LT(5分)

Laravel で独自定義した例外を活用するための tips

okashoi 岡田 正平/おかしょい

Laravel において例外をハンドリングする処理は App\Exceptions\Handler に書きます。
本トークではその基底クラスで行われている処理を説明したり、カスタマイズする際の tips などを紹介します。

LT(5分)

Laravel を使った開発を楽にするパッケージたち

okashoi 岡田 正平/おかしょい

Laravel を使った開発の際に私が必ずインストールする便利な composer パッケージについて、導入手順、活用法を紹介します。

LT(5分)

PHPでURLルーティングを自作する話

bmf_san bmf_san

PHPでURLルーティングを自作したことがありますか?
普段は外部の有用なパッケージにお世話になっているのではないでしょうか?
私もそうです。自作せずとも世の中には素晴らしいルーティングライブラリが沢山あります。
でも自作してみたいと思いませんか?私は思ってしまいました。
URLルーティングの自作の楽しさと車輪の再発明の意義を5分でお伝えしたいと思います!