Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Plugman code-reading
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Motokazu Nishimura
April 28, 2014
Technology
15
0
Share
Plugman code-reading
Study of Plugman, which is installer/uninstaller for Apache Cordova Plugins.
Motokazu Nishimura
April 28, 2014
More Decks by Motokazu Nishimura
See All by Motokazu Nishimura
りす と らぼ。Stockmark Labs の裏側 - AI社内推進チームの納涼会LT
motokazu
0
210
AI Agent Otomo-san AI-Agent-MeetupTokyo
motokazu
0
1.3k
AI系 B2B サービスの UI/UXデザイナー/エンジニアがハマるところ
motokazu
0
61
Node-RED for designers
motokazu
0
330
Ohd2016 BOBUTTON The Internet of Buttons
motokazu
0
54
Suika warenja - スイカ割れんじゃー -
motokazu
0
69
geo-location-data-format
motokazu
0
71
Private lens @ yahoo open hack day 2014
motokazu
0
48
CouchDB android - Dot Logging
motokazu
0
71
Other Decks in Technology
See All in Technology
GoとSIMDとWasmの今。
askua
3
490
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
170
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.1k
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
190
Mastering Ruby Box
tagomoris
3
140
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
160
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.2k
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
450
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
210
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
250
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
380
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
250
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
The Limits of Empathy - UXLibs8
cassininazir
1
350
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The SEO identity crisis: Don't let AI make you average
varn
0
480
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
140
Rails Girls Zürich Keynote
gr2m
96
14k
The SEO Collaboration Effect
kristinabergwall1
1
470
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
1MVHNBODPEFSFBEJOH 1MVHNBOzWFSTJPOEFW
QMVHNBO w 1MVHNBOJT w "DPNNBOEMJOFUPPMUPJOTUBMMBOE VOJOTUBMMQMVHJOTGPSVTFXJUI"QBDIF $PSEPWBQSPKFDUT w IUUQTHJUIVCDPNBQBDIFDPSEPWB QMVHNBO
QMVHNBOJOTUBMM QMVHNBOJOTUBMM QMVHJOT@EJSQMVHJOT QMVHJODPNQIPOFHBQQMVHJOTCBSDPEFTDBOOFS QMBUGPSNBOESPJE QSPKFDUBOESPJEOBUJWF XXXBOESPJEKT QMVHJO͕อ͞Ε͍ͯΔॴ QMVHJOͷ໊લ ରϓϥοτϑΥʔϜ
BOESPJE༻ͷϓϥάΠϯϑΝΠϧ KBWB MJCT Λஔ͢ΔରσΟϨΫτϦ QMVHJOT KT DPSEPWB@QMVHJOTKT ͕ஔ͞ΕΔ FY QMBUGPSNBOESPJE
pMFT w ͜ͷ͋ͨΓΛݟΔ w NBJOKT w QMVHNBOKT w JOTUBMMKT w
QSFQBSFKT
NBJOKT w Ұ൪࢝ΊʹݺΕΔ w DMJͷΦϓγϣϯͷݕূ w QMVHNBOͷDPOTPMFFWFOUͷઃఆ w Φϓγϣϯʹج͍ͮͨQMVHNBOͷؔͷ࣮ߦ !
w DPNNBOETQMVHNBOKTͰఆٛ͞ΕΔ w ͜͜Ͱ͍͏<DNE>DPOpH JOTUBMMͳͲͷίϚϯυͷ͜ͱ -WBSSFTVMUQMVHNBODPNNBOET<DNE> DMJ@PQUT
QMVHNBOKT w QMVHNBOͷϝΠϯ෦ w QMVHNBODPNNBOETͷதʹ࣮ߦՄೳͳίϚϯυྻ͕ฒͿ w ࣮ߦ͞ΕΔதɺBEE1SPQFSUZͰରԠ͢ΔϞδϡʔϧΛTSD͔ΒSFRVJSF ! w ಡΈࠐΜͩGVODUJPOΛQMVHNBOPCKFDUͷϓϩύςΟͱͯ͠ొ
-BEE1SPQFSUZ QMVHNBO JOTUBMM TSDJOTUBMM USVF
JOTUBMMKT TSDJOTUBMMKT w JOTUBMMDPNNBOEͷத w *OTUBMMqPX w JOTUBMM1MVHJOQPTTJCMZ'FUDISVO*OTUBMMIBOEMF*OTUBMM w JOTUBMM1MVHJO
QMBUGPSN QSPKFDU@EJS JE QMVHJOT@EJS PQUJPOT w QMBUGPSNͷνΣοΫ w QPTTJCMZ'FUDI BDUJPOT QMBUGPSN QSPKFDU@EJS JE QMVHJOT@EJS PQUJPOT w QMVHJOͷGFUDIΛߦ͍SVO*OTUBMMʹਐΉ
JOTUBMMKTSVO*OTUBMM w 1MVHJOʹ͋ΔQMVHJOYNMΛύʔεɺQMVHJO໊ *%Λऔಘ w QMVHJO͕Πϯετʔϧ͞Ε͍ͯΔ͔Λ֬ೝ w ֬ೝରͷϑΝΠϧQMBUGPSNຖʹҧ͏ͷͰɺQMBUGPSNT KTΛࢀর͢Δ w
QMVHJO͕Πϯετʔϧ͞Ε͍ͯͳ͚Εଓ͘ w HFU&OHJOFTͰQMVHJOYNMʹهࡌ͞Ε͍ͯΔॲཧΤϯδϯΛऔಘʢهࡌແ͠ͷ ߹EFGBVMUFOHJOFΛར༻ʣ w VUJMEFGBVMUFOHJOFTKTʹهड़ͷ͋ΔFOHJOFͰ͋ΕɺTDSJQU4SDͷύε͕ ηοτ͞ΕΔɻଘࡏ͠ͳ͍߹ҎԼͷϧʔϧͰՃ͞ΕΔɻ <engines> <engine name="cordova" version="1.8.1" /> <engine name="worklight" version="1.0.0" /> </engines> VUJMEFGBVMUFOHJOFTKT <ଘࡏ͢Δ߹> -\QMBUGPSN TDSJQU4SDQBUIKPJO QSPKFDU@EJS DPSEPWB WFSTJPO ^ <ଘࡏ͠ͳ͍߹> \OBNFUIF/BNF QMBUGPSNFOHJOFBUUSJC<QMBUGPSN> TDSJQU4SDQBUISFTPMWF QMVHJO@EJS FOHJOFBUUSJC<TDSJQU4SD> NJO7FSTJPOFOHJOFBUUSJC<WFSTJPO>^
JOTUBMMKTSVO*OTUBMM w औಘͨ͠FOHJOFͷTDSJQU4SDΛDIJME@QSPDFTTͰىಈ DBMM&OHJOF4DSJQUT w TDSJQU4SDͷதWFSTJPOΛग़ྗ͢ΔγΣϧ w QMBUGPSNTJPTDPSEPWBWFSTJPO w ࣮ߦՄೳͳWFSTJPOͱ͍͏໊લͷγΣϧ͕͋ΔΛνΣοΫ͠
͍ͯΔ w औಘͨ͠όʔδϣϯͱQMVHJOYNMʹॻ͍ͯ͋ΔόʔδϣϯΛൺ ֱͯ͠ɺαϙʔτόʔδϣϯ͔Ͳ͏͔Λ֬ೝDIFDL&OHJOFT
JOTUBMMKTSVO*OTUBMM -- w QMVHJOYNMͷQSFGFSFODF͕͋ΕɺίϚϯυҾ PQUJPOT ʹଘࡏ͢Δ͔Λ֬ೝɻͳ͚Εͦ͜ͰίϚϯυ ऴྃ w QMVHJOYNMͷEFQFOEFODZ͕͋ΕɺJOTUBMMࡁΈ QMVHJOΛ֬ೝɻແ͚ΕɺMPDBM
HJU͔ΒQMVHJOΛऔಘ͠ ͯ͘Δ GFUDIKT w ४උྃɻIBOEMF*OTUBMMΛݺͿ IBOEMF*OTUBMM BDUJPOT QMVHJO@JE QMVHJO@FU QMBUGPSN QSPKFDU@EJS QMVHJOT@EJS JOTUBMM@QMVHJO@EJS pMUFSFE@WBSJBCMFT PQUJPOTXXX@EJS PQUJPOTJT@UPQ@MFWFM
JOTUBMMKTIBOEMF*OTUBMM w QMVHJOYNMͷQMBUGPSNλάΛରʹ࣮ࡍʹ ϑΝΠϧͳͲΛҠಈͤ͞Δ ! ! w QMBUGPSNT KT͔ΒରԠ͢ΔϓϥοτϑΥʔϜ ͷίϚϯυΛ࣮ߦ४උ
WBSTPVSDF'JMFTQMBUGPSN5BHpOEBMM TPVSDFpMF IFBEFS'JMFTQMBUGPSN5BHpOEBMM IFBEFSpMF SFTPVSDF'JMFTQMBUGPSN5BHpOEBMM SFTPVSDFpMF GSBNFXPSL'JMFTQMBUGPSN5BHpOEBMM GSBNFXPSL<!DVTUPNUSVF> MJC'JMFTQMBUGPSN5BHpOEBMM MJCpMF BTTFUTBTTFUTDPODBU QMBUGPSN5BHpOEBMM BTTFU -BDUJPOTQVTI BDUJPOTDSFBUF"DUJPO IBOEMFS<lTPVSDFpMF>JOTUBMM
JOTUBMMKTIBOEMF*OTUBMM w ίϐʔઌΛܾఆͯ͠ϑΝΠϧΛҠಈͤ͞Δ ! ! w BDUJPOTQSPDFTT QMBUGPSN QSPKFDU@EJS
w ࣦഊͨ͠ΒVOJOTUBMM͕ݺΕΔ w ޭ͢ΕJOTUBMMॲཧྃ <QMBUGPSNTBOESPJEKT> JOTUBMMGVODUJPO TPVSDF@FM QMVHJO@EJS QSPKFDU@EJS QMVHJO@JE \ WBSEFTUQBUIKPJO TPVSDF@FMBUUSJC<UBSHFUEJS> QBUICBTFOBNF TPVSDF@FMBUUSJC<TSD> ! DPNNPODPQZ/FX'JMF QMVHJO@EJS TPVSDF@FMBUUSJC<TSD> QSPKFDU@EJS EFTU ^
QSFQBSFKT w QMVHJOϑΝΠϧͷDPSEPWBEFpOFͷՃ ! w DPSEPWB@QMVHJOTKTϑΝΠϧͷ࡞ QMVHJOϑΝΠϧʹࣗಈૠೖ͞ΕΔ DPSEPWBEFpOF lDPNQIPOFHBQQMVHJOT -TDSJQU$POUFOUDPSEPWBEFpOF
NPEVMF/BNF GVODUJPO SFRVJSF FYQPSUT NPEVMF \ TDSJQU$POUFOU aO^ aO -WBSpOBM@DPOUFOUTDPSEPWBEFpOF DPSEPWBQMVHJO@MJTU GVODUJPO SFRVJSF FYQPSUT NPEVMF \aO -pOBM@DPOUFOUT NPEVMFFYQPSUT +40/TUSJOHJGZ NPEVMF0CKFDUT OVMM baO ʜ -GTXSJUF'JMF4ZOD QBUIKPJO XXX%JS DPSEPWB@QMVHJOTKT pOBM@DPOUFOUT VUG
&OEPG4MJEFT