Featured Speakers
-
Myles Borins
Open Source Governance Models: From BDFL to Consensus Seeking
Nov 25, 13:45 - 14:15 G403
Open Source Governance Models: From BDFL to Consensus Seeking
Prior to the fork Node.js was run using a Benevolent Dictator for Life model. After merging with io.js the project adopted a consensus seeking model for landing all changes and governance.
The project has seen a resurgence in contribution in the new model, but it is not without it's own problems. The sessions will examine the reality of these different models and lessons learned. -
Mariko Kosaka
標準化ってなに? Webプラットフォーム/ESNextを作る方法
-
Joyee Cheung
Node.js at Alibaba
Joyee Cheung
I'm a developer at Alibaba Cloud working on alinode, an application management solution for Node.js, which provides services for Node.js application monitoring, profiling, alerting, security warning .etc, and has been used both inside and outside the Alibaba Group. We also help to improve the Node.js developer experience on the Alibaba Cloud.
In my free time, I am also a Node.js core collaborator, making contributions to the Node.js core and other related projects.Nov 25, 13:15 - 13:45 G403
Node.js at Alibaba
In this talk I will cover the story of Node.js at Alibaba, our effort to unify the Node.js development practices across the Alibaba group, and how Node.js applications in Alibaba deal with the challenges of our Double 11 sales. I will also talk about the open source Node.js projects from Alibaba (including egg.js and cnpm, two enterprise-facing projects born out of the unique environment of China), the public cnpm registry, and the Chinese Node.js developer community.
-
Rachel White
Alt-Ctrl: Scream Into this Arduino!
Rachel White
Rachel is currently a Technical Evangelist at Microsoft, but is also a self-taught programmer & occasional artist. She is currently working on multiple video game projects, a VR cat cafe, and thinking about what IoT devices she can build for her two black cats. Her other interests include glitch art, 80s horror, and indie games. Her aesthetic is fog machines, laser lights, and broken VHS tapes.
Nov 25, 13:15 - 13:45 G401
Alt-Ctrl: Scream Into this Arduino!
When you think about bots, the first thing that pops into your mind is probably cute little robots (as it should be)-- but did you know there's a whole world out there of modules that can allow you to control items through various means of interaction? Accelerometers, capacitive touch, light, sound, and more! Learn about different modules that you may not have used before and see how easily they integrate with an microcontroller through wiring diagrams and code examples. Find out about the emerging occurrences of Biohacking-- especially RFID implants, which I will show via my own chip implanted into my hand. Experience live demos of how some of these work, try them out yourself through a little audience participation, and walk away with a new exciting perspective on fun ways you can get creative with your own hardware projects.
-
Franziska Hinkelmann
The JavaScript Engine in Node.js: TurboFan and Ignition
Nov 25, 14:15 - 14:45 G403
The JavaScript Engine in Node.js: TurboFan and Ignition
V8 is the JavaScript engine in Node.js. Since Node 8.3, we use V8’s new compiler pipeline with TurboFan and Ignition. How can V8 be so fast and how does a Just-in-time compiler work?
We’ll look at basic and not-so-basic concepts of V8 and discuss what TurboFan, the optimizing compiler, means for Node.js performance. You’ll learn how to write code that’s fast with the new compiler pipeline. -
Sarah Saltrick Meyer
Sharing is Caring… At Scale!
Nov 26, NAME Academy
Sharing is Caring… At Scale!
Sharing code is hard. And it’s even harder when you have hundreds of developers! At BuzzFeed, we’ve built a library of shared components to support our busy engineers and high-traffic site. We already knew how to build a useful styleguide - but now we were sharing not just SCSS, but templates, JavaScript, analytics, icons, and more! We needed designers and developers across multiple teams to choose consistency over control. When should a component be shared? What standards should a shared component meet? How can we gain the benefit of each others’ work without stepping on each other’s toes? These are the answers we’ve come to.
Schedule
Joyee Cheung
I'm a developer at Alibaba Cloud working on alinode, an application management solution for Node.js, which provides services for Node.js application monitoring, profiling, alerting, security warning .etc, and has been used both inside and outside the Alibaba Group. We also help to improve the Node.js developer experience on the Alibaba Cloud.
In my free time, I am also a Node.js core collaborator, making contributions to the Node.js core and other related projects.
Nov 25, 13:15 - 13:45 G403
Node.js at Alibaba
In this talk I will cover the story of Node.js at Alibaba, our effort to unify the Node.js development practices across the Alibaba group, and how Node.js applications in Alibaba deal with the challenges of our Double 11 sales. I will also talk about the open source Node.js projects from Alibaba (including egg.js and cnpm, two enterprise-facing projects born out of the unique environment of China), the public cnpm registry, and the Chinese Node.js developer community.
Rachel White
Rachel is currently a Technical Evangelist at Microsoft, but is also a self-taught programmer & occasional artist. She is currently working on multiple video game projects, a VR cat cafe, and thinking about what IoT devices she can build for her two black cats. Her other interests include glitch art, 80s horror, and indie games. Her aesthetic is fog machines, laser lights, and broken VHS tapes.
Nov 25, 13:15 - 13:45 G401
Alt-Ctrl: Scream Into this Arduino!
When you think about bots, the first thing that pops into your mind is probably cute little robots (as it should be)-- but did you know there's a whole world out there of modules that can allow you to control items through various means of interaction? Accelerometers, capacitive touch, light, sound, and more! Learn about different modules that you may not have used before and see how easily they integrate with an microcontroller through wiring diagrams and code examples. Find out about the emerging occurrences of Biohacking-- especially RFID implants, which I will show via my own chip implanted into my hand. Experience live demos of how some of these work, try them out yourself through a little audience participation, and walk away with a new exciting perspective on fun ways you can get creative with your own hardware projects.
Nov 25, 13:45 - 14:15 G403
Open Source Governance Models: From BDFL to Consensus Seeking
Prior to the fork Node.js was run using a Benevolent Dictator for Life model. After merging with io.js the project adopted a consensus seeking model for landing all changes and governance.
The project has seen a resurgence in contribution in the new model, but it is not without it's own problems. The sessions will examine the reality of these different models and lessons learned.
Nov 25, 13:45 - 14:15 G402
Make you a React: How to build your own JavaScript framework.
Have you ever wondered what's going on under the hood of a JavaScript framework? In this talk I'll walk you through creating your own view library à la React, including a Virtual DOM, diff algorithm and original state management architecture.
Nov 25, 13:45 - 14:15 G401
Node.js Production Checklist
At RisingStack, we have helped enterprises to sucessfully adopt Node.js in the past years. During this period, we have seen a lot of anti-patterns and war stories. Also, we came up with a list of best practices on how to run Node.js applications in production successfully.
This talk addresses both operational, performance and security best practices.
Nov 25, 14:15 - 14:45 G403
The JavaScript Engine in Node.js: TurboFan and Ignition
V8 is the JavaScript engine in Node.js. Since Node 8.3, we use V8’s new compiler pipeline with TurboFan and Ignition. How can V8 be so fast and how does a Just-in-time compiler work?
We’ll look at basic and not-so-basic concepts of V8 and discuss what TurboFan, the optimizing compiler, means for Node.js performance. You’ll learn how to write code that’s fast with the new compiler pipeline.
Athan Reines
Athan Reines is a full-stack engineer and data scientist. He has a PhD in Physics, where he used machine learning and time series analytics to probe biological systems at the nanoscale. He currently works full-time on open source projects to facilitate numeric computing in Node.js and JavaScript. For his latest open source project, see stdlib, a standard library for Node.js and Javascript: https://github.com/stdlib-js/stdlib.
Nov 25, 14:15 - 14:45 G401
WebAssembly and the Future of the Web
WebAssembly has generated a significant amount of buzz since being first introduced and subsequently reaching cross-browser consensus. Several in the Node community have talked about WebAssembly allowing Node.js to fulfill the promise of the JVM, providing an efficient compile-to target with a single runtime. While WebAssembly is a significant development and will certainly affect how Node.js developers build their applications, some clarity is needed in helping developers better understand the implications WebAssembly will have on application development. To this end, this talk will inform developers as to what WebAssembly is and is not, help them understand why they should even care about WebAssembly in the first place, and enable them to make informed decisions when choosing whether to implement functionality in WebAssembly or as a Node.js add-on.
Nov 25, 15:00 - 15:30 G402
ReactNativeアプリでE2Eテストを回してみた
2017年、ReactNative(以下RN)はネイティブアプリを開発する上で重要なポジションを築き始めていると思います。
RNはiOS/Androidなどのマルチプラットフォーム間の差異をかなり吸収してくれるものの、UIやE2Eテストの領域において未だサポートが弱いのが現状です。
きちんと依存性の切り分けをしてあれば、ユニットテストはNode環境でごく自然に書くことができますが、ネイティブの機能やUIに踏み込むと、Nodeの環境では非常にテストしにくい現状があります。
ユニットテストでは可視化できない(しにくい)テストケースでバグを見逃したり、ビュー層までユニットテストを入れてコンポーネントのテストの維持コストに疲弊したり。
結局アプリの挙動確認には、結局人の力でのデバッグ・動作確認しているチームも多いと思います。
でも人力の確認で、慣れや焦りによる見落とし、見てさえいれば気づけた問題をテスト観点の漏れによって見逃してしまったり、と言った経験はありませんでしょうか。
テスターやデバッガーのリソースを確保できない小さな開発チームにおいて、いかに検証コストを抑えつつテストを回すか?という視点から、実務のRNのプロジェクトにE2EのテストツールAppiumを用いてテストを組み込む過程、テストを回した結果のノウハウをお伝えできればと思います。
Sia Karamalegos
Sia Karamalegos is the founder and lead developer for Clio + Calliope Web Development. She has over 15 years of experience in technology, strategy, project management, and operations from small startups to large corporations across multiple industries, especially high-tech and education. She leverages her depth of experience with software engineering to build high-value applications.
In both 2015 and 2016, Sia was recognized in the Silicon Bayou 100, the 100 most influential and active people in tech and entrepreneurship in Louisiana. She graduated from Texas A&M University with a BS in chemical engineering and received her MBA from Harvard Business School.
Nov 25, 15:00 - 15:30 G401
No REST for the weary... Introducing GraphQL
RESTful APIs can make fetching data pretty hairy sometimes, but fetching data doesn’t have to be so difficult. Enter GraphQL… the query language where you can ask for exactly what you need with a single HTTP request. Come learn what all the buzz is about!
What is GraphQL? How does it differ from REST? In this session, I’ll answer these questions as well as give you an overview of the ecosystem. Of course, an introduction would not be complete without a demonstration of how to use GraphQL, including queries, resolving, integrating into a front-end app, and more!
You’ll get the most out of this session if you’re familiar with JavaScript and ES6 syntax. You’ll get all the fancy concepts you need through code examples. The last part of the demo will show integration with a React app, but it’s not critical that you know React to learn the fundamentals of GraphQL from this session.
Nov 25, 15:30 - 16:00 G402
今さら聞けないSPAのCORS対策の話
ここ2, 3年でJavaScriptのパラダイムは大きく変わってきました。そして今なお変化と進化を続けています。それに合わせてWeb Applicationを作るアーキテクチャの選択肢も大きく変わってきました。
このトークではJavaScriptエンジニアであれば一度は夢見るSPAを実装する際、避けては通れないCORS対策の話をします。
また、実際に私がSPA用APIを実装した際に直面した問題をケーススタディ形式でお話したいと思います。
Rob Howard
Rob is a web developer who switches between Haskell, JavaScript and PureScript at Ambiata, living in sunny Sydney, Australia. He spends his days immersed in functional programming and static type-checking. Having made a career using and mixing the nice parts from different programming languages, he'd like nothing better than to help different programming communities to learn more from each other.
If you're a fan of essay-length tweet threads, he's on Twitter (and most other things) as @damncabbage, and posts his talks and articles on http://robhoward.id.au.
Nov 25, 15:30 - 16:00 G401
A Toy Robot and a Functional Pattern
A Functional Programming-inspired pattern to separate instructions and interpretations.
関数型プログラミングにインスピレーションを得た模様は、命令と解釈を分離します。
We can learn a lot of useful code patterns from Functional Programming. One of them is splitting up some of our code into separate 'instructions' and 'interpreters'. By keeping them distinct, we can more easily re-use our code, and make it easier to test. This talk will show you how to use this technique: we'll start with simple examples, dig into real-world libraries like 'redux-saga' and 'fluture', and finally drive the wheels of a toy robot.
Gil Tayar
From the olden days of DOS, to the stratospheric architectures of Wix, Gil was, is, and always will be, a software developer. He has in the past co-founded WebCollage, survived the bubble collapse of 2000, and worked on various big cloudy projects at Wix. His current passion is teaching software, yet he still doesn't know whether static languages or dynamic languages are the best.
Nov 25, 16:00 - 16:30 G403
Native ES Module - something almost, but not quite entirely unlike CommonJS
CommonJS, along with the npm registry, has become the de-facto standard in Frontend and NodeJS development today. But Native ES Modules are coming to NodeJS and the browser. On the surface, they look incredibly similar to CommonJS modules, but the differences are important.In this talk I will describe these differences, the consequences of these differences, and how to start preparing for the new world of Native ES Modules.
Why is this talk important? Because Native ES Modules _are_ coming. And everybody will be talking about them in 2018. And we need to be prepared, for it _is_ going to be a difficult transition, because the differences are subtle and they bite.
Nov 25, 16:00 - 16:30 G401
Quantum Computing in Node
The first quantum computers and virtual machines are coming online and available to the public. Today they have only up to 30 'qubits', but as these machines get more powerful, they can quickly solve problems in chemistry and break AES and RSA encryption much faster than classical computers.
Scientists at IBM and Rigetti Computing have made two competing APIs and libraries to program their machines in a language similar to assembly. I developed a Node module (jsQuil) for building and testing these programs.
This talk will cover three points:
- What quantum computers will be online in 2018?
- What are the advantages of a quantum computer?
- How do we design a module (jsQuil) and think about quantum computing in JavaScript?
25日に登壇予定の Christopher 'JJ' Jeffrey がキャンセルとなりました。代替として、Yosuke Furukawa によるセッションに変更いたします。
G403
G402
G401
12:00 - 13:00
Open
-
13:00 - 13:15
Opening talk
Yosuke
13:15 - 13:45
13:45 - 14:15
14:15 - 14:45
14:45 - 15:00
Break
15:00 - 15:30
15:30 - 16:00
Turbo Boost Next Node.js
Yosuke Furukawa
予定していたChristopher 'JJ' Jeffrey のセッションはキャンセルとなりました。
16:00 - 16:30
16:30 - 16:45
Break
16:45 - 17:15
Sponsor's talk
17:15 - 17:30
Break
17:30 - 18:20
Lightning Talks
-
Angular Universal
Suguru Inatomi
-
2017版、React、Lambda、S3で始めるモダンなユーザーデータ可視化ツール
向山 裕介
-
How TypeScript can simplify design decision
Hyunje Jun
-
Introduction to Visual Regression Testing
Yusuke Kurami
-
Whose Community?
ちゃんとく / Yuka Tokuyama
18:30 - 18:40
Day1 Closing talk
Yosuke
20:00 - 23:00
After party
別会場で開催
Nov 26, NAME Academy
Sharing is Caring… At Scale!
Sharing code is hard. And it’s even harder when you have hundreds of developers! At BuzzFeed, we’ve built a library of shared components to support our busy engineers and high-traffic site. We already knew how to build a useful styleguide - but now we were sharing not just SCSS, but templates, JavaScript, analytics, icons, and more! We needed designers and developers across multiple teams to choose consistency over control. When should a component be shared? What standards should a shared component meet? How can we gain the benefit of each others’ work without stepping on each other’s toes? These are the answers we’ve come to.
Shirley Wu
Shirley Wu (twitter.com/sxywu) is a freelance software engineer specializing in data visualization. Her most recent projects include Explore Adventure (explore-adventure.com), An Interactive Visualization of Every Line in Hamilton (polygraph.cool/hamilton), The Political Brain (politics.andyourbrain.com/debate), and Putting Emojis on the President's Face (sxywu.com/obamas). She is one-half of data sketch|es (datasketch.es) and co-organizer for the Bay Area D3.js User Group as well as the annual d3.unconf.
Nov 26, NAME Academy
data sketches: A Visualization a Month
Data sketches (www.datasketch.es) is a collaboration between Nadieh Bremer and Shirley Wu, where they choose a topic each month and visualize it by the end of the month. They also document their data gathering, sketching, and coding processes, the mistakes they made and the technical challenges they overcame. In this talk, Shirley will take the audience through the lessons she's learned creating twelve full-fledged visualizations from scratch. She hopes that by sharing her whole process, that it will inspire others to create their own unique and compelling visualizations.
Nov 26, NAME Academy
Real-world applications of hash functions
Hash functions are regarded as an advanced topic, and designing one from scratch takes a PhD in Computer Science. However, everyone is using hash functions in their daily work, whether they know it or not.
In this talk I will showcase how anyone can take advantage of the properties of hash functions, without knowing the mathematics or implementation details, to build exciting applications that only hash functions allow. I will cover how to build a deduplicating file uploader, document similarity search engine and combat online voting fraud. All in pure Javascript, with a sprinkle of WASM for blazing fast performance, and heaps of demos so everyone can follow along.
Nov 26, NAME Academy
JSON Schema Centralized Design
JS 開発において,JSON Schema を中心に据えることで,品質や保守性を向上させるアプローチについてお話しします.
- RAML との連携により実装・仕様間の同期をおこなう
- FlowType との連携により動的チェックだけでなく静的チェックもおこなう
メンテナンスは基本的に JSON Schema のみ.これを本発表では JSON Schema 中心設計と呼びます.
Academy
SkyRoom A
SkyRoom B & C
10:00 - 10:30
Open
10:30 - 10:45
Opening talk
Yosuke
10:45 - 12:45
Node Discussion
Yosuke
NodeSchool
Angular2+ Authentication Tutorial with Auth0
Hideya Furuta from Auth0
12:45 - 13:45
Lunch!!
13:45 - 14:15
14:15 - 14:45
14:45 - 15:15
15:15 - 15:45
15:45 - 16:00
Break
16:00 - 18:00
Code And Learn
Yosuke
NodeSchool
-
Data Visualization Workshop
Shirley Wu
18:00 - 18:15
Break
18:15 - 18:55
Lightning Talks
-
Self Driving Kit using Android and Node.JS
ABHISHEK GOSWAMI
-
Node.js × AWS Lambda アプリケーション開発Tips
hkusu(Hiroyuki Kusu)
-
レスポンシブから逆戻り!?Webサービスのマルチデバイス対応方法
小田島 太郎
19:00 - 19:10
Day2 Closing Talk (Kanpai!)
Yosuke
19:15 - 21:15
After party
※ セッションの内容/時間は変更になる可能性があります。
※ セッションは日本語・英語で行われます。
※ 26日のNode School, Workshopにはご自身のマシンをご用意ください。