26
oF ののののののののの oF jp Summer Workout ISHII 2bit buffer Renaiss inc. / backspace.tokyo 2015/08/23 @ fork

oFの話題が殆ど出ない oF jp Summer Workout

Embed Size (px)

Citation preview

Page 1: oFの話題が殆ど出ない oF jp Summer Workout

oF の話題が殆ど出ないoF jp Summer Workout

ISHII 2bitbuffer Renaiss inc. / backspace.tokyo

2015/08/23 @ fork

Page 2: oFの話題が殆ど出ない oF jp Summer Workout

自己紹介• プログラマー

• 黒魔術が好き• C++ のマクロとテンプレートが好き• 早く Concept が正式に C++ に入って欲しい

• 仕事では地味な部分を担当することが多い• 黒い画面大好き

Page 3: oFの話題が殆ど出ない oF jp Summer Workout

自己紹介• http://github.com/2bbb• http://twitter.com/2bbb• http://2bit.jp/• http://2bi.tokyo/• http://buffer-renaiss.com/• http://backspace.tokyo/

Page 4: oFの話題が殆ど出ない oF jp Summer Workout

自己紹介

• 詳しくは http://github.com/2bbb/Profile

Page 5: oFの話題が殆ど出ない oF jp Summer Workout

ということで本題

Page 6: oFの話題が殆ど出ない oF jp Summer Workout

Node.js 最高!

Page 7: oFの話題が殆ど出ない oF jp Summer Workout

Node.js とは• サーバーサイド JavaScript 環境• ベースは libuv, v8• 大きな特徴は

• イベントループモデル• ノンブロッキング I/O

• socket.io 最高

Page 8: oFの話題が殆ど出ない oF jp Summer Workout

別にサーバー立てたいわけじゃないし…

Page 9: oFの話題が殆ど出ない oF jp Summer Workout

NO!!

Page 10: oFの話題が殆ど出ない oF jp Summer Workout

Node の美味しさ• OSC が送受信出来る (node-osc とか )• zmq が送受信出来る (zeromq.node)• artnet が送受信出来る (node-artnet)• シリアルが送受信出来る (serialport)• 当然 http(s) で REST も吐ける

Page 11: oFの話題が殆ど出ない oF jp Summer Workout

Node の美味しさ• とにかくモジュールが色々ある

• WebAPI 周りは探せば大体モジュールがある• npm でそんなモジュール管理も簡単

• “npm install HOGE” で大体完了• nvm で node のバージョン管理も簡単• RasPi, Intel Edison, Windows でも普通に動く

Page 12: oFの話題が殆ど出ない oF jp Summer Workout

Node の美味しくなさ• バージョン上がるの早すぎ

• そんな node で満足出来ず io.js に分離して更に加速• 今度無事統合されるらしいけど色々ややこしい

• Web の情報がすぐ腐る• express (RoR 的な奴 ) が無慈悲な API 変更しまくり

Page 13: oFの話題が殆ど出ない oF jp Summer Workout

Node の美味しくなさ• C とかで書かれたライブラリはたまにインストールとかではまることもある

• node-gyp とかやると色々はまりがち• 黒い画面でカタカタッターン!な感じになる

Page 14: oFの話題が殆ど出ない oF jp Summer Workout

最近、個人的にホットな話題

Page 15: oFの話題が殆ど出ない oF jp Summer Workout

Electron

Page 16: oFの話題が殆ど出ない oF jp Summer Workout

Electron (atom-shell)• Node.js + Chromium でスタンドアロンアプリが作れる

• http://electron.atom.io• Atom エディターのバックエンドとして開発• エディタ以外のものも書ける• 先発で NW.js ( 旧 node-webkit) がある

• http://nwjs.io

Page 17: oFの話題が殆ど出ない oF jp Summer Workout

Electron 製のアプリ• Slack Desktop for Windows• Microsoft Visual Studio Code• Qiita Kobito for Windows• Docker GUI

Page 18: oFの話題が殆ど出ない oF jp Summer Workout

Electron の良いところ• html/css+js でデスクトップアプリが書ける• メニューもちゃんと自分でカスタマイズ出来る• node の資産が使える• ビルドが簡単(配布も簡単そう)

Page 19: oFの話題が殆ど出ない oF jp Summer Workout

Electron の辛いところ• html/css の知識がある程度必要

• 今更 css レイアウトやり直すの辛い• 普通のブラウザ js とはちょっと違って混乱

• グローバルスコープがややこしい• io.js ベースなのでモジュールではまることがある

Page 20: oFの話題が殆ど出ない oF jp Summer Workout

node-red

Page 21: oFの話題が殆ど出ない oF jp Summer Workout

node-red• IBM の偉い人が作った IoT な node 環境

• http://nodered.org• node-red サーバー立ち上げるとブラウザでパッチ繋いで色々出来る• Web 関係のモジュール (Max でいうオブジェクト ) がたくさん

Page 22: oFの話題が殆ど出ない oF jp Summer Workout

node-red

• つってもあんまりまだ使えてないので紹介だけ

Page 23: oFの話題が殆ど出ない oF jp Summer Workout

時間があればoF っぽい話題も

Page 24: oFの話題が殆ど出ない oF jp Summer Workout

C++ の話• C++11 で variadic template も使えるし ,

functional も使えるし , auto とか decltype とかrange-based for 文とかひゃっほーい!

• oF0.9.0 からついに C++11 だ!• ひゃっほーい!!

Page 25: oFの話題が殆ど出ない oF jp Summer Workout

C++ の話

• template の小技

Page 26: oFの話題が殆ど出ない oF jp Summer Workout

template の小技

• http://ideone.com/F3FeZB