採択
2024/02/09 18:40〜
厳島(ダリア)
トーク (20分)

Introduce Hono v4!!!!

yusukebe Yusuke Wada

Honoの最新メジャーバージョン「v4」をリリースします!

採択
2024/02/09 19:00〜
厳島(ダリア)
トーク (40分)

Cache-Control: max-age=86400

キャッシュバスターズ

onkとそーだいによるキャッシュの話です。
次の記事を元に話します。

採択
2024/02/10 10:00〜
厳島(ダリア)
ゲストトーク (40分)

コミュニティと共に生きる - キャリアの螺旋と人生を変えた瞬間

soudai1025 曽根 壮大

-

採択
2024/02/10 10:00〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (20分)

入門EOL対応 ~SREが鉄板の流れ全部見せます編~

ryuichi_1208 ryuichi1208

ソフトウェアは進化する一方で、全てのバージョンをサポートし保守し続けるのはリソースを効果的に割り当てる観点から現実的ではありません。
セキュリティリスクや管理コストを考慮し、サポート終了期間を設けるEOLを用いた運用が一般的に採用されています。
サービスを運営する中で、EOLに対して時間に余裕を持って対応できればよいですが機能開発が優先されることでリソース不足となってしまうなどでソフトウェアのEOL対応に対して後手に回ってしまうという課題がありました。
このセッションでは、GMOペパボのSREがソフトウェアのEOL対応をベースとした、ソフトウェアをただアップデートするだけじゃない工夫した事例等についてお話します。

話すこと
EOL対応の意義とメリット、対応プロセスのステップ
EOL対応をモチベーション高くやる方法
(時間があったら)過去にEOLで辛かった事例と乗り越えた話(Perlネタ)

採択
2024/02/10 10:00〜
小田原 Hameeの間(ラン)
トーク (40分)

2024年冬のPerl

charsbar charsbar

いつも通り、開催時にはそろそろ全容が見えてきているであろう Perl 5.40 の新機能などを紹介します。

採択
2024/02/10 10:30〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (20分)

What You Like May Not Be for Someone オープンソースとアクセシビリティ

24motz nishimotz

アクセシビリティ(障害を持つ人や高齢者など多様なユーザーにとっての「利用しやすさ」)に関するオープンソースプロジェクト、NVDA(Windows用のスクリーンリーダー)の開発と日本のコミュニティ運営に、私は2010年頃から関与しています。特にWebアクセシビリティにおいて、NVDAは視覚障害者だけでなく検証者にも広く採用されています。オルタナティブな視点や興味がなければ、この分野には足を踏み入れることもなく、継続もしなかったでしょう。そんな自分自身の経験を振り返りつつ、情報アクセシビリティの世界をご紹介します。

採択
2024/02/10 11:00〜
厳島(ダリア)
ゲストトーク (40分)

経営・意思・エンジニアリング

y_matsuwitter 松本 勇気

-

採択
2024/02/10 11:00〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (20分)

VISAカードの裏側と “手が掛かる” 決済システムの育て方

shohei1913 三谷

クレジットカードの明細反映が遅い…!いくら使ったか分からないうちに請求額がすごいことになっている…!と困った経験はありませんか?なぜクレジットカードの明細はリアルタイムに反映されないのでしょうか?それには数十年以上前に考案され、今なお使われ続けているカード決済システムの仕様が大きく関係しています。

私はSmartBankというFintech企業で、B/43というプリペイドカードを開発しています。決済システムは半年ほどで開発しましたが、リリース後に色々な決済電文パターンに悩まされ、何度かの微修正を加えてようやく安定稼働するに至りました。

この発表では、決済ネットワークの仕組みと、皆さんが普段何気なく使っているカードの裏側で苦悩するエンジニアの姿についてご紹介します。

対象者

  • VISAカードの決済の仕組みに興味がある人
  • 複雑なデータのパターンに翻弄されるエンジニアに興味がある人
採択
2024/02/10 11:00〜
小田原 Hameeの間(ラン)
トーク (20分)

Go to Cloudflare Workers ~ 移行から 0.5 年以上運用する

codehex codehex

NOT A HOTEL で運用されていた、一部 Go で書かれた API と Python で書かれた LLM の API を Cloudflare Workers のスタックへ完全移行し、半年以上運用してみて、何が最高になったか、大変だったことをアプリケーションコードを一部公開しながらお話ししたいと思っています。

  • なぜ移行を決断したか

  • アプリケーションで提供している機能

    • Workers Queue
    • KV
    • D1
    • AI Gateway
  • LLM のための管理画面

    • htmx + Alpine.js (変更の可能性あり)
  • ログ周り

    • GCP Cloud Logging
  • Cloudflare のメトリクス

    • Cron Triggers
  • 移行すると運用にかかる費用が安くなる話はいろんなところで出ているので話しません。

採択
2024/02/10 11:30〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (20分)

My Favorite Protocol: Idempotency-Key Header

ohbarye ohbarye

商品の注文や口座間送金など、二重に行われてほしくない処理をネットワーク越しにリクエストし、通信に失敗したとき────クライアントはリトライするかもしれません。
しかし、直前のリクエストでサーバ側の処理が正常に完了していたら、1回でよい処理が複数回行われてしまいます。

この課題を解く鍵は"冪等性"。
「同一リクエストに対して結果が変わらない」仕組みをサーバが備えれば、クライアントは安全にリトライできるようになります。
そして、その実現手段として注目したいのが、POST/PATCHリクエストを冪等にするためのプロトコル、Idempotency-Key Headerです。

本セッションでは、IETF draftとして提出されているIdempotency-Key Headerの背景・コンセプト・現在の動向を解説し、HTTPリクエストにおける"安全なリトライ"について掘り下げます────

採択
2024/02/10 11:30〜
小田原 Hameeの間(ラン)
トーク (20分)

awkでつくってわかる、Webアプリケーション

yammerjp やんまー

awkは、Perlとは異なり、Webアプリケーションを作ることには向かず、昨今この用途で使われることはほとんどありません。

しかし、私はawkが好きです。諦めません。gawkはTCP/IP通信と拡張ライブラリをサポートしており、すなわちWebアプリケーションをつくれます。

そこで筆者は、以下を実装したブログシステム (https://github.com/yammerjp/awkblog) をつくりました。これはawkで実装されている点を除けば、MVCパターンのよくあるWebアプリケーションです。

HTTPサーバ
HTMLテンプレートエンジン
PostgreSQLとの通信
Cookieとセッション管理
ユニットテスト
OAuthとログイン

このセッションは、awkでの実装の紹介を通して、フレームワークやライブラリに隠蔽されたWebアプリケーションのあらゆるトピックを俯瞰します。

採択
2024/02/10 12:10〜
厳島(ダリア)
ゲストトーク (40分)

(再演) 関数型プログラミングと型システムのメンタルモデル

naoya_ito 伊藤 直也

-

採択
2024/02/10 12:10〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (40分)

Amazon ECSで好きなだけ検証環境を起動できるOSSの設計・実装・運用

fujiwara 藤原俊一郎

チームでWebサービスを開発する場合、複数の機能やデータを持つブランチが並行して開発されます。チームのメンバーなら職種を問わず、好きなだけブランチ別の環境を起動できる仕組みがあると、開発と動作確認のサイクルを高速に回すことができます。

そのような仕組みを実現するために、IaCでサーバーリソース一式を丸ごと構築すると、起動までの時間や金銭的なコストが大きくなってしまいます。

mirage-ecs(github.com/acidlemon/mirage-ecs)は、Webサービスの検証環境を誰でも、何個でも、低コストで立ち上げるためのOSSです。 「環境」はAmazon ECSのタスクとして数分で起動し、専用のURLでアクセスできるようになります。

開発者がその原理と実装、数十人の開発チームを持つ複数プロダクトにおける運用で得られた知見についてお話します。

採択
2024/02/10 12:10〜
小田原 Hameeの間(ラン)
トーク (40分)

rakulangで実装する! RubyVM

AnaTofuZ 八雲アナグラ

皆さんは普段どんなプログラミング言語を使っているでしょうか
golangなどのコンパルする言語もありますが、Perlを始めとするスクリプト言語を使っている方も多いでしょう。
現代のスクリプト言語は実行時にスクリプト言語のソースコードを、言語内独自のVMが実行可能なアセンブラのような命令にコンパイルし、その結果を実行する方式が多いです。つまり、現代においてはスクリプト言語を実装するということはほぼCPUの命令実行シーケンスを実装することと同義です。

特に最近は一部界隈ではRubyの処理系であるRubyVMを実装するのが流行っています。

本トークではRubyVMをPerl...ではなくて、Raku(旧Perl6)で実装し、Rakulangの言語の面白さとRubyVMの実装の面白さについて見ていきます。
なお現時点でコードはほとんど書いてないので当日までに完成するかは......。お楽しみに

採択
2024/02/10 14:00〜
厳島(ダリア)
ゲストトーク (40分)

理解容易性と変更容易性を支える自動テスト戦略

t_wada 和田 卓人

-

採択
2024/02/10 14:00〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (20分)

Blogを作り、育み、慈しむ - Blog Hacks 2024

songmu Songmu

ブログが好きです。20年近くのブログ歴で900以上の記事を書き、エンジニア界隈ではそこそこ知られたブロガーとなりました。

ブログきっかけで多くの縁がありました。本発表ではまずエンジニアの発信手段としてのブログについて改めて取り上げ、メリットや活用方法、長く続けるコツについてお話しします。

また、ブログには書く楽しみの他、ハックする技術的な楽しみもあります。私は、個人開発のブログエンジン(Riji)とはてなブログとで2つのブログを運営しており、それぞれ自作のOSSを活用してもいます。

本発表の後半では、ブログ運営上でのノウハウやTips、ブログ技術遍歴、関連技術についても取り上げます。余裕があれば、現代のPerlを用いてRijiを更新した姿もお見せしたい。

自分のブログを作り、メンテナンスし、運用し、そこで執筆する。本発表全体を通して、そういう私の人生の営みについてお話します。

採択
2024/02/10 14:00〜
小田原 Hameeの間(ラン)
トーク (20分)

新任エンジニアリングマネージャーのための「ぼうけんのしょ」

ar_tama あらたま

あなたは新卒N年目、リードエンジニアのポジションが板についてきた中堅エンジニアです。ある日の朝、あなたが仕事を始めるとおもむろにCTOがやってきて、にこやかにこう言いました。「君、来月からEMね!」……さてどうする!?

ソフトウェアを開発し、ユーザーに価値を届ける活動の中での肝心要、それが「チームでの協働」。
ここでは私が経験したメンバー・テックリード・マネージャー・CTOの4つのロールを切り口として、メンバーレイヤだからこそ発揮できるリーダーシップ・フォロワーシップとは?から、マネージャーロール1日目から使えるヒント、CTOへのジャンプアップに必要な準備まで、ぎゅっと濃縮してお届けします!
「チームでの協働をいい感じにしたい」「プロダクトの価値を最大最速でデリバリーしたい」と思う開発者の皆さんにとってのぼうけんのしょ=セーブポイントとなるようなトークを目指します。おたのしみに!

採択
2024/02/10 14:30〜
bitRiver/カナル・ウェブ会場(コスモス)
トーク (20分)

非同期な開発体制を支えるドキュメント文化

Konboi こんぼい

所属するLaunchable, inc.では日本とUSの双方にメンバーがおり時差や言語から同期的に開発を進める事が難しいため、非同期な開発体制をドキュメンテーションによって支えています。
本発表では、Launchableでどのようなドキュメントが書かれ、運用されているのかを紹介します。 私が書くときに考えている事/気をつけている事も併せて紹介できればと思います。

話すこと

  • なぜドキュメンテーションを大事にしているのか
  • 書かれているドキュメントの種類と運用方法の紹介
  • ドキュメント運用の難しさ
  • 30/60/90 フィードバック
  • etc

深く話さないこと

  • いい文章を書けるようになるための方法
  • 特定のツール/サービスの詳細な使い方
採択
2024/02/10 14:30〜
小田原 Hameeの間(ラン)
トーク (40分)

タワレコ店員から20年くらいエンジニアとして働いて学んだこと

koba04 Toru Kobayashi

10年以上前に「タワレコ店員からエンジニアになって思ったこと」というスライドを書きました。

そこからさらに10年が経ち、今は OSS のメンテナやプロジェクトリーダー、マネージャなどやれることも少しずつ広がってきました。
気がつけば「プログラマー35歳定年説」を超える年齢となりましたが、今でもコードを書くことを仕事として楽しんでいます。

このトークでは、これまでのキャリア(業務、OSS、転職、同僚)における失敗や成功を通じて学んだことや、大事にするようになった考え方を紹介したいと思います。
また、私自身 Perl や YAPC、コミュニティからも学んだことも多くあるのでそれについても感謝も込めて紹介できればと思います。

エンジニアとしてこれからやっていけるか不安を持っていたりキャリアに悩んでいたりする方に、大丈夫、楽しもうと思ってもらえるようなトークになればと思っています。

採択
2024/02/10 15:00〜
厳島(ダリア)
トーク (40分)

PerlでつくるフルスクラッチWebAuthn/パスキー認証

mackee_w macopy

いま私がイチオシする技術、WebAuthn/パスキーについて紹介するトークです。

しかしただ紹介するのではつまらないので、WebAuthnの仕組みを解説しながらライブコーディングを行っていきます。現代のPerlで書くので今どきのPerlの書き方もわかって一石二鳥ですね!

注意点

  • WebAuthn/パスキーの簡単な概略だけ最初に解説します
  • WebAuthnのサーバー実装を主に解説します
  • 時間の短縮のため、いわゆる「作り置き」スニペットを使用するかもしれません
  • Perlの書き方の説明は私が解説したいときにだけします
  • フルスクラッチと言っても細かい技術要素はCPANモジュールを活用します
    • 例: 署名検証, CBORのパーサーなど

対象者

  • WebAuthnを本質的に理解したい方
  • 今どきのPerlを書いている人を観察したい方