Slide 1

Slide 1 text

,PEBJ4BLBCF!LPVEBJJJ8BOUFEMZ *OD ࣾ಺ͷ1MBUGPSNΛ࡞ΔऔΓ૊Έ 01&/$-06%*//07"5*0/'&45"

Slide 2

Slide 2 text

ABOUT ME — Software Engineer — 2010/4- TIS ࡔ෦ ޿େ (KOUDAI SAKABE) 2015/8- Wantedly @koudaiii Site: http://koudaiii.com

Slide 3

Slide 3 text

WANTEDLY — γΰτͰίίϩΦυϧͻͱΛ;΍͢—

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

-BVODI/FX WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ ੈքʹࣗ෼ͷ੠Λൃ৴͠Α͏ ࿩Λฉ͖ʹߦ͖͍ͨ

Slide 6

Slide 6 text

3 @

Slide 7

Slide 7 text

Wantedly Open API ͸ͨΒ͘Λ໘ന͘ʯΛςʔϚʹ͜Ε·ͰαʔϏε։ൃΛల։͖ͯͨ͠ 8BOUFEMZ͕ͦͷՁ஋Λ8BOUFEMZDPNυϝΠϯҎ֎ʹ΋޿͍͖͛ͯ·͢ɻ ੈͷதͷҰਓͰ΋ଟ͘ͷਓ͕ɺ͸ͨΒ͘Λ໘ന͘ʯײ͡ΒΕΔੈͷதʹͳΓ·͢Α͏ʹɻ Ͱ͖Δ͜ͱ ࣗಈೖྗ ΫοΫύουגࣜձࣾ ΫοΫύουגࣜձࣾ 5݄13೔ʹฐࣾΦϑΟε಺ͷεϖʔεʹͯʮʲୈ17ճʳpotatotips(iOS/Android։ൃTips ڞ༗ձ)ʯ http://connpass.com/event/14143/ Λ։࠵͠·ͨ͠ʂ 18໊ͷൃදऀ͕5෼ؒͷLTʢϥΠτχϯάτʔΫɿΧϯϑΝϨϯεͳͲͰߦΘΕΔ୹͍ ΋ͬͱݟΔ ஑ా୓࢘ ϢʔβʔϑΝʔετਪਐ෦෦௕ ਓ͕ϑΥϩʔத ਓ͕ϑΥϩʔத ϑΥϩʔ͢Δ ձࣾϑΟʔυϘοΫε ࿩Λฉ͖ʹߦ͘Ϙλϯ ϑΥʔϜࣗಈೖྗϘλϯ Wantedly্ʹ͋ΔʮձࣾϑΟʔυʯ Λɺϒϩά΍ίʔϙϨʔταΠτͳ Ͳɺ޷͖ͳϖʔδʹ؆୯ʹຒΊࠐΉ͜ ͱ͕Ͱ͖·͢ɻखܰͳ࠾༻ϒϥϯσΟ ϯά΍৘ใൃ৴ʹར༻Ͱ͖·͢ɻ ৄ͘͠ ৄ͘͠ ৄ͘͠ ࣗࣾαΠτ౳ͷืूཁ߲ʹɺʮ࿩Λฉ ͖ʹߦ͖͍ͨʯϘλϯΛઃஔ͠ɺ Wantedly্ͷʮ༡ͼʹ͍͘ମݧʯΛࣗ ࣾαΠτͰ΋ల։Ͱ͖·͢ɻ ࠾༻؅ཧγεςϜఏڙاۀ༷౳΁ͷಛ ผఏڙAPIͰ͢ɻީิऀ͕ืूʹΤϯ τϦ͢ΔࡍʹɺWantedly্ͷϓϩϑΟ ʔϧ৘ใΛ׆༻ͯ͠ΤϯτϦ͕Մೳʹ ͳΓ·͢ɻ

Slide 8

Slide 8 text

WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ γΰτͰίίϩΦυϧͬͯͳΜͩΖ͏ʁ 8BOUFMEZ͸ɺγΰτͰίίϩΦυϧਓΛ;΍͍ͨ͠ͱߟ͍͑ͯ·͢ɻ Ͱ͸ɺzγΰτͰίίϩΦυϧzͱ͸Ͳ͏͍͏ঢ়ଶͳͷͰ͠ΐ͏ʁ ͓٬͞Μʹʮ͋Γ͕ͱ͏ʯͱݴΘΕͨͱ͖ ໨ඪͷച্Λୡ੒ͨ͠ͱ͖ νʔϜϝϯόʔͷসإΛݟͨͱ͖ʜ ͦΕ͸ɺਓʹΑͬͯҧ͏Ͱ͠ΐ͏͠ɺ ࣌୅΍ࠃʹΑͬͯ΋·ͬͨ͘ҟͳΔͰ͠ΐ͏ɻ ࠓճϦϦʔε͢Δʮ8"/5&%-:+063/"-ʯͰ͸ɺ 8BOUFEMZΛ௨ͯ͠స৬ͨ͠ํ΍ɺීஈ͋·Γݟͨ͜ͱ͕ͳ͍اۀ΁ͷ ΠϯλϏϡʔΛ௨ͯ͠ɺzγΰτͰίίϩΦυϧzͱ͸Կͳͷ͔Λ୳ٻ͠·͢ɻ γΰτΛ୳͍ͯ͠Δਓ΋ɺͦ͏Ͱͳ͍ਓʹͱͬͯ΋ɺ ʮ8"/5&%-:+063/"-ʯ͕ಇ͖ํͷώϯτʹͳΕ͹޾͍Ͱ͢ɻ

Slide 9

Slide 9 text

ੈքʹࣗ෼ͷ੠Λൃ৴͠Α͏

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

ࣾ಺ͷ1MBUGPSNΛ࡞ΔऔΓ૊Έ

Slide 12

Slide 12 text

8):

Slide 13

Slide 13 text

େ୾ʹඒ͘͠ɺεϚʔτʹ ʮ͍͢͝ʯ͕ࣗવͱग़ͯ͘Δ৔Λࢧ͑Δ

Slide 14

Slide 14 text

)08

Slide 15

Slide 15 text

ٕज़తʹ༏Ґੑͷ͋ΔΠϯϑϥ ͬ͘͞ͱ୆ݐͯΕΔɾ৽͍͠෺͕͙͢ʹग़ͤΔ

Slide 16

Slide 16 text

8)"5

Slide 17

Slide 17 text

ࣾ಺ͷ1MBUGPSNΛ࡞Δ ΤϯδχΞ͕ࠔ͍ͬͯΔ͜ͱΛͳ͘͢ɻίίϩΦυϧ͜ͱΛ΍Δɻ

Slide 18

Slide 18 text

8BOUFEMZ8BZ 6TFS'JSTU$PEF8JOT"SHVNFOUT4JNQMFJT/PU&BTZ

Slide 19

Slide 19 text

6TFS'JSTU w ʮ΋ͬͱ଎͍അं͕΄͍͠ʯͱ͍͏Ϣʔβͷ੠Λฉ͖ଓ͚ΔͷͰ͸ͳ͘ɺ ʮ଎͘Ҡಈ͍ͨ͠ʯͱ͍͏Ϣʔβͷຊ࣭తͳཉٻʹԠ͑Δߦҝ w ʮݴ༿ߦಈʯ w ϢʔβʔςετͰਓؒҧ͑ΔΑ͏ͩͬͨΓ·͍ͭͨ͝Γͨ͠Βվળ ͯ͠ɺ΋͏Ұճࢼͯ͠΋Βͬͯҧ͏ਓʹ΋ࢼͯ͠΋Β͏

Slide 20

Slide 20 text

$PEF8JOT"SHVNFOUT w νʔϜͰ࣌ؒ.5(͢ΔͳΒDPEFΛॻ͍ͯݕূ͠Α͏ w ΤϯδχΞͷ৔߹ w ݶΒΕͨ৘ใͰܾஅΛͯ͠ɺલʹਐΜͰ͍Δ͔ w ԾઆΛ͋Ε͜Εߟ͑ΔΑΓɺ·ͣϓϩτλΠϓΛ࡞ͬͯૣֶ͘श͍ͯ͠Δ͔ w Ӧۀͷ৔߹ w ࣗ෼Ͱྑ͍ػೳ͕ු͔Μ͔ͩΒΤϯδχΞʹཔΉͷͰ͸ͳ͘ w اըॻΛॻ͍ͯձࣾΛճͬͯɺࣾఔ౓Λ֬໿ͯ͠ɺ͜ΕͳΒߦ͚ΔͱࢥͬͨΒΤϯδχΞʹཔΉ͜ͱ ͕ग़དྷΔ͔

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

೔ؒͰ݁ՌΛग़͢ʮάϩʔεج൫։ൃϋοΧιϯʯ w IUUQTXXXXBOUFEMZDPNDPNQBOJFTXBOUFEMZQPTU@BSUJDMFT w ਓ૊̐νʔϜ w 3BJMT/PEF3FBDUͱ޷͖ͳݴޠͰ৽͘͠SFQPTJUPSZΛ࡞ͬͯ࢝Ί ͨΓ w "84%ZOBNP%#&MBTUJ$BDIF

Slide 24

Slide 24 text

4JNQMFJT/PU&BTZ w ࡞Δଆ͕࢖͏ଆͷࣄΛపఈతʹߟ͑ൈ͍͍ͯΔ͔ w ଍͢ΑΓ΋Ҿ͍ͯϑΥʔΧεΛ͍ͯ͠Δ͔ w ޮՌ͕ߴ͍ࢪࡦ ޮՌ͕௿͍ͱͦͷֻ͚ͨ޻਺෼Ͱ΋ͬͱ༗ޮͳվળ͸ͳ ͔ͬͨʁ w ԾઆΛͨͯͯɺͦͷԾઆͷίΞͱͳΔ෦෼͚ͩʹϑΥʔΧεͰ͖͍ͯΔ͔

Slide 25

Slide 25 text

FUD w %FNP%BZ༵ۚ೔ʹࣗ෼Ͱ࡞ͬͨ΋ͷࢪࡦΛશࣾһͷલͰൃද͢Δ৔ ෼ͷ-5 w ෛ࠴ฦࡁ೔σβΠφʔ΋ؚΊͯΤϯδχΞશһͰؙ೔ٕज़తͳෛ࠴ʹऔΓ૊Ή೔ w $.8$BO.VTU8BOU͓ޓ͍ͷίϛϡχέʔγϣϯ w POϦʔμʔͱͷίϛϡχέʔγϣϯ w &YQFDUBUJPOظ଴஋ઃఆ w CJ[@RVFTUJPOϏδωεଆ͔Βͷ࣭໰ΛΤϯδχΞ͕࣋ͪճΓͰճ౴͢Δ

Slide 26

Slide 26 text

*OGSBTUSVDUVSF ࣾ಺ͷ1MBUGPSNΛ࡞Δ

Slide 27

Slide 27 text

೥݄೔ΑΓ)FSPLV͔Β"84΁

Slide 28

Slide 28 text

9BBTͱ"84ͷ྆ํΛ࢖͏ w ར༻Ͱ͖Δ΋ͷ͸ͲΜͲΜར༻͢Δ w εϐʔυײ w ίετײ w ؀ڥͷબ୒ CVJMEQBDLͩͱ΍Γʹ͍͘ w ωοτϫʔΫ w )FSPLV΍3FEJT΍'JSFCBTFͱ"84૊Έ߹Θͤ

Slide 29

Slide 29 text

#PUUMFOFDL ΤϯδχΞͷ૿ՃɺαʔϏεͷ૿Ճ Developer ΠϯϑϥνʔϜ λεΫґཔ WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ ੈքʹࣗ෼ͷ੠Λൃ৴͠Α͏

Slide 30

Slide 30 text

8BOUFEMZ*OGSBTUSVDUVSF8BZ w $PEF8JOT"SHVNFOUT w มԽʹڧ͍ΠϯϑϥΛ w 6TFS'JSTU w %FWFMPQFS͕͍ͭͷؒʹ͔࢖͍ͬͯΔ΋ͷΛ w 4JNQMFJT/PU&BTZ w ৔౰ͨΓతͳରԠͰ͸ͳ͘ɺࠜຊղܾΛ

Slide 31

Slide 31 text

ίʔυԽͱࣗಈԽ w ΠϯϑϥΛૢ࡞͢Δ5PPMࣾ಺Ͱศརͳ$-*(6*৽͍ٕ͠ज़ج൫ Developer ΠϯϑϥνʔϜ API and Tool WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ ੈքʹࣗ෼ͷ੠Λൃ৴͠Α͏

Slide 32

Slide 32 text

͜Ε·ͰͷऔΓ૊Έ w ศརπʔϧ w TBQEFQMPZTFSWFS w ೋஈ֊ϏϧυʹΑΔEFQMPZߴ଎ԽCMVFHSFFOEFQMPZNFOU w 5FSSBGPSN w $PSF04 w DFMM w SFQMBDF

Slide 33

Slide 33 text

$ s3url —help #ظݶ෇͖URLΛൃߦ Usage of s3url: s3url https://s3-region.amazonaws.com/BUCKET/KEY [-d DURATION] s3url s3://BUCKET/KEY [-d DURATION] s3url -b BUCKET -k KEY [-d DURATION] $ ec2c —help # vagrant Ͱࢼͨ͠΋ͷΛ instance ͰݐͯΔ / tag Λ෇͚ΕΔ / ip Λ֬ೝͰ͖Δ Available commands are: launch Launch new EC2 instance list List EC2 instances tag Tag EC2 instances terminate Terminate the specified EC2 instance untag Tag EC2 instances ศརπʔϧ

Slide 34

Slide 34 text

TBQ%FQMPZ4FSWFS w ඞཁͳ༷ʑͳ伴΍؀ڥม਺ΛݸਓͰઃఆ͠ͳͯ͘Α͍ w %FQMPZํ๏͕มΘΔΑ͏ͳΠϯϑϥͷߏ੒มߋ࣌ʹ΋ɺ֤ΤϯδχΞ͸खݩͷΞοϓσʔτΛ͢Δඞཁ͕ͳ͍ w %FQMPZ࣌ͷ֤ݸਓͷ࡞ۀ͕ίϯςφͷϩάͱͯ͠࢒Δ IUUQEFWDMBTTNFUIPEKQEFWPQTEFWPQTXBOUFEMZ TBQRBQT %FQMPZ4FSWFS TBQTZODEFQMPZ DBQTZODEFQMPZ TBQQSPESVOSBJMTD

Slide 35

Slide 35 text

ೋஈ֊ϏϧυʹΑΔ%FQMPZߴ଎Խ w ϏϧυαʔόͰ%PDLFSΠϝʔδΛϏϧυ w ϓϥΠϕʔτ%PDLFSϨδετϦ 4 ΁Ξοϓϩʔυ

Slide 36

Slide 36 text

ຊ൪αʔό܊ʹ࠷৽ͷ%PDLFSΠϝʔδΛμ΢ϯϩʔυ

Slide 37

Slide 37 text

CMVFHSFFOEFQMPZNFOU w TUBOECZͰݹ͍ίϯςφΛ࡟আ͠৽͍͠ίϯςφΛىಈ w IFBMUIDIFDL͕੒ޭͨ͠ΒTXJUDIDPMPSͰ-PBE#BMBODFSΛ੾ସ

Slide 38

Slide 38 text

%FQMPZ'MPX ϏϧυαʔόͰࢦఆͨ͠ϒϥϯνΛ(JU)VC͔Βऔಘ ϏϧυαʔόͰ༧Ί࡞੒͞ΕͨΠϝʔδΛݩʹ%PDLFSΠϝʔδΛ࠶Ϗϧυ ϓϥΠϕʔτ%PDLFSϨδετϦ 4 ΁Ξοϓϩʔυ ຊ൪αʔό܊ʹ࠷৽ͷ%PDLFSΠϝʔδΛμ΢ϯϩʔυ ຊ൪αʔό܈Ͱ৽͍͠ίϯςφΛىಈ͠ɺIFBMUIDIFDLΛ௨͢ ݹ͍΋ͷͱ੾ସ

Slide 39

Slide 39 text

5FSSBGPSN 1VMM3FRVFTUͰΠϯϑϥͷਃ੥ w "84 43%4&-#FUD EOTJNQMFEBUBEPHΛૢ࡞ IUUQTTQFBLFSEFDLDPNEUBOUFSSBGPSNBUXBOUFEMZUFDIDJSDMFOVNCFS

Slide 40

Slide 40 text

$PSF04 w 6CVOUVΛར༻͍ͯͨ࣌͠ɺ%PDLFS΍3FHJTUSZͷWFSTJPOVQ͕େม w $PSF04͸EPDLFS͕ೖ͍ͬͯΔ0⒏DJBMBNJ͕͋Δ w CMVFHSFFOʹΑΔ04WFSTJPOVQ w 4ZTUFNE w )PTU্Ͱ࡞ۀ͕ग़དྷͳ͍ w ͢΂ͯͷαʔόʔΛ$PSF04ʹม͑ͨ

Slide 41

Slide 41 text

"84ͷ5"(ͱ"VUP4DBMF(SPVQ w ͢΂ͯͷJOTUBODFͷಛఆ͸ɺ"84ͷ5"(Ͱఆٛ w \BQQXBOUFEMZ SPMFXFC EFQMPZNFOUCVMFHSFFO^ w Կ୆ಈ͔͍͔ͨ͠ʁ"4(ʹΠϯελϯε਺Λఆٛ w ඞཁͳΠϯϑϥπʔϧ͸-BVODI$POpHͰఆٛ w JOTUBODF্ཱ͕͕ͪΔͱ౰࣌ʹ5"(Λ֬ೝ͠ɺඞཁͳTFSWJDFΛ TZTUFNE͔Β্ཱͪ͛Δ

Slide 42

Slide 42 text

DFMM w "845"(ΛݩʹαʔϏεΛಛఆ͠TZTUFNEʹొ࿥ w ࣗಈͰ4FSWJDFJO͢Δ w "EE%FMFUF%/43FDPSE

Slide 43

Slide 43 text

SFQMBDFDPNNBOE w 0QFO44-΍*NBHF.BHJDL౳ͷ੬ऑੑ͸೥ʹԿճ͔ൃݟ͞ΕΔ w *OTUBODFΛ͢΂ͯೖΕସ͑Δͷ͸޻਺ֻ͕͔Δ w ಉ͡Α͏ͳ࡞ۀ͸ίʔυʹͯ͠ɺࣗಈԽͤ͞Δ w αʔϏε͝ͱʹίϚϯυҰͭͰ͢΂ͯͷΠϯελϯεΛೖΕସ͑Δ w ྫTBQTZODSFQMBDF

Slide 44

Slide 44 text

,VCFSOFUFT $MVTUFSJOHෳ਺ͷJOTUBODF͔Βେ͖͞ϦιʔεΛ࣮ݱ

Slide 45

Slide 45 text

8): w αʔϏεͷ෼ׂ΍৽نαʔϏεΛग़͢৔ ߹ɺΠϯϑϥνʔϜͷ΍Δ͜ͱ͕ଟ͍ w Πϯϑϥͷ҆ఆԽʹΑΓෳࡶԽ w ಉ͡Α͏ͳ࡞ۀ΋ଟ͍ Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS

Slide 46

Slide 46 text

ΫϥελϦϯά w "QQMJDBUJPOΛಈ͔ͤΔΠϯϑϥΛ͙͢࡞ͬͯ͘ΕͱݴΘΕͨ࣌ʹ࡞ΕΔ w ճݶΓͷ͙͢ऴΘΔλεΫͰ΋ಉ͡ΠϯλʔϑΣʔεͰग़ͤΔ w Τϥʔ͕͋ͬͨͱͯ͠΋ɺผͷͱ͜ΖͰ૸Βͤ௚ͤΔ w Ұͭͷେ͖ͳϦιʔεͱͯ͠ಈͨ͘Ίɺࠓ·Ͱߦ͖͍ͬͯͯͨ.POJUPSJOH ༻ʹίϯςφΛઃఆͯ͠ɺ࣍͸"4(༻ʹϚγϯΛཱͯͯɺ࣍͸Έ͍ͨͷ Α͏ͳΠϯϑϥ࡞ۀ͜ͱ͕ͳ͍ ʮԿ͕ԿॲͰಈ͍͍ͯΔ͔Λҙ͍ࣝͯ͠ͳ͚Ε͹ͳΒͳ͍ੈքʯ͔ΒʮԿ͕ಈ͍͍ͯΔ͔͚ͩҙ͍ࣝͯ͠Ε͹ྑ͍ੈքʯ

Slide 47

Slide 47 text

ΫϥελϦϯά ʮԿ͕ԿॲͰಈ͍͍ͯΔ͔Λҙ͍ࣝͯ͠ͳ͚Ε͹ͳΒͳ͍ੈքʯ͔ΒʮԿ͕ಈ͍͍ͯΔ͔͚ͩҙ͍ࣝͯ͠Ε͹ྑ͍ੈքʯ Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Monitoring Logging Auto Scale Load Balancer Internal DNS ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ

Slide 48

Slide 48 text

,VCFSOFUFT w IUUQCMPHSBJOUPXOPSHMPHHJOHLVCFSOFUFTQPETVTJOHqVFOUEIUNM w /PEFJOTUBODF w ෳ਺ͷJOTUBODFΛҰͭϦιʔε w -PHHJOH΍.POJUPSJOHͷΑ͏ͳ ֤/PEFʹ഑ஔ͍ͨ͠΋ͷ΋"1* Λ௨࣮ͯ͡ݱ w %FWFMPQFS͸ඞཁͳ4QFDΛఆٛ ͠ɺ"1*Λݺͼग़͢

Slide 49

Slide 49 text

.POJUPSJOHCZ%BUBEPH %BFNPO4FU ֤/PEFʹରͯ͠഑ஔ͢Δ $MVTUFSʹରͯ͠Ұ౓NBOJGFTUpMFΛૹΕ͹ͦͷ$MVTUFS͢΂ͯͷ.POJUPSJOH͕ग़དྷΔ

Slide 50

Slide 50 text

%BTICPBSE TDPQFQPESDSDOBNFTQBDFͰߜΓࠐΈ"MFSUઃఆ

Slide 51

Slide 51 text

,VCFSOFUFT଎शձ %FWFMPQFS͕ͬ͘͞ͱLVCFSOFUFTΛཧղͯ͠ɺ࣮ࡍʹϦϦʔεͰ͖Δ

Slide 52

Slide 52 text

PROJECT — API and kube CLI—

Slide 53

Slide 53 text

IUUQTTQFBLFSEFDLDPNBXBLJBZPSJZPJBQJXP[VPSVUBNFOJ

Slide 54

Slide 54 text

,POH"SDIJUFDUVSF w ,POH$MVTUFSJOH w QMVHJO w 0"VUI w "$- w *13FTUSJDUJPO w 3BUF-JNJU w 3FRVFTU4J[FMJNJU w 3FTQPOTFMBUFMJNJU

Slide 55

Slide 55 text

"1*(FOFSBUPS w XBOUFEMZBQJH w (PMBOH3&45GVM"1*4FSWFS (FOFSBUPS w XBOUFEMZQRHPSN w (FOFSBUFHPSNNPEFM TUSVDUTGSPN1PTUHSF42- EBUBCBTFTDIFNB

Slide 56

Slide 56 text

Kubernetes for Wantedly kube Commands: • kube deploy • kube migration • kube diff • kube rollback • kube enable dotenv • kube enable private-repogitory quay • kube generate • kube tags • kube (kubectl subcommands) Container Tools: • kubectl • k8sec • slack notification(kubenotification) • deploy (kubeloy) • scheduler (?????) • ps/status (kubeps) Developer kube Server Kubernetes

Slide 57

Slide 57 text

NEXT — େ୾ʹඒ͘͠ɺεϚʔτʹ—