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
当たり前だと思うなよ!!/fjordbootcamp-LT20200822
Search
yokki12
August 20, 2020
Programming
0
600
当たり前だと思うなよ!!/fjordbootcamp-LT20200822
FjordBootCamp LT 2020.8.22
yokki12
August 20, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
What We Can Learn From OSS
inouehi
0
440
Documentation for users with AsciiDoc and Antora
ahus1
0
370
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
110
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
510
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
480
Sheets API使ってみた
toshi0383
2
160
Node.js v22 で変わること
yosuke_furukawa
PRO
11
3.9k
業務ツールとして使うPostman
msys75
0
100
新宿ダンジョンを可視化してみた
satoshi7190
3
390
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
Deep Dive into React Stream/Serialize
mugi_uno
3
680
Featured
See All Featured
Faster Mobile Websites
deanohume
300
30k
Git: the NoSQL Database
bkeepers
PRO
423
63k
A designer walks into a library…
pauljervisheath
201
23k
Building Your Own Lightsaber
phodgson
100
5.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
How GitHub (no longer) Works
holman
305
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Ruby is Unlike a Banana
tanoku
96
10k
Transcript
ͨΓલͩ ͱࢥ͏ͳ ΑʂʂFjordBootCamp LTձ 2020.8.22 @yokki
ͳͥͳΒɺࠓճͷͷલఏ͔ͩΒ ࠷ॳʹݴ͍·͕͢ɺ ࣗݾհ ͍Ͱ͢
͚ɾ͍ɾ Εɾ͖ ݩূ݊ձࣾOL ͓ख͍ʹߦͬͨؔ࿈ձࣾͷݚڀॴͰ UNIXʹग़ձ͍ɺͲϋϚΓ͢Δ viେ͖!! ࣌ɺѪಡॻO'Reilly ॳΊͯͬͨϒϥβMosaic
http://www.ncsa.illinois.edu/news/press#mosaic ςΩετͱը૾Λಉ͡ ը໘Ͱදࣔͤ͞Δ͜ͱ ͕Ͱ͖Δੈքॳͷϒϥ β NSCA Mosaic
࣌ಡ Μͩຊ
UNIX࣌ɹ ࠷ޙͷهԱ ՈͰ͏༻్͕ݟ͔ͭΒͳ͍ɺɺ ▸ ύιίϯͰಈ͘UNIX͕͋ΔΒ͍͠ɻ ͦΕɺFreeBSDͱLinux ▸ WebΞϓϦͱ͍͑ɺPerlCGI ▸ ϗʔϜϖʔδʹಈ͖Λ͚ͭΔͳΒɺ
Java Applet
࣌ࣗͰ࡞ͬ ͨϗʔϜϖʔδ ͷҙॻ͖ JavaScript͕ॳΊ࣮ͯ͞Εͨ ▸Netscape 2.0Ҏ্ɻ ▸ࣸਅ͕ଟ͍ͷͰɺؾʹload͍ͯͩ͘͠͞ɻ
աڈ͔Βདྷͨ ਓؒͰ͢ ཁ͢Δʹ
UNIX࣌Λܦͯɺɺɺ ݱࡏɺձܭ࢜ 2લʹMacΛങ͍ɺษڧձʹߦ͖࢝ΊΔ ʙʙ͍ϒϥϯΫʂ ؾ͍ͮͨΒϓϩάϥϛϯάϒʔϜʂʁ ؒ100ճ ͚ɾ͍ɾ Εɾ͖
▸ MacUNIXʂʂ ▸ Linux͕ੈք੍͠ͱΔɺɺɺ ▸ VimʁʮmʯͬͯԿʁ ▸ JavaScriptͷdocument.writeͲ͜ʹߦͬͨ ͷʁ ▸
HTMLͷ<blink>λά͏͑ͳ͍ͷʁ ͍Ζ͍Ζ ڻ͖·͠ ͨ ͏Ұੜձ͑ͳ͍ ͱࢥ͍ͬͯͨٽ ͍ͯ͏͔CSSͬͯԿʁ
ϋϯζΦϯηϛφʔͱΒʹߦ͖·ͨ͠ ԿͰօʮΤϯδχΞʯʹͳΓ͍ͨͷʁ ͍Ζ͍Ζ ڻ͖·͠ ͨ ▸ Railsͷܝࣔ൘ΞϓϦʹσʔλϕʔεͬͯɺେ ͛͞ͳʂʂ͜ΜͳͷCSVͰे͡ΌͶʁ ▸ ͍ͯ͏͔ϓϩάϥϛϯά͖ͰͬͯΔਓ
Ͳ͜ʹ͍Δͷʁ ▸ GEEKͳਓ͏ੜଉͯ͠ͳ͍ͷʁ
ͱ͍͏Θ͚Ͱ FjordBootCamp ʹͨͲΓண͖·ͨ͠ɺɺ ֶश༰ʹʮUNIXʯʮviʯͬͯॻ͍ͯ͋Δʂ
ਓੜͰΓଛͶͨ େ͖ͳ͜ͱΛɺ Ͱࠓ͍ͬͯ·͢ʂʂ FjordBootCamp
͜ΜͳਓؒΛड͚ೖΕͯͩ͘͞Δ ʹɺײँͷؾ࣋ͪͰ͍ͬ ͺ͍Ͱ͢ɺɺɺ ଵଦɾؾɾၗຫʹࣗ৴͕͋Γ·͢ʂ FjordBootCamp
͏͜͜ͰऴΘΓͰ͍͍ͷͰɺɺɺ ͦͯ͠ ࠓճͷ ຊ
ൃ RESTʹؔ͢ΔهࣄΛಡΜͰ͍ͨͱ͖ɺ ͜Μͳ෦ʹ͕ࢭ·Γ·ͨ͠ ͪͳΈʹ͜ͷ3&45ͱ͍͏ߟ͑ํ3PZ'JFMEJOHͱ͍͏ํ͕ʹൃදͨ͠จͰॳΊͯ ఏএ͞Εͨͷͩͦ͏Ͱ͢ɻจʹ3&45Λ࣮ݱ͢ΔͨΊʹҎԼͷ੍Λຬͨ͢ඞཁ ͕͋Δͱॻ͔Ε͍ͯ·͢ɻ ʙதུʙ ݱঢ়ͷΣϒγεςϜͰͨΓલͷΑ͏ͳ͜ͱ·Ͱॻ͔Ε͓ͯΓɺ ݱঢ়ͷΣϒγεςϜͰͨΓલͷΑ͏ͳ ͜ͱ·Ͱॻ͔Ε͓ͯΓɺ
ΞϥαʔΤϯδχΞ͞ΜͱΒͷϒϩά
ม ͜ͷ͓ͬ͞Μɺࠓ͞ΒԿ ͨΓલͷ͜ͱॻ͍ͯΜͷʁ ʢέΔʙʣ ݱঢ়ͷΣϒγεςϜͰͨΓલͷΑ͏ͳ ͜ͱ·Ͱॻ͔Ε͓ͯΓɺ
ϒνΕ·ͨ͠ അࣛʔΜʂʂ
͓લٕज़ऀͷ͘͠Εͷͤ͘ʹɺ ԿͰ࠷ॳ͔Βଘࡏͨ͠ͱͰࢥͬ ͍ͯΔͷ͔ʁ ٕज़ΛੜΈग़ͨ͠ਓͷϦεϖΫτ ͳ͍ͷ͔ʁ
അࣛʔΜʂʂ
શʹ
্هݫີ͔ͭݹ͍ લͷ ఆٛͰ͋Γɺ ͞Βʹ͜Μͳ͜ͱ ม ̎̌લʁ;ͬΔʙʂ ʢϓϓοʣ
͜ΜͳͷࠓࢀߟʹͳΒͶʔΑʂ
·ͨϒνΕ·ͨ͠ അࣛʔΜʂʂ
͓લٕज़ऀͷ͘͠Εͷͤ͘ʹɺ ̎̌Ͱ͜͜·Ͱੈքதʹ͕ͬͨ ٕज़Λ͍͢͝ͱࢥΘͳ͍ͷ͔ʁ ͓લͦΜͳٕज़ੜΈग़ͤΔͷ͔ʁ
അࣛΜ͕ʂʂ
Γ
ͨΓલ͡Ό ͳ͍ΜͩΑʂʂ
ͨΓલ͡Όͳ ͔ͬͨࠒͷ͜ͱ Λɺհ͠·͢ ͪͳΈʹRESTͷͰͳ͍Ͱ͢
1992ɺੈքͷWEBαΠτͷ10ݸɻ ຊ̍ݸʂ http://www.ibarakiken.gr.jp/www/first/index.html
Πϯλʔωοτͷྺ࢙ ੈքॳͷWebαΠτੜ 1984 1991 1992 ଜҪ७ࢯ͕ݸਓతʹܚጯେֶͱ ౦ژۀେֶΛଓ 1996 JPυϝΠϯ໊1ສ݅ಥഁ https://ja.wikipedia.org/wiki/JUNET
https://www.nic.ad.jp/timeline/ ຊॳͷWebαΠτੜ 2000 RESTจൃද ຊͷΠϯλʔωοτͷ Webͳͥޭͨ͠ͷ͔ CERN KEK
࣌ɺ ຊͷΠϯλʔωοτݚڀ ։ൃͷ࠷ઌʹ͍ͨํʑʹ ΑΔࣥච 1994ɺWindows95ൃചલ ຊͰWWW͕Ұൠʹ ීٴ͢Δલ
WIDE Project ΠϯλʔωοτࢀՃͷखҾ͖ ΠϯλʔωοτΞϓϦέʔγϣϯ ɹ1. ిࢠϝʔϧ ɹ2. ωοτχϡʔε ɹ3. Anonymous
FTPͱArchie ɹ4. ใϒϥβ ɹɹ4.1 WAIS ɹɹ4.2 Gopher ɹɹ4.3 ·ͱΊ ࣍ WWW͕ͳ͍ʂʂʂ
গ͚ͩ͠հ͞Ε͍ͯ·ͨ͠ ͠, ͋ͳ͕ͨWWWʹΞΫηε͢ΔखஈΛ͏ ͜ͱ͕Ͱ͖ͨΒ ʢMosaic, tkWWW, emacs্ͷw3-modeͳͲʣ, ҎԼͷURLͰද͞ΕΔϦιʔεʹΞΫηε͢Δ͜ ͱΛקΊΔ. http://www.ntt.jp/WHATSNEW
ҎԼུ ࣌ͷWebϒϥβʂʁ
ͭ·Γ͜ͷ࣌ɺΠϯλʔωοτʹ ࠇ͍ը໘ɺςΩετϕʔε ͰΞΫηε͢Δͷ͕ී௨ʂʂ Πϯλʔωοτ্ͷใΛऔͬͯ͘Δʹɺ͋ͪͪ͜ͷFTP αʔόʔʹஔ͍ͯ͘Ε͍ͯΔϑΝΠϧΛݟ͚ͭͯɺϑΝΠϧ సૹ͢Δ͔͠ͳ͔ͬͨɺɺ ϦϯΫΛͨͲͬͯͲ͜Ͱ͍͚Δ WWW͕ੈքதʹ·Δͷ͜ͷޙʂʂ World Wide
Web
% ftp ଓ͍ͨ͠αʔό Name: ftp Password: ࣗͷϝʔϧΞυϨε ʙFTPαʔόʹଓʙ ftp> ftp>
dir ʙϑΝΠϧҰཡͷදࣔʙ ftp> get औಘ͍ͨ͠ϑΝΠϧ໊ Transfer complete. ͪͳΈʹFTPͷΓ͔ͨ ͜Ε͕࣌ͷΠϯλʔωοτͰͷใऔಘͷ;ͭ͏ͷΓ͔ͨ
͜ͷΑ͏ͳঢ়گ͔Βɺ WWWͳͥ͜Μͳʹޭͨ͠ͷ͔ʁ ͱ͍͏2000ͷRoy FieldingͷRESTจ ·ͰɺΘ͔ͣɺɺɺ
΄Μͷ20લɺ ࠇ͍ը໘ͷॅਓ͚ͨͪͩͷͷͩͬͨ Πϯλʔωοτ͕ɺࠓੈքதͷ ɾ͋ΒΏΔϋʔυΣΞ ɾ͋ΒΏΔOS ɾ͋ΒΏΔݴޠ Ͱಉ༷ʹ͑ΔΑ͏ʹͳͬͨɺɺ ຊޠͱ͔
ݱࡏͷศརͳΠϯλʔωοτϥΠϑ͕͋Δͷɺઌਓͨͪͷ ܙͱͱۤ࿑ͷ͓͔͛Ͱ͢ɻ ࠓͷঢ়گ͕ɺ ͨΓલ͡Ό ͳ͍ΜͩΑʂʂ
͝੩ௌ͋Γ ͕ͱ͏͟͝ ͍·ͨ͠
͓·͚
6OJYѪ͕ߴͯ͡ϙΤϜॻ͖·ͨ͠ ˎ༮গͷࠒͷهԱˎ ·ΘΓͷ͓ʹ͍͞Μ͕ͨͪΏʹͬ͘͢ͱ͍͏͖͔͍Λ͔͍ͭͬͯ ·ͨ͠ Μ͖ΐ͏ͳͷ͔͠͝ͱͳͷ͔͋ͦͼͳͷ͔Θ͔Γ·ͤΜ͕ͱͯ ͨͷͦ͠͏Ͱͨ͠ ͔͋͏ΜͱΛͭͬͯ͘ΒͬͨͷͰ͓ʹ͍͞Μͨͪͷ·ͶΛͯ͠ Ζ͙ΒΉͱ͍͏ͷΛ͔͍ͯΈ·ͨ͠ ͓Β͍Γʔͱ͍͏Ͳ͏Ϳͭͷ͕͔͍͑ͯ͋Δ΄Μ͕͖͢Ͱͨ͠ Ώʹͬ͘͢͢͜͠ͷ͡Λ͏ͪ͜Μ͚ͩͩͰͨ͘͞Μ͠͝ͱΛ
ͯ͘͠ΕΔɺͱͯ͑Β͍͖͔͍Ͱ͢