Debounce 処理というのはクライアントでよく使われる技術です。 高頻度で呼び出されるイベント(キー入力やマウスの移動、ウインドウのサイズ変更)などを制御するテクニックのひとつです。たとえばJavaScriptのライブラリLodashに実装されていたりそれなりにクライアント側では使われる技術です。
そんなDebounce処理をサーバサイドで実装したので、そのお話をしようと思います。
Debounce処理自体の説明から、 クライアントで処理すべきものをなぜサーバサイドで実装しなくてはいけなかったのかの背景の説明、 実際にどうやって複数のサーバで実装しているのか、なぜ3回も実装したのか、そして4回目の実装の構想などをお話します。
前身のasm.jsを含めると、WebAssembly(以下Wasm)が登場してから10年近く経過しました。ブラウザでCのプログラムが動作する「おもちゃ」として認知され、vimやffmpegが大きな変更もなく移植されブラウザで動作する様子は、当時見た人にとっては異様な光景に映ったかもしれません。
Dockerを中心としたコンテナ技術もまた10年近くの歴史があります。創業メンバーの1人でCTOも務めたSolomon Hykesが「Wasmが当時存在していたらDockerを作成する必要はなかった」、と発言したことは有名な話ですが、その言葉の意味を真に理解している人は意外に少ないように思います。
本セッションでは、WasmやDockerの出自や現状を振り返りつつ、これらがどのように交差し、これからどのような道を辿っていくのかについて、スピーカーの私見も交えながらお話しようと思います。
さくらインターネットの「さくらのクラウド」は2023年度にデジタル庁が募集したガバメントクラウドに、2025年度末までに全ての技術要件を満たすことを前提に認定されました。
2024年6月現在、デジタル庁の技術要件を満たすため、パブリッククラウドとしての機能強化とサービスの開発に取り組んでいます。
数多くの技術要件を満たすには、開発力の大幅な強化のためのエンジニアリング組織の拡大、また一人ひとりのメンバーの変化と成長が必要となっています。
そのために、私たちは学び、一丸となるための取り組みを行い、組織体制の改善を進めてきました。
本発表の主な内容
大きなチャレンジをする開発組織についての一つの事例として、また議論のきっかけになれば幸いです。
カンファレンスでは、「これをやらずにはいられない」という情熱を燃やし、昼夜問わず邁進する人々との出会いがあります。自分も変わりたい、なにかを成し遂げたい。でも、何かって?
やりたいことがあるわけではないけれども、ずっと今のままではいけないという焦燥感があるーー。自分もかつてはそうでした。リーマンショックによる早期退職という後ろ向きな理由での転職を経て、目の前にある仕事をこなしていく日々。
けれども目の前の仕事と向き合い、やりきり、そのことで自信を得る繰り返しの中で、私のキャリアは変わっていきました。いつのまにか自らコミュニティに飛び込んだり、ワクワクする目標をつくろう!と呼びかけるようになったり、開発組織のアジャイル導入推進を牽引したり・・・。
そんな、検査と適応を繰り返しながら変化してきた私のキャリア戦略が、かつての私と同じようなキャリア迷子の方が一歩ふみだすきっかけになれば幸いです。
OSS開発ってなんかかっこいい感じします。僕は、GitHubでスター16Kを超える化け物ソフトのクリエーターでありメンテナをやっています。
楽しいけど、憂鬱になることもあります。そしてたぶん、それを皆さんは全然知らない。言ってこなかったし。なのでそれを、初めて話します。
でもOSS開発をやっていて思う。OSS開発は面白い。