Slide 1

Slide 1 text

4DBMBה.JDSPTFSWJDFTדאֻ׷ 鏾ⵙ⠓爡הأة٦ز،حف 2018/12/15 JJUG CCC 2018 Fall #jjug_ccc #ccc_c7 ଜ্୓໵ (ΉΒΈΜ)

Slide 2

Slide 2 text

募♳䬪⛲ -FBEPG#BDLFOE&OHJOFFSTJO'0-*0 䎃剢חآّ؎ٝ ֿ׸תד ˖ 4JNQMFY _ ˖ $ZCFS"HFOU"E5FDI4UVEJP _ XIPBNJ

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

➙傈ծֶ鑧ׅ׷ֿה

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

أة٦ز،حفד֮׶זָ׵ 鏾ⵙ⠓爡ד׮֮׷ '0-*0׾ 4DBMBהو؎ؙٗ؟٦ؽأָ וֲ佄ִגְ׷ַ

Slide 7

Slide 7 text

'0-*0חֶֽ׷4DBMB

Slide 8

Slide 8 text

˖ و؎ؙٗ؟٦ؽأ،٦ؗذؙثٍד圓䧭׃גְ׷կ ˖ ך؟٦ؽأךֲ׍ָ4DBMBד剅ַ׸גְ׷կ ˖ غحؙؒٝسؒٝآص،כせ '0-*0ךغحؙؒٝسءأذي ˞αʔϏε਺͸(JU-BCͷϨϙδτϦ਺ɻ਺ࣈ͸೥݄ॳ࣌఺

Slide 9

Slide 9 text

+BWB+7.ؒ؝ءأذيך㸜䗰䠬 ˖ ($ 橆㞮⣛㶷ך㼰זׁ ٓ؎ـٓٔך⯍㹋 FUD ˖ ꆃ輐禸䞔㜠كٝت٦װꆃ輐暴剣ךفٗز؝ٕח㼎䘔׃׋4%,װٓ ؎ـٓٔך⯍㹋 +BWB 4DBMB $MPKVSF ֮׋׶דך䪮遭鼅䫛 ˖ 䪮遭鼅㹀׾׃׋䔲儗כ؟٦غ٦؟؎س,PUMJOךظؐعؐ׮㼰זַ׏ ׋ 4DBMBָ鼅ל׸׋✲䞔

Slide 10

Slide 10 text

˖ ꆃ輐הְֲ醱꧟זسً؎ٝ ̔邌植⸂ ˖ 荜ㄏ涸ז꟦麩ְ׾⸬桦涸ח鼘ֽ׋ְ ̔㘗ءأذيָ׮׋׵ׅ㸜Ⰻׁ ˖ أة٦ز،حف暴剣ךأؾ٦س䠬٥㼭㔐׶ך葺ׁ ̔꫼涸㘗➰ֽ鎉铂ד֮׷ֿהח״׷չ䚈ָל㔐׸պ '0-*0ך铬겗חؿ؍حزׅ׷4DBMB

Slide 11

Slide 11 text

鸐䌢ךDMBTT㹀纏ח⸇ִ䎗אַך堣腉ָ鷄⸇ׁ׸׋ؙ ٓأկ⟃♴ך״ֲז暴䗙ָ֮׷կ ˖ UP4USJOH IBTI$PEF FRVBMTכ荈⹛ד㹋鄲ׁ׸׷ ˖ ؿ؍٦ٕسכ♶㢌 זךדծDBTFDMBTT荈⡤׮㛇劤涸ח♶㢌 ˖ ػة٦ٝوحثؚٝ ➙㔐כ铡僇׃תׇ׿ דⵃ欽דֹ׷ ˖ ,PUMJOךEBUBDMBTT +BWBך-PNCPL،ظذ٦ءّ ٝⰋ鿇鯹ׇ♶㢌ؙٓأָ؎ً٦آ涸ח鵚ְַկ 4DBMB㛇燉濼陎DBTFDMBTT

Slide 12

Slide 12 text

DBTFDMBTTדך7BMVF0CKFDU㹀纏 ˞࣮ࡍͷϓϩμΫγϣϯίʔυͰ͸͋Γ·ͤΜ

Slide 13

Slide 13 text

㘗ד縧ֹ꟦麩ְ׾꣇ּ

Slide 14

Slide 14 text

%#أؗ٦وח㼎䘔׃׋ٌرٕ♳דכ㘗ד农〾⻉׾爙ׅ ˞࣮ࡍͷϓϩμΫγϣϯίʔυͦͷ··Ͱ͸͋Γ·ͤΜ

Slide 15

Slide 15 text

农〾⻉Ⳣ椚׾぀׷㘗ؙٓأ׾欽䠐ׅ׷ ˞࣮ࡍͷϓϩμΫγϣϯίʔυͦͷ··Ͱ͸͋Γ·ͤΜ

Slide 16

Slide 16 text

⚥縧鎸岀דQSJNJUJWFז侧㶵׏שֻ䪔ֲ ˞࣮ࡍͷϓϩμΫγϣϯίʔυͦͷ··Ͱ͸͋Γ·ͤΜ

Slide 17

Slide 17 text

⚥縧鎸岀

Slide 18

Slide 18 text

⚥縧鎸岀דQSJNJUJWFז侧㶵׏שֻ䪔ֲ ˞࣮ࡍͷϓϩμΫγϣϯίʔυͦͷ··Ͱ͸͋Γ·ͤΜ

Slide 19

Slide 19 text

⚥縧鎸岀

Slide 20

Slide 20 text

䠐㄂ך麩ֲ侧㶵ָ幉ׂ׵זְ״ֲחׅ׷ ˞࣮ࡍͷϓϩμΫγϣϯίʔυͦͷ··Ͱ͸͋Γ·ͤΜ ˞1OM1SPpUBOE-PTT ଛӹ

Slide 21

Slide 21 text

怴皾穠卓ך䠐㄂׾邌ׅ ˞࣮ࡍͷϓϩμΫγϣϯίʔυͦͷ··Ͱ͸͋Γ·ͤΜ ˞1O-1SPpUBOE-PTT ଛӹ

Slide 22

Slide 22 text

˖ ⡦״׶㘗ך䛷䜋׾「ֽ׵׸׷ String DoubleװBigDecimalךתת䪔ֲהծ怴皾〳 やװծ怴皾ך穠卓ך䠐㄂ך邌植ָ⳿勻זְ 㹑鎉涸ז鎸鶢ח״׷꟦麩ְך䫇姺 ˖ 邌植ך䌴ָ嫰鯰涸䎢ְ DBTFDMBTTח״׷瘝⣣ⴻ㹀ך嚂ׁװظ؎ؤך㼰זׁ 4DBMBָ׮׋׵ׅسً؎ٝך鎸鶢⸂

Slide 23

Slide 23 text

ػح؛٦آ圓鸡כ걼籕ח鋅湫ׅ

Slide 24

Slide 24 text

˖ ؝ٝػ؎ٕכ儗꟦ַַָ׷ֽ׸ו׮ծ⥂鏾דֹ ׷眔㔲ָ䎢ְ ˖ *%&ך⸂׾⢪׏גػح؛٦آ圓䧭װㄏせ倯ꆙך 㣐ղ涸ז㢌刿׾遤ֲֿה׮嫰鯰涸㸜䗰 *%&ך⸂׾⦵׶׋أؾ٦س䠬ה㛙暕ׁךغٓٝأ

Slide 25

Slide 25 text

'0-*0ה.JDSPTFSWJDFT

Slide 26

Slide 26 text

˖ 鏾ⵙ噟⹡ءأذيך䬐ֲ眔㔲כהחַֻ䌴䎢ְկ Ⰻג׾濼׷ֿהךꨇ僒䏝כ噰׭ג넝ְ ؒٔ،׀הח噟⹡鏣鎘噟歲濼陎䚍腉銲⟝זוך䚍呓ָ麩ֲ ˖ 㢩鿇ءأذي٥؟٦ؽأח׮㣐ֹֻ⣛㶷ׅ׷ 䋐屣ꂁ⥋ծꋒ遤䮶鴥ח״׷Ⰵꆃծ《䒷䨽䱸竲˘ ז׷ץֻ毙穠さח׃׋ְկ ˖ ꥺ㹱ך䕦갟眔㔲ך僇然⻉הꣲ㹀 אךꥺ㹱דⰋגךֶ㹏圫ח鶳䞨׾ֶַֽ׃זְ ♧㹀⟃♳ךꥺ㹱ָ饯ֹ׸לծ䕦갟곁㹏➂侧׾幐ִג遤佟堣ꟼח㜠 デ׾ׅ׷䗳銲ָ֮׷ ꆃ輐堣ꟼךءأذيח実׭׵׸׷䚍呓

Slide 27

Slide 27 text

䋐屣鸞㜠 䲿⣘⟰噟 8FC؟٦ؽأ չؿؓٔؔպ ٌغ؎ٕ،فٔ չؿؓٔؔպ ޱ࠲։ઃ ސ٬৘ใ ϚΠϖʔδ޲͚"1* ςʔϚ৘ใ؅ཧ ஫จड஫ ஫จ؅ཧࣥߦ ˞͔ͳΓ؆ུԽ͍ͯ͠·͢ ࢒ߴ؅ཧ ࢒ߴཤྺ؅ཧ Ⰵ⳿ꆃ؟٦ؽأ ⹞㹀禸ءأذي Ձ֨഑৴ ചങ৹ࠪ 䫎项䨌殛 ؕأةو٦؟ه٦ز ؝ٝفٓ؎،ٝأ 《䒷䨽ـٗ٦ؕ٦ ೖग़ۚ צఆ؅ཧ ꆃ輐堣ꟼ׾و؎ؙٗ؟٦ؽأה䯝ִ׷ 〡䏟Ꟛ鏣 㻢叨䬐䔲

Slide 28

Slide 28 text

˖ Ꟛ涪ث٦ي׾ⴓֽגسً؎ٝ濼陎׾帾׭װֻׅ׃׋׶ծ暴䚍ח䘔 ׄ׋䪮遭鼅㹀װ،٦ؗذؙثٍ׾〳腉חׅ׷կ ˖ ٔٔ٦أ؟؎ؙٕװ2"ךװ׶倯׾ⴓֽ׷կ
 稆傍ֻٔٔ٦أדֹ׷׮ךכ⳿ׅկׄ׏ֻ׶2"ׅ׷׮ךכׅ׷կ ˖ 㢩鿇ءأذيח㼎ׅ׷臰侁꣇姺㾴׾؟٦ؽأהׅ׷կ ˖ ꥺ㹱ך㽷䨽⻉կ֮׷堣腉ךꥺ㹱ָ饯ֹג׮Ⰻגךֶ㹏圫ח䕦갟׾ 「ׇֽׁזְկ
 FY〡䏟Ꟛ鏣㻢叨חꥺ㹱ָ֮׏ג׮傀㶷ךֶ㹏圫כ㡰顠ָ⳿勻זֻגכְֽזְ و؎ؙٗ؟٦ؽأ⻉ח״׷ًٔحز

Slide 29

Slide 29 text

و؎ؙٗ؟٦ؽأך⚥חכ噟⹡鏣鎘װ噟⹡濼陎ָꬊ䌢ח醱꧟ז ׮ךָ֮׷կ سً؎ٌٝرؚٔٝ׾鸐ׄ׋噟⹡椚鍑ה濼陎Ⱏ剣ח《׶穈׿ד ְ׷կ ٌرٕ〳鋔⻉ך麓玎ד钠陎ך麩ְװ倜׃ְ孡➰ֹ׾֮ע׶⳿ׅ 濼陎Ⱏ剣ך׋׭ךٌرؚٔٝ穠卓הفٗتؙءّٝ؝٦سךꟼ ⤘׾וֲًٝذشٝأׅ׷ךַָ➙ך铬겗կ سً؎ٌٝرؚٔٝ

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

'JOBHMF5XJUUFSח״׷31$ؿٖ٦يٙ٦ؙ 'JOBUSB'JOBHMFך♳ח⡲׵׸׋4DBMB؟٦ ؽأؿٖ٦يٙ٦ؙ 《䖤דֹ׷ًزؙٔأָ鞢㺡 ⴓ侔زٖ٦ءؚٝ橆㞮׾㺁僒ח圓眠דֹ׷ ٔزٓ؎װ#BDL1SFTTVSFⵖ䖴׮״׃זח װ׏גֻ׸׷ 5ISJGUח״׷*%-盖椚הך鋵ㄤ䚍ָ葺ְ 'JOBHMF'JOBUSB

Slide 34

Slide 34 text

exception ResourceNotFound { 1: string message } typedef i64 UserId struct User { /** * ϢʔβID */ 1: required UserId id /** * Ϣʔβ໊ */ 2: required string name /** * ϢʔβͷϝʔϧΞυϨε */ 3: optional string email } service AccountService { /** * Ϣʔβݕࡧ */ User findUser ( 1: required UserId userId ) throws (1: ResourceNotFound resourceNotFound) } ˞࣮ࡍʹαʔϏεʹ࢖ΘΕ͍ͯΔίʔυͱ͸ҟͳΓ·͢

Slide 35

Slide 35 text

3&45"1* 3&45"1* ٌغ؎ٕ،فٔ չؿؓٔؔպ 8FC؟٦ؽأ չؿؓٔؔպ 5ISJGU31$ 5ISJGU31$ 31$1SPUPDPMTBNPOH'SPOU#''#BDLFOE #BDLFOEGPS 'SPOUFOE

Slide 36

Slide 36 text

圫ղזًزؙٔأָ知⽃ח䩛חⰅ׷

Slide 37

Slide 37 text

圫ղזًزؙٔأָ知⽃ח䩛חⰅ׷ ͋ΔϚΠΫϩαʔϏεͷ "1*͝ͱͷ-BUFODZͷ QFSDFOUJMF

Slide 38

Slide 38 text

圫ղזًزؙٔأָ知⽃ח䩛חⰅ׷ ͋ΔϚΠΫϩαʔϏεͷ "1*͝ͱͷݺͼग़͠ճ਺

Slide 39

Slide 39 text

ⴓ侔زٖ٦ءؚٝ

Slide 40

Slide 40 text

ⴓ侔زٖ٦ءؚٝ ϚΠΫϩαʔϏεͷ "1*ݺͼग़͕͠ ॎʹฒͿ

Slide 41

Slide 41 text

ⴓ侔زٖ٦ءؚٝ ԣ࣠͸ "1*͝ͱͷ ॴཁ࣌ؒ

Slide 42

Slide 42 text

ⴓ侔زٖ٦ءؚٝ ΍͚ʹ௕͘૸ͬͯΔ!

Slide 43

Slide 43 text

ⴓ侔زٖ٦ءؚٝ ࡉ͔͍͚Ͳେྔʹ 42-ଧͬͯΔ͚Ͳ େৎ෉͔ͳ"

Slide 44

Slide 44 text

ⰻ醡خ٦ٕ纇 _儗꟦ך鏩ׅꣲ׶稱➜_

Slide 45

Slide 45 text

爡ⰻ橆㞮ꣲ㹀דUISJGU醡"1*׾⟣䠐ך䒷侧ד㹋遤׃ծٖأ هٝأ׾+40/MJLFז䕎䒭ד「ֽ《׸׷رغحؚ欽$-* +4醡 UISJGUDMJ

Slide 46

Slide 46 text

$ thrift-cli # list available microservices thrift-cli$ ls - account - portfolio - financial-data - (and so on…) # choose microservice to use thrift-cli$ portfolio> use account # list available methods thrift-cli$ account> methods - findUser - findUserByExternalAuthenticationId - findExternalAuthentications - (and so on…) # run method thrift-cli$ account> run findUser 1

Slide 47

Slide 47 text

䎃植㖈ծ㹀劍آّـװرفٗ؎آّـכ+FOLJOTד 盖椚٥㹋遤׃גְ׷կ 醱侧橆㞮דآّـך鏣㹀ⰻ㺁׾♧顐ׇׁ׷׋׭חծ$POH BTB$PEF׾㹋植ׇׁ׷׋׭ך%4-׾ⵃ欽׃גְ׷կ (SPPWZד剅ֻךדծ稢ְַ蔓װⰟ鸐⻉׮ⶴה䖤䠐կ ⿫罋IUUQTNBSDFTIFSDPNKFOLJOTBTDPEFDSFBUJOH KFOLJOTKPCTXJUIUFYUOPUDMJDLT +FOLJOT+PC%4-

Slide 48

Slide 48 text

$POTVM ؟٦ؽأر؍أؕغٔ ח㉏ְさ׻ׇגぐو؎ؙ ٗ؟٦ؽأךغ٦آّٝװ*1،سٖأזו׾侄ִגֻ׸ ׷4MBDLCPU $POTVM荈⡤ָ(Pד剅ַ׸גְגծ"1*$MJFOU׮(Pד䲿 ⣘ׁ׸גְ׷ךד(P醡 GPMJDPO@CPU

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

IUUQTBEWFOUBSPSHDBMFOEBST ➙䎃׮"EWFOU$BMFOEBSװ׏גתׅ

Slide 51

Slide 51 text

$PODMVTJPO

Slide 52

Slide 52 text

˖ '0-*0כꆃ輐堣ꟼח実׭׵׸׷㛙暕ׁהأة٦ ز،حفךأؾ٦س䠬װ堣佴ׁ׾䖤׷׋׭ח 4DBMB׾崞欽׃גְתׅկ ˖ ꆃ輐堣ꟼךءأذي׾و؎ؙٗ؟٦ؽأ،٦ؗذ ؙثٍד㹋鄲ׅ׷ֿהדծ実׭׵׸׷堣腉ך䲿⣘ ח黝׃׋穈籼׾⡲׹ֲה׃גְתׅկ תה׭

Slide 53

Slide 53 text

4DBMBדغحؙؒٝسءأذيꟚ涪׾ׅ׷⟗꟦׾⹫꧊׃גְתׅ

Slide 54

Slide 54 text

醱꧟זسً؎ٝ׾《׶䪔ֲاؿزؐؑ،׾ծ
 噟⹡ءأذي׾⢪ֲِ٦ؠ٦הה׮ח⡲׶♳־׋ ְ➂ ֿ׸תדך穗꿀׾崞ַ׃אא4DBMBװو؎ؙٗ ؟٦ؽأꟚ涪ח䮋䨌׃ג׫׋ְ➂ و؎ؙٗ؟٦ؽأד֮׶זָ׵♧顐䚍װءأذي ך㸜㹀䚍׾מ׋ׅ׵鷄実׃׋ְ倯 孡חז׏׋ծ׉ֿך،شة

Slide 55

Slide 55 text

窫额䱰欽崞⹛⚥דׅ

Slide 56

Slide 56 text

فٗآؙؑزوط٦آٍ٦⹫꧊׮װ׏גתׅ

Slide 57

Slide 57 text

8FCؿٗٝزؒٝآص،ָغح ؙؒٝسؒٝآص،ח鯄魦׃׋⢽ ׮֮׶תׅ 莆㄂ָ֮׸ל'0-*05ءٍخ ػ٦ؕ٦׾滠גְ׷ًٝغ٦ח孡 鯪ח鑧׃ַֽגֻ׌ְׁ 㼰׃ד׮孡חז׏׋׵

Slide 58

Slide 58 text

No content