Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSのAPIをカジュアルに
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoya Ito
June 28, 2014
Technology
14k
13
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSのAPIをカジュアルに
#jawsug #cloudgirl の資料です
Naoya Ito
June 28, 2014
More Decks by Naoya Ito
See All by Naoya Ito
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
12
4.3k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
7.8k
Functional TypeScript
naoya
19
6.8k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.8k
20230227-engineer-type-talk.pdf
naoya
91
86k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
37k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
67
25k
Other Decks in Technology
See All in Technology
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
490
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
500
現場のトークンマネジメント
dak2
1
190
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
580
【FinOps】データドリブンな意思決定を目指して
z63d
2
430
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
320
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
210
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.6k
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
210
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
270
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
260
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
190
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Everyday Curiosity
cassininazir
0
240
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
470
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Amusing Abliteration
ianozsvald
1
210
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
400
Transcript
"84ͷ"1*ΛΧδϡΞϧʹ /BPZB*UP ,"*;&/QMBUGPSN*OD ୈճ+"846(Ϋϥυঁࢠձ
ࠓͷ • "1*Λ͓͠Ζ͓͘͏ • ͦͷྫΛ͍͔ͭ͘
"84ͱ͍͑"1* • "84͕طଘͷαʔόʔΠϯϑϥͱҧ͏ͱ͜Ζ – "1*ɺϓϩάϥϚϒϧ • ϓϩάϥϚϒϧͳΠϯϑϥ – *OGSBTUSVDUVSFBT$PEF –
ŋŋŋͱ͍͏͍͍͚ͲɺࠓͬͱΧδϡΞϧʹɺݸਓ༻్ Ͱ"84Λ͓͠Ζ͓͘͏ɺͱ͍͏ େنΠϯϑϥʙɺͱ͔͡Ό ͳͯ͘ৗͷͪΐͬͱͨ͠ಓ ۩ʹ"84Λɺ"1*Λ͏·͘ ͬͯ
,BJ[FO[P (ZB[PΈ͍ͨͳ6* ͰࡱӨͨ͠εΫγϣΛ 4ʹ্͛Δ
σϞ
͜Μͳ͜ͱʹΘΕͯ·͢ 2JJUB5FBN )JQ$IBU (JU)VC
,BJ[FO[Pͷத • ेߦͷSVCZεΫϦϓτ • 049ͷTDSFFODBQUVSFίϚϯυ • "844%,GPS3VCZ – "NB[PO4 • X4UBUJD8FC)PTUJOH
$ screencapture –i /tmp/capture.png TDSFFODBQUVSFίϚϯυ
"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ͯ͠͏
ͬͯΔ͜ͱ • 4UBUJD8FC)PTUJOHΛ༗ޮʹͨ͠CVDLFU Λ4ʹ༻ҙ • 3VCZεΫϦϓτͰҎԼΛΔ – TDSFFODBQUVSFίϚϯυΛ࣮ߦ • TZTUFNTDSFFODBQUVSFrJUNQDBQUVSFQOH
• ՃͰTJQTίϚϯυͰϓϩϑΝΠϧΛআͨ͠Γ – औͬͨϑΝΠϧΛ"1*Ͱ4ʹΞοϓϩʔυ
εΫϦϓτͷ#VOEMFԽ • 3VCZεΫϦϓτΛBQQʹ͢Δ • ී௨ͷΞϓϦΈ͍ͨʹ࣮ߦͰ͖Δ • IUUQXXXHMBNFOWTFQU[FOOFUWJFX͜ͷลࢀߟ Kaizenzo.app/
Contents/ Info.plist MacOS/ Resources/ kaizenzo.rb appIcon.icns ܾΊΒΕͨσΟϨΫτϦ ϨΠΞτͰϑΝΠϧΛ ஔ͍ͯɺ*OGPQMJTU 9.- Λॻ͚ͩ͘
ͪͳΈʹࣗઐ༻ͷ͋Δ • ແବʹ$MPVE'SPOUڬΜͰΔ • CMPHʹը૾షΓ͍ͨͱ͖ɺ5XJUUFSʹྲྀ͍ͨ࣌͠ͱ͔ ʹͬͯΔ
.JEEMFNBO
ྫ͑ J04ΞϓϦͷࠂϖʔδɻ .JEEMFNBOͰͰ͖ͯΔ
.JEEMFNBOͬͯ • αΠτΞηϯϒϥ – ੩తαΠτ੍࡞ͨΊͷϑϨʔϜϫʔΫ – ੩తαΠτΛ8FCΞϓϦέʔγϣϯͷΑ͏ʹ࡞ΕΔ • $44ϓϦϓϩηοα
4BTT$PNQBTT • ςϯϓϨʔτΤϯδϯ &3#ɺTMJN • ΞηοτύΠϓϥΠϯ • -JWF3FMPBE
NJEEMFNBOJOJUͰα ΠτͷͻͳܗΛੜ TMJNͱ͔TBTTͱ͔ DP⒎FFTDSJQUͱ͔ .BSLEPXOͱ͔ͰαΠτΛ ࡞ΕΔ
NJEEMFNBOTFSWFSͰಈ࡞֬ ೝ༻ͷ)551αʔόʔ͕ىಈɻ -JWF3FMPBE࿈ܞ͋ΔΑ
NJEEMFNBOCVJMEͰΞηο τ͔ΒՌΛ·ͱΊͯϏϧ υ
NJEEMFNBOTZOD 4UBUJD8FC)PTUJOHͱΈ߹ΘͤΔͱ٢ ίϚϯυͻͱͭͰ "NB[PO4ʹ .JEEMFNBOͰ࡞ͬͨαΠ τΛసૹ
σϞ
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ͷઃఆ
NJEEMFNBOCMPH -‐-‐-‐ title: ࠓΫϥυঁࢠձͰ͢ -‐-‐-‐ -‐
Hello, JAWS -‐ ͜ΜʹͪɺՄѪ͍ݘͰ͢Ͷ -‐ Markdown Ͱॻ͘ΜͰ͢Α NJEEMFNBOTZODͱΈ߹Θͤͯ 4Ͱެ։͢ΔCMPH͕࡞Ε·͢ ςΩετΛॻ͍ͯ NJEEMFNBOCVJMEͰCMPH هࣄʹͳΔ
None
6OJYతͳখಓ۩Λ࡞Δ
σϞ
ͬͯΔ͜ͱ • FDMJTU – &$ΠϯελϯεใΛ"1*ͰҾ͍ͯ͘Δ – ϩʔΧϧʹ݁ՌΛΩϟογϡ͠ͱ͘ • QFSDPM
$ ec2list | percol | cut -‐f 4 | xargs
-‐o -‐n 1 ssh ύΠϓͰͭͳ͛Δ ࡞ͬͨͷ&$Πϯελ ϯεͷҰཡΛग़ྗ͢Δͱ ͜ FDMJTU ͚ͩ
"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
5*14"84NFNPJ[F AWS.memoize do instances = ec2.instances.map do |i|
... end end "1*ίʔϧ͕ଟ͔͔͗ͯ࣌ؒ͢Δͱ͖ NFNPJ[FͰ͖ͳ͍͔ࢼͯ͠ΈΑ͏ "84NFNPJ[F͕"1*ͷ ԠΛྑ͍ײ͡ʹΩϟο γϡͯ͘͠Εͯɺߴʹ
·ͱΊ • "84ͷ"1*Λ͓͠Ζ͓͘͏ • ࢥͬͯΔΑΓͣͬͱ؆୯ • "84ΛʮΠϯϑϥʯͰͳ͘ʮϓϩάϥϜͷ ෦ʯͰ͋Δͱଊ͑ͯΈΔͱྑ͍͔
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠