レギュラートーク 15分

VAddyしくじり先生

cakephper 市川

クラウド型のWeb脆弱性検査ツール VAddyを開発しています。
SaaSを4年間開発、運用してきた中でたくさんの失敗をしてきました。
今回は価格設定やサービス設計など、ビジネス上の失敗を元に何が間違ってどう動いてきたのか、その中で起こる技術的な課題をお話します。

1
レギュラートーク 15分

Progate で 勉強しました!的な 新人スタッフを 現場で1人月に昇華するまでの道のり

_mikakane 後藤知宏

未経験スタッフやスクール卒で、 FizzBuzz もかけない…みたいなスタッフを
業務で活躍できるレベルまで持っていくために必要なものはなにか、みたいなお話をします。

技術知識と業務知識は違うよ、みたいなお話とか、社内教育のプロセスについてなど

レギュラートーク 15分

レガシー組織でlaravel使ってdddしてみた話

tama_camp tama_camp

普段の弊社はレガシーな環境で開発をしている。web系の企業なのにサーバーは未だオンプレだし、phpのバージョンをあげるにも四苦八苦しているし、slackを使い始めたのもつい半年前だし、フレームワークは使っていない。そんな弊社は社員が40人程度しかいないのにコミュニケーションエラーが多く、営業からのリクエストも開発側では聞いてないなど不毛な議論をしている。なのでDDDを導入して営業側もドメインマスターとして開発に関わってもらう体制に変更中。この体制変更を営業に理解してもらう上で躓くところ、こう話すと理解してもらいやすいよといったTIPSになります。

レギュラートーク 15分

PHPerとして取り組むすべてのユーザーのためのWebアクセシビリティ

shiori_pk 古賀詩織

Webアクセシビリティに取り組むのはディレクター?デザイナー?フロントエンドエンジニア?
いえ、私たちPHPerもしっかりと取り組んで行かなければなりません。

アクセシビリティと聞くと障がい者向けの取り組みかと思われますが、一概にそうとは言えないでしょう。
もしかすると、あなたが作っているWebサイトは身近な誰かがアクセス出来ないかもしれません。

今回のトークではAPI設計の際に考えるべきWebアクセシビリティについて話します。
PHPerだからWebアクセシビリティについて考えるのは関係ないとは言わせません!

4
レギュラートーク 15分

心理的安全性デザインパターンとアンチパターン

inase17000 星 永亮

最近なにかと話題の「心理的安全性」ですが、私が過去に10以上の本や記事をインプットした結果で、できるだけわかりやすくイメージがつきやすいように説明します!
・心理的安全性とは(一般的な定義と、間違った定義を解説!)
・心理的安全性は誰のもの?(心理的安全性を作り出す人は誰なのか、誰であるべきなのかを解説!)
・心理的安全性の高め方3選、壊し方3選(実例含めて、デザインパターンとアンチパターンを紹介!)
・明日からできる心理的安全性確保活動
15分を目一杯使って、「心理的安全性」のことだけひたすら話し、考える時間にしようと思います。

7
レギュラートーク 15分

テストできるライブラリ - 割り込みの技術

niisantokyo 新倉涼太

最近ではPHPアプリケーション開発において、自動テストを入れるのが普通な状況になってきましたが、一方で外部ライブラリをどうやって扱おうかが悩みどころです。mockを使ってライブラリを置き換え、インターフェースのテストだけで済ませてもいいのですが、ライブラリの仕組みを使って、より突っ込んだテストができないかとも思います。そこで、ライブラリの通常処理に、別の処理を割り込む仕組みを利用することで、より意味のあるテストをかけることを、GuzzleやSwiftMailerを例にとって解説していこうと思います。

レギュラートーク 15分

パケットを操作してサーバ、クライアントを騙してみる

kobatako_ kobatako

アプリケーション開発をしてれば忘れがちなネットワーク周り。
そんなネットワークからパケットを操作し、色々と実験をしてみました。
内容としては障害、攻撃、冗長化をメインにそれぞれの実装方法と挙動について見てみたいと思っています。
パケットを操作することで改ざんをしたり、クライアントにバレずにサーバを切り替えたりなど自分の興味の赴くままにやってみました。
カオスエンジニアリングにも挑戦してみたいと思いその入り口として、障害実装もしています。

実装方法は自作ソフトウェアルータを利用してその中でL3、L4のパケットを操作して実装してみました。
言語はErlang、Elixirを使って実装をしています。

実装する中で気づいたこと、気をつけること、今後やりたいことなどについても話せればと思います。

2
レギュラートーク 15分

AWS Lambdaカスタムランタイムで始めるサーバレスPHP

taiko19xx 木村俊彦

これまで、AWSのサーバレス実行環境であるLambdaで実行できる言語は限りがあり、場合によっては新たな言語を習得しなければなりませんでした。
しかし、昨年の追加されたLambdaのカスタムランタイム機能により、(ある程度の準備こそ必要ですが)PHPを初めとする自分が今まで使い慣れている言語で開発及び実行できるようになり、より手軽にサーバレス開発が行えるようになりました。
本セッションでは、Lambda+PHPという環境を通じて、
・PHPカスタムランタイムの動かし方や作り方
・どのように動くのか
・どのような用途に向いているのか
といった概要や、各種フレームワークを動かしてみた結果といった調査結果などについてお話します。

3
レギュラートーク 15分

PHPStanで独自ルールを作る

nazonohito51 川島慧

PHPStanは優秀な静的解析ライブラリではありますが、あらかじめ提供されているRuleの利用に留まってはいませんでしょうか?
同ライブラリにはCustomRuleという独自のルールを作成できる機能があります。

自分でルールを書けば外部のツールと連携したチェックなども可能で、例えばGitと連携させることで新しく追加されたクラスのみチェックして「これから新しく作るクラスは戻り値型宣言必ず書いて!」みたいな複雑なルールも作れます。

CustomRuleはあまりドキュメントに記述は無いので、基本的に自分で既存のコードを調べて作る必要があり少し面倒です。
今回は「こんなのだったらすぐ出来る」みたいなPHPStanの解析機能を列挙することでみなさんに独自ルールを作ることの一助になれればと思います。

1
レギュラートーク 15分

単方向依存を実現する静的解析ライブラリのご紹介

nazonohito51 川島慧

設計への意識の高まりとともに、クラスの依存関係をコントロールすることに関心を持つエンジニアが増えてきましたが、現状依存ルールを順守するには人間の目で確認せざるを得ません。
クラスの依存関係を人間の目で一瞥するのは基本的に難しく、うっかり循環依存になってしまってないかレビューするのも手間です。

そこでPHPStanをベースに依存関係を解析するライブラリを作成しました。
これによりルールの順守を機械的にチェックすることが可能になるほか、そのリポジトリの依存ルールを設定ファイルとして管理し、ルールを明示することができるようになります。

また全クラスの依存関係を解析してグラフ化することも可能(予定)ですので、初めて見るリポジトリを解析する時にその依存関係から大まかな構造を把握できるような使い道もあります。

今回はこのライブラリの紹介をさせていただければと思います。

2
レギュラートーク 15分

トウダン・ジャーニー

kawanamiyuu かわなみゆう

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

3
レギュラートーク 15分

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

hanhan1978 富所 亮

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

2
レギュラートーク 15分

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

gamu1012 斉藤裕気

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

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

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

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

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

6
レギュラートーク 15分

専門学校でLaravelを教えてみた

_mikakane 後藤知宏

専門学校の講師として3年、Laravel を使ったアプリケーション開発の講師をやってきました。

エンジニア教育とはちょっと違う、専門学校でのIT教育みたいな話をします。

レギュラートーク 15分

Zaim における PHP アプリケーションの運用

naoki85_201612 naoki85

Zaim はオンライン家計簿のアプリですが、運用上 PHP の役割が大きいです。
今回の発表では、Zaim における PHP アプリケーションの運用において、使用しているツールや直近の困ったことなどを共有させていただきたいと思います。

2
レギュラートーク 15分

Webエンジニアのためのアセンブリ言語入門

DQNEO DQNEO

アセンブリがわかればコンピュータがわかる。

コンピュータが動く仕組みを知りたいと思ったことはありますか?
コンピュータが直接理解できるのはマシン語だけですが、それを少しわかりやすくしたのがアセンブリ言語です。

アセンブリは高級言語とぜんぜん違います。
変数、IF文、ループがありません。そんな言語で何ができるのか?
何でもできる!

アセンブリ言語はまた、多くのコンパイラの出力データとしても使われています。
実際に私はこの知識をつかってC言語コンパイラとGo言語コンパイラをある程度書けるようになりました。

一介のWebエンジニアにすぎなかった私がアセンブリを学んで読み書きできるようになった体験をもとに、わかりやすく解説します。

本トークを聞いたあと、あなたは「アセンブラ難しいと思ってたけど、意外とやればできるのでは」という感覚を得られるでしょう。

5
レギュラートーク 15分

ユニットテスト用のMySQLをdockernizeして得られたもの

yoku0825 yoku0825
  • あなたの環境ではテスト用/開発用のMySQLは人数分用意されていますか?
    • 某弊社では共有です/でした
  • ある時、 思い付きで ユニットテスト用のMySQLをdockerコンテナに詰め込んで、テストのたびに生成/破棄するような仕組みを一部のプロダクトで導入できました
    • その時の(DBAとしての)工夫を紹介します
2
レギュラートーク 15分

一から始めるECS/Fargateでのアプリケーション構築

hgsgtk 東口和暉

Fargateとかそろそろキャッチアップしておきたいという方向けの発表です。AWSサービスにおいてECS/EKS等コンテナベースでのアプリケーション運用の事例が出てきたかと思います。12 factor appsなどの設計アプローチなどがあるようにコンテナでの運用においてログ・設定情報の扱いなど、アプリケーション設計においても影響がありうります。今回、業務でGoをECS/Fargateで運用している知見をベースに、PHPアプリケーションをFargateで使うにあたった基礎知識と検討ポイントについてまとめてみようと思います。