Schedule

Mathias Buus

Mathias Buus is a self taught JavaScript hacker from Copenhagen that has been working with Node.js since the 0.2 days. Mathias likes to work with P2P and distributed systems and is the author of more than 650 modules on npm. He is also the Chief of Research at Beaker leading the technical work on the Dat protocol.


ブース・マティアスさんはコペンハーゲンからの JavaScript ハッカーです。独学で Javascript を学んで Node.js 0.2 日以来取り組んでいます。マティアスは、P2P および分散システムと連携するが好きで、650 以上の NPM モジュールの作者です。彼は Beaker の研究長として Dat プロトコルの開発を率いています。

Nov. 23, 10:45 - 11:15, Room A

Offline-First Collaborative Data Structures

The web is growing bigger and bigger every year.
With the increasing rise of the mobile internet and
with users in places that have spotty or slow internet
we've have seen an increased interest in making things work
offline, without degrading user experience.

This talk is a hands-on talk about a series of data structures
that allow you to build complex websites that work offline and p2p,
whilst still allowing you to build collaborative applictions, such as
chat applications, shared TODO lists and more.

I'll be talking about cool new data structures such as the HAMT
(Hash Array Mapped Trie) on top of append-only logs and why this
is the future of the offline-first internet.

Expect modules you can use *today* to start implmenting great
collaborative offline-first applications and plenty of demos.

Anna Henningsen

Over the last 2 and a half years, Anna has been one of the most active contributors to Node.js core. Currently pursuing a Master’s degree in mathematics in Germany, she is fueled by a passion for Node and its community.


この2年半にわたり、アンナはNode.js のコアに最も活動的な貢献者の一人です。現在ドイツで数学の修士号を追求している彼女は、Nodeとそのコミュニティのための情熱により支えられています。

Nov. 23, 11:15 - 11:45, Room A

Node.js: The Road to Workers

Workers, and threading support in general, have been one of the most frequently requested features for Node.js over the last years. Finally, the finishing line is in sight and we’re pretty excited to have experimental support available! This talk will tell you everything around the API, features, use cases & alternatives, our roadmap, and the technical and social challenges that we had to overcome to make it happen!

Daniel Ehrenberg

Daniel Ehrenberg is a TC39 delegate who works for Igalia, a Galician free software consultancy. He lives in Catalunya.


ダニエル ・ エーレンベルクは、Igaliaのために働くTC39の代表で、ガリシア人のフリーソフトウェアコンサルタントです。カタルーニャに住んでいます。

Nov. 23, 13:00 - 13:30, Room A

JavaScript Class Features: A case study in TC39

ES6 classes were intentionally minimal, containing only public method declarations. Now, TC39 is considering adding several other features to classes: private, fields, and decorators. In this talk, we'll see how these proposals work in detail, the process that got them there, and how you can get involved. TC39 needs your help to build features like these and the future of JavaScript.

Sanne Kalkman

Sanne is a former teacher turned (mostly self-taught) software engineer. Currently, she works at TELE2 in Amsterdam, building applications that help her colleagues keep an eye on anything network-related. When she's not coding, you'll probably find her either 25 browser tabs deep into a new CS topic, or behind her sewing machine.


サンエーは先生でしたが、職業を主に自習によってプログラマーに変えました。今は TELE2 アムステルダムに働いて車内のネトワークモニタリングツールを開発しています。開発以外は情報工学の新トピックを 25 ブラウザタブを使って勉強するまたはミシンがすきです。

Nov. 23, 13:30 - 14:00, Room A

Who Takes Out Your Trash

In our daily development lives, most of us don’t have to worry about unused objects gathering cobwebs and filling up the memory. All we need to know is that our language has a garbage collector that just comes by and makes our trash disappear. Somehow it figures out what should stay and what can go, our program can keep going without running out of space, and we don’t have to do a thing.

It is not in fact magic that takes care of the garbage, and this talk will show you how it’s done. First, we’ll explore how two of the most common garbage collection algorithms, reference counting and tracing, figure out what is ready to be collected. Next, we’ll see how we could get the garbage truck out of the way faster by using a generational algorithm, and finally we’ll have a brief look at how Python’s garbage collection works.

This friendly introduction to taking out the trash gives an overview of important aspects of garbage collection algorithms. It is specifically meant to be accessible developers of all levels and you’ll walk away with an understanding of and appreciation for all the hard work that goes on behind the scenes.

Colin Ihrig

Colin Ihrig is a member of the Node.js Core Technical Committee, a libuv collaborator, and a hapi.js core team member. Colin is the author of Pro Node.js for Developers, and co-author of Full Stack JavaScript Development with MEAN.


コリン・イーリッグはhapi.jsのコアチームメンバー、libuvコラボレーター、Node.js コア技術委員会のメンバーです。コリンは、「Pro Node.js for Developers」の著者であり「Full Stack JavaScript Development with MEAN」の共著者です。

Nov. 23, 14:15 - 14:45, Room A

libuv: What's a Unicorn Velociraptor?

libuv is what gives Node.js its event loop and cross-platform asynchronous I/O capabilities. This talk explains what libuv is all about, and how it's used by Node.js. This talk also looks at recent development efforts in the libuv project.

Giovanny Gongora

Support Engineer at NodeSource. At NodeSource I spend time working on products, giving talks and fixing other companies issues related to Node.js. I created my own lisp based language, a modern CSS framework and a ton of C libs because I enjoy learning and having fun during the process. Previously worked at Mozilla porting Firefox OS to ARM devices, building IoT tools for web developers and speaking about Rust, Node.js and embedded OS development.


NodeSourceでエンジニアをサポートしましょう。
NodeSourceで私の取りくんでいるプロダクトは、協議を与え、他社のNode.jsに関連する問題を解決しています。
私は学習とその過程を楽しむために、私自身のlisp、モダンなCSSのフレームワークとたくさんのCライブラリを作成しました。以前はMozilla で、ARM デバイスへのFirefox OSの移植、web開発者のためのIoT ツールの構築、RUST、Node.js と組み込み OS 開発について話すことをしていました。

Nov. 23, 14:45 - 15:15, Room A

Leak Hunting: Finding and debugging a memory leak in Node.js

Performance metrics? Response time higher? Memory leak? We would walk through different memory leak situations to identify and analyze patterns that produce an increase of memory, CPU usage, and the load average over time, without any apparent reason. We'll start talking about taking the time to set up a proper test environment to repeat the exact same conditions as in production. Then we'll discuss how to access Node.js memory using V8 Inspector & Chrome Dev Tools, create a dump of the heap memory for the inspected application, with a lot of details about the memory usage, watching memory allocation in real time and finally a compilation of best practices about how we could end fixing the memory leak. In the end, we'll be able to use the right tools to monitor, understand, and debug the memory consumption of a Node.js application on time.

Rachel White

Rachel White is a technologist, artist, and pretend-cyborg who is currently a Developer Experience Lead, member of the Node.js Community Committee, and co-host of the Changelog podcast JSParty. She is interested in new uses for old hardware, useless robots, VR/AR/MR, and bots. She has spoken internationally about Node.js, JavaScript, Creative Coding, IoT, Artificial Intelligence, NodeBots, and hardware. She's a previous artist in residence at Pioneer Works where she worked on a series that visualized what modern cybernetic augmentation could look like with todays hardware and special effects makeup. Her other interests include glitch art, 80s horror, and indie games. Her aesthetic is fog machines, laser lights, and broken VHS tapes.


レイチェル・ホワイトは技術者・芸術家で、現在、開発者の経験、Node.js コミュニティ委員会のメンバーでChangelog podcast JSParty の共催者でサイボーグのふりをしています。
古いハードウェア、役に立たないロボット、VR/AR/MR、そしてロボットの新しい使用方法に興味があります。彼女は国際的にNode.js、JavaScript、創造的なコーディング、IoT、人工知能、NodeBots、およびハードウェアについて話してきました。彼女は以前Pioneer Worksの邸宅に住んでいたアーティストで、今日のハードウェアと特殊効果のメイクを現代のサイバネティック増強がどのように見えるかを視覚化したシリーズに取り組んでいます。彼女のその他趣味はグリッチ アート、80 年代ホラーとインディー系のゲームです。彼女の美学は、霧のマシン、レーザー ライト、および壊れたVHS テープです。

Nov. 23, 15:30 - 16:00, Room A

Look What You MIDI Me Do!

Who loves pushing buttons? You? And you over there? And the person behind you? Oh wait, everyone loves it?!!? Of course they do, a button is irresistible. Now… what if I told you that you could hook up a LOT of buttons to your computer… and use it to do wild things with the web? I’m glad you’re listening! Let’s take a journey into the Web MIDI api where the possibilities of the web aren’t just at your keyboard fingertips anymore, they’re literally any MIDI compatible controller you have connected! Want to make glitchy audio responsive visuals with WebGL shaders? Rad, we can do that. Want to create custom beats and have those input as a drum machine? No problem when you throw a little Web Audio API in the mix. Let’s dive in and find out how!

Jim Pick

Jim is a software developer based in Vancouver, Canada. In the past year, he has worked for both the Dat Project and Protocol Labs (IPFS). He is also a co-host of the DatCast podcast. Over the years, Jim has been involved in many open source communities, including the Debian project, the Linux kernel, and Node.js. 簡単な日本語なら話せます。


ジムはカナダのバンクーバーを拠点におくソフトウェア開発者です。昨年、彼はDat プロジェクトと Protocol Labs(IPFS) の両方で働いていました。彼はDatCast ポッドキャストの共同主催者でもあります。ジムは数年以上にわたって、Debian project、the Linux Kernel、Node.jsを含めた多くのオープンソースコミュニティに関わってきました。簡単な日本語なら話せます。

Nov. 23, 16:00 - 16:30, Room A

Visualizing the Decentralized Web

A new generation of peer-to-peer protocols is coming to the web. Browsers will soon be able to talk directly to each other, without the need for centralized servers. Exciting new applications and social networks are being created which put people back in control of their personal data. See how IPFS, the Dat Protocol and Secure Scuttlebutt work. This presentation will use interactive visualizations to demonstrate core concepts.

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 numerical and scientific 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.


アサン・リニーズはフルスタックのエンジニアおよびデータの科学者です。彼は、物理学、ナノスケールでの生物学的システムを調査する機械学習と時系列解析の博士号を取得しています。彼は現在フルタイム数値と科学的コンピューティング Node.js とJavaScriptの設定を容易にするオープンソースプロジェクトで働いています。彼の最新のオープンソースプロジェクト、標準ライブラリ、標準ライブラリ Node.js と Javascriptについてはこちらから参照してください。: https://github.com/stdlib-js/stdlib。

Nov. 23, 16:45 - 17:15, Room A

Real-Time Machine Learning in JavaScript

Real-time machine learning is a collection of statistical methods to obtain insights from continuous data streams. In this talk, I'll provide an overview of real-time machine learning algorithms and discuss how these algorithms can be implemented and used in JavaScript. I'll highlight why running these algorithms in JavaScript has several advantages compared to languages traditionally used for numerical computing, including the ability to perform client-side computations. I'll conclude by discussing best-practices and common pitfalls encountered when using machine learning algorithms within JavaScript environments.

Stephanie Nemeth

Stephanie is a developer living in Berlin. She is works at Microsoft and co-organizes the Stupid Hackathon Amsterdam. She enjoys experimenting with hardware and LEDs to make beautiful, useless things.


Stephanie はベルリンに住む開発者です。Microsoft で働き、アムステルダムでおもしろいハッカソンを運営しています。ハードウェアとLEDを使って役に立たない美しいものを作って楽しんでいます。

Nov. 23, 17:15 - 17:45, Room A

Haute Codeture

What if, instead going for practicality, we used IoT to create fleeting moments of interaction and beauty? What would happen if others could interact with my clothing via a web app? I’ll share my story of how I got started with hardware and how it’s evolved into using fashion to create interactive, artistic experiences with strangers.

Nov. 23, 18:30 - 19:45, Room A

Lightning Talks

Shuhei Iitsuka

2014 年より Google 合同会社 UX エンジニア。2017 年東京大学工学系研究科 博士課程修了。博士(工学)。機械学習とウェブの融合がもたらす、新たなユーザ体験の創出に向けて研究および制作活動を行っている。

Nov. 23, 10:45 - 11:15, Room B

Javascript で機械学習はじめよう

Javascript で機械学習する時代が本格的にやってきた。
機械学習プロジェクトとなると、今までは Python や R などのプログラミング言語で記述することが多かった。しかし、最近 TensorFlow.js をはじめとする 機械学習のための Javascript ライブラリが登場しはじめたことにより、その状況は変わりつつある。Javascript で機械学習を記述することによって、ウェブサーバとの通信を必要としないウェブブラウザ上での学習・推論や、クライアントの GPU の活用など、さまざまなメリットを享受できる。
このセッションでは、Javascript で機械学習することの意味、そして TensorFlow.js を用いてウェブアプリケーションを構築する方法について実例を交えながら解説したいと思う。

がねこまさし

WebRTC/WebVR のようなブラウザの最新機能をを活かすにはサーバー側の仕組みも不可欠です。手軽にサーバーを構築できる環境として、node.js の世界に足を踏み入れました。
WebRTC Meetup Tokyo および WebRTC Beginners Tokyo のスタッフ、HTML5Experts.jp にて WebRTC 関連の記事も掲載しています。
インフォコム株式会社所属

Nov. 23, 11:15 - 11:45, Room B

Node.jsでつくるNode.js ミニインタープリター&コンパイラー

「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」という書籍に感銘を受けて、自分でもミニNode.js インタープリターを作ってみました。それを通して変数や関数のスコープについてより深く理解することができました。
さらに以前から気になっていたLLVMを使って、バイナリを生成するミニコンパイラにもチャレンジしています。

こちらの記事をベースに、発表にまとめる予定です。
https://qiita.com/massie_g/items/3ee11c105b4458686bc1

Daiki Arai

ヤフー株式会社:エンジニア
PAY 株式会社(PAY, Inc.):業務委託エンジニア
株式会社ミツモア:業務委託エンジニア

Nov. 23, 13:00 - 13:30, Room B

Diagnose your Node.js app

想定対象者: Node.js初学者(≠プログラミング初心者)から中級者まで

このセッションでは、コアAPIの視点からNode.jsの特性について整理し、自身のコードの診断ができるようになることを目指します。

初学者にとって問題の原因がNode.jsなのかv8なのか、あるいはlibuvかOSか、切り分けだけでも大変です。前半はコアAPIがどのように実装されているのかを理解し、切り分けのための土地勘を養います。

後半では
・ Tracing: 非同期APIのライフタイムや各種パフォーマンスの可視化
・ Profiling: stack profilerを利用した改善
・ Analysis: あえてアプリケーションをクラッシュさせて指標を得るpost-mortemの考え方
などの観点で、実際にコードを診断してみます。
Node.jsではどのような診断方法が用意・検討されているのか、最新動向を追ってみます。

seya

株式会社ビズリーチで主にフロントエンドをやっています。最近の趣味は GraphQL です。

Nov. 23, 13:30 - 14:00, Room B

State of SEO for SPA

SPAを作る人ならきっと向き合ったことがあるであろう課題、SEO対策。

昨年からPrerenderなどそれ専用のソリューションが出たり、Gatsbyjsなどの静的サイトジェネレータの隆盛もあり、取れる打ち手が増えてきましたが、世間には未だに曖昧な論拠に基づいた「SSR必要論」ないし「SSR不要論」が溢れています。

このトークでは「SEO対策」とは具体的になにを指すのか、SPAでSEO対策をする際の打ち手やそれぞれのメリット・デメリットはなにかを解説します。

辻 健人

学生時代から趣味,アルバイトで React に触れてきた,2018年4月にリクルートテクノロジーズに新卒入社し,大規模 SPA のパフォーマンスチューニングなどで貢献している

Nov. 23, 14:15 - 14:45, Room B

React におけるパフォーマンスチューニング

React で作成された大規模SPAにおいて,再レンダリングの最適化をはじめとした パフォーマンスチューニング
や ボトルネックの発見方法,具体的な改善事例について

榊原 昌彦

Ionic Japan Users Group 代表、Ionic Framework コントリビューター、一般社団法人リレーションデザイン研究所代表など。著書「Ionicで作るモバイルアプリ制作入門」。

Nov. 23, 14:45 - 15:15, Room B

WebアプリをNativeアプリにする Capacitor が広げるWebの可能性

iOS/Androidアプリ開発でHTML5アプリが候補にあがると必ず言われる「でも、遅いでしょ?」。Webの進化はすでにそれを過去のものに変えようとしており、自由度が高く表現豊かなアプリをつくることができます。アプリ人材の不足が叫ばれますが、フロントエンド界隈には多くの潜在人材がいます。

このセッションでは、HTML5アプリの歴史と技術、パフォーマンスと「今」を整理します。

鈴木 亮太

Fringe81 でエンジニアをしています。メインはフロントエンドでelmを書いています。

Nov. 23, 15:30 - 16:00, Room B

実践GraphQL for クライアント側

最近よく話題にあがるgraphqlを業務で使っているのでその話をしようと思います。
graphqlは我々の持っていたどんな課題を解決してくれると望んで採用したのか?
採用してどうだったのか?
graphqlを利用するクライアントサイド側からの視点強めで話をしていきたいと思います。
話題のelmだったのでその話も少し添えて

飯塚 大貴

Nota Inc. Software Engineer

Nov. 23, 16:00 - 16:30, Room B

Service Workerを用いたキャッシング戦略 〜Wikiアプリケーションを例に〜

ユーザーによってコンテンツが頻繁に更新されるようなウェブサービスにService Workerを導入して、ローカルに持てるリソースを徐々に増やし活用していく取り組みについてお話します。Nota Inc.で開発・運営する
Scrapbox という、サーバーサイドにNode.js (Express, Socket.IO)、クライアントサイドにReactを使用したフルJavaScript実装なWikiアプリでの具体例を示しつつ、他のサービスでも汎用的に採用できるキャッシング戦略を紹介します。

ネットワーク接続状況に依らずに記事ページの表示や編集を可能にすることを目指して私達が選択した、以下のような手法を取り上げる予定です。
・ Single Page Application として全ページで共通に使われる、最初のhtmlのキャッシュ
・ ホワイトリスト方式での静的リソースのキャッシュ
・ リンクをmouseoverした際のページコンテンツのprefetch
・ ページコンテンツのキャッシュに関する検討中のアイデアなど

また、キャッシュされたリソース間でのバージョンの不整合を防ぐ仕組みや、これらの有効期限の設定など、運用において気を付けている事柄と対応についても共有します。

Masato Ohba

Masato Ohba is currently an engineering manager at Quipper and works for StudySapuri, which is one of the most popular education services in Japan. He mainly develops web applications with Ruby on Rails and single page applications written in React.

Besides his work, he recently started organizing an event and a community named Engineering Manager Meetup.


Quipperで教育サービス「スタディサプリ」の開発・運用をしています。Ruby on Rails による Web application、mobile application 向け API 開発、Single Page Application 開発が主な業務内容です。

また、Engineering Manager Meetup というイベントを主催しています。

Nov. 23, 16:45 - 17:15, Room B

貢献できるOSSの見つけ方 -完結編-

Contributionを期待するメンテナと、OSSに貢献したいがどうしたら良いかわからない大多数のエンジニア。
この期待値のギャップと、貢献したいが誰が何を求めているのかわからないという情報の不透明性をContribution Accessibilityと本トークでは呼び、解決したい課題と位置づけます。
Contribution Accessibilityを解消する一助として開発した goofi というツールをご紹介します。
また、同ツールはTypeScript, React, Next.js, GraphQLなどのJavaScript周辺技術を使用しているため、これらの技術要素の選定理由や使用しての所感・考察もお伝えします。
上記課題はスピーカー自身が感じていたものでもありました。そのためスピーカー自身が同ツールを利用して実際にcontributionすることができるようになった例についてお話します。

lulzneko

新しい技術を見つけては試すことが大好きで技術を試すためには目的を選ばない、IT好きで葉巻好き酒好きなだけの猫。

サーバレスはアイデアを素早く形にできるアーキテクチャとして大のお気に入り。何かを作る時もサーバーレスでいけるかを最初に考える。

ウェブサービスやアプリの開発だけでなく Raspberry Pi などの電子工作や Slack などのチャットボットなどと、いろいろと手を出す。

Nov. 23, 17:15 - 17:45, Room B

Vue.js/Nuxt.js で 実現できた PWA の リアルタイム動画ラップ・バトル・アプリ

スマートフォンやタブレット向けのモバイルアプリは PWA (Progressive Web Apps) による Web 技術を使った形態が期待されてきています。
私たちは、全国規模で行われるモバイル・アプリ開発ハッカソンの予選で、あえてPWAアーキテクチャにこだわって開発し優秀賞を受賞しました。
わずか 24時間という開発期間で、リアルタイムな動画配信を使ったラップのバトルと観戦が同時に行え、観戦者がリアルタイムにフィードバック・エフェクトを返せるアプリを、通常5人チームのところ 3人の少人数で作り上げています。
モバイルアプリのハッカソンとしてネイティブ系開発チームが並み居る中で、唯一 PWA を 武器に戦い 受賞できたのは、Vue.js/Nuxt.js の 活用があったからといって過言ではないでしょう。
また PWA は CI/CD と 相性が良く Agile プラクティスの常にアクセス可能なプロトタイプ環境の提供が行いやすいです。
そして この特性と、Vue.js/Nuxt.js の Web Components による相乗効果が、開発の高速化と品質の向上をもたらします。
このように、スマホ・アプリ開発においても Vue.js/Nuxt.js は 非常に強力に機能します。
本セッションでは Vue.js/Nuxt.js で PWA の リアルタイム動画ラップ・バトル・アプリ を いかにして作り上げたのか、どのように活用したのか、Vue.js/Nuxt.js の 技術を、デモを交えて ご紹介します。
・ PWA(Progressive Web Apps) の 概要
・ Vue.js/Nuxt.js を 使った PWA な モバイルアプリ の 開発手法
・ GitHub、CircleCI、GitHuba Pages を 使った 常にアクセス可能なプロトタイプ環境を持つ PWA アプリ開発環境

Vladimir de Turckheim

Vladimir is an active contributor of the Node.js project especially in the Security Working Group. He has been leading the ecosystem security initiative in the WG. He has been publishing multiple articles regarding Node.js security and performance.


ウラジミールは特にセキュリティワーキンググループ内のNode.jsプロジェクトの活動的な貢献者です。彼はWGでエコシステムセキュリティイニシアティブをけん引しています。彼はNode.jsのセキュリティとパフォーマンスに関する複数の記事を公開しています。

Nov. 23, 10:45 - 11:15, Room E

How I made critical code run much faster

I have this critical piece of code. It has to run fast otherwise my clients complain. Also it is synchronous so I want it to have a small impact on the performance of the applications. This is the story of how I spent a week to gain microseconds in some very critical piece of code.

Mauricio Palma

A self-educated UI Developer working at SinnerSchrader. As part of the product engineering team, he works as a proxy between the design and engineering teams. You’ll find him in that sweet spot where art meets science. Using technology to craft user-centric experiences.

He’s currently also leading the educational program module 'Modern Software Development' at SinnerSchrader.

He is also the co-founder of Woodlike Ocean and an engaged social entrepreneur.


SinnerSchrader に勤務する独学UI開発者。 製品エンジニアリングチームの一部として、彼はデザインとエンジニア リングチーム間のプロキシとして働いています。彼は、芸術と科学が出会うそのスイートスポットで見つけます。クラフト ユーザー中心のエクスペリエンスに技術を使用しています。

彼は現在、SinnerSchrader で教育プログラムモジュール「Modern Software Development」もリードしています。

彼はまた、Woodlike Oceanの共同創設者であり携わっている社会起業家です。

Nov. 23, 11:15 - 11:45, Room E

Accessibility vs latest Web APIs. Can’t we just get along?

Unfortunately, we still treat accessibility in the same way we deal with front-end development for older browsers, something to be done at the end. What if I tell you that we can use the latest Web APIs and still offer an inclusive and accessible experience.

In this talk, you'll learn how to combine Web APIs such as Speech Recognition and Geolocation, with performant Javascript techniques to create empathic user interfaces.

Martin Heidegger

Martin has been freelance OSS developer from Austria living in Osaka, Japan for many years. For several years now he focuses on Node.js as his main development platform and is an active member of the Osakan developer community.


マルティンはオーストリアから 8 年間大阪に住んでいるのフリランス OSS 開発者です。 Node.js はもう数年間メーン開発プラットフォームとして利用しているし大阪の開発者コミュニティを積極的に貢献しています。

Nov. 23, 13:00 - 13:30, Room E

A trillion points with Node.js

I will be presenting our progress of using DAT to create a open-source visualization system for very large point-cloud data sets. This visualization system is entirely built on JavaScript and can enable new ways how we share and use data.

James K Nelson

Hi! I've been playing with JavaScript for over half my life, and I'm building Frontend Armory to help share what I've learned in the process!


こんにちは!私は人生の半分以上をJavaScriptと遊び、そのプロセスで学んだことを分かち合うためにフロントエンドの武器庫を構築しています!

Nov. 23, 13:30 - 14:00, Room E

Navi: painless routing for React

Navi is a new kind of router: as your app's URL changes, it starts fetching the new URL's content, and then it *waits*. It then renders the page *once the content has loaded*.

Delayed rendering makes routing simpler. Instead of manually managing component state and loading spinners, you just assign URLs to content using `async`/`await` and `import()`. Navi does the rest -- it fetches your content, manages your page's `<title>` and scroll position, and even warns you about broken links!

In this talk, I'll introduce Navi, and use it to live code a static website with create-react-app.

Daiki Yokoi

ビットバンク株式会社にてバックエンドを担当しています。
前職ではモバイルゲームのクライアント・サーバー開発に携わりました。
Node.js と TypeScript はもちろん、C/C++ での開発やAWSのインフラ構成について考えるのが好きです。

Nov. 23, 14:15 - 14:45, Room E

Node.jsアプリの開発をモダン化するために取り組んできたこと

ビットバンク株式会社では仮想通貨取引所 bitbank.cc を開発・運営しております。
お客様や取引量の増加に伴い、サーバーサイドアプリケーションの要求水準も高まるばかりです。
このトークでは超少人数でメンテされていたNode.jsバージョン6のアプリケーションの開発をモダン化する過程での取り組み(ローカル開発環境の刷新、TypeScriptの採用と新規フレームワークの導入、AWSのインフラ構成変更など)について、背景や実際の進め方を踏まえてお話をさせて頂くことで、開発手法や環境構築に悩んでいる人の助けになれればと思います。

Koji Hirano

合同会社 DMM.com ブロックチェーン研究室 フロントエンドエンジニア

Nov. 23, 14:45 - 15:15, Room E

ブロックチェーンアプリケーション開発でのJavascriptの話

ブロックチェーンアプリケーション、DApps開発(Ethereum)をする上でのJavascript、フロントエンドの話

今村 謙士

株式会社カブク所属のフロントエンドエンジニア。前職では React で SSR していましたが、現職に移ってから Angular を始め、この度 SSR する運びとなりました。

Nov. 23, 15:30 - 16:00, Room E

Angular Universal on Google App Engine

今年の6月からNode.jsがサポートされたGoogle App Engine Standard Environmentで、Angularアプリケーションをserver-side rendering (SSR)した事例についてご紹介します。

Angular UniversalはAngularでSSRを可能にするためのプロジェクトであり、今回のアプリケーションはこのプロジェクトが提供するツールを利用しています。現時点で公式ドキュメントがあまり充実していないため、実際にアプリケーション開発を進める中で得られた知見を共有することで、その部分を補ればと思います。たとえば、開発中にローカルでファイルをwatchしながらSSRする方法や、サーバサイドで取得した状態をクライアントサイドに伝播する方法などが含まれます。

また、Angular Universalでは未提供の、必要なリソースをHTTP/2 Server Pushする機能を独自に実装し(ようとし)たお話もする予定です。

宮崎 優太郎

Vue.js や React を中心に SPA 開発をしています。現在はメルカリという会社のフロントエンドエンジニアです。

Nov. 23, 16:00 - 16:30, Room E

React + Apollo Client (GraphQL) により変化するアプリケーション設計

GraphQL を利用した Web アプリケーション開発において、Apollo Client を導入することによりクライアントの設計は大きく変化します。コードはより容易に簡素化され、関心事の分離という観点からも GraphQL を導入するメリットをより大きくしてくれます。
このトークでは Apollo についてや、それによってどのようにクライアントの設計が変わってくるのかという話をしたいと思います。

Nov 23

Conference

Nov 24 Interactive
Room A Room B Room C Room D Room E

Doors Open

Keynote

Offline-First Collaborative Data Structures

Javascript で機械学習はじめよう

JSなんでもお悩み相談室

無限LT部屋

How I made critical code run much faster

Node.js: The Road to Workers

Node.jsでつくるNode.js ミニインタープリター&コンパイラー

Accessibility vs latest Web APIs. Can’t we just get along?

JavaScript Class Features: A case study in TC39

Diagnose your Node.js app

A trillion points with Node.js

Who Takes Out Your Trash

State of SEO for SPA

Navi: painless routing for React

libuv: What's a Unicorn Velociraptor?

React におけるパフォーマンスチューニング

Node.jsアプリの開発をモダン化するために取り組んできたこと

Leak Hunting: Finding and debugging a memory leak in Node.js

WebアプリをNativeアプリにする Capacitor が広げるWebの可能性

ブロックチェーンアプリケーション開発でのJavascriptの話

Look What You MIDI Me Do!

実践GraphQL for クライアント側

Angular Universal on Google App Engine

Visualizing the Decentralized Web

Service Workerを用いたキャッシング戦略 〜Wikiアプリケーションを例に〜

React + Apollo Client (GraphQL) により変化するアプリケーション設計

Real-Time Machine Learning in JavaScript

貢献できるOSSの見つけ方 -完結編-

Haute Codeture

Vue.js/Nuxt.js で 実現できた PWA の リアルタイム動画ラップ・バトル・アプリ

Sponsor Talk

Lightning Talks

After Party

 
10:00 - 10:30
10:30 - 10:45
10:45 - 11:15
11:15 - 11:45
11:45 - 13:00
13:00 - 13:30
13:30 - 14:00
14:00 - 14:15
14:15 - 14:45
14:45 - 15:15
15:15 - 15:30
15:30 - 16:00
16:00 - 16:30
16:30 - 16:45
16:45 - 17:15
17:15 - 17:45
17:45 - 18:00
18:00 - 18:30
18:30 - 19:45
19:45 - 20:15
20:15 - 22:00

Yuta Hiroto

株式会社ドワンゴで働くWebエンジニア。
Node.js/Babel/Stylelintのメンバー及びコラボレーター。

Nov. 24, 15:00 - 17:00, Room A

Code And Learn

Code & Learn events allow you to get started (or go further) with Node.js core contributions. Experienced contributors help guide you through your first (or second or third or fourth) commit to Node.js core. They also are available to provide impromptu guided tours through specific areas of Node.js core source code.

Nov. 24, 17:00 - 18:00, Room A

Lightning Talks

n0bisuke

Node.jsでQiita記事をよく書いています!
IoTLTってコミュニティをやっています。遊びに来てね。

Nov. 24, 10:30 - 11:45, Room B

NodeSchool

Node.jsでQiita記事をよく書いています!
IoTLTってコミュニティをやっています。遊びに来てね。

Nov. 24, 13:00 - 15:00, Room B

LINE Bot ハンズオン

Node.jsでQiita記事をよく書いています!
IoTLTってコミュニティをやっています。遊びに来てね。

Nov. 24, 15:00 - 17:00, Room B

LINE Things ハンズオン

Tokuyama Yuka

dotstudio株式会社のエンジニア兼テクニカルライター。現職はハードウェア寄り、前職は自社Web開発,前前職は受託Web開発。ハードウェアのプロトタイプやWeb連携をサクッとやれるのでNode.jsだいしゅき。「Node女学園」をたまに開催。

Nov. 24, 10:30 - 11:45, Room D

Workshop: JavaScriptでハードウェア開発やってみよう

このワークショップは日本語で行われます。
JavaScriptで開発できるマイコンボード「obniz」を使って、ハードウェアとWebの連携を試してみるハンズオンです!
手軽にモノを動かす体験ができるので、ハードウェア初心者の方もぜひ参加してください。

Nov. 24, 13:00 - 15:00, Room D

Workshop: Node-REDで楽しくIoT体験

このワークショップは日本語で行われます。
npmから手軽にインストールできるNode-REDを使って、実際にノートPCからハードウェアを制御してIoT体験します。ぜひ動かす面白さを体験してください~!ノートPCなしでも体験できるデモ機も準備する予定です。お楽しみに!

Yan Fan

Yan Fan is co-founder and CTO of Code Chrysalis. Prior, she has worked as an engineer at Ayasdi, an instructor for a prep programming course run by a leading Silicon Valley bootcamp, and CTO of a coding bootcamp in Jordan. Before she embarked on her career in tech, she worked in commodities trading. She holds degrees in Economics and Arabic from Dartmouth College.

Nov. 24, 15:00 - 17:00, Room D

Workshop: Hands-On React

An accelerated workshop to get your hands dirty with React. We'll cover the following topics:

・ Difference between framework and a library
・ What's special about React?
・ Non-React things like Babel and transpilation
・ React components & JSX
・ React component Lifecycle
・ State management
・ React patterns
・ State vs stateless components

This workshop is best for developers who have never used React or have only used it a little and want to gain deeper understanding.

Martin Heidegger

Martin has been freelance OSS developer from Austria living in Osaka, Japan for many years. For several years now he focuses on Node.js as his main development platform and is an active member of the Osakan developer community.


マルティンはオーストリアから 8 年間大阪に住んでいるのフリランス OSS 開発者です。 Node.js はもう数年間メーン開発プラットフォームとして利用しているし大阪の開発者コミュニティを積極的に貢献しています。

Nov. 24, 10:30 - 11:45, Room E

Workshop: 分散ストレージ体験

このワークショップは日本語で行われます。

分散ストレージはデータ保存やデータ利用に関するエキサイティングで新たな方法です。DAT プロジェクトのよく出来た
Node.js 版ライブラリを利用することで、私たちは DAT を使った分散ストレージを体験できます。このワークショップではツールやコードを用いた
DAT ストレージ作成を通じて、分散ストレージの面白さを学ぶことができます。

ワークショップのゴール:
・ DAT を使ってホームページを作って公開する。
・ その ホームページを Beaker Browser で見てやりとりする。
・ Node.js を使って DAT をリモートプロセスでやりとりする。

Rob Howard

Rob is a web developer from sunny Australia, who currently switches between JavaScript, Elixir, Ruby and Haskell. Having so far made a career from learning and mixing the nice parts from different programming languages, he wants nothing more than to help different programming communities to learn more from each other and become more welcoming for newcomers.

If you're a fan of essay-length tweet threads, he's on Twitter (and most other things) as @damncabbage.


ロブは現在 JavaScript、Elixir、Ruby、Haskell を切り替えている、日当たり良好なオーストラリアからの web開発者です。今までのところ、ラーニングや異なるプログラミング言語から良い部分を混ぜたり、学ぶことからキャリアを形成し、
彼は違うプログラミングコミュニティがもっと互いから学ぶことを手助けし、より新来者に歓迎的になることを手伝う以上のことに望むことはありません。

もしあなたが、エッセイくらいの長さのツイートスレッドのファンなら、彼は Twitter (およびほとんどの他のもの) に @damncabbage として居ます。

Nov. 24, 13:00 - 15:00, Room E

Workshop: Building a Small Compiler in JavaScript

"Compilers" are usually-mysterious things that a lot of us actually use and rely on from day to day, eg. the JavaScript V8 compiler, the TypeScript compiler, or the Clang+LLVM compilers. Digging into how these work can be satisfying (like sleuthing a good puzzle); but some of the ways we implement them can appear in other forms, such as when validating user input, transforming big structures, or when separating side-effects from business logic.

This workshop is comprised of a short talk that introduces the main parts of a compiler, followed by an at-your-own-pace tour through building a little one of your own. We'll start with a simple language that compiles to JavaScript.

We'll be stepping through:

・ Tokenising (taking a string and turning it into a bunch of symbols),
・ Token Parsing (taking these symbols and turning it into a representation of a program), and
・ Code Generating (taking that representation and turning it into, in this case, JavaScript).

This workshop is for people who are already somewhat familiar with JavaScript (just the language itself, not any particular library or framework). To get started, you only need the workshop git repository (TBA), a Terminal / Console, Node.js 8+, and a text editor of your choice.

古川 陽介

㈱リクルートテクノロジーズ所属。Node.js日本ユーザーグループ代表であり、大人気イベント「東京Node学園」の主催者。HTML5expertsにも選ばれている。

Nov. 24, 15:00 - 17:00, Room E

Workshop: JavaScript TodoMVC

このワークショップは日本語で行われます。
リクルートテクノロジーズのJavaScript Bootcamp で使っている TodoMVC アプリを作りながら学ぶワークショップです。

ワークショップのゴール:
・ JavaScriptの基礎から簡単なシングルページのアプリケーションを作れるようになるまでを教えます。