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
320
Webで自動化って どういうこと? - 大まかに理解する 自動化の入り口の話
Webで自動化って どういうこと? - 大まかに理解する 自動化の入り口の話
Kihara, Takuya
PRO
November 09, 2018
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
470
Amplify Gen2 Deep Dive / How to convey backend types to the frontend #30DaysOfAmplify
tacck
PRO
0
18
TypeScript 雰囲気勢がライブラリのコードリーディングで得た知識 #sacss
tacck
PRO
1
45
ライブコーディングで知るAmplify Gen 2 #AWSAmplifyJP
tacck
PRO
1
130
AWS Amplify Gen 2 GA記念 ~Gen1との違いを確認
tacck
PRO
0
380
Amplify Gen2 が GA したよ! #jawsug_sapporo #jawsug
tacck
PRO
0
350
Flutter で "Hello World!! #ゆるWeb札幌
tacck
PRO
0
140
AWS Lambda で LLRT を動かしてみた #北海道まったりLT大会
tacck
PRO
0
150
地方から始める登壇のステップアップ 〜Java Do から JJUG CCC への登壇参加記録 #javado
tacck
PRO
0
210
Other Decks in Technology
See All in Technology
re:Inventで発表された Bedrockの新機能を色々使って、マルチRAGエージェントにクラウド選定させてみた件
minorun365
PRO
4
270
ドメインロジックで考えるテスタビリティ
leveragestech
1
280
Kubernetes環境のオブザーバビリティの次の一歩をOpenTelemetryで実現すると何がどうなるの? - CloudNative Days Winter 2024
katzchang
0
120
開志専門職大学特別講義 2024 オープニング
1ftseabass
PRO
0
230
2000年てづくりキーボードの旅
tagomoris
1
170
Kubernetesトラフィックルーティング徹底解説/Kubernetes-traffic-deep-dive
oracle4engineer
PRO
5
850
PostgreSQL Conference Japan 2024 A4 Comparison of column-oriented access methods
nori_shinoda
0
160
Reliability Engineering at Studist
katsuhisa91
PRO
0
130
リクルートのデータ基盤 Crois 年3倍成長!1日40,000コンテナの実行を支える AWS 活用とプラットフォームエンジニアリング
recruitengineers
PRO
1
260
開志専門職大学特別講義 2024 デモパート
1ftseabass
PRO
0
220
Will Positron accelerate us?
lycorptech_jp
PRO
1
130
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
0
200
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
45
6.9k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Optimizing for Happiness
mojombo
376
70k
How GitHub (no longer) Works
holman
310
140k
The Language of Interfaces
destraynor
154
24k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
GitHub's CSS Performance
jonrohan
1030
460k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
GraphQLとの向き合い方2022年版
quramy
44
13k
Why Our Code Smells
bkeepers
PRO
334
57k
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