Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSのAPIをカジュアルに
Search
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
16
4.3k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
13
4.7k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
8k
Functional TypeScript
naoya
19
6.9k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.8k
20230227-engineer-type-talk.pdf
naoya
91
87k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
38k
Other Decks in Technology
See All in Technology
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
310
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
130
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
160
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.5k
Tab5をRubyで動くパソコンにする
kishima
2
280
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
110
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
160
Omarchy Quattro の日本語設定周り
simosako
2
140
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
160
ASTを使って影響範囲を特定する
nealle
0
140
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.4k
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
260
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Making the Leap to Tech Lead
cromwellryan
135
10k
Embracing the Ebb and Flow
colly
88
5.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Automating Front-end Workflow
addyosmani
1369
210k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
WENDY [Excerpt]
tessaabrams
13
39k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
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ΛʮΠϯϑϥʯͰͳ͘ʮϓϩάϥϜͷ ෦ʯͰ͋Δͱଊ͑ͯΈΔͱྑ͍͔
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠