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
rxon
July 16, 2017
Programming
2
1.1k
Web技術の現状と感情
原稿付き記事:
https://rxon.now.sh/webKanjyo.md
rxon
July 16, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Gemini for developers
meteatamel
0
100
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
630
MUSUBIXとは
nahisaho
0
140
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
330
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
CSC307 Lecture 04
javiergs
PRO
0
660
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
並行開発のためのコードレビュー
miyukiw
0
1.2k
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Statistics for Hackers
jakevdp
799
230k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
56
Designing Experiences People Love
moore
144
24k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Done Done
chrislema
186
16k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
85
Writing Fast Ruby
sferik
630
62k
Transcript
Webٕज़ͷ ݱঢ়ͱײ by rxon
rxon ݝཱ͓͖ͩΕ͍͖Ε͍େֶηΫγʔϓϩάϥϛϯάֶՊҰճੜ ϑϩϯτΤϯυμΠλΠϫΧϧ όοΫΤϯυϋφϯτφΫ
Webٕज़ Web ϞόΠϧ σεΫτοϓ etc… React Native, Ionic Electron(Chromium and
Node.js) ↘︎ addon→C++
Web WebαΠτ ී௨ͷwebϖʔδ WebΞϓϦέʔγϣϯ WebϓϥοτϑΥʔϜ্ͷΫϥΠΞϯταΠυ ΞϓϦέʔγϣϯ
WebΞϓϦέʔγϣϯ ϑϩϯτΤϯυ ΫϥΠΞϯταΠυ όοΫΤϯυ αʔόʔαΠυ Node.js(V8+͍Ζ͍Ζ) WAF: express, koa
ݱঢ়
Single Page Application 1ϖʔδ্ʹؾ߹ͰΫϥΠΞϯταΠυΞϓϦ έʔγϣϯΛߏங͢Δ ঢ়ଶભҠͷཧ JSONͷऔಘ ͦͷଞϒϥβͷॾػೳΛ࠶࣮
SPAͷ࡞Γํ React.jsͰcomponentsΛͱΓ͍͋͑ͣͬͺ͍࡞Γɺ ReduxͰঢ়ଶΛཧɺΠϕϯτʹdispatchΛ༩͢ ΔɻσʔλऔಘʹaxiosΛ͍ɺϧʔςΟϯάʹ react-routerɻॾʑͰ͖ͨΒbabelͰJSͷτϥϯεύ ΠϧPostCSSΛ͠ͳ͕ΒWebpackͰґଘղܾͯ͠ bundle.jsΛग़ྗɻόοΫΤϯυʹREST JSON API Λ༻ҙ͠ɺServer-Side
Renderingߦ͏ɻ
ײ
None
None
None
minimalist
ϛχϚϜͳߏͰ ͳΜ͔࡞Γ͍ͨ
ͦ͏͍ٕज़ϒϩά WordPressɹϑΝΠϧଟ͗͌͢ TumblrɹCLI͔Β͑ͳ͍ ੩తαΠτδΣωϨʔλʔɹຖճbuild͕ඞཁ
ཁ݅ ฤूlocal md(textlint͏ͨΊ deployͷone commendͰߋ৽ ͱʹ͔͘ϛχϚϜʹ
files = await fs.readdir(dir) github.com/zeit/serve
rxon/note-2017 ಡΉਓͱॻ͘ਓʹ࠷ߴͷUXΛ༩͑ΔͨΊͷ front-end͚ͩͰͳ͘back-endɺ։ൃڥͱʹ ઈϛχϚϜͳٕज़ϒϩά ϑϩϯτΤϯυɹmustache:163ߦ(CSS:68ߦ) όοΫΤϯυɹNode.js:133ߦ typobrowserʹґଘ
Έ [ 'crossPlatformYu.md', 'minCMS.md', 'semicolon.md', 'webpackSmallArt.md' ] fs.readdir(); [{ title:
'ੈք࠷খͷCMS', description: 'ϛχϚϜ date: '2017-03-09', url: 'minCMS.md', html: null }, { title: 'ᕟΰγοΫΛҰॠ description: '͜Εε md͔Βਖ਼نදݱͰ ϝλσʔλΛऔΓग़͢ هࣄϖʔδ͜ΕʹhtmlΛ͚ͭΔ
None
None
৽نੑ ଟ
ੈք࠷খͷ CMS(ଟ)(ٛ) ଟ
None
ͦ͏ݴͬͯ
“ΞϓϦέʔγϣϯ”Λ ࡞Δͱ͖SPAʹ͍ͨ͠
ଥڠɺબఆɺɻ mithrilɹAPI13ݸ(< 8kb gzip) ɺҰ௨ΓೖͬͯΔ koaɹsubstack wayɺࣗ༝ͳදݱɺtjͷਪ͠ + JWT auth
without password
JSON Web Token auth without password 1. email form 2.
/auth?email=${email}&token=${token} Λฦ৴ 3. tokenΛcookieʹೖΕɺ͜ΕΛجʹೝূͯ͠ϦΫ Τετ ख͕ΊͬͪΌগͳ͍
࠷ޙʹ
ϑϩϯτΤϯυͷָ͠Έํ
Web։ൃͷָ͠Έํ ंྠ͍͍ײ͡ͷlibraryͰαΫοͱย͚ɺ ѹతൃྗͰ৽نੑΛੜΈग़͠ɺͦ͜ʹूத͢Δɻ
ऴ