Node.js

Expressに22個以上の要素の配列クエリを渡すときは気をつける

自作ライブラリを使ったBlueskyクライアントを実装していて遭遇したバグ。 ATriumからのfeed.getPostsでurisが21個までなら大丈夫だが22個以上だとエラーになることが発覚した。問題切り分け中… ここまで自作クライアント実装してようやく気付く問題があるん…

ISUCON11予選のNode.js実装を書いた

ISUCON11 予選おつかれさまでした。 ここ数年は参加者として予選敗退を繰り返してきたのだけど、今年はちょっと違う関わり方をしてみるか、と思い 「参考実装の移植」に立候補してみました。 isucon.net Node.js担当として採用していただき、ちょっと不安も…

斜めに写った画像をCanvasで矩形に補正する

将棋駒画像分類の話の続きのような、あんまり関係もないような。 memo.sugyan.com memo.sugyan.com 結局、素材を組み合わせて自動で生成しただけの駒画像ではやはりデータが足りていないようで、「やはりもっと様々な画像から人力でラベル付けしてデータセッ…

EC2 Spot Instanceの価格変動をターミナルでモニタリングする

というものを作った。こんな感じの。 Repository : https://github.com/sugyan/spot-price-watcher 背景 TensorFlowを使ったDeep Learningでアイドルの顔識別なんかをずっとやってきたけど、やっぱりCPUマシンだけでやっていくのは厳しいな、と思い、 やっぱ…

#isucon2 のお手伝いをしました

昨年は参加者として出場して楽しませていただいた、ISUCON。 #isucon で優勝したチームのメンバーとして参加してた - すぎゃーんメモ 今年は奇しくも開催側の会社に転職したということで、参加者としてではなく運営側としてお題作りなど裏側に関わっての参加…

任意の要素数の密な配列を生成するスニペット

Perlだと、 use Data::Dumper; my @hoge = ("fuga") x 5; print Dumper \@hoge; __END__ $VAR1 = [ 'fuga', 'fuga', 'fuga', 'fuga', 'fuga' ]; みたいな感じでx演算子を使って任意の個数の密な配列を簡単に作ることができるのだけど、JavaScriptではどうし…

Express 3.xのjadeでHTMLをpretty出力する

結論 先に書くと、ここに答えがある。 node.js - How to output pretty html in Express? - Stack Overflow 問題 現時点での最新express@3.0.0rc5+jade@0.27.6でjadeをレンダリングすると、改行やインデントされずにHTMLが吐き出される。 $ express hoge cre…

Perlしか分からなくてもNode.jsでHTTPサーバが書ける!

なんてこった…CPANモジュールをnode.jsで動かしてしまうライブラリ「node-perl」 - tokuhirom's blog GitHub - tokuhirom/node-perl: Node perl wrapper というすごいモジュールが出ているので、npmでコレをインストールします。 「Perl使いだからPlack/PSGI…

momoclo Twitter Stream on Heroku

Twitter検索からももクロ関連のTweetをダラ見する - すぎゃーんメモで作ったアプリを、Herokuに移植してみた。 http://momoclo-stream.herokuapp.com/ https://github.com/sugyan/momoclo-stream (source code) 折角なのでwe love herokuにも登録ed. http://…

expressでapp全体の設定値をroutesで使う(module間で変数を受け渡す)方法いろいろ

Expressでテンプレートからプロジェクトを作ると、現在の最新版2.5.4では . ├── app.js ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ └── index.js └── views ├── index.jade └── layout.ja…

npm xmas!

JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) : ATNDの25日目です。メリークリスマス!! …ということでnpm xmasです。 npm はNode.jsのv0.6.3あたりから標準添付されてますね。多くのサブコマンドが用意されていて、npm helpで一覧すること…

Functionの期待する引数の数をlengthプロパティで取れる

知らなかったのでメモ。 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/length $ node > (function () {}) [Function] > (function () {}).length 0 > (function (a) {}).length 1 > (function (a, b) {}).length 2これを…

東京Node学園 3時限目 自分メモ

東京Node学園 3時限目 : ATND 「DOMAINS & ISOLATES」 @koichikさん 2011/07 - コアチーム入りしてます 安定版の歴史、今後の予定 v0.8 2012/01 リリース予定 V8のリリースサイクルに合わせて頻繁なリリースを目指す 新機能の目玉がDomain, Isolates 現在絶…

mochaとnodelint

mochaを使ってみようと思って、 describe('Array', function(){ describe('#indexOf()', function(){ it('should return -1 when the value is not present', function(){ [1,2,3].indexOf(5).should.equal(-1); [1,2,3].indexOf(0).should.equal(-1); }) })…

Node Ninja + node-canvas でfaviconリアルタイム共同編集アプリ

東京Node学園祭2011で出てきたものを触ってみよう、ということで。 node-canvasを使ったアプリをNode Ninjaにデプロイしてみた。 http://favicon.node-ninja.com/ ソースコードはGithubで公開しています。 https://github.com/sugyan/node-favicon table要素…

東京Node学園祭に参加してきた

Node.js 日本ユーザグループによる、Node.js, Socket.IO作者を招待しての大イベント。 東京Node学園祭2011 一応スタッフとして関わって当日の誘導係として少しお手伝いさせていただきました。 それ以外の時間は普通に後ろの方で皆さんのスピーチを聴かせてい…

Nodeのホスティングサービスと制限とか

node.js のホスティングサービスまとめ - 自分の感受性くらいで既にまとめられているけれど、自分が使ってみた幾つかのものをまとめてみる。 Joyent no.de https://no.de/ WebSocketは使えるはずなのだけど、いまSocket.IOアプリを手元のMacで試してみている…

Ustreamアーカイブ同期ビューア その後3

Ustreamアーカイブ同期ビューア その後2 - すぎゃーんメモの続き。 地道にちょこちょこと改造を続けている。 http://momoclo.no.de/ player 今まではJavaScriptからajaxで再生中動画の情報を取ってきてExternalInterfaceつかってFlashにデータを渡して同期さ…

nodelintでflymake

node-jslintでflymake - すぎゃーんメモ で設定した、node-jslintによるflymakeを使っていたのだけど、 var util = require('util'); とかに対して警告を出してきてちょっとイラっとする。どうもnode-jslintで使われているjslintがちょっと古いらしく、"util…

nodeunitのTAP reporterを書いてみた

Nodeのテスト書くのにnodeunitをちょっと使ってみたのだけど、TAP出力できなくてproveでテスト実行できない。 けどnodeunitの仕組み的にはreporterというオプションを指定して出力形式を変えることができるようになっているので、TAP出力するreporterがあれ…

test-tcpモジュールを作ってみた

はじめてのnpm publish。 PerlでTest::TCPを愛用しているのですが、Node.jsでもこういうの欲しいと思っていて探してみたけどそれらしきものが見当たらなかったので作ってみました。 https://github.com/sugyan/node-test-tcp 「サーバのインスタンスとクライ…

Heroku+Node.js+Redis+MongoDB使って簡単リアルタイムアクセスカウンター作ってみた

いろいろ作ってみる練習として。 http://realtime-counter.herokuapp.com/ https://github.com/sugyan/node-realtime-counter <script type="text/javascript" src="http://realtime-counter.herokuapp.com/counter.js"></script> <script type="text/javascript"> new RealtimeCounter('4e78b7cb3bab067f7e6a1514').onIncrement(function …

HerokuでRedisを使ってNodeアプリのセッション管理

何となくHerokuももうちょっと触ってみようと思ってチョロっと調べていて Getting Started on Heroku with Node.js | Heroku Dev Center を読んでいたら、Postgresを使う場合とRedisを使う場合のやり方が書いてあったのでRedisを少し使ってみた。 どうやらHe…

Node.js Knockoutで作った"SlideReplay"のソースコード公開

Node.js Knockoutに参加した - すぎゃーんメモ のときに作った http://sugyan.no.de/ のソースコードを公開するの忘れてたので、今さらながらGithubに上げました。 https://github.com/sugyan/SlideReplay configの値をちゃんと設定すれば普通に動く…はず…。

npm configで設定値を管理

npmって意外と高機能で、色んなこと(こんなのとか)が出来る。 で、最近知ったのがnpm config。 https://github.com/isaacs/npm/blob/master/doc/config.md ちゃんとドキュメント見たことなかったから知らなかったけど、これで諸々の設定値を保存しておいたり…

Socket.IOがどれくらいリアルタイムなのかちょっと計ってみた

node.js+Socket.IOでリアルタイムアプリケーションが作れるわけだけど、WebSocket使うにしてもXHR-Polling使うにしてもサーバ経由して通信していれば当然タイムラグはあるわけで、それってどれくらい遅延するものなんだろう? と思っていろんなサーバで試し…

Node.js Knockoutに参加した

8/27, 28と、Node.js Knockoutにチャレンジしていました。 Node.js Knockoutとは Node.jsを使って、48時間のうちに何か作る、というコンテスト。 Node.js Knockout | Nov 7-8th UTC, 2015 参加者にはGithubのプライベートレポジトリやデプロイする先のクラウ…

WEB+DB PRESS vol.64 にNode.js入門記事を書かせていただきました

色々と縁がありまして、「WEB+DB PRESS vol.64」にて、"JavaScript最前線"という特集の1章としてNode.jsの入門記事を7ページほど書かせていただきました。まだNode.jsを触ったことがない、触り始めたばかり、といった方々がこの先Node.jsを使い始める際のと…

Twitter検索からももクロ関連のTweetをダラ見する

というのを作ってみた。Stream APIは日本語キーワードに弱いので定期的に検索APIを叩いてみる方向で。 GitHub - sugyan/momoclo-stream: #momoclo Twitter Search とりあえずdotcloudさんで動かしてみてます。 http://fe3d7b5d.dotcloud.com/

dotcloudでsocket.io 0.7系のxhr-pollingを動かしてみる

nginxを挟んでsocket.ioのxhr-pollingを動かすには - すぎゃーんメモ で調べた通り、現在 nginx+socket.io 0.7系のhttp-pollingが繋がらないようになっていて、DotCloudがまさにそういう環境なので、試してみた。 ちなみに後から知ったのだけど、このあたり…