Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Hatena Engineer Seminar 37 jj1uzh
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
jj1uzh
June 30, 2026
Technology
4.8k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hatena Engineer Seminar 37 jj1uzh
https://hatena.connpass.com/event/397502/
jj1uzh
June 30, 2026
More Decks by jj1uzh
See All by jj1uzh
Kotlinコンテキストパラメータをアプリ開発で使う夢を見る
jj1uzh
0
77
Other Decks in Technology
See All in Technology
なぜAI任せのゲームは面白くならないのか?
hirohasuyoutube
0
350
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
470
PQC移行の今 -- IETF からみた現在地
satokan
4
700
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
200
【ゲームメーカーズスクランブル2026】『Shadowverse: Worlds Beyond』UIとアニメーションで実現する最高のユーザー体験を叶えるプロトタイピング
cygames
PRO
1
710
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
AI感のないAWS構成図をAIエージェントに描かせたい!
sagochiko
2
480
Coil3を内部実装から読み解く~キャッシュ戦略とAVIF画像の描画〜/nikkei-tech-talk50
nikkei_engineer_recruiting
0
180
DORA_Metrics.pdf
wagnerfusca
1
140
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
260
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
270
20260930_Gemma4_Hands-on
tsho
0
190
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
How to make the Groovebox
asonas
2
2.5k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Six Lessons from altMBA
skipperchong
29
4.5k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
750
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
380
Transcript
はてな匿名ダイアリーの すべて、お話しします…… id:jj1uzh 2026-06-30 Hatena Engineer Seminar #37 1
id:jj1uzh • サービスプラット フォームチーム • アプリケーション エンジニア ◦ WebとAndroid •
新卒3年目 2
話すこと • はてな匿名ダイアリー(anond)の アプリケーションをPerlからGoに移植した ◦ 背景、成果、方法、学び 3 はてな匿名ダイアリーのすべて、お話しします……
背景/anondについて • 2006年サービス開始のラボサービス ◦ anond.hatelabo.jp • Perl(httpd/mod_perl) • 独自Webフレームワーク 4
はてな匿名ダイアリーのすべて、お話しします……
背景/anondについて • 2006年サービス開始のラボサービス ◦ anond.hatelabo.jp • Perl(httpd/mod_perl) • 独自Webフレームワーク 5
はてな匿名ダイアリーのすべて、お話しします…… • アプリケーションに手を入れづらい • Perl・ライブラリのバージョンアップなど メンテナンスに時間を割きづらい
背景/コーディングエージェントの進化 6 はてな匿名ダイアリーのすべて、お話しします…… • アプリケーションの移植は 現実的では **なかった** • コーディングエージェントの進化で 状況が変わった
7 Goに移植しよう!
方針 8 はてな匿名ダイアリーのすべて、お話しします…… • SQLクエリ、ロジックは基本的に変更なし • 外観もできるだけ維持
方針/技術選定 9 はてな匿名ダイアリーのすべて、お話しします…… • Perl ◦ httpd/mod_perl・独自Webフレームワーク ◦ 独自ORM •
Go ◦ Echo ◦ sqlc • アプリケーション以外はそのまま
方針/コーディングエージェント 10 はてな匿名ダイアリーのすべて、お話しします…… • Claude Codeで統一 ◦ それまでは、チーム内でコーディングエージェントの 使い方がバラバラだった ◦
PRのレビューや簡単なタスクにはCopilotも
11 Goに移植した
生まれ変わったanondをご覧ください 12 はてな匿名ダイアリーのすべて、お話しします……
生まれ変わったanondをご覧ください 13 はてな匿名ダイアリーのすべて、お話しします……
移植サマリー 14 はてな匿名ダイアリーのすべて、お話しします…… • Perl 約22,000行 ⇒ Go 約15,000行 ◦
Goはテスト込みで 約25,000行 • およそ 2人・2か月(開始から完全切替まで)
移植サマリー/開発・実行環境の改善 15 はてな匿名ダイアリーのすべて、お話しします…… • ビルド時間 ◦ コンテナイメージ作成のフローがキャッシュなしで 10分 ⇒ 2-3分に短縮
移植サマリー/開発・実行環境の改善 16 はてな匿名ダイアリーのすべて、お話しします…… • 実行環境・パフォーマンス ◦ レスポンス時間: 約150ms ⇒ 約50ms
◦ コンテナメモリ使用量: 約1.8GB ⇒ 約40MB ▪ コンテナ数も減少 ◦ ※Perl vs Goというよりはアーキテクチャの違い
移植サマリー/Perl版からあった不具合の解消 • LaTeX記法・コードブロック • カテゴリ・キーワードページ 17 はてな匿名ダイアリーのすべて、お話しします……
18 どうやった
移植HOWDUNNIT/流れ • Perlコード調査 • Project・Issue作成 • 実装・テスト・動作確認 19 はてな匿名ダイアリーのすべて、お話しします……
移植HOWDUNNIT/Perlコード調査 • 「アプリケーションの機能をまとめて。...」 • 「エンドポイントごとの詳細をまとめて。...」 20 はてな匿名ダイアリーのすべて、お話しします……
移植HOWDUNNIT/Perlコード調査 • 「アプリケーションの機能をまとめて。...」 • 「エンドポイントごとの詳細をまとめて。...」 21 はてな匿名ダイアリーのすべて、お話しします…… • 独自フレームワークでもOK ◦
「設定より規則」寄り & 継承を駆使 ◦ ファイルの行き来が多い ◦ 規則さえ分かればAIには簡単
移植HOWDUNNIT/Issue作成 • Issueを作ってProjectに 22 はてな匿名ダイアリーのすべて、お話しします……
移植HOWDUNNIT/実装 • Claude Codeで実装 • コーディング時のスキル・プラグインは? ◦ ⇒ 特になし ◦
素の状態でじゅうぶん賢い ◦ 決定的な方法でコード品質を担保する 23 はてな匿名ダイアリーのすべて、お話しします……
移植HOWDUNNIT/実装 • Claude Codeで実装 • 決定的な方法でコード品質を担保する 24 はてな匿名ダイアリーのすべて、お話しします…… • Lint
◦ golangci-lint • テスト ◦ E2EもAIに作ってもらう
移植HOWDUNNIT/レビュー • 書いた(書かせた)人間のチェック • GitHub上のCopilotレビュー • 別の人間のレビュー 25 はてな匿名ダイアリーのすべて、お話しします……
移植HOWDUNNIT/テスト・動作確認 26 はてな匿名ダイアリーのすべて、お話しします…… • E2E ◦ testcontainers • Visual Regression
Testing ◦ Perl・Go両方を動かし、 playwright-cliで要素・スクショ比較 • 脆弱性チェック ◦ 匿名性とXSSを重点的に
27 学び
学び • VRTは便利だけど…… • 目視確認・テスト条件の網羅性不足があった ◦ タスク分解→AI実装→レビューの繰り返しのため、 全体像の把握がおろそかになりがち ◦ 「エントリ文章内の記号が二重でエスケープされる」
◦ 「モバイル表示は2ページ目以降で 人気エントリセクションを表示しない、の見逃し」 28 はてな匿名ダイアリーのすべて、お話しします……
学び • コード外の見逃し ◦ ログ形式が変わったことで、 ログクエリによる集計が失敗 29 はてな匿名ダイアリーのすべて、お話しします……
30 まとめ
まとめ • コーディングエージェントの進化で、 レガシーコードの移植が現実的になった • 決定的な品質担保(Lint・テスト)で 非決定的なAIがより活きてくる • 目視確認、テストの作り方は依然重要 31
はてな匿名ダイアリーのすべて、お話しします……
32 ご清聴 ありがとうございます