ルーキーズLT

戦闘力 53 万のマイクロサービス

加納悠史

毎日のルーチン作業、忘れがちになっていませんか?
月末になって慌ててやっつけていませんか?
そんな課題を、私たちのチームではチャットボットで解決しています。
アイディア的には単純なリマインドボットですが、Docker や Kong を用いたマイクロサービスに仕上がりました。
今ではボットの主であるフリ●ザ様が、毎朝作業忘れを通知してくださいます。
チームに欠かせない、遊び心満載のチャットボットをご紹介します。

3
LT

副業エンジニアはいいぞ

CyberMergina しーめる

転職の関係で、3・4年モダンなWebアプリ開発から離れていた人が
ごりごりのWebアプリ開発が恋しくなり、CakePHPとJavaScriptを使った
他社さんの開発をお手伝いさせていただけることに・・・!

この経験を経て、CakePHPとJavaScriptをメインに、
どういった所に技術的な難しさを感じているかと
副業はじめて良かったぞって話をします。

レギュラートーク 30分

トウダン・ジャーニー

kawanamiyuu かわなみゆう

昨年度まで登壇経験 0 だった開発組織が、昨夏の PHP カンファレンス関西 2018 を皮切りに、今年度、国内 3 つの PHP 系カンファレンスに社内から延べ 5 名のエンジニアが登壇を果たしました。この発表では今年度の取り組みの総まとめとして、開発組織の思惑とエンジニアとしてのやっていき、業務としてイベント登壇を推進するための取り組み、そしてこれからの目標など、今年度のできごとを余すことなくお話します。この発表が今後社外への発信に取り組んでいきたい開発組織やエンジニア個人にとっての後押しとなれば幸いです。

3
レギュラートーク 15分

トウダン・ジャーニー

kawanamiyuu かわなみゆう

昨年度まで登壇経験 0 だった開発組織が、昨夏の PHP カンファレンス関西 2018 を皮切りに、今年度、国内 3 つの PHP 系カンファレンスに社内から延べ 5 名のエンジニアが登壇を果たしました。この発表では今年度の取り組みの総まとめとして、開発組織の思惑とエンジニアとしてのやっていき、業務としてイベント登壇を推進するための取り組み、そしてこれからの目標など、今年度のできごとを余すことなくお話します。この発表が今後社外への発信に取り組んでいきたい開発組織やエンジニア個人にとっての後押しとなれば幸いです。

3
採択
2019/03/31 10:25〜
Track A
レギュラートーク 15分

マニュアルにない引数を与えるとどうなる?php-srcへのバグ報告をした時の話

youkidearitai てきめん

とある日に、いつものようにPHP 5.6でmbstringの関数へ引数をarray()にして挙動を楽しんでいました。
同じように当時の PHP 7.3.0 RC5 に対して、挙動を楽しんでいると、
mb_check_encodingのときに、Segfaultになりました。

報告したところ、修正いただきました。

今回は、そのバグをどう見つけて、どう報告したのかということと、
php-src上での問題か、スクリプト上の問題かを切り分ける方法、

そもそもPHPのビルトイン関数へ(わざと|誤って|たまたま)マニュアルにない引数を加えるとどうなるのか、
7.2からmb_check_encodingとmb_convert_encodingにはarrayが使えるようになっていること

などの発見したこと、報告した後の心境を共有させていただきたいなと思います。

LT

Swooleのフレームワークをくらべてみた

goodoo 白井 英

uzullaさんのPHPerKaigi2018「大統一PHP」(https://speakerdeck.com/uzulla/da-tong-php)で紹介されているSwooleという非同期かつ、Coroutineの仕組みをもったPHPのextensionがあります
Swooleを用いたフレームワークはいくつかあります。
今回、EasySwoole(v2,v3)、Swoft、Laravel-Swooleの3つの比べてみた結果をお話しします。
それぞれのフレームワークのISUCON8予選のベンチマークの結果をお伝えします(恒例)
No.1 Swooleフレームワークはどれだ!

2
採択
2019/03/31 15:05〜
Track A
ルーキーズLT

Laravel の開発環境構築、何が良いかを比較検証してみた!

hunhunyosshy k_yoshikawa

laravelを触ってみたいと思っても、環境構築が面倒くさいと思って挫折した人いませんか?
また本に書いてあるやり方だと実践的ではないと思ってやる気がなくなっちゃった人いませんか?
これ2つとも2018年までの私です。

でもそんな自分でも作ってみて、Laravelの使いやすさ、楽しさが最近ようやくわかってきました。
ぜひ皆様にもLaravelのよさをわかっていただけたらと思います。
そのために環境構築を試してみて、どのやり方がどんな感じでオススメかを紹介できたらと思います。
以下の3つを紹介できたらと思います。

・Laravel 内蔵サーバ
・MAMP(XAMPP)
・Docker

レギュラートーク 30分

ウェブアプリケーションチューニングの基本

hanhan1978 富所 亮

サービスが成長し機能が追加され、データ量が増大してきたある日、サービスが速度面で劣化してきます。そのような状況ではウェブアプリケーションの処理速度を改善するためのチューニングが求められます。しかし、チューニングの経験がない場合、何をすべきか分からず、効果のない改善作業を繰り返してしまいます。本トークでは実際の例を参考にして、どのようにウェブアプリケーションのチューニングを行っていくべきなのかを丁寧に解説します。

1
採択
2019/03/30 15:30〜
Track B
レギュラートーク 30分

RESTの力

koriym 郡山 昭仁

HTTPはRPCではなく、RESTはHTTP上のCRUDシステムではありません。RESTはハイパーメディアアフォーダンスという発見性を持ち、進化可能性(evolvability)、スケーラビリティ、自己記述性、といったアプリケーションをパワフルにする力を持ちます。このトークでは、RESTの本来の力がアプリケーションにどのようにパワーとパフォーマンスを与え、アプリケーションアーキテクチャとどう作用できるのかフレームワーク製作者の視点を交えてお話します。

採択
2019/03/30 17:15〜
Track B
レギュラートーク 15分

PHPerのための計算量入門

hanhan1978 富所 亮

プログラムを書くときに計算量を意識していますか?計算量の基本を理解することで、サービスが成長したときに問題を起こしにくいプログラムを作成することができます。簡単なプログラムを例にして、まず計算量という概念に慣れてみましょう。

レギュラートーク 15分

PHPでWebサーバーを作ろう!

hanhan1978 富所 亮

PHPでSocketを使ったネットワークプログラミングを自作すると、Unix系OSの非同期IO・ブロッキングIOについて理解が深まります。PHPでブロッキング、ノンブロッキングなWebサーバを書いて、Webサーバへの理解を深めましょう。

2
LT

知ると得するコマンドラインPHPの便利な使い方

hanhan1978 富所 亮

コマンドラインPHPを使っていますか?バッチ実行だけではなく便利な使い方がたくさんあるんです。小技を憶えてライバルに差をつけましょう。

採択
2019/03/29 16:55〜
Track A
レギュラートーク 15分

15分で分かった気になるGraphQL

ichikawa_0829 市川 慎吾

Facebookが公開し、GitHubのAPI v4にも採用されたことでも知られるGraphQL。旧来のRESTfulな形式のAPIを爆発的に置き換えていっている!とは言えませんが最近少しずつ国内でも採用事例を聞くようになりました。
このトークではGraphQLの魅力について話し懇親会で話のネタに出来るくらいに分かった気になるトークをしたいと思います。

レギュラートーク 30分

GraphQL入門

ichikawa_0829 市川 慎吾

Facebookが公開し、GitHubのAPI v4にも採用されたことでも知られるGraphQL。旧来のRESTfulな形式のAPIを爆発的に置き換えていっている!とは言えませんが最近少しずつ国内でも採用事例を聞くようになりました。
GraphQLとは何なのか?どういった強みがあるのか?ツラミはないの?等について話したいと思います。

1
LT

BEAR.SundayにおけるAPIドキュメントと整合性の担保

gamu1012 斉藤裕気

APIを開発する際にSwaggerなどを用いてAPIドキュメントを書くことも多いかと思います

ですが、放置するとすぐにドキュメントは腐っていき、APIとドキュメントの内容に差異がでます

腐ってしまったドキュメントはときにドキュメントが存在しないことより厄介です

では、どうやってドキュメントの内容を担保するべきでしょうか?

このLTではBEAR.SundayにおけるAPIドキュメントと整合性の担保についてお話します

7
レギュラートーク 15分

たった1人のAPI開発 BEAR.Sundayで解決した課題たち

gamu1012 斉藤裕気

社内ベンチャーやスタートアップでは少ない人的リソースで高速にプロダクトを開発していくのが重要です

しかしながら、大きなピボットや急な仕様変更の可能性も高く、こういった状況でのAPI開発は様々な課題があらわれます

  • 大きなピボットや急な仕様変更の可能性を踏まえて、どういう設計にするべきか
  • アプリエンジニアとスムーズに連携するにはどうすればいいのか
  • なにを大事にして、なにを後回しにするのか

このセッションでは上記の課題にどういう解決策を考え、BEAR.Sundayでどういったかたちで解決していったのか

そして、少し珍しいフレームワークであるBEAR.Sundayでの実務例をご紹介いたします

6
採択
2019/03/30 14:45〜
Track B
レギュラートーク 30分

たった1人のAPI開発 BEAR.Sundayで解決した課題たち

gamu1012 斉藤裕気

社内ベンチャーやスタートアップでは少ない人的リソースで高速にプロダクトを開発していくのが重要です

しかしながら、大きなピボットや急な仕様変更の可能性も高く、こういった状況でのAPI開発は様々な課題があらわれます

  • 大きなピボットや急な仕様変更の可能性を踏まえて、どういう設計にするべきか
  • アプリエンジニアとスムーズに連携するにはどうすればいいのか
  • なにを大事にして、なにを後回しにするのか

このセッションでは上記の課題にどういう解決策を考え、BEAR.Sundayでどういったかたちで解決していったのか

そして、少し珍しいフレームワークであるBEAR.Sundayでの実務例をご紹介いたします

採択
2019/03/31 15:40〜
Track A
ルーキーズLT

TikTokでプログラミング勉強コンテンツを作ってみた

firirice Kaoru

文字をシェアするtwitterから画像をシェアするインスタグラムへとSNS市場は変化し続けています。そして、動画をシェアするSNS TikTok。
そのTikTokを利用してプログラミングを勉強するコンテンツがあると面白いんじゃないかと思っています。
LTではなぜTikTokなのか、ネタ作りの観点などを共有できればと思います。

採択
2019/03/30 11:25〜
Track A
レギュラートーク 30分

抽象化って何?

hidenorigoto 後藤 秀宣

「抽象」という言葉に抵抗を感じるプログラマは多くいると思います。抽象的=フワっとしていて理解しづらいという抵抗や、抽象化=プログラムを分かりづらくするという抵抗など。では、プログラムを書く上で、抽象化は不要なのでしょうか?
この講演では、私達人間にとっての抽象化と、プログラミングにおける抽象化について掘り下げ、プログラミングにおいて役立つ抽象化がどのようなものなのかをお話します。

ルーキーズLT

技術的負債返済の文化づくりを目指して,負債返済の社内イベントを企画・開催した話

r_fukuma r_fukuma

エンジニアとして入社して約1年が経ちました!
私は15年目になる老舗メディアに配属されましたが,その中でサイトが多くの技術的負債を抱えていることを知りました.
技術的負債は,障害発生率を高めるだけでなく,余計な工数を発生させることが多いため,システム的な課題として早期の解決が求められます.

しかし,これらの負債はKPIには直結せず,ビジネス的な優先度が低いため,見送られることが多いという性質を持っています.
このような状況下では,技術的負債はたまる一途を辿ります.

「そうは言っても... 返済していかないと,いつか取り返しのつかないことになる...」
そう考えた私は,新卒1年目ではあるものの,社内に負債返済の文化を作るために動くことにしました.

このトークでは,負債返済の文化づくりの第一歩として,企画・開催した負債返済の社内イベントについてお話したいと思います.

3