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.5k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
13
4.8k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
8.1k
Functional TypeScript
naoya
19
6.9k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.9k
20230227-engineer-type-talk.pdf
naoya
91
87k
関数型プログラミングと型システムのメンタルモデル
naoya
64
110k
TypeScript による GraphQL バックエンド開発
naoya
29
38k
Other Decks in Technology
See All in Technology
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
3
750
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
140
継続的なAIコスト最適化
bgpat
1
290
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
600
夫婦で子育てするための育児標準化
codmoninc
PRO
0
200
AI時代のPRレビューにどう向き合うか?
kairim0
1
220
【Data Engineering Summit2026_登壇資料】医療ビッグデータ×AIエージェントを支えるデータ基盤とハーネスエンジニアリング
jmdc_presentation
0
140
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
120
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
870
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
610
おそらく日本で唯一のDevRelインターン生として
husengs7
0
180
Featured
See All Featured
It's Worth the Effort
3n
188
29k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
The Invisible Side of Design
smashingmag
301
52k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Building Applications with DynamoDB
mza
96
7.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Automating Front-end Workflow
addyosmani
1369
210k
How to Talk to Developers About Accessibility
jct
2
570
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
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ΛʮΠϯϑϥʯͰͳ͘ʮϓϩάϥϜͷ ෦ʯͰ͋Δͱଊ͑ͯΈΔͱྑ͍͔
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠