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
Hack Atom with Node.js
Search
Ken Wagatsuma
November 07, 2015
Programming
4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hack Atom with Node.js
LT Presentation on Node Tokyo Gakuen 2015 (Tokyo Node Festival)
http://nodefest.jp/2015/
Ken Wagatsuma
November 07, 2015
More Decks by Ken Wagatsuma
See All by Ken Wagatsuma
Pregel Graph Compute Engines - Supersteps Exampls
kenju
0
250
Kafka on Kubernetes with Strimzi
kenju
0
210
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7.4k
Moden browser introduction
kenju
1
470
Cookpad summer internship 2019 - API
kenju
0
11k
Introduction to Design Patterns
kenju
0
140
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
9.3k
Introduction to TypeScript
kenju
0
800
Introduction to Programmatic Ad
kenju
0
310
Other Decks in Programming
See All in Programming
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
えっ!!コードを読まずに開発を!?
hananouchi
0
240
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.9k
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.2k
Foundation Models frameworkで画像分析
ryodeveloper
1
140
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
440
初めてのKubernetes 本番運用でハマった話
oku053
0
130
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
720
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
230
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
860
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
Become a Pro
speakerdeck
PRO
31
6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Odyssey Design
rkendrick25
PRO
2
730
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Chasing Engaging Ingredients in Design
codingconduct
0
240
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
910
Transcript
Hack Atom w/ Node Kenju Wagatsuma
/* * Introduce Myself * * @kenjuwagatsuma */
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
}
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
company : 'Recruit Technologies Co.,LTD.', }
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
company : 'Recruit Technologies Co.,LTD.', profession : 'Android Development', }
'me' = { name : 'Kenju Wagatsuma ( KJ )’,
company : 'Recruit Technologies Co.,LTD.', profession : 'Android Development', career : { 2011 : 'Graphic Designer ( PS, AI, ID )' 2013 : 'Web Designer ( HTML+CSS, jQuery)' 2014 : 'Web Engineer ( JavaScript )' 2015 : 'Programmer ( Java/Android )' } }
Me * Node =
Me * Node = Not Professional (Just for fun)
None
None
None
None
None
None
None
None
None
None
/* * What Atom? */
Atom is: -> ❖ Project supported by GitHub
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines ˕ access to local files
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines ˕ access to local files ˕ asynchronous module definition
Atom is: -> ❖ Project supported by GitHub ❖ Specialized
variant of Chromium designed to be a text editor ˕ asset pipelines ˕ access to local files ˕ asynchronous module definition ˕ script concatenation
https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor
https://speakerdeck.com/zcbenz/practice-on-embedding-node-dot-js-into-atom-editor (Before Electron)
/* * Why Atom? */
Why Atom: -> ❖ Play with Node API ❖ FS,
HTTP, Stream, Async methods…
Why Atom: -> ❖ Play with Node API ❖ FS,
HTTP, Stream, Async methods… ❖ Always running on the newest Chromium ❖ No more polyfill ❖ Can ignore browser compatibility
Why Atom: -> ❖ Play with Node API ❖ FS,
HTTP, Stream, Async methods… ❖ Always running on the newest Chromium ❖ No more polyfill ❖ Can ignore browser compatibility ❖ Support from GitHub teams ❖ Long-term development
/* * How Atom? */
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
* * @param x : ?(mental) * @param y :
?(skill) * @param z : ?(grammer) * @return ? */ contribute(x, y, z): -> while x.isExist doYourBest
* * @param x : Passion * @param y :
Node * @param z : CoffeScript * @return ? */ contribute(x, y, z): -> while x.isExist doYourBest
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
None
None
/* * We Need Your Help! */
❖ 1. Contribute to Atom Editor ❖ 2. Contribute to
Atom Packages ❖ 3. Write Your Own Atom Package You can: ->
Atom API: -> Clipboard Color Cursor Directory File GitRepository KeymapManager
TextBuffer ThemeManager …etc
Get Started: -> ‘cmd-shift-p’ then ‘Package Generator’ … That’s it!
Package: -> This is the basic package layout. `lib` file
is the core of the packages: ***-view.coffee ***.coffee
Debug: -> It’s based on Chromium, right?
Test: -> Oh, my princess Jasmine—
Publish: -> `apm publish` is what you’re looking for. Run
`apm publish -h` for help
/* * Conclusion */
❖ 1. Contribute to Atom Editor → Please do if
you can :) ❖ 2. Contribute to Atom Packages → A lot of rooms for improvement ❖ 3. Write Your Own Atom Package → Super Easy You can: ->
Read this: -> https://atom.io/docs/v1.1.0/ Atom Flight Manual
Ask Here: -> https://discuss.atom.io/ Atom Discuss
Join us: -> https://atomio.slack.com/ Atom Slack
Atom is really hackable
Atom is really hackable powered by Node.js
Atom is really hackable powered by Node.js and you are
Node Professional!
None
http://bit.ly/nodefest2015kj Thanks;
/* * Appendix */
❖ Release Notes ➡ https://atom.io/releases ❖ API References ➡ https://atom.io/docs/api/v1.1.0/Atom
❖ Blog ➡ http://blog.atom.io/ References: ->
❖ “node-webkit” by Cheng Zhao ➡ https://speakerdeck.com/zcbenz/ node-webkit-app-runtime-based-on- chromium-and-node-dot-js ❖
“Atom” by John Nunemaker ➡ https://speakerdeck.com/ jnunemaker/atom Best Slides: ->