採択
2024/10/04 17:40〜
前夜祭
トーク (20分)

デジタルIDウォレットが切り開くHigh Assurance Identity Proofingの未来

kokukuma kokukuma

デジタルIDウォレットを利用できる環境が整備されつつあり、「高度な保証レベルと優れたユーザー体験を備えた身元確認」が実現する未来がすぐそこまで迫ってきています。

「日本でのApple Walletの身分証明書機能の展開」のニュースのように、マイナンバーカードのスマートフォン搭載は、これまで以上に一般的になっていくでしょう。また、一般的なサービスがウォレットを利用する方法も、AppleのVerify with Wallet APIを始めとして、AndroidやWebでも準備が進んでいます。

本発表では、現状を振り返りつつ、開発者として今後この状況を楽しみ尽くすための知識として、ユーザー体験の概略や、HPKE(RFC 9180)、mDL/mdoc(ISO/IEC 18013-5)について解説します。また、プロダクトへの応用やもっと先の期待したい未来の話にも触れていきます。

11
採択
2024/10/04 18:00〜
前夜祭
トーク (20分)

入門 バックアップ ~ データ保護の基礎から実践まで ~

ryuichi_1208 渡部龍一

バックアップはITシステム運用の基礎中の基礎です。本セッションでは、バックアップの重要性と基本的な概念から、効果的なバックアップ戦略の立案と実施までを解説します。初めてバックアップに取り組む方や、現在のバックアップ方法に不安を感じている方に最適です。本セッションでは実際の事例を交えながら、バックアップの失敗談とその回避策についても触れ、参加者が直面しがちな課題に対する具体的なアドバイスを提供します。セッション後には、信頼性の高いバックアップ戦略を立案し、実行するための自信を持てるようになることを目指します。

内容

  • バックアップの基本概念:何をバックアップするべきか?
  • バックアップの種類:フルバックアップ、増分バックアップ、差分バックアップの違い
  • バックアップのスケジュールと保管方法:適切な頻度と保管場所の選定
  • 復旧手順:バックアップデータを利用したリカバリの基本ステップ
6
採択
2024/10/04 19:50〜
前夜祭
トーク (20分)

小さな勉強会の始め方、広げ方、あるいは友達の作り方

ar_tama あらたま

カンファレンスって楽しいですよね。同好の士が集まる場があるということは、それだけで私たちをワクワクさせてくれます。
では、自分でやってみたいなと思ったこと、ありませんか?カンファレンスと言わずとも、何人かで集まって、お互いに知見を交換し合ったり、お悩みを相談し合ったり…そういった場に、何かしらの形で関われたら…と思ったことは?

このトークでは、私が勉強会やカンファレンスに飛び込んだり、立ち上げたり、広げたり、誰かに託したり、諦めたり、そして人生が変わったり(!)してきた経験から、そんな皆さんの後押しになるかもしれないエッセンスを、「今日の懇親会で早速使える小技」なんかも挟みつつお伝えします。
YAPCは、みんなで作るお祭り。今日のこの場は、運営の皆さんの「やっていき」と、私を含む全員の「のっていき」の連鎖によって作り上げられた場です。
あなたも、ほんのちょっとだけ勇気を出してみませんか?

22
採択
2024/10/05 12:00〜
Track A
トーク (20分)

PerlのPerlによるPerlのための言語サーバーを作る

koluku koluku

現代のソースコードのエラー分析やフォーマットなどの機能はその多くがエディターの拡張機能ではなく、LSP(Language Server Protocol)を介して言語サーバーと通信することで実現しています。
これにより1つの言語サーバーから、様々なエディターでその言語のコード記述の支援機能を提供しています。
言語サーバーは開発しやすさや利用者の開発環境の状況からTypeScriptで書かれることが多いですが、LSPに沿ってさえいればPerlでも実装することができます。

本セッションではPerlを使ってVSCodeで動くPerlの言語サーバーを実装する方法をお話しします。

対象

  • 言語サーバーを作ってみたい人
  • Perlを触るのが初めての人

話さないこと

  • Perlの厳密な文法
11
採択
2024/10/05 12:00〜
Track B
トーク (20分)

テストコードの品質を客観的な数値で担保しよう 〜Mutation Testingのすすめ〜

ysknsid25 Kanon

Mutation Testingとは、プロダクションコードに対するテストコードがどれだけ十分に書かれているか?という観点から、テストコードの品質自体を評価するテスト手法です。

これまでのプロダクションコードの品質のみを担保するのではなく、一歩進んでテストコードの品質をも担保しようという比較的新しい観点です。

これを導入することで何がよいかというと、見かけ上のコードカバレッジが高く、全般的にテストコードが網羅できていたとしても、テストコードが正しく書けているとは限らないのですが、その部分を簡単に検出できるということです。

今回は「Mutation Testingとは?」という詳しいお話から始め、実際にMutation TestingをJavaScript,PHPに導入するまでの道のりや、その際に直面した問題点、その問題点をどうクリアしたか?なども含めてお話しできればと思います。

採択
2024/10/05 12:00〜
Track C
トーク (20分)

普通の Web エンジニアのための様相論理入門

y_taka_23 チェシャ猫

本セッションでは、分散システムのような複雑な仕様や動作を持つプログラムに対して、様相論理を用いてその仕様を記述し検査する技術について解説します。

我々はシステムの仕様を保証する際、テスト設計や自動化ツールのような、仕様を「テストする」ための方法論を考えがちです。しかし、その前に仕様が「記述できる」ことが前提であり、これは決して自明ではありません。例えば、分散システムに対して「一部のサーバが落ちてもいつか回復する」といった性質なんて一体どうしたら表現できるのでしょうか?

複雑なシステムの仕様を考える上で、自然言語による曖昧性を排した「共通言語」を定義したいという動機は、古くから現在に至るまで、研究と実用が交わる大きなテーマの一つであり続けています。本セッションではこのような「共通言語」としての様相論理について、自分では手を出しづらいあなたのために、しかしできるだけ誤魔化さず解説します。

11
採択
2024/10/05 12:25〜
Track A
トーク (20分)

perl for shell, awk, sed programmers

mackee_w macopy

プログラミング言語AWK第2版の発売やシェルスクリプトのテクニックなどが以前に比べて多くみられるようになっています。一時的なスクリプトを作るには少々手間なコンパイル言語が普及してきたことや、さまざまなバックグラウンドを持った人でも読めるようなリンガフランカとしてこれらの軽量なスクリプト実行環境が用いられてきたと考えています。

しかし元々そのポジションにいたのはperlコマンドではないでしょうか? CGI時代の影響からかPerlはWebアプリケーションを書くための歴史的な言語であるという認識が広くみられますが、本来得意なのはテキスト処理です。またコマンド同士を繋げるグルー言語としても非常に有効に機能します。
このトークではawk,sedとの互換性、もしシェルスクリプトをPerlに置き換える場合などを例に、Perlを採用するメリット・デメリットを述べていきます。

12
採択
2024/10/05 12:25〜
Track B
トーク (20分)

品質マネジメントで抑えておきたい2つのリスクを見分けて未来に備えよう

makky_tyuyan 巻 宙弥

スタートアップのQAエンジニアとして、品質マネジメントを行っています。
このトークでは、アンチパターンとベストプラクティスを交えて、
品質マネジメントにおけるリスクマネジメントの勘所である"プロジェクトリスク"と"プロダクトリスク"の見分け方ををお伝えします。

〈話すこと〉
・JSTQBに基づくリスクマネジメントの概要
・リスクが顕在化する要因と開発プロセスへの影響(実例)
・プロジェクトリスクとプロダクトリスクの違い
・リスク識別のベストプラクティス(自社の取り組み)
・今、必要とされる品質と品質マネジメントの必要性

皆さんが未来のリスクマネジメントに役立てられることを願い、一般論と経験を交えて説明します。

14
採択
2024/10/05 12:25〜
Track C
トーク (20分)

未来は現在からの継続

プログラム上で非決定的な要素、例えばPromiseなどを扱うことは多いでしょう。非決定的な要素は扱うのは難しい印象がありますが、一方で現在から続いている未来の可能性とも理解できます。この可能性を継続渡しという手法でプログラム上で表現できます。

このセッションでは継続渡しという関数型プログラミングの考えを始めから解説し、try ~ catchやパターンマッチングの面白さを伝えます。また、デザインパターンとの比較を交えつつ、その特徴を探っていきます。

特に初心者の方に、プログラミングで表現できることの広さと、日々の業務では遭遇しないコードを味わっていただけるお話をします。

5
採択
2024/10/05 13:50〜
Track B
トーク (20分)

データマイグレーションの成功戦略:サービスリニューアルで失敗しないための実践ガイド

tkzwtks 瀧澤崇

突然ですが、サービスの中で最も寿命が長い要素は一体何でしょうか?おそらくそれは「永続化されたデータ」のはずです。コードは少しづつ改善していくことが可能ですが、データ、特にユーザーのアクション起因で保存されるものは全く変わらないこともあるでしょう。
しかし、例えばサービスをリニューアルするとなった場合に、永続化されたデータをそのまま利用することは可能でしょうか?リニューアルにあたって、データ構造を変えたくなることもあるでしょう。
とはいえ、どのように進めるとよいでしょうか?

このトークでは、複数のサービスリニューアルと、それに伴うデータの引越し経験を元に以下の点についてお話しします

  • リニューアルにあたって、どこから手をつけるか
  • 移行作業、その準備の進め方
  • 実際の事例

また、 これまでの経験を元に、少しでも長くサービスを運用していくためのポイントも考察していきます。

4
採択
2024/10/05 13:50〜
Track C
トーク (20分)

ADRを運用して3年経った僕らの現在地

onk Takafumi ONAKA (onk)
onk

本トークでは、私たちが Architecture Decision Record (ADR) を導入してからの 3 年間の経験と学びを振り返ります。今では社内の複数の開発チームに導入されている手法です。
ADR を導入する前の期待と、実際の成果、また運用中にどのような課題が生じ、どのように対処してきたかを共有します。

  • ADR 導入の背景と目的
  • ADR 運用の実践
    • ADR のテンプレート
    • 記録のツールやプロセス
    • チーム内でのレビュー方法や共有方法
  • ADR の成果
    • 意思決定の記録が残ることの意義
    • コミュニケーション面の改善
  • 直面した課題と解決
    • いろいろある
  • 今後の展望

ADR を運用してきた実際の経験を共有することで、ADR の運用に対する理解を深め、他の開発チームが同様の手法を導入する助けになることを目指しています。

9
採択
2024/10/05 14:15〜
Track A
トーク (20分)

off by one - 10年ぶりに CPAN Module を Update した理由

dankogai Dan Kogai

"AI"の発展でますます「何にでも答えてくれる」存在として使われつつある電子計算機ですが、「計算機」が根源的に扱うのは今も昔も数値。 情報処理 ≡ 数値処理 なのは今も昔も変わらないのですが、それゆえに今も昔も変わらないのが「一個ずれる」(off-by-one)エラー。本talkでは筆者が実際に体験した二つ(以上?)の実例を通して、視聴者のみなさまにもその悲哀を共有していただきます。ちなみにどちらも見事 Perl 本体のバグも踏み抜きました。

  • 計算機(Computers)にとって数値(Numbers)とは何か?
    • 整数 (Integers)
    • 浮動小数点数 (Floating Point Numbers)
  • 例-0: JSONの数値が復元できない!
  • 例+0: 負のデバイス番号?
7
採択
2024/10/05 14:15〜
Track B
トーク (20分)

誰になんと言われても「いい開発環境」を作りたくて頑張っている話

myfinder Tatsuro Hisamori

あなたは最近「顧客提供価値が大事」とかいう言葉のもとに、新しい技術や攻めた設計をあきらめていませんか?
私たちエンジニアにとって、顧客の要望に応えることはもちろん重要です。
しかし、それが理由で自分たちの技術的な理想を諦めるべきなのでしょうか?
私はそうは思いません。

このセッションでは、誰になんと言われても「いい開発環境」を作りたくて頑張っている私の取り組みと、その成果についてお話しします。
このセッションを通じて、最新の技術トレンドを追いかけることと、堅牢な設計を維持することのバランスをどう取ってきたか、そしてそれがチームやプロジェクトにどのように役立ったかを共有します。

このセッションで触れる内容
・devcontainersを活用した開発環境構築
・PlanetScaleなどのサーバーレスDB
・なにより「エンジニアにとって楽しいことってなに?」ということ

6
採択
2024/10/05 14:15〜
Track C
トーク (20分)

言語ドキュメントを翻訳し、未来に向けて更新し続ける技術 ~perldocjpを例に~

argrath 白方健太郎

私は2003年からperldocjpプロジェクトでのPerlドキュメントの翻訳に参加し、現在まで更新し続けています。

言語のドキュメントは、分量があるだけでなく、定期的に更新されるため、翻訳をそれに追随させ続けるための工夫が必要になります。

このセッションでは、このようなドキュメントを翻訳し、それを更新し続けるために行った技術選択や工夫、作業を助けるために作成した小物ツールについて概説します。

※ 実例はPerlのものですが、考え方は他の環境でも応用できる内容を想定しています。

3
採択
2024/10/05 14:50〜
Track B
トーク (20分)

令和最新版Perlコーディングガイド

AnaTofuZ 八雲アナグラ

2024年。令和も6年になりました。みなさんPerlでプログラミングしてますか? 私はPerlで色々書いてます。
様々なプログラミング言語には様々なコーディングガイドがあります。それはだいたい最新機能やカッコいい書き方が紹介されています。
しかし、Perlでインターネットを検索すると未だに「use strictしましょう」がナウでヤングな情報として扱われてはいませんか?

本トークでは令和最新版のPerlコーディングガイドを実際にプロダクトで動作しているバージョン5.40のPerlを題材にご紹介します。
これを聞けばナウでヤングなPerlの書き方がわかるでしょう。

内容

  • ローカル開発環境
  • builtin, use feature
  • 型システム
  • cpanfile
  • 様々な最近の機能
    • レキシカルサブルーチン
    • try/catch
  • CPANモジュール
8
採択
2024/10/05 14:50〜
Track C
トーク (20分)

フロントエンドの現在地とこれから

koba04 Toru Kobayashi

本トークではサーバーコンポーネントなど新しい概念が登場しているフロントエンドの今について紹介し、それを元に未来について考えたいと思います。

個々のトピックの技術的な内容についても触れますが、それらがなぜ登場しどういった問題を解決しようとしているのかについてを取り上げることで、フロントエンドの今とこれからについてを「点ではなく線」で捉えられるようになることを本トークの狙いとしています。

取り上げるテーマとしては

  • サーバーとフロントエンドの関係はどうなっていくのか
  • バンドラが果たす役割
  • エコシステムの変化
  • Reactの次
  • フロントエンドとは何を指すのか
    辺りを想定しています。

フロントエンドエンジニアで普段触れている技術を俯瞰的に捉えたい方や、フロントエンドエンジニアではないけどフロントエンドの最近の技術や変化を把握したい人にとって役に立つ内容にしたいと思います。

13
採択
2024/10/05 15:15〜
Track B
トーク (20分)

perlbrew 3000!

gugod gugod

perlbrew の開発者です。

perlbrew 1.0以降の未来の世界について紹介します。今までの機能は守りの上、様々の開発環境に合わせるようになる perlbrew は、今回パッケージングツールになります。

perl は十徳チェーンソーと呼ばれであれば、perlbrew はその名に負けないぐらいの機能を持ちべき。あらゆるの方向に進行し、いよいよ環境構築の万能ツールになります。

はったりもあるかも知れないが、未来の話には楽しんでください。

Slide => https://hackmd.io/@gugod/rkPZyOotA#/

採択
2024/10/05 15:15〜
Track C
トーク (20分)

WebTransportは未来の技術?

Kizuku_tech Kizuku

リアルタイム通信。そう聞いてあなたが思い浮かべる技術はなんでしょうか?
WebSocket?WebRTC?SSE?
この質問であまり名前が上がらないWebTransport。この技術はHTTP/3およびQUICをベースとした次世代のリアルタイム通信プロトコルです。比較的新しい技術であるため、周辺ライブラリや導入事例もまだ多くはありません。しかし、低遅延かつ高効率なデータ転送を可能とするこの技術は、ライブストリーミングなどのリアルタイムアプリケーションにおいて大きな可能性を秘めています。本トークでは、WebTransportの基本的な仕組みと特徴を紹介し、簡単なデモを通じて従来の技術と違いを体験してもらいます。また、私が現在作っているWebTransportを簡単に使うためのライブラリについても紹介します。
証明して見せましょう!WebTransportはもはや未来の技術ではないということを

10
採択
2024/10/05 15:50〜
Track B
トーク (20分)

CloudNative Meets WebAssembly: Wasm's Potential to Replace Containers

_inductor_ inductor

前身のasm.jsを含めると、WebAssembly(以下Wasm)が登場してから10年近く経過しました。ブラウザでCのプログラムが動作する「おもちゃ」として認知され、vimやffmpegが大きな変更もなく移植されブラウザで動作する様子は、当時見た人にとっては異様な光景に映ったかもしれません。

Dockerを中心としたコンテナ技術もまた10年近くの歴史があります。創業メンバーの1人でCTOも務めたSolomon Hykesが「Wasmが当時存在していたらDockerを作成する必要はなかった」、と発言したことは有名な話ですが、その言葉の意味を真に理解している人は意外に少ないように思います。

本セッションでは、WasmやDockerの出自や現状を振り返りつつ、これらがどのように交差し、これからどのような道を辿っていくのかについて、スピーカーの私見も交えながらお話しようと思います。

14
採択
2024/10/05 15:50〜
Track C
トーク (20分)

クレジットカードを製造する技術

yutadayo Yuta Horii

皆さんが日々お買い物に使っているクレジットカード、どうやってできているか知っていますか?
クレジットカードの中には様々なセキュア情報や決済するにあたって重要な情報が詰まっています。身近に決済として使っているクレジットカードがどのような工程を経て製造されているか、また製造過程においてどのようなシステムを構築して製造しているかなどをカード発行事業を行ってきた得た知見を元に紹介します。

具体的に以下のような内容をお話しする予定です。

  • カードに含まれるセキュアデータとして、どのようなデータを取り扱い、設定しているか
  • カードの製造工程がどんなもので、どのようにプロジェクトを進めて製造が進んでいくのか
  • カードを製造するために作っているシステム基盤の概要
23