$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chrome Extension Techniques from Hell
Search
moznion
April 09, 2025
Programming
1
250
Chrome Extension Techniques from Hell
プロポーザルの余白を読み解くRubyKaigi 2025 (
https://smartbank.connpass.com/event/347455/
) のLT資料です。
moznion
April 09, 2025
Tweet
Share
More Decks by moznion
See All by moznion
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
10k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
6.1k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
3
4.2k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
250
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
6
4.7k
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
8.4k
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
1.1k
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
11
20k
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
moznion
3
3.1k
Other Decks in Programming
See All in Programming
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
110
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
840
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
AIコーディングエージェント(Gemini)
kondai24
0
240
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
120
認証・認可の基本を学ぼう前編
kouyuume
0
250
SwiftUIで本格音ゲー実装してみた
hypebeans
0
420
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
800
A Modern Web Designer's Workflow
chriscoyier
698
190k
Writing Fast Ruby
sferik
630
62k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
BBQ
matthewcrist
89
9.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
For a Future-Friendly Web
brad_frost
180
10k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Why Our Code Smells
bkeepers
PRO
340
57k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Transcript
$ISPNF&YUFOTJPO5FDIOJRVFTGSPN)FMM ʙ%FCVHHFSฤʙ ਫ ϓϩϙʔβϧͷ༨നΛಡΈղ͘3VCZ,BJHJ גࣜձࣾεϚʔτόϯΫ!NP[OJPO
4NBSU#BOL *OD 4PGUXBSF&OHJOFFS 5BJLJ,BXBLBNJ !NP[OJPO !NP[OJPO !NP[OJPO !NP[OJPO
$ISPNF&YUFOTJPO
$ISPNF&YUFOTJPOͱ ུ օ͞Μ͝ଘ
$ISPNF&YUFOTJPO࡞ͬͯ·͔͢
࠷ۙ࡞ͬͨͭ IUUQTDISPNFXFCTUPSFHPPHMFDPNEFUBJMDMJQPMJOFFLNHHHMKLHQEHBMQBJMHJCMBMDNNFDOI IMKB
NP[OJPODMJQPMJOF ݟͯΔ8FCϖʔδΛ 1MBJO5FYU .BSLEPXO 1%'ͷ͍ͣΕ͔ʹม͠ (PPHMF%PDT͋Δ͍/PUFCPPL-.ʹΞοϓϩʔυ͢Δ
NP[OJPODMJQPMJOF ݟͯΔ8FCϖʔδΛ 1MBJO5FYU .BSLEPXO 1%'ͷ͍ͣΕ͔ʹม͠ (PPHMF%PDT͋Δ͍/PUFCPPL-.ʹΞοϓϩʔυ͢Δ
$ISPNF֦ு্Ͱ8FCϖʔδΛ1%'ʹ͢Δํ๏ KT1%'ͱ͔ͰΫϥΠΞϯταΠυͰؤுΔ Ұ୴αʔόʔʹૹͬͯ1%'Λ࡞ͤ͞Δ
$ISPNF֦ு্Ͱ8FCϖʔδΛ1%'ʹ͢Δํ๏ KT1%'ͱ͔ͰΫϥΠΞϯταΠυͰؤுΔ Ұ୴αʔόʔʹૹͬͯ1%'Λ࡞ͤ͞Δ 6NNN🤨
$ISPNF֦ு্Ͱ8FCϖʔδΛ1%'ʹ͢Δํ๏ KT1%'ͱ͔ͰΫϥΠΞϯταΠυͰؤுΔ Ұ୴αʔόʔʹૹͬͯ1%'Λ࡞ͤ͞Δ $ISPNFͷҹػೳΛ͏ 💡
$ISPNFͷҹ
$ISPNFͷҹ ͜ΕΛ֦ு͔ΒݺΔͱྑ͍
%FCVHHFS
%FCVHHFS 5IF DISPNFEFCVHHFS "1*TFSWFTBTBOBMUFSOBUFUSBOTQPSUGPS $ISPNFT SFNPUFEFCVHHJOHQSPUPDPM6TF DISPNFEFCVHHFS UPBUUBDIUP POFPSNPSFUBCTUPJOTUSVNFOUOFUXPSLJOUFSBDUJPO
EFCVH+BWB4DSJQU NVUBUFUIF%0.BOE$44 BOENPSF6TFUIF %FCVHHFF QSPQFSUZ UBC*E UP UBSHFUUBCTXJUI TFOE$PNNBOE BOESPVUFFWFOUT CZ UBC*E GSPN PO&WFOU DBMMCBDLT IUUQTEFWFMPQFSDISPNFDPNEPDTFYUFOTJPOTSFGFSFODFBQJEFCVHHFS
%FCVHHFS
%FCVHHFS 5IF DISPNFEFCVHHFS "1*TFSWFTBTBOBMUFSOBUFUSBOTQPSUGPS $ISPNFT SFNPUFEFCVHHJOHQSPUPDPM6TF DISPNFEFCVHHFS UPBUUBDIUP POFPSNPSFUBCTUPJOTUSVNFOUOFUXPSLJOUFSBDUJPO
EFCVH+BWB4DSJQU NVUBUFUIF%0.BOE$44 BOENPSF6TFUIF %FCVHHFF QSPQFSUZ UBC*E UP UBSHFUUBCTXJUI TFOE$PNNBOE BOESPVUFFWFOUT CZ UBC*E GSPN PO&WFOU DBMMCBDLT IUUQTEFWFMPQFSDISPNFDPNEPDTFYUFOTJPOTSFGFSFODFBQJEFCVHHFS
1BHFQSJOU5P1%' ̈IUUQTDISPNFEFWUPPMTHJUIVCJPEFWUPPMTQSPUPDPMUPU1BHFNFUIPEQSJOU5P1%'
1BHFQSJOU5P1%' ̈IUUQTDISPNFEFWUPPMTHJUIVCJPEFWUPPMTQSPUPDPMUPU1BHFNFUIPEQSJOU5P1%' ͋Δʂʂʂʂʂʂʂʂ
1BHFQSJOU5P1%'
NP[OJPODMJQPMJOF ݟͯΔ8FCϖʔδΛ 1MBJO5FYU .BSLEPXO 1%'ͷ͍ͣΕ͔ʹม͠ (PPHMF%PDT͋Δ͍/PUFCPPL-.ʹΞοϓϩʔυ͢Δ
࣌ɺ/PUFCPPL-.ʹ ެ։"1*͕ଘࡏ͠ͳ͍ʂʂʂ
/PUFCPPL-.ʹެ։"1*͕ଘࡏ͠ͳ͍ ͳΜͱ͔ͯ͠ΞοϓϩʔυॲཧΛ࣮͢Δඞཁ͕͋Δɻ ํ๏ ؤுͬͯGFUDI͢ΔͳΓͳΜͳΓͰΔ ࣮ࡍʹ8FC7JFXΛૢ࡞͢Δ
/PUFCPPL-.ʹެ։"1*͕ଘࡏ͠ͳ͍ ͳΜͱ͔ͯ͠ΞοϓϩʔυॲཧΛ࣮͢Δඞཁ͕͋Δɻ ํ๏ ؤுͬͯGFUDI͢ΔͳΓͳΜͳΓͰΔ ࣮ࡍʹ8FC7JFXΛૢ࡞͢Δ )NNNN
̈IUUQTQQUSEFWHVJEFTSVOOJOHQVQQFUFFSJOFYUFOTJPOT
̈IUUQTQQUSEFWHVJEFTSVOOJOHQVQQFUFFSJOFYUFOTJPOT
‼‼‼‼‼‼‼‼ ̈IUUQTQQUSEFWHVJEFTSVOOJOHQVQQFUFFSJOFYUFOTJPOT
3VOOJOH1VQQFUFFSJO$ISPNFFYUFOTJPOT $ISPNF&YUFOTJPOͰ1VQQFUFFS͕ಈ͘ʂ ෦ڍಈͱͯ͠%FCVHHFSܦ༝Ͱϒϥβʹ1VQQFUFFS͕ Ξλον͠ɺ࣮ࡍʹλϒΛ։͍ͯͦΕΛૢ࡞͢Δͱ͍͏ ඇৗʹෆؾຯײతͳڍಈΛ͢Δɻ
%FNP
1%'ॲཧͰ͍Ζ͍Ζ͍͕ͬͯͨʜʜ 1VQQFUFFS͕ಈ͘ͷͰ͋Εɺ࣮A1BHFQSJOU5P1%'AΛ ݺͿඞཁͳ͘1VQQFUFFSͷA1BHFQEG AΛݺྑ͍ ̈IUUQTQQUSEFWHVJEFTQEGHFOFSBUJPO
·ͱΊ
·ͱΊ $ISPNF&YUFOTJPOͷ%FCVHHFS͘͢͝ɺ΄΅ͳΜͰͰ͖Δ /PUFCPPL-.ૣ͘1VCMJD"1*Λఏڙͯ͠΄͍͠