2024年2月9、10日、広島国際会議場(広島)にて、YAPC::Hiroshima 2024 の前夜祭・本編・懇親会が開催されました。
コロナ禍を過ぎて、再び完全オフラインでの開催となったYAPC::Japan。初めて中国地方・広島での開催となり、本編参加者には過去最大規模の448名の参加者が集まり、改めてYAPCというコミュニティが持つ熱量の大きさ、技術を楽しみたい人たちの期待を体感できる場となりました。
写真 多くの来場者が足早に本編受付を行った(写真提供:Japan Perl Association)
今回は本編の会場:厳島(ダリア)のセッションを中心に、その模様をお届けします。
「what you like」の気持ちで――オープニングメッセージ
オープニングを担当したのは広島在住の@chanyou0311 氏。
写真 「ようこそ広島へ!!」のメッセージで本編が開幕(写真提供:Japan Perl Association)
写真 オープニングを担当したのは広島在住の@chanyou0311氏。(写真提供:Japan Perl Association)
今回の開催となった広島といえば「お好み焼き」が名産です。オープニングでは、今回のYAPC::Hiroshima 2024は、「 what you like」 、日本語にして「お好み」がテーマであることが紹介されました。この「お好み」には、職種、ロール、プログラミング言語、技術要素などなど、さまざまな項目が含まれ、技術を楽しみたいYAPC参加者、それぞれの「お好み」を楽しんでくださいというメッセージとともに、今回のYAPC::Hiroshima 2024本編が開幕しました。
コミュニティの意義・ 価値からレジェンドが積み重ねてきたインターネットまで
それでは、会場:厳島(ダリア)で行われたゲストスピーカー のセッションの模様を中心にお届けします。
コミュニティと共に生きる - キャリアの螺旋と人生を変えた瞬間
最初に登場したのは、広島出身のエンジニアで、現在Have Fun Tech LLC代表社員・株式会社リンケージCTOを務める曽根壮大氏(soudai1025 ) 。セッションのテーマは同氏自身のこれまでのキャリアにも多大な影響を与えてきた「コミュニティ」について。
写真 広島出身のエンジニアで、現在Have Fun Tech LLC代表社員・株式会社リンケージCTOを務める曽根壮大氏(写真提供:Japan Perl Association)
壮大氏は、自身がこれまでエンジニアコミュニティに参加して得られた実体験から、エンジニアコミュニティが持つ魅力・可能性について、「 コミュニティに触れることで新たな出会いが生まれ、出会いには人生を変える力がある」と力強くコメントしました。
中でも多くの方たちから伝えてもらえた言葉・メッセージには大きな力がある、と壮大氏は述べました。たとえば、その1つとして、2010年7月に開催された第一回オープンラボ備後に参加した際に先輩エンジニアであるひら氏から伝えれた「そーだい君はまだ自分の柱を決めてないの?僕が25歳のときには、もうLinuxカーネルで生きていくって決めてたよ」というメッセージは、今の自分自身のエンジニア人生に多大なる影響を与えてくれたとのこと。
こうした、コミュニティ内で出会った多くのハッカーたちとの出会いが自分の新しい道を気づかせてくれ、その経験があるからこそ、コミュニティにはまり、自ら接触機会を増やしてチャンスを増やすことができたと言います。
これらのコミュニティとともにキャリアの螺旋を登ってきたことを体験談としてまとめ、また、ある程度のキャリアを積んできた今だからこそ意識していることの1つに恩送りがあるそう。
これは、オープンラボ備後にてOsamu Yumimoto氏から送られた「僕に恩返ししたいなら、次の人に水の場所を教えてあげて」というメッセージ。ここには、恩を受けた人に恩返しをするのではなく、次は壮大氏に、誰か悩んでいたり迷っている人のサポートや助言をしてほしいという意味が込められています。
壮大氏はこのエピソードを「コミュニティを通して、恩送りの螺旋に自ら巻き込まれる」と表現しました。
最後に、コミュニティの出会いでチャンスを増やし、そのチャンスで自分を変えるためのヒントとして、はてな大西氏が述べた「手を動かした者だけが、世界を変える」というメッセージを引用し、コミュニティをテーマにしたオープニングセッションを締めくくりました。
経営・ 意思・ エンジニアリング
続いて登壇したのは、株式会社LayerX CTOの松本勇気氏(@y_matsuwitter ) 。同氏が所属するLayeXは「すべての経済活動を、デジタル化する。」をミッションとし、多くの企業・組織のDXおよびDX関連について技術面からサポートする企業。
写真 株式会社LayerX CTOの松本勇気氏(写真提供:Japan Perl Association)
その中で、松本氏はCTOの立場でどのような取り組みを考え、実践しているのか「経営・意思・エンジニアリング」というタイトルでセッションを行いました。
松本氏は冒頭にて「今回のセッションの内容を決めた背景には、キャリアスタートからの約12年間、一貫してCTOを務めていることがあります」と述べました。
CTOを12年間担当してきた中で実感したこととして「ソフトウェア的思考は経営に活きる」と強く実感したとのこと。ここ3年は経営の考え方について、「ソフトウェアと経営について」をテーマにしたnote を公開しています。
そして、「 CTO、すなわち技術者であることに立脚した経営者というあり方を通じて、ソフトウェア開発の延長に経営があることを知ってもらいたいです」と自身が思うCTOの強み、エンジニアの強みについて説明を始めました。
さらに、エンジニア的視点で経営を分解し、説明を始めました。松本氏が考えるCTOの経営は「議場、組織、技術の3つの変数」と「顧客(提供価値) 、社員・仲間(幸福・自己実現) 、投資家(収益性・成長性) 、社会(長期・持続的、善)という4つの制約」によるエンジニアリングと言います。
この3つの変数と4つの制約に対して、ソフトウェア・エンジニアリングの思考で全体設計をすることで、継続的な事業成長が生み出せると考えているそう。
一方で、単に分析・解析、設計するだけではなく、その根本には「楽しさ」が大切だという点も強調しました。
LayerX自体も、この全体設計+楽しさをもとに構造化され、組織やプロダクトの実装を行っているとのこと。
最後に、改めてソフトウェア以外を対象とした、ソフトウェア・エンジニアリングの価値、また、エンジニアだからこそわかるその魅力について紹介し、さまざまなエンジニアの職域の中でも、実体験としてのCTOというポジションの楽しさを紹介し、セッションを終えました。
関数型プログラミングと型システムのメンタルモデル
ランチ前、最後のセッションは株式会社一休 執行役員CTOの伊藤直也氏(@naoya_ito )による「関数型プログラミングと型システムのメンタルモデル」です。このセッションは、Qiita Conference 2023 Autumnのキーノートをベースにした再演の形で、改めて発表が行われました。
写真 株式会社一休 執行役員CTOの伊藤直也氏(写真提供:Japan Perl Association)
このテーマの背景として、伊藤氏自身の体験が元になっているところから始まりました。以前、Haskellを趣味で書くようになった際、昨今のプログラミング言語における「型」の捉え方について、自身のメンタルモデルが更新されたことがきっかけで、最近は当時と異なるメンタルモデルを持っているとのこと。
なお、メンタルモデルとは、元々は認知心理学の専門用語で、人間の経験や周辺環境、関わる文化などから形成される認知を意味します。そして、同じ状況だったとしても、その状況に身を置く人によって認知(メンタルモデル)の違いが生じます。
伊藤氏はプログラミングの「メンタルモデル」について、この領域自体がまだまだ発展中であり、教育が整備されていないことから、始めに触った言語や次に触った言語の影響に依存しがちなこと、だからこそメンタルモデルの構築や修正をし続ける必要がある、と、「 はじめに #Haskell 」の記事を紹介し、実体験やデモをもとに関数型プログラミングと型システムに関するメンタルモデルについて発表を行いました。
伊藤氏がこのセッションで伝えたいことは、
関数型プログラミングの見地からの、関数や型の捉え方
プログラミングの各種要素を命令形とは異なる解釈ができ、おもしろく、役に立つ可能性がある
といった点です。
このセッションでは、実際にTypeScriptによるライブコーディングを行い、それに沿った自身の考え方を説明しながら、実例に合わせた自身のメンタルモデルの更新を発表していたのが特徴的なセッションでした。
中でも「型」を集合として捉えることで、プログラムが意味すること、表現方法の理解が高まり、結果として、集合の表現である「型と型を組み合わせた構造化」を良い形かつ堅牢なプログラムにつながるという説明が印象的でした。
まとめでは、「 関数型プログラミングが最良という話ではなく、関数型プログラミングの見地からプログラムを見ることで、式や関数を命令形で捉えていたときとはことなる見方ができること、この考えを持つことで、自分が使っている言語やツールの特徴を、より楽しく、より良い開発ができるのではないでしょうか」 、と提言し、プログラミングすることの楽しさや可能性を伝えて、発表を終えました。
理解容易性と変更容易性を支える自動テスト戦略
続いては、和田卓人氏(@t_wada )による「理解容易性と変更容易性を支える自動テスト戦略」 。
写真 プログラマ、テスト駆動開発者の和田卓人氏(写真提供:Japan Perl Association)
冒頭にまず、このセッションの結論を「信頼性の高い実行結果に短い時間で到達する状態を保つことで、開発者に根拠ある自信を与え、ソフトウェアの成長を持続可能にすること」と定義したうえで、発表がスタートしました。
和田氏が考える自動テストとはこの定義を体現するもので、それぞれ4つのパート
信頼性の高い
実行結果に
短い時間で到達する
状態を保つ
に分けて、具体的な説明を行いました。
最後に結論として、自動テスト文化とは、
テスト自動化に夢を見ない
自動テストのメンテナンスに全員が腹落ちする
自動テストのメンテナンスコストを下げる努力を怠らない
という条件を意識することで生まれるもので、「 自動テストの重要性と保守性(理解容易性、変更容易性)を組織、チームが理解し、改善努力を継続的に行う文化」と、和田氏はまとめました。
最後に、『 オブジェクト指向設計実践ガイド 』( Sandi Metz著、髙山泰基訳、技術評論社、2016年)から「テストにコストがかかることの解決方法はテストをやめることではありません。うまくなることです。」というSandi氏のメッセージを引用し、自動テスト文化の有用性を伝え、締めくくりました。
PerlでつくるフルスクラッチWebAuthn/パスキー認証
次は、厳島(ダリア)会場のセッションで唯一の採択プログラムとなった面白法人カヤックTonamelサーバーサイドエンジニアmacopy氏(@mackee_w )による「PerlでつくるフルスクラッチWebAuthn/パスキー認証」と題した発表です。
写真 面白法人カヤックTonamelサーバーサイドエンジニアmacopy氏(写真提供:Japan Perl Association)
タイトルのとおりで、今、macopy氏がイチオシする技術WebAuthn/パスキーについて、実際にPerlで実装する方法をライブコーディングをしながら解説する技術的な要素が満載のセッションとなりました。
ここで取り上げられているWebAuthnとは、パスワードレス認証を実現するための標準Web APIで、公開鍵暗号を使って電子署名で行う認証方式のことです。この技術の特徴は秘密鍵がデバイス内に閉じている点で、おもに2段階認証の1つとしての活用などに向いています。
そして、パスキーとは、厳密な定義(Discoverable Credential)を用いたWebAuthnのことです。また、場合によってはWebAuthnを便利にするUXやユーザにWebAuthnが使えるログイン方式であることを指す言葉として使われることもあります。
このあと、約25分ほどかけて、RegistrationおよびLogin実装のデモをライブコーディングの形で説明しました。
最後に「WebAuthnga公開鍵暗号の性質を利用してパスワード認証で発生しうる問題を解決することができ、さらに標準技術であるため、仕様を読めばPerlで書くこともできます」と、改めてこのセッションの背景について説明しました。
最後に、実用途としてはフルスクラッチではなくライブラリを使用することを勧めたものの、「 実際に手を動かしてコーディングすると仕組みの理解が進みデバッグがはかどり、この技術が持つ意味や活用ポイントなど、理解が深まります」と、Perl Mongerらしいコメントでセッションをまとめました。
平成のエンジニアから令和のエンジニアへの遺言~技術情報を伝達する手段の変遷~
LT前の最後のセッションは、LINEヤフー株式会社Developer Relations所属(YAPC開催時)の櫛井優介氏(@941 )がコーディネートしたパネルディスカッション「平成のエンジニアから令和のエンジニアへの遺言~技術情報を伝達する手段の変遷~」でした。
写真 パネルディスカッションをコーディネートしたLINEヤフー株式会社Developer Relations所属(YAPC開催時)の櫛井優介氏(写真提供:Japan Perl Association)
パネリストは、ゲストスピーカーの伊藤直也氏、和田卓人氏に加えて、過去YAPC::Asiaで2回のベストトーク賞を受賞し、今回もセッション発表を行っている和田裕介氏(@yusukebe ) 、そして、コーディネーターの櫛井氏が加わった4名で、MCは筆者が担当しました。
せっかくの場なので、事前の打ち合わせはほとんどせず、あらかじめ用意した12のトピックの中から、会場やパネリストの中からテーマを選ぶスタイルで進みました。
セッションタイトルのとおり、年長者・キャリアが抱負なパネリストたちから「若手に向けてのメッセージ」という大前提が共有されていたこともあり、4名とも気兼ねなく、自分の経験と立場から、強いコメントを送ってくれました。
まずは「本・雑誌・Web・SNS」というテーマから情報収集について。インターネットやSNSの普及で、技術情報の収集手段、共有手段が一気に多様化していく中、パネリストはどうやって情報を収集するのか。
これについては4名とも「人に注目」という意見で合致しました。もし気になる技術が出てきたり、トレンドが生まれたときは、それらについて積極的に発信している人や開発者自身のSNS、ブログを見て、追いかけていく、というもの。
また、自分自身が発信者側になったとき、今度は聴講者から質問を受けることで学びが深まる、という意見も出ました。
その他、競争領域(注目度が高く差別化が求められるもの)については、最先端の情報に当たっていく、逆に、それ以外の周辺領域、直接的ではないが知っておきたいものは雑誌の特集で広く見る、といったようなキャリアのあるパネリストたちならではの、意見も出ました。
さらに、情報収集からイベントの話へ移りました。まず、筆者から会場に参加者に向けてYAPC参加回数を質問したところ、約3割が初めてのYAPC参加とのこと。この点については、YAPCベテランの4名からすると意外だったようで、「 おお」という反応も。
一方で、コロナ禍を経ていたため、この4年は大規模なリアルイベントへの参加が難しく、また、YAPC::Japanとしてもようやくコロナ禍前と同様の形でのリアルイベントが実施できたことなどが理由ではないかと、壇上で分析されました。
その中で、櫛井氏から「リアルイベントではボッチ問題(一人きりになってしまうこと)があると思いますが、何か解決方法やアドバイスってあります?」と投げかけられると、「 そこは自分たちも含めて経験者が積極的に声をかけていくことが大事」と、交流しやすい場の構築は受け身ではなく能動的に参加することが大事なことが伝えられました。
さらに、それが行われると次に誘われた人が、次は誘う側に回る好循環が生まれていくからです。
また、登壇そのものについても、登壇で得られる経験値は計り知れないから、チャンスがあればどんどん出ていくことをおすすめします、と、これもまた抱負な登壇経験を持つ4名から、説得力のある意見が送られました。
他にも生成AIの使い方から使用しているエディタの話題まで、まさにYAPCならではの枠に縛られない多様なトークが繰り広げられました。
最後に「新しい道が開けるかもしれないので、まずチャレンジしてみてください」というメッセージで、平成のエンジニアから令和のエンジニアに向けた遺言とも言うべき、格言が贈られパネルディスカッションは終了しました。
写真 旧知の仲のパネリスト同士で、和気あいあいとした中にも、若いエンジニアに向けてたくさんのメッセージが伝えられたディスカッションとなった(写真提供:Japan Perl Association)
キーノート: 「とほほのWWW入門」お好み よもやま話
パネルディスカッションのあと、LT大会を挟み、最後はキーノートが行われました。
キーノートのスピーカーを努めたのは、広島出身、古くからインターネットに関わっている人であれば一度はお世話になっている「とほほのWWW入門 」の管理人、杜甫々氏。
写真 キーノートを担当した広島出身・広島在住の杜甫々氏(写真提供:Japan Perl Association)
杜甫々氏は広島出身・広島在住という縁から、今回のYAPC::Hiroshima 2024のキーノートスピーカーとして招かれました。
とほほのWWW入門は、日本におけるインターネット黎明期、1996年9月から今年で28年目を迎えるインターネット関連の情報サイトです。
杜甫々氏が登場すると、「 本当に存在したんだ」「 レジェンドがいる」と、今まで多くの方がサイトの存在は知っていたものの、運営者である杜甫々氏を見たことのない参加者から、会場・オンライン(X)どちらからも驚嘆の声が聞こえてきました。
今回のセッションは、杜甫々氏自身の経歴、そして、とほほのWWW入門の今とこれからについて、紹介されました。
同氏が初めて触ったコンピュータは米CommodoreのVIC-1001。1981年のこと。兄弟でお金を出し合って3Kバイトの拡張メモリパックを追加といった当時のエピソードとともに紹介されました。
VIC-1001では、BASICによるプログラミングを行い、自分でゲームを作ったりして遊んでいたそうです。
その後、PC-8801 mkII SR、PC-9801 VM2など、パソコン遍歴を経て、1986年に行きつけのパソコン関連ショップでプログラミングのアルバイトを始めたことでC言語の世界に触れたとのこと。
その後、社会人として企業へ所属、当時はまだ一般的ではなかったインターネットをサポートしていないUNIX系システムへのTCP/IP移植プロジェクトを担当したり、ユーザプロセスとしてのTCP/IPの開発を個人で行い、インターネット関連の開発に関わっていたとのこと。
そんな中、「 とほほのWWW入門」の原点となったのが、1989年、所属していた会社で行ったAWKの勉強会を開催したことだった、と、参加者が皆気になっていたエピソードが紹介されました。
このとき「はじめてのAWK」というものを執筆したそうで、「 今読み返してみても、今現在の自分の書き方スタイルとまったく同じ」( 杜甫々氏)とのことで、あのわかりやすい文章と情報は、誕生当初からとほほスタイルとして定着していたのかもしれません。
そして、1996年に「とほほのWWW入門」がスタート。
時系列でいうと、
1996年8月16日:プロバイダBIGLOBEに加入
1996年9月10日:「とほほのHTML入門」開設
1996年9月24日:「とほほのJavaScript入門」開設
1996年10月25日:「とほほのWWW入門」に解明
と、自身の回線契約から約2ヵ月を経て、今のサイトとなりました。
この他、日本最大級の匿名掲示板「2ちゃんねる」開設者でもある西村博之氏のX(当時のTwitterのツイート)で投稿された「本当の2chのベースがあるとしたら、「 とほほのWWW入門」にあった掲示板スクリプトですね。」という内容を引用して紹介するなど、まさに日本のインターネットの歴史のレジェンドを裏付けるような裏話が、そこかしこと盛り込まれた発表となりました。
発表時点で、プログラミング言語系20、フレームワーク系10、その他系10と、趣味の範囲で◯◯入門の執筆は継続されていて、YAPCにちなんで、「 とほほのPerl入門」が約23年ぶりに更新された、と発表されたときは、会場内が一際盛り上がりました。
この他、「 「 とほほのWWW入門」執筆時に気をつけていること」と題したテーマでは、〇〇入門ページの基本的スタイル(下図)や文章の書き方の注意点が紹介されるなど、わかりやすい・伝わりやすいドキュメントの書き方の参考となる内容も紹介されました。
写真 「「とほほのWWW入門」執筆時に気をつけていること」と題したテーマで、◯◯入門ページの基本的なスタイルを紹介(杜甫々氏の発表資料 から)
最後に、自身の趣味やサイトのトリビア的な内容を盛り込み、「 これからも続けていきます。」と、優しく、柔らかいコメントの中に、28年続いているサイト運営の確かな説得力と高い信頼性が備わった言葉で、YAPC::Hiroshima 2024のキーノートは幕を閉じました。
杜甫々氏の発表資料はこちら から。
クロージング
最後に、実行委員長の小林謙太氏(@kobaken )から、YAPC::Hiroshima 2024の振り返りが行われました。
写真 クロージングを担当したYAPC::Hiroshima 2024実行委員長の小林謙太氏(写真提供:Japan Perl Association)
まず、来場者に向けて感謝の言葉から始まり、YAPC恒例のベストトーク賞の発表が行われました。今回のベストトーク賞は、三谷昌平氏(@shohei1913 )による「VISAカードの裏側と“ 手が掛かる” 決済システムの育て方」 。
決済ネットワークの仕組みやクレジットカードの技術的な側面について紹介しながら、日々、カードシステムと格闘する三谷氏自身の体験談をもとにした内容でした。三谷氏は広島県の高校卒という縁があり、また、YAPC初参加での受賞となりました。
その後、今回は31人のスピーカー、そして、YAPC::Japanとして過去最大となる53のスポンサー、448名の参加者が集まったことが発表され、実行委員長として改めてYAPCの魅力を体感しただけではなく、多くの方たちが技術に関するオフラインのイベントに飢えていたことを実感した、とコメントしました。
こうして、初の広島開催となったYAPC::Hiroshima 2024の本編は閉会しました。
写真 Thank you!! ブログを書くまでがYAPC、「お好み」話すまでがYAPC::Hiroshima
最後に、イベント終了後に小林氏から改めてメッセージをいただいたので紹介いたします。
「YAPC::Hiroshima 2024への参加、登壇、協賛、運営など本当に多くの方々の支えで、今回のYAPCも無事開催できたと思っております。運営を代表して御礼申し上げます。誠にありがとうございました。
そして、楽しかったですね! Perl限らず技術、技術コミュニティが多様な「お好み」で混ざりあったあの場は、またとない最高の味だったと思います。
「OSSで貢献する」「 会社に持ち帰ってフィードバックする」「 出会った人にまたどこかで話しかける」など何か踏み込む活力になれば幸いです。またYAPCあるいはインターネットのどこかでお会いしましょう」( 小林謙太) 。
Column: 前夜祭
本編前日の夜には、イベントを盛り上げるための前夜祭が開催されました。前夜祭ではありましたが、和田氏による「Introduce Hono v4!!!!」や壮大氏とはてな大仲能史(@onk )のコンビ、キャッシュバスターズによる「Cache-Control: max-age=86400」の2つのセッションの他、本編に向けたリレーセッションが行われ、最後には本編に向けて交流を深めるための懇親会が開催され、前日から来場者で盛り上がりました。
写真 前夜祭の進行役を担当したのは、Pasta-K氏(@pastak )とpapix氏(@__papix__ )(写真提供:Japan Perl Association)
写真 Thank you!! YAPC::Hiroshima 2024スタッフ記念写真(写真提供:Japan Perl Association)