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
930
2
Share
s2s
12/14 Nihonbashi.js #3 100star以下限定!細かすぎて伝わらない自作ライブラリ選手権。
akameco
December 14, 2017
More Decks by akameco
See All by akameco
KILL ALL HUMANS (動画なし版)
akameco
3
1.4k
Other Decks in Technology
See All in Technology
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
3
2.3k
AI 時代の Platform Engineering
recruitengineers
PRO
1
160
AI-Assisted Contributions and Maintainer Load - PyCon US 2026
pauloxnet
1
120
OWASP APTSを眺めてみた
su3158
0
130
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
430
Every Conversation Counts
kawaguti
PRO
0
210
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
400
Vision Banana: Image Generators are Generalist Vision Learners
kzykmyzw
0
360
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
150
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
260
知ってた?JavaScriptの"正しさ"を検証するテストが5万以上もあること(Test262)
riyaamemiya
1
190
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
4k
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
It's Worth the Effort
3n
188
29k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
Being A Developer After 40
akosma
91
590k
Faster Mobile Websites
deanohume
310
31k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Building the Perfect Custom Keyboard
takai
2
750
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
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ʹϩοΫΠϯ͋Γ·ͤΜΑʁ Ͳ͏͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ