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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
rxon
July 16, 2017
Programming
1.1k
2
Share
Web技術の現状と感情
原稿付き記事:
https://rxon.now.sh/webKanjyo.md
rxon
July 16, 2017
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
190
The NotImplementedError Problem in Ruby
koic
1
590
3Dシーンの圧縮
fadis
1
650
JavaDoc 再入門
nagise
0
280
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
720
OSもどきOS
arkw
0
450
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
610
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
320
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
630
Oxcを導入して開発体験が向上した話
yug1224
4
290
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Typedesign – Prime Four
hannesfritz
42
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
How to Ace a Technical Interview
jacobian
281
24k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
240
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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ͰαΫοͱย͚ɺ ѹతൃྗͰ৽نੑΛੜΈग़͠ɺͦ͜ʹूத͢Δɻ
ऴ