タグ

node.jsとcppに関するraimon49のブックマーク (6)

  • あんまり考えてないよね / jmuk - Message Passing

    オープンソースなのにわりかし再発明しがち勢として @jmuk どうですか。 というふうに(内部的に)話題をふられてしまった。再利用ねえ。あんまり考えてないよね。 Chromiumはモノリシックなコードベースだけど、もちろんいろんな他のライブラリを再利用している。だいたい third_party というところに、そういうのは押し込められている。再利用のためには、ソースコードをもってきて、自分たち用にビルドするという立場。システムに入っているライブラリ(DLL)を再利用する、みたいなことはやらない。バージョンの互換性とかABIの互換性とかがしんどすぎるから。まぁこれは普通か。 ChromiumはGNという独自のビルドシステムでビルドするが(ここがすでに独自なのかよ、というツッコミがあるかもしれませんがスルーしてください)、独自なのでこれをあらかじめサポートしている外部ライブラリというものは、事

    あんまり考えてないよね / jmuk - Message Passing
  • WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD

    Webアプリにリアルタイムの双方向通信が必要な場合、WebSocketを選ぶのは自然なことだと思います。では、どのツールでWebSocketサーバを構築すべきでしょうか。パフォーマンスは重要ですが、開発のプロセスも見過ごしてはなりません。パフォーマンスを基準にするだけでなく、開発のしやすさも考慮に入れるべきでしょう。今回の大合戦では、Clojure、C++、Elixir、Go、NodeJS、Rubyのそれぞれの言語によって慣用的な手法で実装されたシンプルなWebSocketサーバを比較したいと思います。 テスト内容 サーバに実装するのは、 echo と broadcast の2つのメッセージのみを扱う非常に単純なプロトコルです。echoは送信クライアントに返され、ブロードキャストは全ての接続クライアントに送信されます。そしてブロードキャストが完了すると、結果メッセージが送信者に返されます。

    WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD
  • Node.js における Promise を使った例外処理 - from scratch

    さて、 Node.js のエラーハンドリングは難しいと言われてますが、 2016年現在、つまりNodeの v4 とか v6 が主流になり、 Promise が基的な処理として採用されている状況ではどうでしょうか。ちょっと考えてみます。 一応これの補足です。 qiita.com TL;DR 未だに難しい。ただし、 Promise で改善されている。async-await や zone まで来たらかなり楽になる。 あと、 unhandledRejection が uncaughtException よりも酷いことにならないので、大分マシになっている。 Node.js のエラーハンドリングの難しさ まず JavaScript には同期と非同期のエラーハンドリングのやり方があります。前者は所謂 try-catch による方法、後者は callback を使って第一引数で実現する方法や emit(

    Node.js における Promise を使った例外処理 - from scratch
  • Node.jsのモジュールをC++で書く (Hello World編) - hagino3000's blog

    C++弱者ながらC++でNodeモジュールを作る事にしたのでいろいろと。 まずは公式サイトの解説を参考にしてみる。 Addons Node.js v0.6.12 Manual & Documentationl http://nodejs.org/docs/latest/api/addons.html Hello World 最初にHello Worldのコードが載っているが using namespace v8; とあるので早速この行を消してみるとこうなる。 #include <node.h> #include <v8.h> v8::Handle<v8::Value> Method(const v8::Arguments& args) { v8::HandleScope scope; return scope.Close(v8::String::New("world")); } void

    Node.jsのモジュールをC++で書く (Hello World編) - hagino3000's blog
  • node.js のソースぐらい読んでおきたい! - by edvakf in hatena

    JavaScript Advent Calendar 2010 という企画をやっています。既にもう7日目なのですが、まだまだ os0x さんや hasegawayosuke さんや nanto_vi さんや secondlife さんといったすごい方々が記事を書いてくれる予定になっていますので、是非チェックしてみてください。 今日は、最近話題の node.js を読んでみます。僕自身は node.js を追っかけてたのは今年の5月ぐらいで、ソースは半年以上見てなかったのですが、この機会にまた読みました。この記事は、C++ は一応読めるけど V8 とか libev はあまり知らない node.js 好きの人を念頭に置いています。 拙訳の Embedder's Guide - V8 JavaScript Engine に書いてあるようなことは説明なしでいきたいと思います。また、適宜 libev

    node.js のソースぐらい読んでおきたい! - by edvakf in hatena
  • node.jsとは何か(4) - I am bad at math

    さて、前回まで基礎部分をいろいろと説明したので今回からは実装について。現在のソースやその成り立ちを説明するのもいいんだろうけど、今日からはちょっぴりハンズオン形式に趣向を変えてみよう。ってことで node.js を作っていくよ! 実装編その一はJSエンジンであるV8にJavaScriptのソースをわせて実行する、つまりはオレオレJS環境を作るまでを扱うのだ。 V8はもともと他のソフトウェアに組み込まれて使用されることを想定(例えばChromeとかね)されているのでこういう作業が必要になる。 手順は大きくわけて二つ 1. まずはV8のソースを落としてきてV8のビルド 2. V8のソースディレクトリに自作のC++のソースを作ってコンパイル&実行 C++が出てきた時点で引いちゃったかもしれないけど、C++を使えるようになるのが今回の目的ではないのでまずはリラックス。C++っていったってそんなに

    node.jsとは何か(4) - I am bad at math
    raimon49
    raimon49 2010/11/02
    V8エンジンでハンズオン
  • 1