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
Webで自動化って どういうこと? - 大まかに理解する 自動化の入り口の話
Search
Kihara, Takuya
PRO
November 09, 2018
Technology
1
340
Webで自動化って どういうこと? - 大まかに理解する 自動化の入り口の話
Webで自動化って どういうこと? - 大まかに理解する 自動化の入り口の話
Kihara, Takuya
PRO
November 09, 2018
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
160
はじめまして GoLang #cm_sapporo_study
tacck
PRO
0
83
ゆるWeb勉強会@札幌 #28 #ゆるWeb札幌
tacck
PRO
0
52
AWS Amplify の AI Kit でオレオレAIサイトを作ってみる #ゆるWeb札幌
tacck
PRO
0
82
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
770
Amplify Gen2 Deep Dive / How to convey backend types to the frontend #30DaysOfAmplify
tacck
PRO
0
49
TypeScript 雰囲気勢がライブラリのコードリーディングで得た知識 #sacss
tacck
PRO
1
87
ライブコーディングで知るAmplify Gen 2 #AWSAmplifyJP
tacck
PRO
1
170
AWS Amplify Gen 2 GA記念 ~Gen1との違いを確認
tacck
PRO
0
600
Other Decks in Technology
See All in Technology
Road to Go Gem #rubykaigi
sue445
0
670
DETR手法の変遷と最新動向(CVPR2025)
tenten0727
2
1.4k
Automatically generating types by running tests
sinsoku
2
3.3k
ドキュメント管理の理想と現実
kazuhe
1
200
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
110
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
更新系と状態
uhyo
7
1.6k
AI AgentOps LT大会(2025/04/16) Algomatic伊藤発表資料
kosukeito
0
140
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
3k
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
750
Linuxのパッケージ管理とアップデート基礎知識
go_nishimoto
0
370
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
240
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.4k
The Language of Interfaces
destraynor
157
25k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
Unsuck your backbone
ammeep
670
57k
Building Applications with DynamoDB
mza
94
6.3k
A better future with KSS
kneath
239
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.6k
Optimizing for Happiness
mojombo
377
70k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
It's Worth the Effort
3n
184
28k
Transcript
WebͰࣗಈԽͬͯ Ͳ͏͍͏͜ͱ? 2018/11/09 @tacck ⼤まかに理解する ⾃動化の⼊り⼝の話
୭ !UBDDL ໊લ ࡶͳϑϧελοΫΤϯδχΞ ͓ࣄ εϓϨουɾΠʔάϧ ͖ͳϑΟΪϡΞεέʔτͷٕ
ಥવͰ͕͢
Έͳ͞Μ ָΛ͍ͨ͠Ͱ͔͢?
Έͳ͞Μ ָΛ͍ͨ͠Ͱ͔͢? ͍ͨ͠Ͱ͢ΑͶʂ
ָΛͯ͠ྑ͍ΜͰ͔͢?
ָΛͯ͠ྑ͍ΜͰ͔͢? ྑ͍ΜͰ͢!!
ָΛ͢ΔͨΊʹ ԿΛΔ͖͔?
ࠓ͓͢͠Δ͜ͱ • Web։ൃք۾Ͱฉ͘ʮࣗಈԽʯͱ? • ࣗಈԽ͢ΔͱԿ͕خ͍͠ͷ͔ • ۩ମతͳ͓ɺଞͷํͷൃදʹظ!
ͦͦ “Webٕज़” #ͱ
Webٕज़ (͜ͷࢿྉͰͷఆٛ) Ճ Ԡ༻ WebαΠτ WebΞϓϦ(WebγεςϜ) WebΞϓϦͷཁૉٕज़ͷൃల جຊ
• ੩తϖʔδදࣔ • ϒϥβͰදࣔޙʹ ϖʔδ༰(σʔλ)͕มԽ͠ͳ͍ WebαΠτ جຊ
• ಈతϖʔδදࣔ • ϒϥβͰදࣔޙʹ ϖʔδ༰(σʔλ)͕มԽ͢Δ Ճ WebΞϓϦ(WebγεςϜ)
͍͍ͩͨ͜͏͍͏ύλʔϯ • ϑΝΠϧஔͷΈͷ੩తαΠτ • όοΫΤϯυͰϖʔδੜ͢Δ੩తαΠτ • όοΫΤϯυͰϖʔδੜ͢ΔಈతαΠτ • ϑϩϯτΤϯυʹΑΔಈతαΠτ
੩తαΠτ ಈతαΠτ ϑϩϯτΤϯυ ᶃ ϑΝΠϧஔͷΈ ᶆ 9)3͏λΠϓ όοΫΤϯυ ᶄ ݻఆͷϑΝΠϧੜ
ᶅ ঢ়ଶʹԠͨ͡ ϑΝΠϧੜ
ొਓ • HTML/CSS • JavaScript • όοΫΤϯυ(ݴޠ/ϑϨʔϜϫʔΫ) • ϛυϧΣΞ(HTTPαʔό/DBαʔό) •
Πϯϑϥ(Ϛγϯ/ωοτϫʔΫ)
ᶃϑΝΠϧஔͷΈͷ ɹ੩తαΠτ • HTML/CSS • JavaScript (֎෦௨৴ͳ͠) • ϛυϧΣΞ(HTTPαʔό) •
Πϯϑϥ(Ϛγϯ/ωοτϫʔΫ)
ᶃϑΝΠϧஔͷΈͷ ɹ੩తαΠτ Πϯϑϥ αʔόωοτϫʔΫ )5.-$44 +BWB4DSJQU )551αʔό ϑΝΠϧऔಘ
ᶄόοΫΤϯυͰ ɹϖʔδੜ͢Δ੩తαΠτ • HTML/CSS • JavaScript (֎෦௨৴ͳ͠) • όοΫΤϯυ(ݴޠ/ϑϨʔϜϫʔΫ) •
ϛυϧΣΞ(HTTPαʔό) • Πϯϑϥ(Ϛγϯ/ωοτϫʔΫ)
ᶄόοΫΤϯυͰ ɹϖʔδੜ͢Δ੩తαΠτ Πϯϑϥ αʔόωοτϫʔΫ )551αʔό ϒϥβ͔Β ϑΝΠϧऔಘ ʹݟ͍͑ͯΔ όοΫΤϯυ )5.-$44
+BWB4DSJQU όοΫΤϯυͰϑΝΠϧΛੜͯ͠ )551αʔό͢
ᶅόοΫΤϯυͰ ɹϖʔδੜ͢ΔಈతαΠτ • HTML/CSS • JavaScript (֎෦௨৴ͳ͠) • όοΫΤϯυ(ݴޠ/ϑϨʔϜϫʔΫ) •
ϛυϧΣΞ(HTTPαʔό/DBαʔό) • Πϯϑϥ(Ϛγϯ/ωοτϫʔΫ)
ᶅόοΫΤϯυͰ ɹϖʔδੜ͢ΔಈతαΠτ Πϯϑϥ αʔόωοτϫʔΫ )551αʔό ϒϥβ͔Β ϑΝΠϧऔಘ ʹݟ͍͑ͯΔ όοΫΤϯυ )5.-$44
+BWB4DSJQU %#αʔό όοΫΤϯυͰϑΝΠϧΛੜͯ͠ )551αʔό͢
ᶆϑϩϯτΤϯυʹΑΔ ɹಈతαΠτ • HTML/CSS • JavaScript (֎෦௨৴͋Γ) • όοΫΤϯυ(ݴޠ/ϑϨʔϜϫʔΫ) •
ϛυϧΣΞ(HTTPαʔό/DBαʔό) • Πϯϑϥ(Ϛγϯ/ωοτϫʔΫ)
ᶆϑϩϯτΤϯυʹΑΔ ɹಈతαΠτ Πϯϑϥ αʔόωοτϫʔΫ )551αʔό ϒϥβ ϑΝΠϧऔಘͱ 9)3ʹΑΔσʔλऔಘ όοΫΤϯυ 9)3Λड͚Δ"1*
)5.-$44 +BWB4DSJQU %#αʔό όοΫΤϯυͰ σʔλ࡞ +4 9)3
WebΞϓϦΛ࡞Δʹ • ࠷ऴతʹɺଟ͘ͷཁૉ͕ඞཁʹͳͬͯ͘Δɻ • ϑϩϯτΤϯυɺόοΫΤϯυɺΠϯϑϥɺ ͦΕͧΕ͕ผͷٕज़ཁૉͰΓཱ͍ͬͯΔɻ • ࣗಈԽͰ͖ͦ͏?
ཧ͢Δલʹ
ࣗಈԽ #ͱ
ࣗಈԽͱ • ͋Δಛఆͷ࡞ۀ༰ɺ࡞ۀखॱΛɺ ػց(ίϯϐϡʔλ)ʹͤΔ͜ͱɻ • ਓ͕ؒͰ͖Δ͜ͱ (͔ͭɺ܁Γฦ͠Δ͜ͱ)Λ ίϯϐϡʔλʹͤΔɻ
• جຊ໘ͳ࡞ۀ • ಉ͜͡ͱΛେྔʹ܁Γฦ͢ • ͦͷׂʹؾΛ͏ • ͦͷ্Ͱؒҧ͑Δ • ؒҧ͑ͨ߹γϟϨʹͳΒͳ͍
ਓ͕ؒͰ͖Δ͜ͱΛͤΔ
ࣗಈԽͯ͠خ͍͜͠ͱ
خ͍͜͠ͱ • ఆܕॲཧΛ࣮֬ʹߦͳ͑Δ • Ұ୴ޭͨ͠Βͣͬͱޭ • ࣦ͠ഊͨ͠ΒʮखॱҎ֎ʯʹ͕͋Δ ͜ͱ͕Θ͔Δ
خ͍͜͠ͱ • ָ͕Ͱ͖Δ • ৽͍͜͠ͱʹखΛ͚ͭΒΕΔ • ػೳՃɾվળ • ৽͍͠αʔϏε
Ͳ͏͍͏͜ͱΛ ࣗಈԽͰ͖Δ͔
ࣗಈԽͰ͖Δ͜ͱ • ఆܕॲཧͯ͢
ϑϩϯτΤϯυཁૉ • Ϗϧυ (ίϯύΠϧ / τϥϯεύΠϧ) • ΦʔτϦϩʔυ • Lint
/ Format • ςετ • σϓϩΠ
ϑϩϯτΤϯυཁૉ • Ϗϧυ (ίϯύΠϧ / τϥϯεύΠϧ) • Babel, Webpack, …
• ΦʔτϦϩʔυ • Webpack, … • Lint / Format • ESLint, … • ςετ • Jest, … • σϓϩΠ • SCP, …
όοΫΤϯυཁૉ • Ϗϧυ (ίϯύΠϧ) • ϗοτσϓϩΠ • Lint / Format
• ςετ • σϓϩΠ
όοΫΤϯυཁૉ (Java) • Ϗϧυ (ίϯύΠϧ) • Javac + Gradle, …
• ϗοτσϓϩΠ • IDE + Gradle, … • Lint / Format • Checkstyle, .. • ςετ • JUnit, … • σϓϩΠ • SCP, …
Πϯϑϥཁૉ • ߏཧπʔϧ • ϗετ(VM)ߏங • ϛυϧΣΞߏங • ςετ •
VM/ίϯςφͷΠϝʔδϏϧυ
Πϯϑϥཁૉ • ߏཧπʔϧ • ϗετ(VM)ߏங • ϛυϧΣΞߏங • Ansible, Chef,
… • ςετ • ServerSpec, … • VM/ίϯςφͷΠϝʔδϏϧυ • Docker, Packer, …
Ԡ༻ • CI • GitͷίϛοτΛݕͯ͠ςετ • CD • ςετͰͳ͚Ε •
σϓϩΠͷͨΊʹΠϯϑϥΛࣗಈߏங • σϓϩΠ
Ԡ༻ • CI • GitͷίϛοτΛݕͯ͠ςετ • CD • ςετͰͳ͚Ε •
σϓϩΠͷͨΊʹΠϯϑϥΛࣗಈߏங • σϓϩΠ • Jenkins, CircleCI,…
ࡉʑ͖ͯͨ͠ͷͰ ͬ͘͟Γೝࣝ
ͬ͘͟Γೝࣝ • ϑϩϯτΤϯυɺόοΫΤϯυɺΠϯϑϥɺ ͦΕͧΕͷࣗಈԽରΛݟͯ͠Έͯɺ ͬ͘͟Γͱͨ͠ೝࣝΛݻΊΔɻ
ͬ͘͟Γೝࣝ • ϑϩϯτΤϯυ/όοΫΤϯυͰΓ͍ͨ͜ͱ ݁ߏࣅ͍ͯΔ • ͏ݴޠπʔϧͷҧ͍͔ΒͦΕͧΕʹൃ ల͍ͯ͠Δ͕ɺຊ࣭తʹΓ͍ͨ͜ͱಉ ͡ɻ • Πϯϑϥίʔυͷ࣌
• ߏཧπʔϧͰίʔυԽ͢Δ͜ͱͰ࠶ݱ ੑ͕֬อ͞ΕɺࣗಈԽ͕ਐΜͰ͍Δɻ
Ϗϧυ ϗοτσϓϩΠ ίϛοτ Ϗϧυ όοΫΤϯυ ϑϩϯτΤϯυ Πϯϑϥ ΦʔτϦϩʔυ ߏจνΣοΫ ։ൃڥߏங
੩తղੳ ΠϯλϓϦλ ίϯύΠϥ खݩ ։ൃڥ Ͱಈ࡞֬ೝ ςετ࣮ߦ
ίϛοτ $* $% ੩తղੳ Ϗϧυ ςετ ຊ൪ڥߏங σϓϩΠ ςετڥߏங
·ͱΊ
·ͱΊ • ϑϩϯτΤϯυɺόοΫΤϯυɺΠϯϑϥɺ ͦΕͧΕʹࣗಈԽΛ͢Δٕज़ɾπʔϧ͕͋Δɻ • ԼهͷͨΊʹΔɻ • ҆શ • ࣮֬
• ָΛ͢Δ
·ͱΊ • ݸʑͷٕज़ɺ͍ඥɻ • ෳͷٕज़Λܨ͗߹ΘͤͯɺҰຊͷ͍ඥʹ ͢Δɻ • ͦͷඥ͕ɺϢʔβʔʹՁͱͯ͠ಧ͘Α͏ʹɺ ͘ଠ͍ͯ͘͜͠͏ɻ •
ͦΕ͕ɺʮࣗಈԽʯͷٕज़ɻ
·ͣ • ͯ͘ྑ͍ͷͰඥΛฤΜͰΈΔ • ίϚϯυΛฒͨεΫϦϓτΛ࡞Δ͜ͱɺ ཱͳࣗಈԽɻ • ՁΛੜΉͨΊʹָΛ͠Α͏! • ָΛ͢ΔͨΊʹΛ͠Α͏!
ࣗಈԽͷੈքΑ͏ͦ͜
end