運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。

setTimeout(fn, 0)より高速な関数は最近はこんな感じのを使うといいと思う。 var nextTick; if (typeof setImmediate === 'function') { nextTick = setImmediate; } else if (typeof process === 'object' && typeof process.nextTick === 'function') { nextTick = process.nextTick; } else if (typeof MessageChannel === 'function') { (function () { var channel = new MessageChannel(); var queue = null; channel.port1.onmessage = function () { t
本記事は、3月13日にソフトバンク クリエイティブより発売された書籍「はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-」から、「第7章 Node.jsアプリケーションのデバッグ方法」の一部を抜き出し再構成したものです。 出版社ページ / Amazon.co.jpの商品ページ 大型本: 384ページ、価格:3,045円(税込)、ISBN: 978-4797370904 Node.jsでのWebアプリケーション実行モデル PHPやPerlなどの言語でWebアプリケーションを実装する場合、クライアント(Webブラウザ)とのやり取りはApache HTTP ServerなどのWebサーバーが行い、プログラムはWebサーバー経由で実行される形が多い。いっぽうNode.jsの場合、Node.js自体(正確にはNode.jsに含まれるWebサーバーモジュール)が直
ド素人が完全自作SNSを作ってみてわかったこと。 http://anond.hatelabo.jp/20130104184115 の元増田です。 ひっそりと公開したはずのtag-chat.net(http://tag-chat.net)ですが、 まさか、こんなに反響を頂けるとは思っていなかったので、びっくりしました。 素人のフリをしているとか、出版社のステマだとか色々言われましたが、嘘は一切書いてないです。 ステマというか、ウェブサービス公開後の状況を知っている方からするとマイナスのステマにしかなっていないような気がします…。 公開してから、色々と発見というか気づきがあったので、それを共有できれば幸いです。あと、tag-chat.netの中身についてなど。 ~増田記事を公開してから今までの経過~ ・意気揚々と自作SNSを公開したものの、アクセスが全くこなくて途方にくれる。 ⇓ ・以前、完全
Grokking V8 closures for fun (and profit?) に、ほんの少しだけ触れられている話なんですが。 ごく最近まで V8 には、オブジェクトリテラルの中で関数リテラルを使った場合に非常に遅くなる(というかGCが多発する)問題があった。 たとえば、 function doit() { for (var i = 0; i < 1000; ++i) { for (var j = 0; j < 1000; ++j) { var o = { f: function () { return i + j; } }; } } } doit(); というコードを node-0.6.19 で実行すると、以下のように mark-sweep GC が大量に発生して処理に時間がかかっていることが分かる。 $ time /usr/local/node-0.6.19/bin/node -
サーバサイドJavaScript Node.js入門 清水俊博, 大津繁樹, Jxck, 小林秀和, 佐々木庸平, 篠崎祐輔, 高木敦也, 西山雄也 KADOKAWA/アスキー・メディアワークス 3,344円 (3,040円+税) 本書は、「スケーラブルなネットワークプログラムを簡単に作成するための方法を提供する」というNode.jsの日本初の解説書です。Node.jsの初歩から応用まで、すべてを学ぶことができます。 サポートサイト出版社による関連ページが公開されています。 サーバサイドJavaScript Node.js入門 (KADOKAWA/アスキー・メディアワークス) 書誌情報 著者: 清水俊博, 大津繁樹, Jxck, 小林秀和, 佐々木庸平, 篠崎祐輔, 高木敦也, 西山雄也 発行日: 2012-10-29 最終更新日: 2012-10-29 バージョン: 1.0.0 ページ数
intro この記事は 東京Node学園祭2012 アドベントカレンダー : ATND の 24 日目の記事です。 Socket.IO の 1.0 が、出る出るといって全然出ないので、 やきもきしている方も多いと思います。 しかし、その裏では Engin.IO という、割りと良い感じの ファミリープロジェクトができていて、 ちょうど先日 RealtimeConf でもその話がありました。 これは Socket.IO にも繋がるはなしなので、 今日はその Engine.IO の話をします。 参考はこのへん、 https://github.com/LearnBoost/engine.io https://vimeo.com/52496621 Engine.IO と Socket.IO (と WebSocket.IO) Socket.IO は、 1.0 を視野に入れたあたりで、 関連プロジェクト
この記事は賞味期限切れです。(更新から1年が経過しています) JavaScriptユニットテスト一年生の私が、Nettuts+ のチュートリアルで知ったテストツール 「testem」のお陰で大変捗ったので是非お勧めしたく、ここで紹介してみます。 testem ってなに testem via GitHub : airportyh/testem Unit testing in Javascript can be tedious and painful, but Testem makes it so easy that you will actually want to write tests. 要するに、面倒なJSのユニットテストをより快適にしてみんなでハッピーにテスト書こうよ!というツールです。 testem自体はnode.jsベースで動作し、Jasmine/QUnit/Mochaに対応して
intro 本当にお待たせいたしました。 出す出すといってなかなか出せなかった Node.js 本が、ついに出版されました。 共著の一人として、自分も書かせていただいています。 サーバサイドJavaScript Node.js入門 作者: 清水俊博,大津繁樹,Jxck,小林秀和,佐々木庸平,篠崎祐輔,高木敦也,西山雄也出版社/メーカー: アスキー・メディアワークス発売日: 2012/10/26メディア: 大型本購入: 31人 クリック: 803回この商品を含むブログ (6件) を見る これを書いてる時点では、 JavaScript 部門では 1 位、 プログラミング部門では 4 位 となっているようです。 それなりに、興味を持っていただけているようで良かったです。 自分の記録としても、少しだけ書かせて頂きます。 2 年間の執筆 書き始めたのは、かれこれ 2 年前になります。 その頃はまだ
ここ数日、 node.js で色々と作りはじめているのだが(node.js が一番力を発揮するのは、xmpp server や、push notification server のようにソケットを開きっぱなしにして非同期通信をするケースだと思うのだが、それについては来週のメルマガで詳しく解説する)、これで思い出すのが Microsoft 時代の「"thread hog" 退治」だ。 "thread hog" とは私が作った造語で、"memory hog" (メモリをやたらと使うプログラムのこと)と同じように、thread を不必要に作るプログラムのこと。 最初に出会った thread hog は、Microsoft が作っていた proxy server だった。コネクションが1000を超すとやたらと遅くなり、しまいには落ちてしまうという欠点を持っていたため、一時は「出荷出来ないところか、
Node.js+Socket.IO+MongoDB こんにちは! 著者は、マインドフリーという会社でNode.jsを使ってWebアプリなどを作成している。この連載では、最新Webテクノロジを使った研究開発の事例や実績を発信する弊社のサイト“Tech Release”のリニューアルで培ったNode.jsに関する知識を分かりやすくお伝えする。 Tech Releaseは一見、普通のブログに見えるが、実は記事の更新内容がリアルタイムにView画面に反映されている。管理者が、記事の文章(データ)に変更を加えると、その記事を見ている人にもページをリロードせずに、リアルタイムに文章(データ)が変化していく。 このUXを実現するために開発したシステムが、REALTIME BLOG ENGINE「REABLO」というエンジンだ。「REABLO」はNode.jsとSocket.IO、MongoDBを使用して
TypeScript is JavaScript with syntax for types.TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
はじめに エンジニアの@ryooo321です。 よろしくお願いします。 Happy Elements株式会社では勉強会が活発に行われており、 その中の1つに「1.5時間で○○を作る」エンジニア向けワークショップがあります。(毎週開催@京都) ※ ○○は毎週かわり、設計/実装方法などは自由です。 今回はワークショップ2回(計3時間)で作成したボンバーマン風ゲームの紹介を通して、 他人とリアルタイムで遊べるゲームの可能性を感じていただければと思います。 ※ 技術的にはwebsocket、canvasを利用 ※ ライブラリ/ツールとしてNode.js、CreateJS、socket.io、coffeescriptを利用 ※ 急いで作ったのでほとんどリファクタリングされていませんmm また、おまけとして サーバーサイドでのcanvas描画とwebsocketでのバイナリメッセージについて 試してみ
slot betflik เป็นแพลตฟอร์มที่รวบรวมค่ายเกมระดับชั้นนำจากทั่วโลก ที่ให้บริการเกมสล็อตออนไลน์ที่หลากหลายและน่าตื่นเต้นอย่างไม่รู้จบ ผู้เล่นสามารถเลือกเล่นเกมจากค่ายที่มีชื่อเสียง เช่น PG Slot, Joker Gaming, และ Pragmatic Play ซึ่งแต่ละค่ายมีเอกลักษณ์และสไตล์เกมที่แตกต่างกันไป ทำให้ผู้เล่นสามารถสัมผัสประสบการณ์ใหม่ ๆ ได้ตลอดเวลา นอกจากนี้ Betflik ยังมีการอัปเดตเกมใหม่ ๆ เป็นประจำ เพื่อให้ผู้เล่นไม่พล
Meteorとは? Meteorは、2012年4月に彗星のように登場した、新たなアプリケーションプラットフォームです。この原稿の執筆時で、バージョンは0.3.6とされており、まだまだプレビュー版の域は超えていません。また、現状ではUNIX環境(MacOS Xを含む)でしかうまく動作しないようです。 しかし、Webアプリケーション開発をとことんまで素早く、楽に行えるようにするためのさまざまな仕組みが盛り込まれていることから、登場直後からかなりの注目を集めています(公式サイトには、「1日か2日でプロトタイプを、2~3週間で製品レベルのアプリを構築できるようにする」とあります)。 MeteorはMITライセンスに基づくオープンソースプロジェクトとして、Github上で公開されています。現在4人の開発者がフルタイムで開発に従事しており、1年以内に1.0をリリースする予定だとされています。 M
node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre
http://www.meteor.com/ で公開された Meteor.js を少し触ってみました。TechCrunch なんかでも話題になっていましたね。 Meteor.js は JavaScript によるウェブアプリケーションフレームワークですが、クライアントサイドでもサーバーサイドでもない、"Isomorphic" なフレームワークです。 コンセプトとしていくつか特徴があるのですが、その最たるものは "Reactive Programming" で、モデルやセッションなどのストレージを更新するとその更新内容がリアルタイムに、そのアプリケーションを開いている全クライアントに伝わるようなアプリケーションを簡単に作ることができます。 この辺は実例を見るのが早いです。 http://www.meteor.com/examples/leaderboard ここにある動画では、あるブラウザで
codestre.am: streaming your code to the massesというWebサービスがヤバい。 他人のターミナルでの操作と出力をライブで見られるし、記録されたものを後から再生して見ることもできる。 試しに書いてuploadしてみた。 http://codestre.am/1 簡単なFizzBuzzワンライナー http://codestre.am/3X tmuxを起動してその上でemacsでコード書いたりしても再現できる 仕組みとしてはnpm install -g codestreamでインストールしたコマンドを起動すると、socket.io-clientでサーバに繋ぎ、子プロセスとしてbashを立ち上げて操作させつつ、ターミナルの出力を拾って時刻情報を付加してサーバに送信している、ようだ。サーバ側はおそらくそれぞれ保存しておいて時間順に出力することで再生させて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く