Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
IntelliJ Plugin開発入門
Search
tommykw
February 18, 2017
Programming
0
270
IntelliJ Plugin開発入門
tommykw
February 18, 2017
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
150
Kotlin Compiler Plugin 入門
tommykw
0
94
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2.2k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.9k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.7k
改めて学ぶContracts
tommykw
10
7k
Kotlinの短絡評価について
tommykw
0
470
初めてのKotlinコントリビュート
tommykw
1
720
Kotlin Issueを投げてみよう!
tommykw
0
3.4k
Other Decks in Programming
See All in Programming
TestingOsaka6_Ozono
o3
0
170
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
610
Grafana:建立系統全知視角的捷徑
blueswen
0
210
開発に寄りそう自動テストの実現
goyoki
2
1.4k
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
370
AIコーディングエージェント(skywork)
kondai24
0
200
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
280
Graviton と Nitro と私
maroon1st
0
130
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
4.2k
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Paper Plane (Part 1)
katiecoart
PRO
0
1.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
45
Building the Perfect Custom Keyboard
takai
1
660
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
73
[SF Ruby Conf 2025] Rails X
palkan
0
560
30 Presentation Tips
portentint
PRO
1
170
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Documentation Writing (for coders)
carmenintech
77
5.2k
Scaling GitHub
holman
464
140k
Transcript
ՈͷຖΛͬͱসإʹɻ ϚϚϦ ίωώτגࣜձࣾ *OUFMMJ+1MVHJO։ൃೖ
ϚϚϦ ϓϩϑΟʔϧ ా݈ೋ !UPNNZLX !UPNNZLX $POOFIJUP JOD"OESPJE&OHJOFFS
ϚϚϦ ΞδΣϯμ w *OUFMMJ+1MVHJOʹ͍ͭͯ w 0QUJNJ[F*NQPSUTʹ͍ͭͯ w 0QUJNJ[F3FTPVSDFTʹ͍ͭͯ
ՈͷຖΛͬͱসإʹɻ ϚϚϦ ίωώτגࣜձࣾ *OUFMMJ+1MVHJOʹ͍ͭͯ
ϚϚϦ *OUFMMJ+1MVHJOʹ͍ͭͯ w *OUFMMJ+1MVHJOʹ͍ͭͯ w 0QUJNJ[F*NQPSUTʹ͍ͭͯ w 0QUJNJ[F3FTPVSDFTʹ͍ͭͯ
ϚϚϦ *OUFMMJ+1MVHJOʹ͍ͭͯ ίʔυิɺݕࠪɺϦϑΝΫλϦϯάɺϦιʔε ͷ࠷దԽͳͲɺଟ͘ͷػೳ͕͋ΓɺݴޠʹಛԽ͠ ͨ*%&ɺྫ͑3VCZ.JOFɺ1IQ4UPSNɺ "OESPJE4UVEJPͳͲ༷ʑͳ1MVHJO͕͋Γ·͢ɻ *OUFMMJ+1MVHJOʹ͍ͭͯ
ϚϚϦ *OUFMMJ+1MVHJOػೳҰཡ ػೳҰཡ w *OUFOUJPO"DUJPOT w $PEF*OTQFDUJPO w "DUJPO4ZTUFN
ϚϚϦ *OUFMMJ+1MVHJOػೳҰཡ ػೳҰཡ w *OUFOUJPO"DUJPOT w $PEF*OTQFDUJPO w "DUJPO4ZTUFN
ϚϚϦ *OUFOUJPO"DUJPOT *OUFOUJPO"DUJPOT ߏจ্ͷΛվળɺ·ͨ࠷దԽ͢ΔͨΊͷ దͳҙਤಈ࡞ΛఏҊ͠·͢ɻ"MU &OUFSγϣʔ τΧοτΛ༻͍ͯૢ࡞͢Δ͜ͱ͕Ͱ͖·͢ɻ
ϚϚϦ *OUFOUJPO"DUJPOT *OUFOUJPO"DUJPOT
ϚϚϦ *OUFOUJPO"DUJPOT *OUFOUJPO"DUJPOT
ϚϚϦ *OUFOUJPO"DUJPOT *OUFOUJPO"DUJPOT
ϚϚϦ $PEF*OTQFDUJPO ػೳҰཡ w *OUFOUJPO"DUJPOT w $PEF*OTQFDUJPO w "DUJPO4ZTUFN
ϚϚϦ $PEF*OTQFDUJPO $PEF*OTQFDUJPO ίϯύΠϧΛ͢ΔલʹಛఆͷίʔυͷݕࠪΛߦ͍ɺ ΤϥʔɺܯࠂɺϓϩδΣΫτݻ༗ͷنҧͳͲ Λࢦఠ͠·͢ɻ*OUFOUJPO"DUJPOT "MU &OUFS Ͱ ࢦఠ͞Εͨίʔυͷमਖ਼Λߦ͏͜ͱ͕Ͱ͖·͢ɻ
ϚϚϦ $PEF*OTQFDUJPO $PEF*OTQFDUJPO
ϚϚϦ $PEF*OTQFDUJPO $PEF*OTQFDUJPO
ϚϚϦ $PEF*OTQFDUJPO $PEF*OTQFDUJPO
ϚϚϦ $PEF*OTQFDUJPO $PEF*OTQFDUJPO
ϚϚϦ "DUJPO4ZTUFN ػೳҰཡ w *OUFOUJPO"DUJPOT w $PEF*OTQFDUJPO w "DUJPO4ZTUFN
ϚϚϦ "DUJPO4ZTUFN *%&"ͷϝχϡʔπʔϧόʔʹΧελϜΞΠς ϜΛՃ͢Δ͜ͱ͕Ͱ͖·͢ɻ"O"DUJPOΫϥε Λੜͨ͠ͷͰɺϝχϡʔ߲·ͨπʔϧόʔ Ϙλϯ͕બ͞Εͨͱ͖ʹ࣮ߦϝιου͕ݺͼ ग़͞Ε·͢ɻ "DUJPO4ZTUFN
ϚϚϦ "DUJPO4ZTUFN "DUJPO4ZTUFN
ՈͷຖΛͬͱসإʹɻ ϚϚϦ ίωώτגࣜձࣾ 0QUJNJ[F*NQPSUTʹ͍ͭͯ
ϚϚϦ 0QUJNJ[F*NQPSUTʹ͍ͭͯ w *OUFMMJ+1MVHJOʹ͍ͭͯ w 0QUJNJ[F*NQPSUTʹ͍ͭͯ w 0QUJNJ[F3FTPVSDFTʹ͍ͭͯ
ϚϚϦ 0QUJNJ[F*NQPSUTʹ͍ͭͯ +BWBɺ,PUMJOͷJNQPSUΩʔϫʔυʹಛԽͨ͠ "DUJPO1MVHJOͰɺॏෳͨ͠JNQPSUະ༻ͷ JNQPSUΛҰׅͰૢ࡞͢Δ͜ͱ͕Ͱ͖·͢ɻ·ͨ JNQPSUͷॱংͷཧΛߦ͍·͢ɻ 0QUJNJ[F*NQPSUTʹ͍ͭͯ
ϚϚϦ 0QUJNJ[F*NQPSUT 0QUJNJ[F*NQPSUT
ϚϚϦ 0QUJNJ[F*NQPSUT 0QUJNJ[F*NQPSUT
ϚϚϦ 0QUJNJ[F*NQPSUT 0QUJNJ[F*NQPSUT
ϚϚϦ "OESPJEͷϦιʔεཧ "OESPJEʹ͓͚ΔϦιʔεཧ
ϚϚϦ "OESPJEͷϦιʔεཧ ϦιʔεཧΛ؆୯ʹ͍ͨ͠ ઌ΄ͲͷϦιʔείʔυͷBUUSJCVUFɺίʔυ ͱҟͳΓɺະ༻࣌ʹ৭͕มΘΓ·ͤΜɻͲͷ Ϧιʔε͕ະ༻Ͱ͋Δͷ͔ௐΔͷׂ͕ͱ໘ ͍͘͞Ͱ͢ɻग़དྷΕॱংἧ͍͑ͨ
ϚϚϦ "OESPJEͷϦιʔεཧ 0QUJNJ[F*NQPSUTͷϦιʔε൛͕͋Δͱ ͍͍Ͷʂʂ
ՈͷຖΛͬͱসإʹɻ ϚϚϦ ίωώτגࣜձࣾ 0QUJNJ[F3FTPVSDFTʹ͍ͭͯ
ϚϚϦ 0QUJNJ[F3FTPVSDFTʹ͍ͭͯ w *%&"1MVHJOʹ͍ͭͯ w 0QUJNJ[F*NQPSUTʹ͍ͭͯ w 0QUJNJ[F3FTPVSDFTʹ͍ͭͯ
ϚϚϦ 0QUJNJ[F3FTPVSDFT1MVHJO ػೳͱͯ͠ɺະ༻ͷϦιʔεͷআ͕ϝΠϯ ͷػೳͰ͢ɻকདྷతʹ0QUJNJ[FJNQPSUTͷΑ ͏ͳॱংௐະ༻ϦιʔεͷΧϥʔΛάϨʔ ʹͨ͠ΓɺϓϨϏϡʔը໘Λग़͍ͨ͠ͱࢥͬͯ ͍·͢ɻ͜ΕΛ࡞Γ͍ͨʂ 0QUJNJ[F3FTPVSDFT1MVHJO
ϚϚϦ 3FNPWF6OVTFE3FTPVSDFT ࣮ʮ3FNPWF6OVTFE3FTPVSDFTʯͱ ͍͏ػೳ͕͢Ͱʹ͋ͬͨʂ
ϚϚϦ 3FNPWF6OVTFE3FTPVSDFT 3FNPWF6OVTFE3FTPVSDFT
ϚϚϦ 3FNPWF6OVTFE3FTPVSDFT ෆཁͳϦιʔεͷআΛߦ͏"DUJPO1MVHJOɻ ෆཁͳQOHYNMͷBUUSJCVUFͷআ͕Ͱ͖ɺ "OESPJE4UVEJPʹಋೖ͞Ε͍ͯͨɻ 3FNPWF6OVTFE3FTPVSDFT
ϚϚϦ 3FNPWF6OVTFE3FTPVSDFT ϓϩμΫτͰ࣮ࡍʹࢼ͕ͨ͠ಈ͔ͳ͍ɻ খ͍͞αϯϓϧͩͱͪΌΜͱಈ͘ͷͰɺ Կ͔όά͕͋ΔΜͰ͠ΐ͏͔ʼʻ 3FNPWF6OVTFE3FTPVSDFT
ϚϚϦ *OUFMMJ+1MVHJO࡞ *OUFMMJ+1MVHJOΛ࡞ͬͯΈͨʂ
ϚϚϦ 0QUJNJ[F3FTPVSDFTͷίʔυ 3FTPVSDF0QUJNJ[F"DUJPO
ϚϚϦ 0QUJNJ[F3FTPVSDFTͷಈ࡞ ͜Μͳײ͡ͷಈ࡞Ͱ͢ʂ
ϚϚϦ 0QUJNJ[F3FTPVSDFTͷಈ࡞ 0QUJNJ[F3FTPVSDFT
ϚϚϦ 0QUJNJ[F3FTPVSDFTͷಈ࡞ 0QUJNJ[F3FTPVSDFT
ϚϚϦ 0QUJNJ[F3FTPVSDFTͷಈ࡞ 0QUJNJ[F3FTPVSDFT
ϚϚϦ 0QUJNJ[F3FTPVSDFT YNMɺLUϑΝΠϧɺKBWBϑΝΠϧΛૢ࡞͢Δʹ͋ ͨΓɺ7JSUVBM'JMFͱ1TJ'JMFΛͬͯૢ࡞͍ͯ͠ ·ͨ͠ɻͦΕͧΕͷػೳ͍ͭͯ֬ೝ͠·͢ɻ
ϚϚϦ 7JSUVBM'JMF 7JSUVBM'JMF ԾϑΝΠϧγεςϜͰɺ*OUFMMJ+ϓϥοτϑΥʔ ϜͷίϯϙʔωϯτͰϑΝΠϧΛॲཧ͢ΔͨΊʹ ར༻͠·͢ɻ
ϚϚϦ 14*'JMFT 14*'JMFT 1SPHSBN4USVDUVSF*OUFSGBDFͰɺݴޠϑΝΠ ϧͷFMFNFOUΛද͠ɺ9NM'JMFɺ1TJ+BWB'JMFɺ ,U'JMFͳͲ͕͋Γ·͢ɻϑΝΠϧͷಡΈࠐΈղ ੳΛߦ͏͜ͱ͕Ͱ͖·͢ɻ
ϚϚϦ ࡶײ ࡶײ w ͦ͜·Ͱ։ൃϋʔυϧߴ͘ͳ͍ w αϯϓϧ͕গͳ͍ͷͰগ͠େม͔͠Εͳ͍ w ίʔυΛಡΉ͜ͱଟͦ͏ w
υΩϡϝϯτ͕ॆ࣮͍ͯ͠ͳ͍ w νϟϯε͋Γͦ͏ w ,PUMJOʹίϯτϦϏϡʔτνϟϯε w ϥΠϒϥϦͷ1MVHJOΛ࡞Δ
ՈͷຖΛͬͱসإʹɻ ϚϚϦ ίωώτגࣜձࣾ *OUFMMJ+1MVHJO։ൃೖ
ՈͷຖΛͬͱসإʹɻ ϚϚϦ ίωώτגࣜձࣾ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠