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
s2s
Search
akameco
December 14, 2017
Technology
2
870
s2s
12/14 Nihonbashi.js #3 100star以下限定!細かすぎて伝わらない自作ライブラリ選手権。
akameco
December 14, 2017
Tweet
Share
More Decks by akameco
See All by akameco
KILL ALL HUMANS (動画なし版)
akameco
3
1.4k
Other Decks in Technology
See All in Technology
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
1
450
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
120
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
150
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
150
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
GitHub Copilot の概要
tomokusaba
1
150
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
220
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
940
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
370
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
240
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.6k
Thoughts on Productivity
jonyablonski
69
4.7k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
How STYLIGHT went responsive
nonsquared
100
5.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bash Introduction
62gerente
614
210k
Six Lessons from altMBA
skipperchong
28
3.9k
Faster Mobile Websites
deanohume
307
31k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Raft: Consensus for Rubyists
vanstee
140
7k
Optimizing for Happiness
mojombo
379
70k
Transcript
s2s Source to Source
GitHubͰs2sͱ ݕࡧ͢Δͱग़͖ͯ·͢ https://github.com/ akameco/s2s
͡Ίʹ
Atomͱ teletypeΛ͍·͢ɻ ڥ͕͋Δਓ ४උΛ͍ͯͩ͘͠͞
ߏ • ࣗݾհ • σϞ 3 • എܠ • Έ
• ͦͷଞ • ϑΟʔυόοΫ 1
ࣗݾհ • ͔͋Ί( @akameco ) • ઌ݄༑ਓୡͱϨόχϥΛ৯ ʹߦͬͨΒશһΠϧεੑң ԌͰ2िؒμϯ͠·ͨ͠ •
ਐḿΛग़͢ʹԿΑΓ݈߁ ͕ඞཁͩͱΘ͔Γ·ͨ͠
ޱ಄Ͱઆ໌͢ΔΑΓ ݟͯΒ͏ํ͕ ͍ͱࢥ͍·͢ͷͰɺ ·ͣσϞ(3ఔ)Λ͠·͢
AtomͷteletypeΛ࣮ͬͯ ࡍʹίʔσΟϯά͠·͢ Atomڥ͕ͳ͍ํը໘ͷํͰ ·ͨɺಈ࡞͕ͬ͞Γͨ͠Β࿈ܞΛΓ·͢
https://youtu.be/ hPR0SCaz-Wg
എܠ • reduxϘΠϥʔϓϨʔτ͕ଟ͍ɻ • ͔͠͠อकతͳ؍ͰϚΫϩతͳղܾΛͨ͠ ͘ͳ͍(Ϗϧυ࣌babelplugin) • ͘ॻͨ͘Ί͚ͩʹ͍ͭෆཁʹͳΔ͔Θ͔Β ͳ͍ϥΠϒϥϦΛಋೖͨ͘͠ͳ͍
ͰɺͲ͏͢Δ͔ʁ • ࠓ͋Δ࣮ͷ··ɺߴʹॻ͘ • ਓؒͰݶք͕͋ΔɺϓϩάϥϜʹΑͬͯϓϩάϥϜ Λॻ͘ • ͜ΕΛίʔσΟϯάλΠϜίϯύΠϧͱ໋໊ͨ͠ • ͜ͷ͋ͨΓ͜ͷεϥΠυ͕͍ͷͰΦεεϝͰ͢
”͜Ε͔Βͷϝλϓ ϩάϥϛϯάJavaScriptͷਖ਼ٛΛޠΖ͏” by erukiti ͞Μ https:// speakerdeck.com/erukiti/meta-programming-javascript-is-justice
ۙͳΠϝʔδͩͱs2sfateͰ͍͏ͱ͜Ζͷ Өຐज़Ͱ͢
ར • ΤσΟλͷϓϥάΠϯͰͳ͍ͨΊڥͷϩοΫΠ ϯ͕ͳ͍ • λΠϙ͕ݮΔ • มߋʹڧ͍ • s2sʹै͏ݶΓ୭͕ॻ͍ͯಉ͡ग़ྗʹͳΔ
• ίʔσΟϯάͷߴԽͰ͔͠ͳ͍ͨΊs2sࣗମΛ͍ͭ ͰࣺͯΒΕΔ
Έ
v0.1~
typescriptʹରԠͯ͠΄͍͠
ϋϯυϥʔ ϑοΫ(ܗ) v0.14~ݱࡏ
ϋϯυϥʔΛಋೖ
ϋϯυϥʔΛಋೖ • ίʔυΛड͚औͬͯίʔυΛฦ͢ͱ͍͏݅Λຬ ͨؔ͢Ͱ͋ΕԿͰ͍͍ • σϑΥϧτͰɺjsͩͬͨΒBabel͕࣮ߦ͞Εɺts ͩͬͨΒBabel7+TypeScriptPlugin͕࣮ߦ͞ΕΔ • ͜ΕʹΑͬͯɺ࣮ࡍͲΜͳϑΝΠϧͰ͋ΕίʔσΟ ϯά࣌ʹॲཧ͕Մೳʹͳͬͨ(md,css,html,...)
Hookʹ͍ͭͯ • ͳͥ͜ͷඞཁ͕͋Δ͔ͱ͍͏ͱBabelͷग़ྗσ ϑΥϧτͰμϒϧίʔςʔγϣϯͩͬͨΓɺηϛί ϩϯ͕͍ͯͨΓ͢Δ͔Β • ओʹίʔυΛग़ྗͨ͠ޙͷܗΛߦ͏ • σϑΥϧτͰprettierɻϓϩδΣΫτͷrcʹै͏ •
ઌtslintʹରԠ by kamijin-fanta ͞Μ
ϓϩδΣΫτʹͲ͏ಋೖ͢Δ͔ʁ • ࣗͷϓϩδΣΫτʹಠࣗͷϓϥάΠϯΛಋೖ͍ͨ͠߹ɺ৽ͨʹ ϓϥάΠϯΛެ։͢Δඞཁͳ͘ɺs2s.config.js͔Β૬ରతʹ requireͰ͖Δ • ྫ͑ erukiti͞Μͷ https://github.com/erukiti/spike-react-redux- using-s2s
ͰscriptsσΟϨΫτϦҎԼʹϓϥάΠϯΛஔͯ͠ར ༻͍ͯ͠Δ
ͪΐ͏Ͳ͍͍νϡʔτϦΞϧʁ • cndlhvn ͞Μͷhttps://github.com/cndlhvn/s2s-redux-actions- sample ͕Φεεϝ (redux-saga + redux-actions) •
ਖ਼ެࣜͷ100ഒ͙Β͍ஸೡͳreadme͕༻ҙͯ͋͠Γެࣜͷα ϯϓϧΑΓΦεεϝ • ͦͯ͠ؾ͍ͮͨͱ͖ʹࣗΑΓcndlhvn͞Μͷํ͕s2s-plugin Λެ։ͯͨ͠ • ৽͘͠ManagerPluginͱݺΕΔ֓೦Λಋೖ͍ͯͯ͠໘ന͍
·ͱΊ
࣭ͱ͍ ϑΟʔυόοΫλΠϜ
ࠓճͷΦν teletypeΛͬͯσϞ͢Δ͜ͱͰɺAtom ʹϩοΫΠϯ͢Δ͜ͱͰڥʹϩοΫΠ ϯ͞ΕΔ͜ͱͲ͏͍͏͜ͱ͔Λ࣮ԋ͠ ͯΈ·ͨ͠ s2sʹϩοΫΠϯ͋Γ·ͤΜΑʁ Ͳ͏͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ