Honoの最新メジャーバージョン「v4」をリリースします!
onkとそーだいによるキャッシュの話です。
次の記事を元に話します。
ソフトウェアは進化する一方で、全てのバージョンをサポートし保守し続けるのはリソースを効果的に割り当てる観点から現実的ではありません。
セキュリティリスクや管理コストを考慮し、サポート終了期間を設けるEOLを用いた運用が一般的に採用されています。
サービスを運営する中で、EOLに対して時間に余裕を持って対応できればよいですが機能開発が優先されることでリソース不足となってしまうなどでソフトウェアのEOL対応に対して後手に回ってしまうという課題がありました。
このセッションでは、GMOペパボのSREがソフトウェアのEOL対応をベースとした、ソフトウェアをただアップデートするだけじゃない工夫した事例等についてお話します。
話すこと
EOL対応の意義とメリット、対応プロセスのステップ
EOL対応をモチベーション高くやる方法
(時間があったら)過去にEOLで辛かった事例と乗り越えた話(Perlネタ)
いつも通り、開催時にはそろそろ全容が見えてきているであろう Perl 5.40 の新機能などを紹介します。
アクセシビリティ(障害を持つ人や高齢者など多様なユーザーにとっての「利用しやすさ」)に関するオープンソースプロジェクト、NVDA(Windows用のスクリーンリーダー)の開発と日本のコミュニティ運営に、私は2010年頃から関与しています。特にWebアクセシビリティにおいて、NVDAは視覚障害者だけでなく検証者にも広く採用されています。オルタナティブな視点や興味がなければ、この分野には足を踏み入れることもなく、継続もしなかったでしょう。そんな自分自身の経験を振り返りつつ、情報アクセシビリティの世界をご紹介します。
クレジットカードの明細反映が遅い…!いくら使ったか分からないうちに請求額がすごいことになっている…!と困った経験はありませんか?なぜクレジットカードの明細はリアルタイムに反映されないのでしょうか?それには数十年以上前に考案され、今なお使われ続けているカード決済システムの仕様が大きく関係しています。
私はSmartBankというFintech企業で、B/43というプリペイドカードを開発しています。決済システムは半年ほどで開発しましたが、リリース後に色々な決済電文パターンに悩まされ、何度かの微修正を加えてようやく安定稼働するに至りました。
この発表では、決済ネットワークの仕組みと、皆さんが普段何気なく使っているカードの裏側で苦悩するエンジニアの姿についてご紹介します。
対象者
NOT A HOTEL で運用されていた、一部 Go で書かれた API と Python で書かれた LLM の API を Cloudflare Workers のスタックへ完全移行し、半年以上運用してみて、何が最高になったか、大変だったことをアプリケーションコードを一部公開しながらお話ししたいと思っています。
なぜ移行を決断したか
アプリケーションで提供している機能
LLM のための管理画面
ログ周り
Cloudflare のメトリクス
移行すると運用にかかる費用が安くなる話はいろんなところで出ているので話しません。
商品の注文や口座間送金など、二重に行われてほしくない処理をネットワーク越しにリクエストし、通信に失敗したとき────クライアントはリトライするかもしれません。
しかし、直前のリクエストでサーバ側の処理が正常に完了していたら、1回でよい処理が複数回行われてしまいます。
この課題を解く鍵は"冪等性"。
「同一リクエストに対して結果が変わらない」仕組みをサーバが備えれば、クライアントは安全にリトライできるようになります。
そして、その実現手段として注目したいのが、POST/PATCHリクエストを冪等にするためのプロトコル、Idempotency-Key Headerです。
本セッションでは、IETF draftとして提出されているIdempotency-Key Headerの背景・コンセプト・現在の動向を解説し、HTTPリクエストにおける"安全なリトライ"について掘り下げます────
awkは、Perlとは異なり、Webアプリケーションを作ることには向かず、昨今この用途で使われることはほとんどありません。
しかし、私はawkが好きです。諦めません。gawkはTCP/IP通信と拡張ライブラリをサポートしており、すなわちWebアプリケーションをつくれます。
そこで筆者は、以下を実装したブログシステム (https://github.com/yammerjp/awkblog) をつくりました。これはawkで実装されている点を除けば、MVCパターンのよくあるWebアプリケーションです。
HTTPサーバ
HTMLテンプレートエンジン
PostgreSQLとの通信
Cookieとセッション管理
ユニットテスト
OAuthとログイン
このセッションは、awkでの実装の紹介を通して、フレームワークやライブラリに隠蔽されたWebアプリケーションのあらゆるトピックを俯瞰します。
チームでWebサービスを開発する場合、複数の機能やデータを持つブランチが並行して開発されます。チームのメンバーなら職種を問わず、好きなだけブランチ別の環境を起動できる仕組みがあると、開発と動作確認のサイクルを高速に回すことができます。
そのような仕組みを実現するために、IaCでサーバーリソース一式を丸ごと構築すると、起動までの時間や金銭的なコストが大きくなってしまいます。
mirage-ecs(github.com/acidlemon/mirage-ecs)は、Webサービスの検証環境を誰でも、何個でも、低コストで立ち上げるためのOSSです。 「環境」はAmazon ECSのタスクとして数分で起動し、専用のURLでアクセスできるようになります。
開発者がその原理と実装、数十人の開発チームを持つ複数プロダクトにおける運用で得られた知見についてお話します。
皆さんは普段どんなプログラミング言語を使っているでしょうか
golangなどのコンパルする言語もありますが、Perlを始めとするスクリプト言語を使っている方も多いでしょう。
現代のスクリプト言語は実行時にスクリプト言語のソースコードを、言語内独自のVMが実行可能なアセンブラのような命令にコンパイルし、その結果を実行する方式が多いです。つまり、現代においてはスクリプト言語を実装するということはほぼCPUの命令実行シーケンスを実装することと同義です。
特に最近は一部界隈ではRubyの処理系であるRubyVMを実装するのが流行っています。
本トークではRubyVMをPerl...ではなくて、Raku(旧Perl6)で実装し、Rakulangの言語の面白さとRubyVMの実装の面白さについて見ていきます。
なお現時点でコードはほとんど書いてないので当日までに完成するかは......。お楽しみに
ブログが好きです。20年近くのブログ歴で900以上の記事を書き、エンジニア界隈ではそこそこ知られたブロガーとなりました。
ブログきっかけで多くの縁がありました。本発表ではまずエンジニアの発信手段としてのブログについて改めて取り上げ、メリットや活用方法、長く続けるコツについてお話しします。
また、ブログには書く楽しみの他、ハックする技術的な楽しみもあります。私は、個人開発のブログエンジン(Riji)とはてなブログとで2つのブログを運営しており、それぞれ自作のOSSを活用してもいます。
本発表の後半では、ブログ運営上でのノウハウやTips、ブログ技術遍歴、関連技術についても取り上げます。余裕があれば、現代のPerlを用いてRijiを更新した姿もお見せしたい。
自分のブログを作り、メンテナンスし、運用し、そこで執筆する。本発表全体を通して、そういう私の人生の営みについてお話します。
あなたは新卒N年目、リードエンジニアのポジションが板についてきた中堅エンジニアです。ある日の朝、あなたが仕事を始めるとおもむろにCTOがやってきて、にこやかにこう言いました。「君、来月からEMね!」……さてどうする!?
ソフトウェアを開発し、ユーザーに価値を届ける活動の中での肝心要、それが「チームでの協働」。
ここでは私が経験したメンバー・テックリード・マネージャー・CTOの4つのロールを切り口として、メンバーレイヤだからこそ発揮できるリーダーシップ・フォロワーシップとは?から、マネージャーロール1日目から使えるヒント、CTOへのジャンプアップに必要な準備まで、ぎゅっと濃縮してお届けします!
「チームでの協働をいい感じにしたい」「プロダクトの価値を最大最速でデリバリーしたい」と思う開発者の皆さんにとってのぼうけんのしょ=セーブポイントとなるようなトークを目指します。おたのしみに!
所属するLaunchable, inc.では日本とUSの双方にメンバーがおり時差や言語から同期的に開発を進める事が難しいため、非同期な開発体制をドキュメンテーションによって支えています。
本発表では、Launchableでどのようなドキュメントが書かれ、運用されているのかを紹介します。 私が書くときに考えている事/気をつけている事も併せて紹介できればと思います。
話すこと
深く話さないこと
10年以上前に「タワレコ店員からエンジニアになって思ったこと」というスライドを書きました。
そこからさらに10年が経ち、今は OSS のメンテナやプロジェクトリーダー、マネージャなどやれることも少しずつ広がってきました。
気がつけば「プログラマー35歳定年説」を超える年齢となりましたが、今でもコードを書くことを仕事として楽しんでいます。
このトークでは、これまでのキャリア(業務、OSS、転職、同僚)における失敗や成功を通じて学んだことや、大事にするようになった考え方を紹介したいと思います。
また、私自身 Perl や YAPC、コミュニティからも学んだことも多くあるのでそれについても感謝も込めて紹介できればと思います。
エンジニアとしてこれからやっていけるか不安を持っていたりキャリアに悩んでいたりする方に、大丈夫、楽しもうと思ってもらえるようなトークになればと思っています。
いま私がイチオシする技術、WebAuthn/パスキーについて紹介するトークです。
しかしただ紹介するのではつまらないので、WebAuthnの仕組みを解説しながらライブコーディングを行っていきます。現代のPerlで書くので今どきのPerlの書き方もわかって一石二鳥ですね!
注意点
対象者