Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Next Currencyの管理画面 サーバサイドエンジニアのフロントエンド技術選択

sonatard
April 25, 2018

Next Currencyの管理画面 サーバサイドエンジニアのフロントエンド技術選択

sonatard

April 25, 2018
Tweet

More Decks by sonatard

Other Decks in Programming

Transcript

  1. Server Side Engineer ͦͳͨ @sonatard • University • Linux Server

    and Network Engineer • Canon • Develop Wireless LAN Module Simulator with SystemC • Develop TCP/IP protocol stack on RTOS • Go in my free time • Mercari/Souzoh • Google App Engine Go Engineer • Mercari Atte • Next Currency • Google App Engine Go Engineer
  2. • ຊ ೔ ͷ ࿩ • N C ͷ ؅

    ཧ ը ໘ • ؅ ཧ ը ໘ ͷ Ξ ʔ Ω ς Ϋ ν ϟ • ج ຊ ํ ਑ • ٕ ज़ બ ఆ
  3. 5 ຊ೔ͷ࿩ w ʮ؅ཧը໘͔ͩΒͱΓ͋͑ͣద౰ʹ࡞͓͍ͬͯͯ༨༟͕ͰͨΒॻ͖௚ͦ͏ʯ w /Pʂ w ౓࡞ͬͨΒ೥Ҏ্ϝϯςφϯε͢ΔՄೳੑ w ؅ཧը໘͸$4΍ͦͷଞΦϖϨʔγϣϯΛ୲౰͢Δਓͷ޻਺΍Ϣʔβମݧʹେ͖͘Өڹ

    w ଥڠͯ͠͸͍͚ͳ͍ w ΤϯδχΞͳΒࣗ෼͕࢖͏πʔϧ͕࢖͍ʹ͍͘ͷ͸ݏͳ͸ͣ w $4͔Βػೳཁ๬͕͋ͬͨͱ͖αʔόαΠυΤϯδχΞ͕ؾ࣋ͪྑ͘ػೳ։ൃͰ͖Δٕज़ બఆΛ͓ͯ͘͜͠ͱ͕େ੾ w ։ൃͷ৺ཧతϋʔυϧΛԼ͛Δ
  4. • ຊ ೔ ͷ ࿩ • N C ͷ ؅

    ཧ ը ໘ • ؅ ཧ ը ໘ ͷ Ξ ʔ Ω ς Ϋ ν ϟ • ج ຊ ํ ਑ • ٕ ज़ બ ఆ
  5. • ຊ ೔ ͷ ࿩ • N C ͷ ؅

    ཧ ը ໘ • ؅ ཧ ը ໘ ͷ Ξ ʔ Ω ς Ϋ ν ϟ • ج ຊ ํ ਑ • ٕ ज़ બ ఆ
  6. αʔό ؅ཧը໘8FCϖʔδ 11 αʔόͷΞʔΩςΫνϟ  w ιʔείʔυ͸ϞϊϦϙδτϦ αʔόɺϑϩϯτڞ௨  w

    .JDSPTFSWJDFTͰ͸ͳ͘ͰϞϊϦγοΫ w ΤϯτϦϙΠϯτ͸໾ׂ͝ͱʹ෼ׂ w ؅ཧը໘ͷϖʔδΛඳը͢ΔBENJOXFCͱ؅ཧը໘"1*͚ͩΛ࣋ͭBENJOBQJʹ෼཭ w BENJOBQJ BENJOXFC͸(PPHMFೝূ͕ඞཁɺBQJ͸αʔϏεͷೝূ͕ඞཁ BENJOBQJ BENJO XFC BQJ ΞϓϦ "OESPJE J04 8FC IBOEMFS૚ BQQMJDBUJPO૚ Ϣʔβ৘ใɺར༻੍ݶɺऔҾ৘ใɺೖग़ۚ৘ใɾɾɾ
  7. αʔό ؅ཧը໘8FCϖʔδ 12 αʔόͷΞʔΩςΫνϟ  w ΞϓϦέʔγϣϯ૚͸ɺ͢΂ͯͷΤϯτϦʔϙΠϯτ͔Βڞ௨ͯ͠ར༻Մೳ w ؅ཧը໘ઐ༻ͷΞϓϦέʔγϣϯϩδοΫΛ௥ՃͰॻ͘͜ͱ͸গͳ͍ BENJOBQJ

    BENJOXFC BQJ ΞϓϦ "OESPJE J04 8FC ϞϊϨϙδτϦ IBOEMFS૚ BQQMJDBUJPO૚ Ϣʔβ৘ใऔಘɺར༻੍ݶͷ࣮ߦɺऔҾ৘ใͷऔಘɺೖग़ۚ৘ใͷऔಘɾɾɾ
  8. 14 αʔόͷΞʔΩςΫνϟBENJOBQJͱBENJOXFC  w "1* BENJOBQJ ͱ)5.- BENJOXFC Λඳը͢ΔॲཧΛ෼ׂ͍ͯ͠Δ w

    41"Ͱ͸Ұൠత w ͔͠͠/$ͷ؅ཧը໘͸41"Ͱ͸ͳ͘ϖʔδ͝ͱʹ63-Λൃߦ͍ͯ͠Δ w 41"Ͱ͸ͳ͍ͷʹ෼ׂͨ͠ཧ༝ w ࠶ར༻ੑɺ੹຿ͷ෼ׂ 1%4 ʹΑΔอकੑͷ޲্ w ྫ͑͹ɺऔҾཤྺΛҟͳΔը໘ʹදࣔ͢Δඞཁ͕Ͱ͖ͯͨ৔߹ w ෼཭͍ͯ͠ͳ͍৔߹͸αʔόαΠυͷίʔυमਖ਼͕ඞཁ w ෼཭͢Δ͜ͱͰɺ7JFXʹؔ࿈͢Δมߋ͸ϑϩϯτΤϯυʹݶఆ w ςελϏϦςΟ w BENJOBQJʹରͯ͠ɺΞϓϦ޲͚"1*ͷ&&ςετ؀ڥΛͦͷ··ར༻Մೳ w 7JFXͱ෼཭͞Ε͍ͯΔͨΊϩδοΫ෦෼͚ͩΛςετՄೳ
  9. ؅ཧը໘8FCϖʔδ αʔό 15 ϑϩϯτͷΞʔΩςΫνϟ  w ϒϥ΢β͔Β63-ʹΞΫηε͢ΔͱBENJOXFC΁ w )5.-ɺ$44ɺ+BWBTDSJQUΛड͚औΔ w

    ඳը࣌ʹ+4͸BENJOBQJʹ஋ΛऔΓʹߦͬͯඳը͢Δ BENJOBQJ BENJOXFC )5.- +BWBTDSJQU 7VFKTΠϯελϯε σʔλόΠϯσΟϯά
  10. 16 ϑϩϯτͷΞʔΩςΫνϟ  w γʔέϯε ϒϥ΢β BENJOXFC BENJOBQJ )5.- 7VFKT

    +BWBTDSJQU IUUQ؅ཧը໘ )5.- $44 +BWBTDSJQU "1*ίʔϧ .PEFMΛ7JFX༻ʹ Ճ޻ͯ͠7.ʹηοτ ඞཁͳ஋Λ.PEFMͱͯ͠औಘ 7.͕)5.-ʹࣗಈతʹ൓ө
  11. 17 ؅ཧը໘ɺϑϩϯτͷΞʔΩςΫνϟ  ग़ۚཤྺΛCJOE ग़ۈཤྺΛCJOE IJTUPSZDSFBUFE"U IJTUPSZBNPVOU IJTUPSZTUBUVT 7VFΠϯελϯε ϖʔδඳը࣌ʹඞཁͳ஋Λ

    औಘɺઃఆ ςϯϓϨʔτ (PͷςϯϓϨʔτػೳΛະ࢖༻ "1*ΫϥΠΞϯτ 7VF͔Β࢖͍΍͍͢Α͏ʹϥοϓ ϑϩϯτͷίʔυΠϝʔδ
  12. • ຊ ೔ ͷ ࿩ • N C ͷ ؅

    ཧ ը ໘ • ؅ ཧ ը ໘ ͷ Ξ ʔ Ω ς Ϋ ν ϟ • ج ຊ ํ ਑ • ٕ ज़ બ ఆ
  13. 19 جຊํ਑ w ଥڠͯ͠͸͍͚ͳ͍ w ͱ͸͍͑ɻ͍͟࡞Γग़࣌͢ʹθϩ͔Βٕज़બఆ΍ΞʔΩςΫνϟΛߟ͑Δ༨༟͸ͳ͍ w αʔόαΠυΤϯδχΞʹͰ͖Δ͜ͱ w ීஈ͔Βࣗ෼͕ཧ૝ͱ͢ΔΞʔΩςΫνϟΛߟ͓͑ͯ͘

    w औࣺબ୒Λͯ͠࠷௿ݶͷٕज़ಈ޲͸௥͓ͬͯ͘ w ৽͍͠ΞʔΩςΫνϟɺϑϨʔϜϫʔΫ͕ղܾ͍ͨ͠՝୊͸ʁ w ֤ϑϨʔϜϫʔΫ 3FBDU 7VFKT ͷࡉ͔͍࢓༷Λ௥͍͔͚Δͷ͸೉͍͠ʜ w αʔόαΠυΤϯδχΞͰ΋ࣗ෼͕৴͡Δཧ೦Λ͓࣋ͬͯ͘͜ͱ͕େ੾ w ࢲ͸1%4 .7$ ͱએݴతϨϯμϦϯά͕େ੾ͩͱߟ͍͑ͯ·͢
  14. 20 جຊํ਑։ൃͷ৺ཧతϋʔυϧΛԼ͛Δ w ˓4JNQMF $MFBS w ʷ&BTZ $MFWFS w ඞཁҎ্ʹརศੑΛ͋͛ΔͨΊʹϑϨʔϜϫʔΫ΍ϥΠϒϥϦΛ࠾༻͠ͳ͍

    w ϑϨʔϜϫʔΫΛ࠾༻͢Δ͜ͱͰɺཧղ͕༰қʹͳΔ΋ͷΛ࠾༻͢Δɻ w ˓4JNQMF $MFBS w ίʔυͷهड़Λ୹͘͢ΔͳͲɺ࡞ۀྔΛݮΒ͢͜ͱΛ໨తͱͨ͠΋ͷ͸࠾༻͠ͳ͍ɻ w ʷ&BTZ $MFWFS $MFBSJTCFUUFSUIFO$MFWFS 3PC1JLF
  15. 22 جຊํ਑։ൃͷ৺ཧతϋʔυϧΛԼ͛Δ w ֶशίετʹ͸छྨͷҙຯ͕͋Δ w ΦϦδφϧٕज़͔Βͷڑ཭ w ೃછΈͷ͋Δٕज़͔Βͷڑ཭ w ೃછΈͷ͋Δٕज़͸ਓʹΑͬͯҟͳΔͷͰɺΦϦδφϧٕज़͔Βͷڑ཭͕େ੾

    w ֶशίετΑΓେࣄͳ͜ͱ͸৺ཧతϋʔυϧ w ΦϦδφϧٕज़͔Βԕ͍ٕज़Λ࠾༻ͯ͠͠·͏ͱݸਓʹґଘͯ͠͠·͏Մೳੑ w কདྷελϯμʔυʹͳΒͳ͍ͱࢥ͍ͬͯΔٕज़͸ɺֶ΅͏ͱ͍͏ҙཉ͕༙͔ͳ͍
  16. 25 ຊԻ w (PͷςϯϓϨʔτେม w ߏจ͕(Pͱؔ܎ͳ͍ w 41"ɺ443ɺ#''ɺXFCQBDLɺCBCFMා͍ w KTΛॻͨ͘ΊʹίϚϯυΛଧͪͨ͘ͳ͍

    w τϥϯείϯύΠϧͨ͘͠ͳ͍ w K2VFSZ֮͑ͨ͘ͳ͍ w &4Ҏ߱Λ࢖͍͍ͨ w ඇಉظॲཧ͸೉͍͠ w 1SPNJTFۤख w BTZODBXBJUͰಉظతͳίʔυͷΑ͏ʹॻ͖͍ͨ w %0.ͷૢ࡞Λͨ͘͠ͳ͍ w 7JFXͷঢ়ଶΛҙࣝͨ͠ίʔυ͸೉͍͠ w એݴతϨϯμϦϯά࠷ߴʂ w 7JSUVBM%0.͋Γ͕ͱ͏ʂ3FBDU͔7VFKT࢖͏ͧʂ
  17. • ຊ ೔ ͷ ࿩ • N C ͷ ؅

    ཧ ը ໘ • ؅ ཧ ը ໘ ͷ Ξ ʔ Ω ς Ϋ ν ϟ • ج ຊ ํ ਑ • ٕ ज़ બ ఆ
  18. 28 αʔόαΠυςϯϓϨʔτΤϯδϯ  w (PͷςϯϓϨʔτ͸େม w ৭ʑͳݴޠػೳΛෆཁͱݴ͍ͬͯΔ(PΤϯδχΞͷதͰ΋ෆධ w 7VFKTͰςϯϓϨʔτΤϯδϯͷػೳΛ୅ସ͢Δ w

    αʔόͷςϯϓϨʔτ͸࠷௿ݶͷػೳͷΈར༻͢Δ w ࢖͏ม਺ͷ୅ೖ w ࢖Θͳ͍JG GPSͳͲͷ੍ޚߏจ w ͳ͔ͥʁ w ࠶ར༻ੑͷ໰୊ w ςϯϓϨʔτΤϯδϯͰ੍ޚߏจΛར༻͢Δͱ7JFXͷॲཧ͕αʔόαΠυͱϑϩ ϯτΤϯυʹࢄΒ͹Δ w 7JFXʹؔ͢Δॲཧ͸ϑϩϯτΤϯυʹด͡Δ
  19. 29 +BWBTDSJQUͷόʔδϣϯ  w ؅ཧը໘͸ɺ$ISPNF࠷৽൛͚ͩରԠ w +2VFSZͷ୅ΘΓʹ&4̒Ҏ߱Λ࢖͏ w CBCFM͸࢖Θͳ͍ w

    ඇಉظॲཧ w BTZODBXBJUΛར༻ w 1SPNJTF͸ϝιουνΣʔϯ w (PΤϯδχΞ͸͋·ΓϝιουνΣʔϯΛ࢖Θͳ͍ w BTZODBXBJUͷํ͕ಡΈ΍͍͢ w $MBTTΛ࢖͏ w +4ઐ໳Ͱ͸ͳ͍αʔόαΠυΤϯδχΞͰ΋΍͍͚ͬͯͦ͏ͳؾ͕͢Δ
  20. 30 ϑϩϯτΤϯυϑϨʔϜϫʔΫ  w Ұ൪γϯϓϧͳ6*ͱ͸ w $6* w $6*ͷಛ௃ w

    εςʔτϨεɹɹຖճϑϧඳը͢Δ w (6*Ͱ΋ຖճϑϧඳը͢Ε͹៉ྷʹίʔυ͕ॻ͚Δ͸ͣʜ w (6*ͰͦΕΛ΍Δͱ஗͍ͷͰɺ%0.ૢ࡞͕ඞཁͩͬͨ w 7JFXͷεςʔτʹԠͨ͡ϩδοΫΛॻ͘ͷ͸೉͍͠ w 7JSUVBM%0.ͷొ৔ʹΑΓએݴతϨϯμϦϯά͕࣮༻Մೳʹʂ w ίʔυ্͸ϑϧඳը͢ΔΑ͏ͳίʔυΛॻ͘ w 7JSUVBM%0.ʹΑΔࠩ෼ߋ৽ͷͨΊߴ଎
  21. 31 ϑϩϯτΤϯυϑϨʔϜϫʔΫ  3FBDUPS7VFKT w 3FBDU w ఆ൪ w ϑϩϯτΤϯυΤϯδχΞ͸3FBDUΛ࢖͍ͬͯΔҹ৅

    w 7VFKT؆୯ʹ࢖͑ͦ͏ɺ݉ۀͷਓ͕࢖͍ͬͯΔҹ৅ w طଘͷαʔόαΠυςϯϓϨʔτʹ௥Ճ͢ΔܗͰ࢖͑Δ w 3FBDUͷ+49ͷΑ͏ͳ΋ͷ͕ඞཁͳ͍ w /$Ͱͷ7VFKTͷ࢖͍ํ w 7VFKTͷجຊػೳ͚ͩΛ࢖͏ w ίϯϙʔωϯτԽʹͩ͜ΘΒͳ͍ w ϖʔδ7VFΠϯελϯε w ඞཁʹԠͯ͡7JFX͚ͩ͸ίϯϙʔωϯτԽ w WVFYΛར༻ͨ͠7JFXͱϩδοΫͷίϯϙʔωϯτԽ͸͠ͳ͍
  22. 32 ϑϩϯτΤϯυϑϨʔϜϫʔΫ  ͦͷଞ w ϏϧυΛආ͚͍ͨ w ࠷৽ͷ$ISPNF͔͠ରԠ͠ͳ͍ͨΊWVFDMJ͸࢖Θͳ͍ w 7VFKT$%/ࢦఆ

    w 'MVYΞʔΩςΫνϟ͸ෆ࠾༻ WVFY  w .77.Ͱे෼ͱײͨ͡ w αʔόαΠυΤϯδχΞͷݶք
  23. 34 6*ϑϨʔϜϫʔΫ  w લϖʔδͷΑ͏ʹ͠Α͏ͱߟ͍͑ͯͨʂ w ؅ཧը໘ͷ࣮૷Λ୲౰͍ͯ͠ΔΤϯδχΞ͔Β&MFNFOU࢖͍·ͤΜ͔ʁͱ͍͏ఏҊ w &MFNFOU w

    7VFKTઐ༻6*ϑϨʔϜϫʔΫ w ࢲͷͦͷͱ͖ͷؾ࣋ͪ w ઐ༻ͷλά͸ɺී௨ͷ+4ॻ͖ͨ͘ͳͬͨ࣌ਏͦ͏ w FMJOQVU w 7VFKTઐ༻ͩͱษڧ͠ͳ͍ͱ֤ύϥϝʔλͷҙຯ͕Θ͔Βͳ͍ɻ FMTFMFDU WNPEFMUZQF TMPUQSFQFOE QMBDFIPMEFS4FMFDU pMUFSBCMFUSVF EFGBVMUpSTUPQUJPOUSVF 
  24. 35 6*ϑϨʔϜϫʔΫ  w फڭઓ૪ʂ w ௝͘͠੝Γ্͕͍ͬͯΔ͔Βࣾ௕΋ࢀઓ w ࣌ؒͰऴઓ w

    &MFNFOU࠾༻ʂ w ܾΊख w ࣮ࡍʹαϯϓϧΛݟͨͱ͜Ζͱͯ΋Α͔ͬͨ w αϯϓϧͱಉ͡΋ͷΛࣗ෼Ͱ࣮૷͢Δ͜ͱ͸ߟ͑ΒΕͳ͔ͬͨ w 7VFKTΛ࢖͍ͬͯΔͷ͔ͩΒ%0.ૢ࡞͢Δ͜ͱΛؾʹ͠ͳ͍΄͏͕͍͍ w ൓ল w ࣮෺Λݟͳ͍Ͱࣗ෼ͷཧ೦͚ͩΛ௥͍ٻΊͳ͍
  25. • ຊ ೔ ͷ ࿩ • N C ͷ ؅

    ཧ ը ໘ • ؅ ཧ ը ໘ ͷ Ξ ʔ Ω ς Ϋ ν ϟ • ج ຊ ํ ਑ • ٕ ज़ બ ఆ
  26. 39 ·ͱΊ w /FYU$VSSFODZͷ؅ཧը໘ٕज़બ୒ w αʔόαΠυͰ͸"1*ͱ8FC͸෼ׂ͢Δ w 7VFKTΛαʔόαΠυςϯϓϨʔτΤϯδϯ୅ΘΓʹར༻͢Δ w 41"ɺ443ɺ#''ͳͲ͸࠾༻͠ͳ͍

    w ίϯϙʔωϯτԽʹ͸ͩ͜ΘΒͳ͍ w XFCQBDL΍WVFY͸࠾༻͠ͳ͍ w 7VFKT w جຊػೳͱίϯϙʔωϯτΛ࠾༻ w WVFYɺWVFSPVUFS͸࠾༻͠ͳ͍ w 6*ϑϨʔϜϫʔΫ w 7VFKTઐ༻ͷ&MFNFOU w &4Ҏ߱ͷػೳΛར༻͢Δ w K2VFSZ͸ར༻͠ͳ͍ w
  27. 40 એ఻ w αʔόαΠυΛத৺ʹ঺հ͓ͨ͠࿩ w ("&(P EBUBTUPSF w ϑϨʔϜϫʔΫɺϥΠϒϥϦ w

    ϨΠϠʔυΞʔΩςΫνϟ w 1SPUPDPM#V⒎FSTPO)551 w "1*υΩϡϝϯτ w 1PTUNBO w DPOpH w $* w ςετ IUUQTTQFBLFSEFDLDPNTPOBUBSEOFYUDVSSFODZHBFHP
  28. 41 ษڧձͷ͝঺հ ࣍ճະఆ The Go gopher designed by Renée French.

    The golang.tokyo gopher made by Takuya Ueda. Licnesed under the Creative Commons 3.0 Attribution License. ࣍ճະఆ