SlideShare a Scribd company logo
1 of 26
oFの話題が殆ど出ない
oF jp Summer Workout
ISHII 2bit
buffer Renaiss inc. / backspace.tokyo
2015/08/23 @ fork
自己紹介
• プログラマー
• 黒魔術が好き
• C++のマクロとテンプレートが好き
• 早くConceptが正式にC++に入って欲しい
• 仕事では地味な部分を担当することが多い
• 黒い画面大好き
自己紹介
• http://github.com/2bbb
• http://twitter.com/2bbb
• http://2bit.jp/
• http://2bi.tokyo/
• http://buffer-renaiss.com/
• http://backspace.tokyo/
自己紹介
• 詳しくは http://github.com/2bbb/Profile
ということで本題
Node.js 最高!
Node.jsとは
• サーバーサイドJavaScript環境
• ベースはlibuv, v8
• 大きな特徴は
• イベントループモデル
• ノンブロッキングI/O
• socket.io最高
別にサーバー立てたい
わけじゃないし…
NO!!
Nodeの美味しさ
• OSCが送受信出来る (node-oscとか)
• zmqが送受信出来る (zeromq.node)
• artnetが送受信出来る (node-artnet)
• シリアルが送受信出来る (serialport)
• 当然http(s)でRESTも吐ける
Nodeの美味しさ
• とにかくモジュールが色々ある
• WebAPI周りは探せば大体モジュールがある
• npmでそんなモジュール管理も簡単
• “npm install HOGE” で大体完了
• nvmでnodeのバージョン管理も簡単
• RasPi, Intel Edison, Windowsでも普通に動く
Nodeの美味しくなさ
• バージョン上がるの早すぎ
• そんなnodeで満足出来ずio.jsに分離して更に加速
• 今度無事統合されるらしいけど色々ややこしい
• Webの情報がすぐ腐る
• express (RoR的な奴) が無慈悲なAPI変更しまく
り
Nodeの美味しくなさ
• Cとかで書かれたライブラリはたまにインストー
ルとかではまることもある
• node-gypとかやると色々はまりがち
• 黒い画面でカタカタッターン!な感じになる
最近、個人的に
ホットな話題
Electron
Electron (atom-shell)
• Node.js + Chromium でスタンドアロンアプリが作れ
る
• http://electron.atom.io
• Atomエディターのバックエンドとして開発
• エディタ以外のものも書ける
• 先発で NW.js (旧node-webkit)がある
• http://nwjs.io
Electron製のアプリ
• Slack Desktop for Windows
• Microsoft Visual Studio Code
• Qiita Kobito for Windows
• Docker GUI
Electronの良いところ
• html/css+jsでデスクトップアプリが書ける
• メニューもちゃんと自分でカスタマイズ出来る
• nodeの資産が使える
• ビルドが簡単(配布も簡単そう)
Electronの辛いところ
• html/cssの知識がある程度必要
• 今更cssレイアウトやり直すの辛い
• 普通のブラウザjsとはちょっと違って混乱
• グローバルスコープがややこしい
• io.jsベースなのでモジュールではまることがある
node-red
node-red
• IBMの偉い人が作ったIoTなnode環境
• http://nodered.org
• node-redサーバー立ち上げるとブラウザでパッチ
繋いで色々出来る
• Web関係のモジュール(Maxでいうオブジェクト)が
たくさん
node-red
• つってもあんまりまだ使えてないので紹介だけ
時間があれば
oFっぽい話題も
C++の話
• C++11でvariadic templateも使えるし, functionalも
使えるし, autoとかdecltypeとかrange-based for文
とかひゃっほーい!
• oF0.9.0からついにC++11だ!
• ひゃっほーい!!
C++の話
• templateの小技
templateの小技
• http://ideone.com/F3FeZB

More Related Content

What's hot

Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
Mocel Mocelic
 
Chefについて数週間勉強してみた
Chefについて数週間勉強してみたChefについて数週間勉強してみた
Chefについて数週間勉強してみた
Akira Kaneda
 

What's hot (20)

Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
 
composer-scriptsについて
composer-scriptsについてcomposer-scriptsについて
composer-scriptsについて
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使う
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
 
swiftで twitterクライアントを作る
swiftで twitterクライアントを作るswiftで twitterクライアントを作る
swiftで twitterクライアントを作る
 
WordPress on PHP7 on CentOS7 on Saraku-VPS
WordPress on PHP7 on CentOS7 on Saraku-VPSWordPress on PHP7 on CentOS7 on Saraku-VPS
WordPress on PHP7 on CentOS7 on Saraku-VPS
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
 
ChatOps with Hubot
ChatOps with HubotChatOps with Hubot
ChatOps with Hubot
 
Chefについて数週間勉強してみた
Chefについて数週間勉強してみたChefについて数週間勉強してみた
Chefについて数週間勉強してみた
 
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
 
RealSenseを使ってCrazyflieを自律飛行させてみた
RealSenseを使ってCrazyflieを自律飛行させてみたRealSenseを使ってCrazyflieを自律飛行させてみた
RealSenseを使ってCrazyflieを自律飛行させてみた
 
bootsnapはどれくらい早くなるのか
bootsnapはどれくらい早くなるのかbootsnapはどれくらい早くなるのか
bootsnapはどれくらい早くなるのか
 
2014 08-30 life with roslyn
2014 08-30 life with roslyn2014 08-30 life with roslyn
2014 08-30 life with roslyn
 
THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)THETA S でライブストリーミング(途中経過)
THETA S でライブストリーミング(途中経過)
 
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
 
Dockerプレゼン
DockerプレゼンDockerプレゼン
Dockerプレゼン
 

Viewers also liked

Community Management During Hurricane Sandy
Community Management During Hurricane SandyCommunity Management During Hurricane Sandy
Community Management During Hurricane Sandy
Kuhcoon.com
 
Earl wright a.2.3_flexible scheduling inservice_final
Earl wright a.2.3_flexible scheduling inservice_finalEarl wright a.2.3_flexible scheduling inservice_final
Earl wright a.2.3_flexible scheduling inservice_final
Texas Women Univ.
 
Analysis of 2 webistes
Analysis of 2 webistesAnalysis of 2 webistes
Analysis of 2 webistes
Jose De Castro
 
Similar video analysis
Similar video analysisSimilar video analysis
Similar video analysis
Jose De Castro
 
Recording with adobe
Recording with adobeRecording with adobe
Recording with adobe
kham6701
 

Viewers also liked (20)

O f 2014
O f 2014O f 2014
O f 2014
 
2014/12/29 oF fukuoka
2014/12/29 oF fukuoka2014/12/29 oF fukuoka
2014/12/29 oF fukuoka
 
of seminar 2014 pure heart edition.
of seminar 2014 pure heart edition.of seminar 2014 pure heart edition.
of seminar 2014 pure heart edition.
 
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread
 
Scottwaterman
ScottwatermanScottwaterman
Scottwaterman
 
Community Management During Hurricane Sandy
Community Management During Hurricane SandyCommunity Management During Hurricane Sandy
Community Management During Hurricane Sandy
 
School ppt pics
School ppt picsSchool ppt pics
School ppt pics
 
Earl wright a.2.3_flexible scheduling inservice
Earl wright a.2.3_flexible scheduling inserviceEarl wright a.2.3_flexible scheduling inservice
Earl wright a.2.3_flexible scheduling inservice
 
Earl wright a.2.3_flexible scheduling inservice_final_one
Earl wright a.2.3_flexible scheduling inservice_final_oneEarl wright a.2.3_flexible scheduling inservice_final_one
Earl wright a.2.3_flexible scheduling inservice_final_one
 
Earl wright a.2.3_flexible scheduling inservice_final
Earl wright a.2.3_flexible scheduling inservice_finalEarl wright a.2.3_flexible scheduling inservice_final
Earl wright a.2.3_flexible scheduling inservice_final
 
Analysis of 2 webistes
Analysis of 2 webistesAnalysis of 2 webistes
Analysis of 2 webistes
 
Contents page stages
Contents page stagesContents page stages
Contents page stages
 
Website creation
Website creationWebsite creation
Website creation
 
Magazine front cover
Magazine front coverMagazine front cover
Magazine front cover
 
Front cover stages
Front cover stagesFront cover stages
Front cover stages
 
Similar video analysis
Similar video analysisSimilar video analysis
Similar video analysis
 
Scottwaterman
ScottwatermanScottwaterman
Scottwaterman
 
The New Facebook Page Design
The New Facebook Page DesignThe New Facebook Page Design
The New Facebook Page Design
 
Linkedin.portfolio
Linkedin.portfolioLinkedin.portfolio
Linkedin.portfolio
 
Recording with adobe
Recording with adobeRecording with adobe
Recording with adobe
 

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

130427 kansai-emacs-github
130427 kansai-emacs-github130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
 
オープンセミナー香川2012 LT
オープンセミナー香川2012 LTオープンセミナー香川2012 LT
オープンセミナー香川2012 LT
Kouta Imanaka
 

Similar to oFの話題が殆ど出ない oF jp Summer Workout (20)

Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
Hatena blogdevelopmentflow
Hatena blogdevelopmentflowHatena blogdevelopmentflow
Hatena blogdevelopmentflow
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
130427 kansai-emacs-github
130427 kansai-emacs-github130427 kansai-emacs-github
130427 kansai-emacs-github
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Devとopsをつなぐchat ops
Devとopsをつなぐchat opsDevとopsをつなぐchat ops
Devとopsをつなぐchat ops
 
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
 
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
Hello, C++ + JavaScript World! - Boost.勉強会 #11 東京
 
PyconJP2017 Kivyによるアプリケーション開発のすすめ
PyconJP2017 Kivyによるアプリケーション開発のすすめPyconJP2017 Kivyによるアプリケーション開発のすすめ
PyconJP2017 Kivyによるアプリケーション開発のすすめ
 
Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話Chef+serverspec+werckerでインフラCIする話
Chef+serverspec+werckerでインフラCIする話
 
Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例Blazor WebAssembly と Windows Forms でのロジック共有例
Blazor WebAssembly と Windows Forms でのロジック共有例
 
Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
Bot Framework v4 開発 Tips 2018-11
Bot Framework v4  開発 Tips 2018-11Bot Framework v4  開発 Tips 2018-11
Bot Framework v4 開発 Tips 2018-11
 
趣味でのCosmos DBとの付き合い方
趣味でのCosmos DBとの付き合い方趣味でのCosmos DBとの付き合い方
趣味でのCosmos DBとの付き合い方
 
オープンセミナー香川2012 LT
オープンセミナー香川2012 LTオープンセミナー香川2012 LT
オープンセミナー香川2012 LT
 
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7
 

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