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
Chrome Extension Techniques from Hell
Search
moznion
April 09, 2025
Programming
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Chrome Extension Techniques from Hell
プロポーザルの余白を読み解くRubyKaigi 2025 (
https://smartbank.connpass.com/event/347455/
) のLT資料です。
moznion
April 09, 2025
More Decks by moznion
See All by moznion
go-sqletch
moznion
0
160
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
140
reFACToring
moznion
1
1.4k
cccccc
moznion
1
2.9k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
16k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
11
7.8k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
4
10k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
490
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
7
5.3k
Other Decks in Programming
See All in Programming
残高管理から台帳サービスへの進化
artoy
1
210
ActionController meets Protocol Buffers
sorah
1
720
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
240
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
3
580
Domain-Driven Transformation
hschwentner
2
2.3k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
440
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
610
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
200
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
260
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
120
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
200
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
4.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
750
The untapped power of vector embeddings
frankvandijk
2
2k
Amusing Abliteration
ianozsvald
1
360
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Curse of the Amulet
leimatthew05
3
16k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
580
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
430
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
440
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
600
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*Λఏڙͯ͠΄͍͠