Slide 1

Slide 1 text

"84ͷ"1*ΛΧδϡΞϧʹ /BPZB*UP ,"*;&/QMBUGPSN*OD ୈճ+"846(Ϋϥ΢υঁࢠձ

Slide 2

Slide 2 text

ࠓ೔ͷ࿩ •  "1*Λ͓΋͠Ζ͘࢖͓͏ •  ͦͷྫΛ͍͔ͭ͘

Slide 3

Slide 3 text

"84ͱ͍͑͹"1* •  "84͕طଘͷαʔόʔΠϯϑϥͱҧ͏ͱ͜Ζ –  "1*ɺϓϩάϥϚϒϧ •  ϓϩάϥϚϒϧͳΠϯϑϥ –  *OGSBTUSVDUVSFBT$PEF –  ŋŋŋͱ͍͏࿩΋͍͍͚Ͳɺࠓ೔͸΋ͬͱΧδϡΞϧʹɺݸਓ༻్ Ͱ"84Λ͓΋͠Ζ͘࢖͓͏ɺͱ͍͏࿩ େن໛Πϯϑϥʙɺͱ͔͡Ό ͳͯ͘೔ৗͷͪΐͬͱͨ͠ಓ ۩ʹ"84Λɺ"1*Λ͏·͘ ࢖ͬͯ

Slide 4

Slide 4 text

,BJ[FO[P (ZB[PΈ͍ͨͳ6* ͰࡱӨͨ͠εΫγϣΛ 4ʹ্͛Δ

Slide 5

Slide 5 text

σϞ

Slide 6

Slide 6 text

͜Μͳ͜ͱʹ࢖ΘΕͯ·͢ 2JJUB5FBN )JQ$IBU (JU)VC

Slide 7

Slide 7 text

,BJ[FO[Pͷத਎ •  ਺ेߦͷSVCZεΫϦϓτ •  049ͷTDSFFODBQUVSFίϚϯυ •  "844%,GPS3VCZ – "NB[PO4 •  X4UBUJD8FC)PTUJOH

Slide 8

Slide 8 text

$  screencapture  –i  /tmp/capture.png TDSFFODBQUVSFίϚϯυ

Slide 9

Slide 9 text

"844%,GPS3VCZ s3  =  AWS::S3.new(      :access_key_id          =>  ENV['AWS_ACCESS_KEY'],      :secret_access_key  =>  ENV['AWS_SECRET_ACCESS_KEY'],      :s3_endpoint              =>  's3-­‐ap-­‐northeast-­‐1.amazonaws.com'   )     bucket  =  s3.buckets['kaizenzo.kaizenplatform.in']     bucket.objects['images/12345.png'].write(      :file  =>  '/tmp/capture.png',        :content_type  =>  'image/png'   )         "1*ͱ͔4%,ͱ͍͏ͱ೉ͦ͠ ͏ʹฉ͑͜Δ͚Ͳɺ࣮ࡍ͸؆୯ɻ HFNJOTUBMMBXTTELͯ͠࢖͏

Slide 10

Slide 10 text

΍ͬͯΔ͜ͱ •  4UBUJD8FC)PTUJOHΛ༗ޮʹͨ͠CVDLFU Λ4ʹ༻ҙ •  3VCZεΫϦϓτͰҎԼΛ΍Δ –  TDSFFODBQUVSFίϚϯυΛ࣮ߦ •  TZTUFNTDSFFODBQUVSFrJUNQDBQUVSFQOH •  ௥ՃͰTJQTίϚϯυͰϓϩϑΝΠϧΛ࡟আͨ͠Γ –  औͬͨϑΝΠϧΛ"1*Ͱ4ʹΞοϓϩʔυ

Slide 11

Slide 11 text

εΫϦϓτͷ#VOEMFԽ •  3VCZεΫϦϓτΛBQQʹ͢Δ •  ී௨ͷΞϓϦΈ͍ͨʹ࣮ߦͰ͖Δ •  IUUQXXXHMBNFOWTFQU[FOOFUWJFX͜ͷลࢀߟ Kaizenzo.app/      Contents/          Info.plist      MacOS/      Resources/          kaizenzo.rb          appIcon.icns ܾΊΒΕͨσΟϨΫτϦ ϨΠΞ΢τͰϑΝΠϧΛ ஔ͍ͯɺ*OGPQMJTU 9.- Λॻ͚ͩ͘

Slide 12

Slide 12 text

ͪͳΈʹࣗ෼ઐ༻ͷ΋͋Δ •  ແବʹ$MPVE'SPOUڬΜͰΔ •  CMPHʹը૾షΓ͍ͨͱ͖ɺ5XJUUFSʹྲྀ͍ͨ࣌͠ͱ͔ ʹ࢖ͬͯΔ

Slide 13

Slide 13 text

.JEEMFNBO

Slide 14

Slide 14 text

ྫ͑͹ J04ΞϓϦͷࠂ஌ϖʔδɻ .JEEMFNBOͰͰ͖ͯΔ

Slide 15

Slide 15 text

.JEEMFNBOͬͯ •  αΠτΞηϯϒϥ –  ੩తαΠτ੍࡞ͨΊͷϑϨʔϜϫʔΫ –  ੩తαΠτΛ8FCΞϓϦέʔγϣϯͷΑ͏ʹ࡞ΕΔ •  $44ϓϦϓϩηοα 4BTT$PNQBTT •  ςϯϓϨʔτΤϯδϯ &3#ɺTMJN •  ΞηοτύΠϓϥΠϯ •  -JWF3FMPBE

Slide 16

Slide 16 text

NJEEMFNBOJOJUͰα ΠτͷͻͳܗΛੜ੒ TMJNͱ͔TBTTͱ͔ DP⒎FFTDSJQUͱ͔ .BSLEPXOͱ͔ͰαΠτΛ ࡞ΕΔ

Slide 17

Slide 17 text

NJEEMFNBOTFSWFSͰಈ࡞֬ ೝ༻ͷ)551αʔόʔ͕ىಈɻ -JWF3FMPBE࿈ܞ΋͋ΔΑ

Slide 18

Slide 18 text

NJEEMFNBOCVJMEͰΞηο τ͔Β੒Ռ෺Λ·ͱΊͯϏϧ υ

Slide 19

Slide 19 text

NJEEMFNBOTZOD 4UBUJD8FC)PTUJOHͱ૊Έ߹ΘͤΔͱ٢ ίϚϯυͻͱͭͰ "NB[PO4ʹ .JEEMFNBOͰ࡞ͬͨαΠ τΛసૹ

Slide 20

Slide 20 text

σϞ

Slide 21

Slide 21 text

activate  :sync  do  |sync|      sync.fog_provider    =  'AWS'      sync.fog_directory  =  'cloudgirl.bloghackers.net'      sync.fog_region        =  'ap-­‐northeast-­‐1'      sync.aws_access_key_id          =  ENV['AWS_ACCESS_KEY_ID']      sync.aws_secret_access_key  =  ENV['AWS_SECRET_ACCESS_KEY']      sync.existing_remote_files  =  'keep'      sync.gzip_compression  =  false      sync.after_build  =  false   end     Fog.credentials  =  {  :path_style  =>  true  }  #  Work  around   NJEEMFNBOTZODͷઃఆ

Slide 22

Slide 22 text

NJEEMFNBOCMPH -­‐-­‐-­‐   title:  ࠓ೔͸Ϋϥ΢υঁࢠձͰ͢   -­‐-­‐-­‐     -­‐  Hello,  JAWS   -­‐  ͜Μʹͪ͸ɺՄѪ͍ݘͰ͢Ͷ   -­‐  Markdown  Ͱॻ͘ΜͰ͢Α   NJEEMFNBOTZODͱ૊Έ߹Θͤͯ 4Ͱެ։͢ΔCMPH͕࡞Ε·͢ ςΩετΛॻ͍ͯ NJEEMFNBOCVJMEͰCMPH هࣄʹͳΔ

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

6OJYతͳখಓ۩Λ࡞Δ

Slide 25

Slide 25 text

σϞ

Slide 26

Slide 26 text

΍ͬͯΔ͜ͱ •  FDMJTU – &$Πϯελϯε৘ใΛ"1*ͰҾ͍ͯ͘Δ – ϩʔΧϧʹ݁ՌΛΩϟογϡ͠ͱ͘ •  QFSDPM

Slide 27

Slide 27 text

$  ec2list  |  percol  |  cut  -­‐f  4  |  xargs  -­‐o  -­‐n  1  ssh   ύΠϓͰͭͳ͛Δ ࡞ͬͨͷ͸&$Πϯελ ϯεͷҰཡΛग़ྗ͢Δͱ ͜ FDMJTU ͚ͩ

Slide 28

Slide 28 text

"1*ʹΑΔ&$Ұཡͷऔಘ ec2  =  AWS::EC2.new(      :access_key_id          =>  ENV['AWS_ACCESS_KEY_ID'],      :secret_access_key  =>  ENV['AWS_SECRET_ACCESS_KEY'],      :region                        =>  ENV['AWS_REGION']  ||  "us-­‐west-­‐1"   )     AWS.memoize  do      instances  =  ec2.instances.map  do  |i|          puts  [i.status,  i.tags[:Name],  i.tags[:Role]].join("\t")      end   end  

Slide 29

Slide 29 text

5*14"84NFNPJ[F AWS.memoize  do      instances  =  ec2.instances.map  do  |i|          ...      end   end   "1*ίʔϧ͕ଟ͔͔͗ͯ࣌ؒ͢Δͱ͖͸ NFNPJ[FͰ͖ͳ͍͔ࢼͯ͠ΈΑ͏ "84NFNPJ[F͕"1*ͷ Ԡ౴Λྑ͍ײ͡ʹΩϟο γϡͯ͘͠Εͯɺߴ଎ʹ

Slide 30

Slide 30 text

·ͱΊ •  "84ͷ"1*Λ͓΋͠Ζ͘࢖͓͏ •  ࢥͬͯΔΑΓͣͬͱ؆୯ •  "84ΛʮΠϯϑϥʯͰ͸ͳ͘ʮϓϩάϥϜͷ ෦඼ʯͰ͋Δͱଊ͑ͯΈΔͱྑ͍͔΋

Slide 31

Slide 31 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠