私は普段、TCP/IPを意識することはありませんでした。
しかし、映像配信サービスの開発に携わる中で、サーバでWebSocketの切断検知がうまくいかず、TCP/IPのハーフクローズを知りました。
そこで実体験をもとに、TCP/IPのハーフクローズを話していきたいと思います。
10年以上続いているとあるサービスで利用されるJava製のサービス内通貨管理システムを、PHPでリプレイスした際の話をします。
システムの規模の大きさから改修が敬遠されていたレガシーなシステムのリプレイスに踏み切った経緯や苦労した点などをお話できればと思います。
具体的には以下の内容を予定しています。
私の苗字は「濱󠄂中」なのですが、実は普通に「はまなか」を変換してでてくる「濱」の字とは違う字体が使われています。
これは異体字と呼ばれるもので、「はしご高(髙)」や「立つ崎(﨑)」の仲間なんですが、この辺のメジャーな文字と違って変換も表示もできなくて辛い思いをしてきました。
けれど、最近のOSでは普通に異体字を扱えるようになり、(頑張れば)私の「濱󠄂」の字が読み書きできる時代が来ています。
ここでは、異体字がどういうものなのか、自分の名前を読み書きするためにどうしたのか、結果どうなったのかそういったことを話せればと思います。
GitHub 上で PHP の関数やクラスにマウスをあてるとポップアップが表示され、該当の引数の数や、サマリを表示したりマニュアルに飛べたりする Chrome 拡張機能の GitHub PHP Function Jumper の開発の苦労話からどのように作ったのか、 Chrome Web Store への公開、そして今後の展望をノンストップでお届けします。
https://chrome.google.com/webstore/detail/github-php-function-jumpe/pmgmgaejgbjiooiklinoelilmnldlhcf
PHP 7.4ではFFI機能(https://php.net/ffi)が実装されました。これにより共有ライブラリをPHP上で読み込むことが可能になりました。
今回、Rustで音声ファイルのデコードとエンコード部分を実装して、共有ライブラリとしてPHPで呼び出す際のハマりどころや、PHPとRustの親和性についてお話します。
普段PHPを触っているがRustにも興味がある方、音声ファイルのエンコードに興味のある方、FFIに興味のある方はオススメです!
「アプリケーションサーバでキューを処理していたが、キューの処理が重いのでキューを処理するだけのサーバを建てたい!」
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に移行しようとしています。
しかし、様々な問題にハマりました。
ハマった問題と解決方法について発表します。
PHP の仕様はどうやって決められているかご存じですか?
PHP の仕様は PHP のコミュニティに参加する人々によって作成される RFC にて議論、決定されています。
この RFC は技術ブログや Twitter などでときどき取り上げられますが、実は自分で読んだことがない方は多いのではないでしょうか。
RFC は大抵の場合、我々より PHP に精通した人が提案し、議論し、要否を決定しているため、RFC を読み、その提案理由を考えることは、PHP 上級者への一歩です。
本セッションでは、そんな PHP の RFC について、基礎知識と読み方を紹介します。