Fukuoka.go #11 LT
খࢁ݈Ұ(.01FQBCP *OD'VLVPLBHPTQGDPCSBͰͰ͖Δ؆୯$-*πʔϧ
View Slide
γχΞΤϯδχΞখࢁ݈Ұ!L-P8ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓϚωʔδυΫϥυνʔϜIUUQTHJUIVCDPNL-P8
.Z$-*UPPMTw BXTQFDw LPNBw PDUPQVCMJTIw PDUPQBDLBHFw DFSUNBOw TDPOCw UNQGLw SFDJQFw CVOw LVNPNFw CBDLMPHDQw EFWMPDBM
.Z$-*UPPMTw BXTQFDw LPNBw PDUPQVCMJTIw PDUPQBDLBHFw DFSUNBOw TDPOCw UNQGLw SFDJQFw CVOw LVNPNFw CBDLMPHDQw EFWMPDBMPQUQBSTF$BLF4IFMM/PEF#BTI
*5IPS
5IPSw5IPSJTBUPPMLJUGPSCVJMEJOHQPXFSGVMDPNNBOEMJOFJOUFSGBDFT*UJTVTFEJO#VOEMFS 7BHSBOU 3BJMTBOEPUIFSTwIUUQXIBUJTUIPSDPNw3VCZͷϑϧελοΫͳ$-*ϥΠϒϥϦwҾΦϓγϣϯͷΈָཱ͕ͯͰػೳͷ࣮ʹूதͰ͖Δwศརʹ࡞ΒΕ͍͗ͯͯ͢ɺ3VCZΛॻ͍͍ͯΔͱ͍͏ΑΓ5IPSΛॻ͍͍ͯΔ
ͱ͜ΖͰ࠷ۙ(PΛ֮͑·ͨ͠
.Z$-*UPPMT XSJUUFOJO(P
DHSQTwDHSQTJTBTFUPGDPNNBOETGPSDIFDLJOHDHSPVQTwIUUQTHJUIVCDPNL-P8DHSQTwେྔͷDHSPVQ͕࡞͞ΕΔڥͰɺQFDPͳͲͱ࿈ܞͯ͠ޮతʹDHSPVQใΛऔΓѻ͏ͨΊͷίϚϯυ> cgrps stat $(cgrps ls | peco)> ps u --pid $(cgrps ls | peco | cgrps pids | xargs)
UCMTwUCMTJTB$*'SJFOEMZUPPMGPSEPDVNFOUBEBUBCBTF XSJUUFOJO(PwIUUQTHJUIVCDPNL-P8UCMTw.BSLEPXO ('.ܗࣜͰσʔλϕʔευΩϡϝϯτΛੜͯ͘͠ΕΔίϚϯυw$*ʹΈࠐΜͰυΩϡϝϯτͷߋ৽ΛνΣοΫ͢ΔίϚϯυ͋Δ> tbls doc postgres://user:pass@hostname:5432/dbname ./dbdoc
(PͰ$-*πʔϧΛ࡞Δ
(PͰ$-*πʔϧΛ࡞Δw$-*ϥΠϒϥϦʢϑϨʔϜϫʔΫʣΛ͏wͨͩϥΠϒϥϦΛ͏ͷͰͳ͘δΣωϨʔτπʔϧΛͬͯߴʹϓϩτλΠϓΛ࡞ΔUDOLTNHDMJVSGBWFDMJNJUDIFMMIDMJHPDNE&YBNQMFIUUQTTQFBLFSEFDLDPNUDOLTNLPNBOEPSBJOUVSVOJUVJUFZVSVUPLJOJQVGBMTFZVSVLPUPOVNCFSZBQDBTJB TMJEF
TQGDPCSB
Cobra is both a library for creating powerful modern CLI applicationsas well as a program to generate applications and command files.
TQGDPCSBw,VCFOFUFT.PCZ %PDLFSɺ0QFO4IJGUͳͲͰΘΕ͍ͯΔ$-*ϥΠϒϥϦʢϑϨʔϜϫʔΫʣͰ͋ΓδΣωϨʔτπʔϧwDPCSBͷܗΛDPCSBΛͬͯߴʹϓϩτλΠϓΛ࡞ΔTQGDPCSB TQGDPCSB
Πϯετʔϧ͔ΒίϚϯυ࡞ͷྫ
/> go get github.com/spf13/cobra/cobra/> cobra init github.com/k1LoW/fukgo/> cd $GOPATH/src/github.com/k1LoW/fukgofukgo/> cobra add hellofukgo/> go buildfukgo/> ./cobra123456
؆୯
DPCSBίϚϯυwDPCSBJOJUTQGDPCSBTQGWJQFSΛͬͨ$-*πʔϧͷܗΛ࡞͢ΔίϚϯυwTQGWJQFSʜDPOpHϑΝΠϧΛಡΈࠐΉͨΊͷػߏΛఏڙ͢ΔϥΠϒϥϦʢඞཁͳ͍߹WJQFSGBMTFʣwDPCSBBEEαϒίϚϯυͷܗΛՃ࡞͢ΔίϚϯυ
ੜ͞ΕͨιʔεͷߏGVLHPᵓᴷᴷ-*$&/4&ᵓᴷᴷDNEᴹᵓᴷᴷIFMMPHPʜGVLHPIFMMPίϚϯυͷίʔυᴹᵋᴷᴷSPPUHPʜGVLHPίϚϯυͷίʔυᵋᴷᴷNBJOHP
ίʔυͷઆ໌ׂѪͨͿΜݟͨΒ͙͢Θ͔Δ͘Β͍ʹΘ͔Γ͍͢
TQGDPCSBͰͰ͖Δ͜ͱwίϚϯυ͚ͩͷελΠϧαϒίϚϯυΛ࣋ͭελΠϧ࣮ՄೳwUIPSHFNͰαϒίϚϯυͷελΠϧҎ֎ͷ࣮ݱ͕͍͠wTQGDPCSBͷ߹DNESPPUHPΛҭͯΕྑ͍wIFMQίϚϯυͷࣗಈ࡞Φϓγϣϯͷ؆୯੍ޚͳͲଞͷ$-*ϥΠϒϥϦͱಉ༷ʹՄೳwTQGWJQFSͱͷ࿈ܞͰઃఆϑΝΠϧͱͷ࿈ܞՄೳ
ଞͷ$-*ϥΠϒϥϦͰͰ͖Δ͜ͱͰ͖ͦ͏
Ͳͷ$-*ϥΠϒϥϦͰेʹྑ͍ΈͰબΜͰ
*TQGDPCSB
5IBOLZPV࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU