<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Home on sivchari</title><link>https://sivchari.dev/ja/</link><description>Recent content in Home on sivchari</description><image><title>sivchari</title><url>https://sivchari.dev/images/ogp.png</url><link>https://sivchari.dev/images/ogp.png</link></image><generator>Hugo -- 0.154.5</generator><language>ja</language><lastBuildDate>Wed, 10 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://sivchari.dev/ja/index.xml" rel="self" type="application/rss+xml"/><item><title>Software Design 6月号に寄稿しました</title><link>https://sivchari.dev/ja/logs/software-design-202506/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://sivchari.dev/ja/logs/software-design-202506/</guid><description>&lt;p&gt;&lt;a href="https://gihyo.jp/magazine/SD/archive/2026/202606"&gt;Software Design 2026 年 6 月号&lt;/a&gt;の第 2 特集「AI が書いたコード、どうテストする？」に「Mutation Testing で見抜く、AI テストコードの落とし穴」という記事を寄稿しました。&lt;/p&gt;
&lt;h2 id="寄稿のきっかけ"&gt;寄稿のきっかけ&lt;/h2&gt;
&lt;p&gt;もともと Mutation Testing と、その Go 実装として自分が開発した &lt;a href="https://github.com/sivchari/gomu"&gt;gomu&lt;/a&gt; については、&lt;a href="https://sivchari.dev/ja/logs/sendai-go-2026/"&gt;Go Conference mini in Sendai 2026&lt;/a&gt; でも発表していました。発表後に声をかけていただいたことが寄稿のきっかけです。&lt;/p&gt;
&lt;p&gt;登壇資料で伝えられることと、雑誌の記事で伝えられることはかなり異なります。スライドは「その場で聞いている人に伝わる」ことが大前提であるのに対し、記事は「文章だけで一人で読んでも理解できる」必要があります。コードの背景や理由を省略せず書き下ろす作業は、登壇準備とはまた違う種類の大変さがありました。&lt;/p&gt;
&lt;h2 id="自分の文章が雑誌に載るということ"&gt;自分の文章が雑誌に載るということ&lt;/h2&gt;
&lt;p&gt;Software Design は学生の頃から手に取ってきた雑誌です。自分が読んでいたページに、今度は自分の名前が載るというのは、少し不思議な気持ちになります。&lt;/p&gt;
&lt;p&gt;書いてみて、技術を文章で正確に伝えるのは思ったより難しいと感じました。やってよかったです。&lt;/p&gt;
&lt;h2 id="記事の内容について"&gt;記事の内容について&lt;/h2&gt;
&lt;p&gt;記事では、AI がコードとテストを書く時代において、カバレッジだけではテストの品質を担保できないという問題を出発点に、Mutation Testing という手法と gomu の仕組み、そして CI への組み込み方を解説しています。&lt;/p&gt;
&lt;p&gt;詳しい内容は誌面でご確認いただければ幸いです。&lt;/p&gt;
&lt;h2 id="おわりに"&gt;おわりに&lt;/h2&gt;
&lt;p&gt;Software Design 編集部の皆様、ありがとうございました。読んでいただけたら嬉しいです。&lt;/p&gt;</description></item><item><title>Kubernetes Contributor Award 2025 をいただきました</title><link>https://sivchari.dev/ja/logs/kubernetes-contributor-award-2025/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://sivchari.dev/ja/logs/kubernetes-contributor-award-2025/</guid><description>&lt;p&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/"&gt;KubeCon + CloudNativeCon North America 2025&lt;/a&gt; にて、SIG Cluster Lifecycle から &lt;a href="https://www.kubernetes.dev/community/awards/2025/"&gt;Kubernetes Contributor Award 2025&lt;/a&gt; をいただきました。受賞理由には「being always available to help and for the impact he made in the Cluster API project」と書いていただきました。とても嬉しい一方で、自分がこれまで何をしてきたのかを振り返る良い機会だったので、受賞につながった活動と、そこで自分が学んだことを書き残しておきます。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Maintainer Summit での Kubernetes Contributor Award 2025 授賞の様子。スクリーンに「Takuma Shibuya / SIG Cluster Lifecycle」と受賞理由が映し出されている" loading="lazy" src="https://sivchari.dev/images/logs/kubernetes-contributor-award-2025.jpg"&gt;&lt;/p&gt;
&lt;h2 id="受賞につながった活動"&gt;受賞につながった活動&lt;/h2&gt;
&lt;p&gt;僕が SIG Cluster Lifecycle で取り組んできたことは、大きく分けて 2 つあります。&lt;/p&gt;
&lt;h3 id="kube-api-linter"&gt;Kube API Linter&lt;/h3&gt;
&lt;p&gt;ひとつは &lt;a href="https://github.com/kubernetes-sigs/kube-api-linter"&gt;Kube API Linter (KAL)&lt;/a&gt; です。KAL は Kubernetes の &lt;a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md"&gt;API 規約&lt;/a&gt; や、規約にないルールも含めて API をチェック・強制する linter です。&lt;/p&gt;
&lt;p&gt;僕の最初の関わりは、2025 年の初めに &lt;code&gt;nomaps&lt;/code&gt; linter を追加した &lt;a href="https://github.com/kubernetes-sigs/kube-api-linter/pull/41"&gt;PR #41&lt;/a&gt; でした。そこから &lt;code&gt;duplicatemarkers&lt;/code&gt;、&lt;code&gt;ssatags&lt;/code&gt;、&lt;code&gt;defaults&lt;/code&gt; といった linter を継続的に追加し、やがて reviewer に、そして &lt;a href="https://github.com/kubernetes-sigs/kube-api-linter/pull/190"&gt;approver&lt;/a&gt; に加えていただきました。&lt;/p&gt;</description></item><item><title>Go Conference mini in Sendai 2026 で登壇しました</title><link>https://sivchari.dev/ja/logs/sendai-go-2026/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><guid>https://sivchari.dev/ja/logs/sendai-go-2026/</guid><description>&lt;p&gt;2026 年 2 月 21 日に &lt;a href="https://sendaigo.jp/"&gt;Go Conference mini in Sendai 2026&lt;/a&gt; が開催されました。僕は「Who tests the Tests ?」というタイトルで登壇し、参加者としてもセッションや懇親会を楽しんできました。とても楽しかったので、イベント全体の雰囲気、自身の発表内容、仙台でのコミュニティとの交流について書き残しておきます。&lt;/p&gt;
&lt;h2 id="僕と-sendaigo"&gt;僕と Sendai.go&lt;/h2&gt;
&lt;p&gt;僕にとって Sendai.go は特別な意味を持つカンファレンスです。というのも、生まれてはじめて現地参加したオフラインカンファレンスが Go Conference mini 2022 Autumn IN SENDAI だったからです。学生の頃からGo Conference に登壇していましたが、当時はまだコロナが少しずつ落ち着いてきたかなといった時代だったこともあり登壇は全てオンラインで行っていました。オフラインで登壇をすると、発表を本当に聞かれている、リアクションしてくれるというオンライン上では感じ取り辛いライブ感が加わりとても楽しかったことを覚えています。&lt;/p&gt;
&lt;p&gt;その場で交わした会話や紹介してもらった人たちとのつながりは、その後のカンファレンスや OSS 活動を通じて現在まで続いています。Go Conference の運営に関わるようになり、メインオーガナイザーになったことも、そのテーマを「一期一会」にしたことも、Kubernetes や Argo CD のメンテナーとして活動するようになったことも、あのときの一歩が出発点でした。&lt;/p&gt;
&lt;p&gt;そうした個人的な原点とも呼べる場所に、4 年後の 2026 年に登壇者として戻ってくることができたのは、非常に感慨深い出来事でした。&lt;/p&gt;
&lt;h2 id="登壇-who-tests-the-tests-"&gt;登壇: Who tests the Tests ?&lt;/h2&gt;
&lt;p&gt;僕のセッションでは、Mutation Testing と、それを Go 向けに実装した OSS ツール &lt;a href="https://github.com/sivchari/gomu"&gt;gomu&lt;/a&gt; について発表しました。スライドは &lt;a href="https://speakerdeck.com/sivchari/who-tests-the-tests"&gt;SpeakerDeck&lt;/a&gt; で公開しています。&lt;/p&gt;
&lt;h3 id="発表の趣旨"&gt;発表の趣旨&lt;/h3&gt;
&lt;p&gt;近年の開発では AI エージェントによるコード生成とテスト生成が急速に普及しています。人間が書いたコードも AI が書いたコードも、最終的に品質を担保するガードレールは CI であり、その中核にあるのがテストです。しかし「テストが存在すること」と「テストが意味のある検証をしていること」は別の問題です。&lt;/p&gt;
&lt;p&gt;従来、テストの品質指標としては Code Coverage が広く使われてきました。しかし Goodhart&amp;rsquo;s Law &amp;ndash; 「ある指標が目標になると、その時点でその指標は良い指標ではなくなる」&amp;ndash; が示すとおり、カバレッジを追い求めると、assertion を書かずにコードを通過するだけの形骸化したテストが生まれてしまいます。AI エージェントにテスト生成を任せると、&lt;code&gt;t.Skip&lt;/code&gt; を使って実質的に何も検証していないテストを生成されるケースすら存在します。&lt;/p&gt;</description></item><item><title>About</title><link>https://sivchari.dev/ja/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sivchari.dev/ja/about/</guid><description>&lt;h2 id="about-me"&gt;About Me&lt;/h2&gt;
&lt;p&gt;sivchari&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="work"&gt;Work&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Period&lt;/th&gt;
&lt;th&gt;Company&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2025.6 - Present&lt;/td&gt;
&lt;td&gt;newmo 株式会社&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 - 2025&lt;/td&gt;
&lt;td&gt;株式会社カウシェ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023 - 2024&lt;/td&gt;
&lt;td&gt;Ubie 株式会社&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2022.4 - 2025.4&lt;/td&gt;
&lt;td&gt;株式会社サイバーエージェント&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2022 - Present&lt;/td&gt;
&lt;td&gt;Codatum 株式会社&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="oss-activities"&gt;OSS Activities&lt;/h2&gt;
&lt;h3 id="reviewer--approver"&gt;Reviewer / Approver&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/cluster-api"&gt;Cluster API&lt;/a&gt; - Reviewer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kubernetes-sigs/kube-api-linter"&gt;Kube API Linter&lt;/a&gt; - Approver&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/argoproj/argo-cd"&gt;Argo CD&lt;/a&gt; - Member&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="community"&gt;Community&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gocon.jp/"&gt;Go Conference Japan&lt;/a&gt; - Main Organizer&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="award"&gt;Award&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Award&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2025&lt;/td&gt;
&lt;td&gt;Kubernetes Contributor Award (SIG Cluster Lifecycle)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023 - 2025&lt;/td&gt;
&lt;td&gt;CyberAgent Go Next Experts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="get-in-touch"&gt;Get in touch&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/sivchari"&gt;@sivchari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;X: &lt;a href="https://twitter.com/sivchari"&gt;@sivchari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;SpeakerDeck: &lt;a href="https://speakerdeck.com/sivchari"&gt;sivchari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email: &lt;a href="mailto:shibuuuu5@gmail.com"&gt;shibuuuu5@gmail.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Job</title><link>https://sivchari.dev/ja/job/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sivchari.dev/ja/job/</guid><description>&lt;h2 id="受け付けている仕事"&gt;受け付けている仕事&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;登壇・講演&lt;/li&gt;
&lt;li&gt;技術顧問・アドバイザー&lt;/li&gt;
&lt;li&gt;執筆・レビュー&lt;/li&gt;
&lt;li&gt;取材・インタビュー&lt;/li&gt;
&lt;li&gt;研修&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="依頼フォーム"&gt;依頼フォーム&lt;/h2&gt;
&lt;p&gt;仕事のご依頼は以下のフォームからお願いします。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sivchari.dev/req"&gt;依頼フォームへ&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Talks</title><link>https://sivchari.dev/ja/talks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sivchari.dev/ja/talks/</guid><description>&lt;h2 id="2026"&gt;2026&lt;/h2&gt;
&lt;h3 id="go-126-リリースパーティ"&gt;Go 1.26 リリースパーティ&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/20cfa94bfea84cbda038331cd4c236d6"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="who-tests-the-tests-"&gt;Who tests the Tests ?&lt;/h3&gt;
&lt;p&gt;Go Conference mini 2026 in Sendai&lt;/p&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/556b6c20df59499f8871c110a126e01b"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="2025"&gt;2025&lt;/h2&gt;
&lt;h3 id="google-developer-group---devfest-tokyo-2025"&gt;Google Developer Group - DevFest Tokyo 2025&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/6993c257b730470295668c50a9cb9783"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="go125-リリースパーティ--nil-pointer-bug-"&gt;Go1.25 リリースパーティ ~ nil pointer bug ~&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/8d30431664dd4876b670306de5781afd"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="govalid--type-safe-validation-tool-"&gt;govalid ~ Type-safe validation tool ~&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/ff70775a01a546cba8d6b3eb40e7f83e"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="静的解析-x-kubernetes-api-conventions--kube-api-linter"&gt;静的解析 x Kubernetes API Conventions = Kube API Linter&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/8c5435b31a5442c081609b028627af80"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="whats-gocacheprog-"&gt;What&amp;rsquo;s GOCACHEPROG ?&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/d2b3fea7eda44f688125e2eea9f2f3c3"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="2024"&gt;2024&lt;/h2&gt;
&lt;h3 id="visualization-go-scheduler-by-gosched-simulator"&gt;Visualization Go scheduler by gosched-simulator&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/774c68ba598d4f36964f9ee6a624b31a"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="gh_extensions-による快適な-oss-生活"&gt;gh_extensions による快適な OSS 生活&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/66d1472695ee42f2a60e2bec6e9149e8"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="protoc-plugin-のはじめかた"&gt;protoc plugin のはじめかた&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/fa79314e96a64de9add3d91960ffa0c8"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="deep-dive-into-runtime-features-provided-by-go122"&gt;Deep dive into runtime features provided by Go1.22&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/ff89cff40d504e359e18b59d75792126"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="go-122-range-over-funcrange-over-int"&gt;Go 1.22 range over func/range over int&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/3fdf5eaaae3d4f9ca84157b090051f31"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h2 id="2023"&gt;2023&lt;/h2&gt;
&lt;h3 id="gophercon-2023-recap"&gt;GopherCon 2023 recap&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/fe2f26a818244b36bb829b780f01682b"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="dive-into-arena-package--go-120-release-party-"&gt;Dive into arena package ~ Go 1.20 release party ~&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/472ddbe068c24287b41b417543f6a585"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="whats-context-package"&gt;What&amp;rsquo;s context package&lt;/h3&gt;
&lt;div class="speakerdeck-embed" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; margin: 1rem 0;"&gt;
&lt;iframe
class="speakerdeck-iframe"
frameborder="0"
src="https://speakerdeck.com/player/0dd58f6004f54f68a0c0abe4d2c36679"
allowfullscreen="true"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 40px;"&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;h3 id="go-122-で追加予定だった-zero-の紹介"&gt;Go 1.22 で追加予定だった zero の紹介&lt;/h3&gt;
&lt;p&gt;Go Conference mini 2023 in Kyoto&lt;/p&gt;</description></item></channel></rss>