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
1.1k
2
Share
Web技術の現状と感情
原稿付き記事:
https://rxon.now.sh/webKanjyo.md
rxon
July 16, 2017
Other Decks in Programming
See All in Programming
ハンズオンで学ぶクラウドネイティブ
tatsukiminami
0
110
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
610
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
540
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
130
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
850
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.6k
AIエージェントで業務改善してみた
taku271
0
500
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
140
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
140
実践CRDT
tamadeveloper
0
400
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
180
The browser strikes back
jonoalderson
0
930
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Six Lessons from altMBA
skipperchong
29
4.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Tell your own story through comics
letsgokoyo
1
890
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Limits of Empathy - UXLibs8
cassininazir
1
290
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ͰαΫοͱย͚ɺ ѹతൃྗͰ৽نੑΛੜΈग़͠ɺͦ͜ʹूத͢Δɻ
ऴ