デジタルIDウォレットを利用できる環境が整備されつつあり、「高度な保証レベルと優れたユーザー体験を備えた身元確認」が実現する未来がすぐそこまで迫ってきています。
「日本でのApple Walletの身分証明書機能の展開」のニュースのように、マイナンバーカードのスマートフォン搭載は、これまで以上に一般的になっていくでしょう。また、一般的なサービスがウォレットを利用する方法も、AppleのVerify with Wallet APIを始めとして、AndroidやWebでも準備が進んでいます。
本発表では、現状を振り返りつつ、開発者として今後この状況を楽しみ尽くすための知識として、ユーザー体験の概略や、HPKE(RFC 9180)、mDL/mdoc(ISO/IEC 18013-5)について解説します。また、プロダクトへの応用やもっと先の期待したい未来の話にも触れていきます。
バックアップはITシステム運用の基礎中の基礎です。本セッションでは、バックアップの重要性と基本的な概念から、効果的なバックアップ戦略の立案と実施までを解説します。初めてバックアップに取り組む方や、現在のバックアップ方法に不安を感じている方に最適です。本セッションでは実際の事例を交えながら、バックアップの失敗談とその回避策についても触れ、参加者が直面しがちな課題に対する具体的なアドバイスを提供します。セッション後には、信頼性の高いバックアップ戦略を立案し、実行するための自信を持てるようになることを目指します。
内容
カンファレンスって楽しいですよね。同好の士が集まる場があるということは、それだけで私たちをワクワクさせてくれます。
では、自分でやってみたいなと思ったこと、ありませんか?カンファレンスと言わずとも、何人かで集まって、お互いに知見を交換し合ったり、お悩みを相談し合ったり…そういった場に、何かしらの形で関われたら…と思ったことは?
このトークでは、私が勉強会やカンファレンスに飛び込んだり、立ち上げたり、広げたり、誰かに託したり、諦めたり、そして人生が変わったり(!)してきた経験から、そんな皆さんの後押しになるかもしれないエッセンスを、「今日の懇親会で早速使える小技」なんかも挟みつつお伝えします。
YAPCは、みんなで作るお祭り。今日のこの場は、運営の皆さんの「やっていき」と、私を含む全員の「のっていき」の連鎖によって作り上げられた場です。
あなたも、ほんのちょっとだけ勇気を出してみませんか?
現代のソースコードのエラー分析やフォーマットなどの機能はその多くがエディターの拡張機能ではなく、LSP(Language Server Protocol)を介して言語サーバーと通信することで実現しています。
これにより1つの言語サーバーから、様々なエディターでその言語のコード記述の支援機能を提供しています。
言語サーバーは開発しやすさや利用者の開発環境の状況からTypeScriptで書かれることが多いですが、LSPに沿ってさえいればPerlでも実装することができます。
本セッションではPerlを使ってVSCodeで動くPerlの言語サーバーを実装する方法をお話しします。
対象
話さないこと
Mutation Testingとは、プロダクションコードに対するテストコードがどれだけ十分に書かれているか?という観点から、テストコードの品質自体を評価するテスト手法です。
これまでのプロダクションコードの品質のみを担保するのではなく、一歩進んでテストコードの品質をも担保しようという比較的新しい観点です。
これを導入することで何がよいかというと、見かけ上のコードカバレッジが高く、全般的にテストコードが網羅できていたとしても、テストコードが正しく書けているとは限らないのですが、その部分を簡単に検出できるということです。
今回は「Mutation Testingとは?」という詳しいお話から始め、実際にMutation TestingをJavaScript,PHPに導入するまでの道のりや、その際に直面した問題点、その問題点をどうクリアしたか?なども含めてお話しできればと思います。
本セッションでは、分散システムのような複雑な仕様や動作を持つプログラムに対して、様相論理を用いてその仕様を記述し検査する技術について解説します。
我々はシステムの仕様を保証する際、テスト設計や自動化ツールのような、仕様を「テストする」ための方法論を考えがちです。しかし、その前に仕様が「記述できる」ことが前提であり、これは決して自明ではありません。例えば、分散システムに対して「一部のサーバが落ちてもいつか回復する」といった性質なんて一体どうしたら表現できるのでしょうか?
複雑なシステムの仕様を考える上で、自然言語による曖昧性を排した「共通言語」を定義したいという動機は、古くから現在に至るまで、研究と実用が交わる大きなテーマの一つであり続けています。本セッションではこのような「共通言語」としての様相論理について、自分では手を出しづらいあなたのために、しかしできるだけ誤魔化さず解説します。
プログラミング言語AWK第2版の発売やシェルスクリプトのテクニックなどが以前に比べて多くみられるようになっています。一時的なスクリプトを作るには少々手間なコンパイル言語が普及してきたことや、さまざまなバックグラウンドを持った人でも読めるようなリンガフランカとしてこれらの軽量なスクリプト実行環境が用いられてきたと考えています。
しかし元々そのポジションにいたのはperlコマンドではないでしょうか? CGI時代の影響からかPerlはWebアプリケーションを書くための歴史的な言語であるという認識が広くみられますが、本来得意なのはテキスト処理です。またコマンド同士を繋げるグルー言語としても非常に有効に機能します。
このトークではawk,sedとの互換性、もしシェルスクリプトをPerlに置き換える場合などを例に、Perlを採用するメリット・デメリットを述べていきます。
スタートアップのQAエンジニアとして、品質マネジメントを行っています。
このトークでは、アンチパターンとベストプラクティスを交えて、
品質マネジメントにおけるリスクマネジメントの勘所である"プロジェクトリスク"と"プロダクトリスク"の見分け方ををお伝えします。
〈話すこと〉
・JSTQBに基づくリスクマネジメントの概要
・リスクが顕在化する要因と開発プロセスへの影響(実例)
・プロジェクトリスクとプロダクトリスクの違い
・リスク識別のベストプラクティス(自社の取り組み)
・今、必要とされる品質と品質マネジメントの必要性
皆さんが未来のリスクマネジメントに役立てられることを願い、一般論と経験を交えて説明します。
プログラム上で非決定的な要素、例えばPromiseなどを扱うことは多いでしょう。非決定的な要素は扱うのは難しい印象がありますが、一方で現在から続いている未来の可能性とも理解できます。この可能性を継続渡しという手法でプログラム上で表現できます。
このセッションでは継続渡しという関数型プログラミングの考えを始めから解説し、try ~ catchやパターンマッチングの面白さを伝えます。また、デザインパターンとの比較を交えつつ、その特徴を探っていきます。
特に初心者の方に、プログラミングで表現できることの広さと、日々の業務では遭遇しないコードを味わっていただけるお話をします。
突然ですが、サービスの中で最も寿命が長い要素は一体何でしょうか?おそらくそれは「永続化されたデータ」のはずです。コードは少しづつ改善していくことが可能ですが、データ、特にユーザーのアクション起因で保存されるものは全く変わらないこともあるでしょう。
しかし、例えばサービスをリニューアルするとなった場合に、永続化されたデータをそのまま利用することは可能でしょうか?リニューアルにあたって、データ構造を変えたくなることもあるでしょう。
とはいえ、どのように進めるとよいでしょうか?
このトークでは、複数のサービスリニューアルと、それに伴うデータの引越し経験を元に以下の点についてお話しします
また、 これまでの経験を元に、少しでも長くサービスを運用していくためのポイントも考察していきます。
本トークでは、私たちが Architecture Decision Record (ADR) を導入してからの 3 年間の経験と学びを振り返ります。今では社内の複数の開発チームに導入されている手法です。
ADR を導入する前の期待と、実際の成果、また運用中にどのような課題が生じ、どのように対処してきたかを共有します。
ADR を運用してきた実際の経験を共有することで、ADR の運用に対する理解を深め、他の開発チームが同様の手法を導入する助けになることを目指しています。
"AI"の発展でますます「何にでも答えてくれる」存在として使われつつある電子計算機ですが、「計算機」が根源的に扱うのは今も昔も数値。 情報処理 ≡ 数値処理 なのは今も昔も変わらないのですが、それゆえに今も昔も変わらないのが「一個ずれる」(off-by-one)エラー。本talkでは筆者が実際に体験した二つ(以上?)の実例を通して、視聴者のみなさまにもその悲哀を共有していただきます。ちなみにどちらも見事 Perl 本体のバグも踏み抜きました。
あなたは最近「顧客提供価値が大事」とかいう言葉のもとに、新しい技術や攻めた設計をあきらめていませんか?
私たちエンジニアにとって、顧客の要望に応えることはもちろん重要です。
しかし、それが理由で自分たちの技術的な理想を諦めるべきなのでしょうか?
私はそうは思いません。
このセッションでは、誰になんと言われても「いい開発環境」を作りたくて頑張っている私の取り組みと、その成果についてお話しします。
このセッションを通じて、最新の技術トレンドを追いかけることと、堅牢な設計を維持することのバランスをどう取ってきたか、そしてそれがチームやプロジェクトにどのように役立ったかを共有します。
このセッションで触れる内容
・devcontainersを活用した開発環境構築
・PlanetScaleなどのサーバーレスDB
・なにより「エンジニアにとって楽しいことってなに?」ということ
私は2003年からperldocjpプロジェクトでのPerlドキュメントの翻訳に参加し、現在まで更新し続けています。
言語のドキュメントは、分量があるだけでなく、定期的に更新されるため、翻訳をそれに追随させ続けるための工夫が必要になります。
このセッションでは、このようなドキュメントを翻訳し、それを更新し続けるために行った技術選択や工夫、作業を助けるために作成した小物ツールについて概説します。
※ 実例はPerlのものですが、考え方は他の環境でも応用できる内容を想定しています。
2024年。令和も6年になりました。みなさんPerlでプログラミングしてますか? 私はPerlで色々書いてます。
様々なプログラミング言語には様々なコーディングガイドがあります。それはだいたい最新機能やカッコいい書き方が紹介されています。
しかし、Perlでインターネットを検索すると未だに「use strictしましょう」がナウでヤングな情報として扱われてはいませんか?
本トークでは令和最新版のPerlコーディングガイドを実際にプロダクトで動作しているバージョン5.40のPerlを題材にご紹介します。
これを聞けばナウでヤングなPerlの書き方がわかるでしょう。
本トークではサーバーコンポーネントなど新しい概念が登場しているフロントエンドの今について紹介し、それを元に未来について考えたいと思います。
個々のトピックの技術的な内容についても触れますが、それらがなぜ登場しどういった問題を解決しようとしているのかについてを取り上げることで、フロントエンドの今とこれからについてを「点ではなく線」で捉えられるようになることを本トークの狙いとしています。
取り上げるテーマとしては
フロントエンドエンジニアで普段触れている技術を俯瞰的に捉えたい方や、フロントエンドエンジニアではないけどフロントエンドの最近の技術や変化を把握したい人にとって役に立つ内容にしたいと思います。
perlbrew の開発者です。
perlbrew 1.0以降の未来の世界について紹介します。今までの機能は守りの上、様々の開発環境に合わせるようになる perlbrew は、今回パッケージングツールになります。
perl は十徳チェーンソーと呼ばれであれば、perlbrew はその名に負けないぐらいの機能を持ちべき。あらゆるの方向に進行し、いよいよ環境構築の万能ツールになります。
はったりもあるかも知れないが、未来の話には楽しんでください。
Slide => https://hackmd.io/@gugod/rkPZyOotA#/
リアルタイム通信。そう聞いてあなたが思い浮かべる技術はなんでしょうか?
WebSocket?WebRTC?SSE?
この質問であまり名前が上がらないWebTransport。この技術はHTTP/3およびQUICをベースとした次世代のリアルタイム通信プロトコルです。比較的新しい技術であるため、周辺ライブラリや導入事例もまだ多くはありません。しかし、低遅延かつ高効率なデータ転送を可能とするこの技術は、ライブストリーミングなどのリアルタイムアプリケーションにおいて大きな可能性を秘めています。本トークでは、WebTransportの基本的な仕組みと特徴を紹介し、簡単なデモを通じて従来の技術と違いを体験してもらいます。また、私が現在作っているWebTransportを簡単に使うためのライブラリについても紹介します。
証明して見せましょう!WebTransportはもはや未来の技術ではないということを
前身のasm.jsを含めると、WebAssembly(以下Wasm)が登場してから10年近く経過しました。ブラウザでCのプログラムが動作する「おもちゃ」として認知され、vimやffmpegが大きな変更もなく移植されブラウザで動作する様子は、当時見た人にとっては異様な光景に映ったかもしれません。
Dockerを中心としたコンテナ技術もまた10年近くの歴史があります。創業メンバーの1人でCTOも務めたSolomon Hykesが「Wasmが当時存在していたらDockerを作成する必要はなかった」、と発言したことは有名な話ですが、その言葉の意味を真に理解している人は意外に少ないように思います。
本セッションでは、WasmやDockerの出自や現状を振り返りつつ、これらがどのように交差し、これからどのような道を辿っていくのかについて、スピーカーの私見も交えながらお話しようと思います。
皆さんが日々お買い物に使っているクレジットカード、どうやってできているか知っていますか?
クレジットカードの中には様々なセキュア情報や決済するにあたって重要な情報が詰まっています。身近に決済として使っているクレジットカードがどのような工程を経て製造されているか、また製造過程においてどのようなシステムを構築して製造しているかなどをカード発行事業を行ってきた得た知見を元に紹介します。
具体的に以下のような内容をお話しする予定です。