私は普段、TCP/IPを意識することはありませんでした。
しかし、映像配信サービスの開発に携わる中で、サーバでWebSocketの切断検知がうまくいかず、TCP/IPのハーフクローズを知りました。
そこで実体験をもとに、TCP/IPのハーフクローズを話していきたいと思います。
10年以上続いているとあるサービスで利用されるJava製のサービス内通貨管理システムを、PHPでリプレイスした際の話をします。
システムの規模の大きさから改修が敬遠されていたレガシーなシステムのリプレイスに踏み切った経緯や苦労した点などをお話できればと思います。
具体的には以下の内容を予定しています。
GitHub 上で PHP の関数やクラスにマウスをあてるとポップアップが表示され、該当の引数の数や、サマリを表示したりマニュアルに飛べたりする Chrome 拡張機能の GitHub PHP Function Jumper の開発の苦労話からどのように作ったのか、 Chrome Web Store への公開、そして今後の展望をノンストップでお届けします。
https://chrome.google.com/webstore/detail/github-php-function-jumpe/pmgmgaejgbjiooiklinoelilmnldlhcf
「アプリケーションサーバでキューを処理していたが、キューの処理が重いのでキューを処理するだけのサーバを建てたい!」
AWS ElasticBeanstalkのWorker環境と、
キューを処理してくれる dusterio/laravel-aws-worker
というパッケージを利用することで、
お手軽にキュー処理サーバできたよ!
という話をします!
――勉強会を主催したものの、参加者が集まらない。
勉強会を主催する側として、このような状態はできるだけ避けたいものです。
地方で勉強会を開催する場合、首都圏とのエンジニア人口比率の違いもあり、メジャーなテーマでなければ人が集まらないことも…。
マイナーなテーマであっても、より多くの人にコンテンツを見て頂きたい…!
「日本中から参加者を集めれば良いのでは?」
運営チーム内でそんな声が上がりました。
あるエリアだけでは人が集まらなくとも、募集するエリアを広げれば、テーマに興味関心を持ってくれる人は増えるはず!
…とはいえ、遠方の技術系イベント・勉強会に参加するのって、交通費やら宿泊費やら、何かと大変ですよね?
「そうだ、リモートで多拠点から参加できるようにすればいいじゃないか」
リモート開催に関する物理的なノウハウなどは、さほど多く世に出回っていないようですので、
自社(東京・大阪の2拠点)で行っている、リモート勉強会で使用している機器・環境、進行ノウハウについて
ご紹介させて頂き、日本中・世界中のエンジニアの距離を縮めることに一役買わせて頂きたいと思います。
去年の5月から「Laravel.shibuya」というIRT(Interactive Round Table)メインにした勉強会を開催するようになりました。
IRTをメインとした勉強会の事例があまり無く、不安もありましたが、第1回では応募開始からすぐに満員となり好調なスタートを切る事ができました。
しかし、いざ開催してみるとIRTならではの課題が見つかります。
・IRTをメインにしてるにも関わらず上手くディスカッションが回らない
・経験の差でどうしても上級者の方が喋ってしまい、初心者の方は一方的に聞き手に回ってしまう
・隣のテーブルが盛り上がると話題が全然聞き取れない。
・IRTのトークテーマが事前に集まらない。
これらの課題について運営メンバーで取り組んだ改善方法についてご紹介します!
あまり使われないPHPのマジックメソッドですが、使い方次第ではとても便利に使うことができます。
書籍にもあまり載っていないPHPの数少ない黒魔術の使い方をお話しします。
FaaSと言えばAWS Lambda?
いいえ、他にも様々なFaaSはあります。
今回はAzure Functionsを利用してみます。
みんなでFaaSの使い方を覚えましょう!
■お話する内容
■お話しない内容
CakePHPが2015年以来のメジャーバージョンアップを行い、その番号は「4」を刻みました。
まだ「CakePHPといえば2.x時代のイメージ」という人も多いと思います。しかし、3.x台では、現代的な開発現場の要求に十分に応えられるフレームワークへと進化を遂げています。
そして4.xは「PHP7.1すらEOLを迎えた今」の時代に立脚したフレームワークです。
2.xとの比較の視点も簡単に織り交ぜつつ、「どんな魅力を持つのか」「4.xの特徴や推しポイントは」といった紹介をします。
レガシーシステムの開発中に訪れるPHPのEOL。バージョンアップ後は全機能テストが待っています。
既存のテスト仕様書では重要機能を網羅していない、書かれている単体テストは重要機能をテストしていない・・・
このような状況でユニットテストを書くためには、問題の分割と、テストで担保したいこと(目的)の設定が重要です。
18年にわたって運用されているシステムに対して、PHPUnitと、PHPの挙動を操作するuopzという拡張を利用してテストをどのように行ったのかをご紹介します。
昨年、子供が成人式を迎えた記念に、子育てもエンジニアとして働くことも、どちらも諦めずに過ごした21年間を振り返りたいと思います。
・実家には頼れない!
・リモートワーク
・保活とか子供の受験とか
・保護者会とかPTAとか
・残業できない自分
・旦那は気軽に飲み会に…
・勉強会などのイベントに参加する旦那(エンジニア)を見送る一方、いつも留守番の私
そして、今。
PHPとは関係ない話ですみません。
イベント参加される方々に、送り出す側の気持ちを伝えたいと共に、
子育て真っ最中の方やこれから子育てする若い方々に、エールを送れたらと思います。
私の会社では、沖縄で半年に一回、開発合宿を主催しており、その中で海辺で開発をした話をします。
実際、海辺でビーチ駆動開発をしてどうだったか?開発は捗るのか?支障はないのか?注意点などを話させて頂きます。
私は2012年からうるう年の2月29日にだけ動く「PRESENT4229」というWebサービスを個人で運営しています。4年に1度という特性上、サービスイン前にほぼフルスクラッチでシステムのリプレイスを行っています。
本セッションでは「PRESENT4229」が辿ってきた技術的変遷を紹介しながら、Web技術がこの8年間でどのように進化・変化してきたのかを読み解きたいと思います。そして、来る2020年2月29日、 3回目のサービスインを控えた「PRESENT4229」の裏側をどこよりも早くお話させていただきます!
PRESENT4229: https://present4229.com/
エンジニアとして落ちこぼれだった私が、
1年かけて生まれ変わった(と思う)理由って?
ただの落ちこぼれが、今ではあちこちで登壇してたりします。
ブログ・登壇いろいろやってましたが、
私は、1%の努力と、99%の幸運で今ここに居ます。
・友人の存在
・若手ものづくり集団の存在
・そして、PHPerコミュニティの存在
今の私がいるのは、その1%の悲鳴と99%の温かいコミュニティで
出来ているってお話をします。
声を上げないと、助けられないってお話です。
『Laravel5系』ってひとくくりにするのは間違ってるってお話します。
■結論
Laravel6.xからセマンティックバージョニングになったよ
Laravelが6になってから、めっちゃバージョン上がってない!?
って思った人はたくさんいると思います。
でもそれは、5までと違って、6からはバージョニングが変わったからです!
■内容
・セマンティックバージョニングって?
・今起こってるバージョンアップって?
・どんなの増えてる?
・セマンティックバージョニングにしないって過去のドキュメントにあった気がすr
Nuxt.js + Netlify + ヘッドレスCMS「microCMS」のJAMstack構成でコーポレートサイトをリニューアルした話をします。
この構成で開発することによって、サイトの表示速度の改善、UXの向上、開発スピードの向上に繋がりました。
また、microCMSは管理画面上でユーザの操作に必要な部分だけを見せるような構成になっており、ユーザ目線でもとても便利だと思います。
グリーグループのリミア株式会社で開発を担当しています。
リミアでは、aws ec2の上でfpmを乗せています。
開発速度向上のため、aws ecsに移行しようとしています。
しかし、様々な問題にハマりました。
ハマった問題と解決方法について発表します。
きっかけは、オフィスの会議室で行った、PHPerKaigi2019の発表の上映会でした。
上映会後に参加者から様々な意見が飛び交い、活発な議論が生まれたことから
「デザインパターンの話に興味がある人、結構多いのでは?」という気づきを得て勉強会を開始することにしました。
勉強会を実施して継続していくにはいくつか工夫が必要だと思います。
・主催側の負担を減らす
・参加者がまた来たいと思える内容にする
社内勉強会を開いてみたいがなかなか開始できないという方や、始めてみたが、なかなか長続きしなかった、
といった方を対象に、スモールステップから始める社内勉強会の進め方についてお話できればと思います。
近年のWebアプリケーション開発において、サーバーを使うとなるとAWSやGCPを使うケースが殆どでしょう。
そんな中でもDockerやKubernetesの登場により、コンテナを開発から本番まで利用するケースが増えてきました。
しかし、Kubernetesなどは複雑な知識を必要とし、すぐに取り組むにはなかなか難しいものです。
そこで、2019年半ばに新たにGCPでサポートされたGoogle Cloud Run。
Cloud Runなら、コンテナをお手軽にリリースできるんです。
本LTでは、LaravelのコンテナをCloud Runにサクッとデプロイする流れを、ハンズオン形式でご紹介します。
自作したソフトウェアを世の中に公開する時に考えることは何でしょう?
そのPJが解決する課題やコード自体の品質・機能はもちろんのこと、「オープン」しているからには、色んな人に関わってもらいたい!というのは、誰しも思うことではないでしょうか。
いくつかのPHP製OSSに取り組む中で気付いた、「こうしたらコントリビューターにとって便利かも」という点をお話したいと思います。
このセッション内では「良いコードの作り方」のようなトピックは扱いませんが、
これから初めてOSSを作りたい!発信したい!という人に、お届けしたい内容です。