Speakers
-
Anna Henningsen
Node.js: The Road to Workers
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!
-
Rachel White
Look What You MIDI Me Do!
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!
-
Daniel Ehrenberg
JavaScript Class Features: A case study in 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.
-
Shuhei Iitsuka
Javascript で機械学習はじめよう
Nov. 23, 10:45 - 11:15, Room B
Javascript で機械学習はじめよう
Javascript で機械学習する時代が本格的にやってきた。
機械学習プロジェクトとなると、今までは Python や R などのプログラミング言語で記述することが多かった。しかし、最近 TensorFlow.js をはじめとする 機械学習のための Javascript ライブラリが登場しはじめたことにより、その状況は変わりつつある。Javascript で機械学習を記述することによって、ウェブサーバとの通信を必要としないウェブブラウザ上での学習・推論や、クライアントの GPU の活用など、さまざまなメリットを享受できる。
このセッションでは、Javascript で機械学習することの意味、そして TensorFlow.js を用いてウェブアプリケーションを構築する方法について実例を交えながら解説したいと思う。 -
Colin Ihrig
libuv: What's a Unicorn Velociraptor?
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.
-
Mathias Buus
Offline-First Collaborative Data Structures
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. -
Vladimir de Turckheim
How I made critical code run much faster
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.
-
がねこまさし
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Nov. 23, 11:15 - 11:45, Room B
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
「RubyでつくるRuby ゼロから学びなおすプログラミング言語入門」という書籍に感銘を受けて、自分でもミニNode.js インタープリターを作ってみました。それを通して変数や関数のスコープについてより深く理解することができました。
さらに以前から気になっていたLLVMを使って、バイナリを生成するミニコンパイラにもチャレンジしています。
こちらの記事をベースに、発表にまとめる予定です。
https://qiita.com/massie_g/items/3ee11c105b4458686bc1 -
Mauricio Palma
Accessibility vs latest Web APIs. Can’t we just get along?
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. -
Daiki Arai
Diagnose your Node.js app
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ではどのような診断方法が用意・検討されているのか、最新動向を追ってみます。 -
Martin Heidegger
A trillion points with Node.js
Workshop: 分散ストレージ体験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.
Nov. 24, 10:30 - 11:45, Room E
Workshop: 分散ストレージ体験
このワークショップは日本語で行われます。
分散ストレージはデータ保存やデータ利用に関するエキサイティングで新たな方法です。DAT プロジェクトのよく出来た
Node.js 版ライブラリを利用することで、私たちは DAT を使った分散ストレージを体験できます。このワークショップではツールやコードを用いた
DAT ストレージ作成を通じて、分散ストレージの面白さを学ぶことができます。
ワークショップのゴール:
・ DAT を使ってホームページを作って公開する。
・ その ホームページを Beaker Browser で見てやりとりする。
・ Node.js を使って DAT をリモートプロセスでやりとりする。 -
Sanne Kalkman
Who Takes Out Your Trash
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. -
seya
State of SEO for SPA
Nov. 23, 13:30 - 14:00, Room B
State of SEO for SPA
SPAを作る人ならきっと向き合ったことがあるであろう課題、SEO対策。
昨年からPrerenderなどそれ専用のソリューションが出たり、Gatsbyjsなどの静的サイトジェネレータの隆盛もあり、取れる打ち手が増えてきましたが、世間には未だに曖昧な論拠に基づいた「SSR必要論」ないし「SSR不要論」が溢れています。
このトークでは「SEO対策」とは具体的になにを指すのか、SPAでSEO対策をする際の打ち手やそれぞれのメリット・デメリットはなにかを解説します。 -
James K Nelson
Navi: painless routing for React
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. -
辻 健人
React におけるパフォーマンスチューニング
-
Daiki Yokoi
Node.jsアプリの開発をモダン化するために取り組んできたこと
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のインフラ構成変更など)について、背景や実際の進め方を踏まえてお話をさせて頂くことで、開発手法や環境構築に悩んでいる人の助けになれればと思います。 -
Giovanny Gongora
Leak Hunting: Finding and debugging a memory leak in Node.js
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.
-
榊原 昌彦
WebアプリをNativeアプリにする Capacitor が広げるWebの可能性
Nov. 23, 14:45 - 15:15, Room B
WebアプリをNativeアプリにする Capacitor が広げるWebの可能性
iOS/Androidアプリ開発でHTML5アプリが候補にあがると必ず言われる「でも、遅いでしょ?」。Webの進化はすでにそれを過去のものに変えようとしており、自由度が高く表現豊かなアプリをつくることができます。アプリ人材の不足が叫ばれますが、フロントエンド界隈には多くの潜在人材がいます。
このセッションでは、HTML5アプリの歴史と技術、パフォーマンスと「今」を整理します。 -
Koji Hirano
ブロックチェーンアプリケーション開発でのJavascriptの話
-
鈴木 亮太
実践GraphQL for クライアント側
-
今村 謙士
Angular Universal on Google App Engine
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する機能を独自に実装し(ようとし)たお話もする予定です。 -
Jim Pick
Visualizing the Decentralized Web
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.
-
飯塚 大貴
Service Workerを用いたキャッシング戦略 〜Wikiアプリケーションを例に〜
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
・ ページコンテンツのキャッシュに関する検討中のアイデアなど
また、キャッシュされたリソース間でのバージョンの不整合を防ぐ仕組みや、これらの有効期限の設定など、運用において気を付けている事柄と対応についても共有します。 -
宮崎 優太郎
React + Apollo Client (GraphQL) により変化するアプリケーション設計
Nov. 23, 16:00 - 16:30, Room E
React + Apollo Client (GraphQL) により変化するアプリケーション設計
GraphQL を利用した Web アプリケーション開発において、Apollo Client を導入することによりクライアントの設計は大きく変化します。コードはより容易に簡素化され、関心事の分離という観点からも GraphQL を導入するメリットをより大きくしてくれます。
このトークでは Apollo についてや、それによってどのようにクライアントの設計が変わってくるのかという話をしたいと思います。 -
Athan Reines
Real-Time Machine Learning in JavaScript
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.
-
Masato Ohba
貢献できるOSSの見つけ方 -完結編-
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することができるようになった例についてお話します。 -
Stephanie Nemeth
Haute Codeture
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.
-
lulzneko
Vue.js/Nuxt.js で 実現できた PWA の リアルタイム動画ラップ・バトル・アプリ
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 アプリ開発環境 -
n0bisuke
NodeSchool
LINE Bot ハンズオン
LINE Things ハンズオン -
Tokuyama Yuka
Workshop: JavaScriptでハードウェア開発やってみよう
Nov. 24, 10:30 - 11:45, Room D
Workshop: JavaScriptでハードウェア開発やってみよう
このワークショップは日本語で行われます。
JavaScriptで開発できるマイコンボード「obniz」を使って、ハードウェアとWebの連携を試してみるハンズオンです!
手軽にモノを動かす体験ができるので、ハードウェア初心者の方もぜひ参加してください。 -
Rob Howard
Workshop: Building a Small Compiler in JavaScript
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. -
Yuta Hiroto
Code And Learn
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.
-
Yan Fan
Workshop: Hands-On React
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. -
古川 陽介
Workshop: JavaScript TodoMVC
Nov. 24, 15:00 - 17:00, Room E
Workshop: JavaScript TodoMVC
このワークショップは日本語で行われます。
リクルートテクノロジーズのJavaScript Bootcamp で使っている TodoMVC アプリを作りながら学ぶワークショップです。
ワークショップのゴール:
・ JavaScriptの基礎から簡単なシングルページのアプリケーションを作れるようになるまでを教えます。 -
Taro Odashima
おまいらちゃんとリソース解放してますか
Nov. 23, 18:30 - 19:45, Room A
Lightning Talks: おまいらちゃんとリソース解放してますか
使わなくなったリソースはどうしていますか?
GCが解放してくれるのはメモリだけ。ファイルディスクリプタやコネクションといったリソースは自動的には解放されないので、
LAMPの感覚で「システムが解放してくれるからいいや😄」と思っていると、あとでえらい目に遭います。n
しかも、多分テスト環境ではなかなか気づけません。
でも…「いつ」「どこで」「どのように」解放すればいいのか、あまり知られていません。
すぐに解放するならともかく、ある程度使いまわしたいときはどうすればいいのでしょうか。
そんな悩みを解決する、実践向けの内容です。 -
へっぽこまるこ
食べたいIoT
-
Andrey Sitnik
What developers can learn from Soviet space program failures
Nov. 23, 18:30 - 19:45, Room A
Lightning Talks: What developers can learn from Soviet space program failures
Space industry is very similiar to software development. Human mistakes, big project with lack of communications, insane complexity. So there are a lot of things, which we can learn from them: not blame users, but change UI; report about issues in open source libraries; use linters. Especially, when all these best practices are wrapped in funny and real stories.
-
和田 卓人
power-assert 2
和田 卓人
タワーズ・クエスト株式会社 取締役社長、プログラマ、テスト駆動開発者 学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒する。 その後様々な縁に導かれソフトウェアパターンやXP(eXtreme Programming)を実践する人たちと出会い、後のテスト駆動開発(TDD)の誕生を知る。 テスト駆動開発に「完璧主義の呪い(完璧な設計を得るまではコードを書けないし良いシステムも出来ないという強迫観念)」を解いてもらってからは、 文章や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。
Nov. 23, 18:30 - 19:45, Room A
Lightning Talks: power-assert 2
power-assert は、テストコードを書き始めやすく、かつ投資として無駄にしないために、覚えることを極端に減らし、インターフェイスを安定させ、ツールの進化を落ち着かせようという思想のもと開発されました。おかげさまで power-assert は多くの現場でお使い頂けるまでになりました。ただ、リリースから年月を経て、Breaking Change 無しでは導入や解決が難しい機能や課題も出てきました。この LT では power-assert 2 で取り組む目標、解決案の取捨選択とその背景の思想、バージョニングへの姿勢などを話します。
-
Sota Sugiura
How to choose the best npm library?
Sota Sugiura
Sota Sugiura joined Mercari in January 2017. For his first three months, he belonged to the US team in Tokyo and contributed to the US application’s growth. In April 2017, he moved from Mercari US to Mercari JP, where he helped plan Mercari Channel, which was released last July, from the initial stages. As a backend engineer, he is involved in development. In July of this year, he moved to the Web Re-architecture Team. He spends his days fulfilling his dream of developing as a JavaScript engineer.
2017年1月メルカリに入社。最初の 3ヶ月間は US チームに所属し、US メルカリの成長に尽力。2017年4月より JP チームに異動し、昨年7月にリリースされたメルカリチャンネルのチームに立ち上げ当初から参画。Backend エンジニアとして開発を行う。今年の7月より Web の Rearchitect チームに異動。念願のJavaScriptエンジニアとして日々開発中。
Nov. 23, 18:30 - 19:45, Room A
Lightning Talks: How to choose the best npm library?
How do you decide to choose the best npm library for your production app?
There are so many concerns such as the quality of code, the scale of community and interface. Not using npm library also can be one of the choices.
In this talk, I'll talk about the way to choose the BEST npm library for my team. -
Mariko Kosaka
Squoosh裏話
-
Yasuhiro Tatsuno
Serverless in Scala on Node.js: Get Fast and Productive
Nov. 24, 17:00 - 18:00, Room A
Lightning Talks: Serverless in Scala on Node.js: Get Fast and Productive
FaaS (Function as a Service) is attracting attension since it may reduce operational cost dramatically and simplify server architecture.
As skilled Java/Scala developers, my team want to write "functions" in Scala, not in JS/Python.
However, FaaS runs code on ephemeral containers, so running functions on JVM (Java VM) may suffer from slow startup.
So... our team approached a problem differently: Writing in Scala and generaing JS for Node.js. It goes successfull and we want to share our experiences.
This talk will cover:
・ Benefits of choosing Node.js as FaaS runtime
・ Benefits and how-to of using JS alternatives (Scala.js as an example) -
大島 光貴
私の生活を変えたHeadless Chrome
-
石川 将吾
Deploy TypeScript with CodePipeline in Fargate
-
Sangwhan Moon
Sangwhan Moon
Sangwhan is the director of engineering at a startup specializing in computer vision called Odd Concepts. He has more than 10 years of experience in web standards, and has been an editor of multiple W3C standards and now is an elected member of the W3C Technical Architecture Group.
サンワンは Odd Concepts というコンピュータ ビジョンスタートアップの工学ディレクターです。10年間以上の Web 標準の経験であり、今は W3C Technical Architecture Group の選出されたメンバーです。