Node.js
jshintのチェックルールを.jshintrcに、jscsのチェックルールを .jscsrc とかで用意しておき、下記をGruntfile.js に追加する。 grunt.initConfig({ jshint: { files: [ 'lib/**/*.js', 'test/**/*.js', '*.js', ], options: { jshintrc: '.jshintrc' } }, j…
本来はやりたくないことだが、大量のエクセルファイルで用意されてしまったデータから必要なものだけ抜き出して整形して出力する必要性があったので対応した。 使用したのは xlsx モジュール例えば、下記のようなテンプレートのエクセルファイルがあるとする…
basic-auth-connect モジュールを使うと簡単にできる。 そのまま user名とpasswordを渡すと、認証エラーの場合は 401を返してくれる。 var basicAuth = require('basic-auth-connect'); app.use(basicAuth(username, password)); ちょっと特殊な処理をかまし…
nodeのプロジェクトで、/lib/service/index.js などのファイルから、同ディレクトリ配下のjsファイルを一括してexportsさせるケースがある。例えば下記のようなコード。 var fs = require('fs'); var path = require('path'); var _ = require('lodash'); _.…
svnサーバにあがっているcsvファイルを、httpsで取得してごにょごにょ処理をする必要があったのでメモ。 最初、httpsモジュール使って書いてたけど、文字化けがどうしても解決できなくて request モジュールに変えて enconding = null のオプションを使った…
危うくeachSeriesの使い方間違ってバグを埋め込むところだった。間違ってたときはこんなコード書いてた。これだと最初の要素で処理終わってしまっていた。 async.eachSeries(hogeList, function(hoge){ // hogehoge return done(); }, function(err) { if (e…
今日はコードレビューを受けたが、if/switchで十分なところをasync.waterfallを使っている箇所があり、async.waterfallの多用は性能的に影響が出るのでif/switchにしてね という指摘があった。 まあ自分が書いたところではないんだけど、勉強がてらリファク…
こんな便利なモジュールがあったのか・・・。気付かずに2週間ぐらい開発していた。Nodejs で検索して入れるだけでok.
[ツール]-[ビルドシステム]-[ビルドシステムを追加する]を選択する。下記のようなテンプレートのファイルが開かれるので、 { "cmd": ["make"] }これを下記のように変更する。nodeのところは適宜パスの通るところで。 { "cmd": ["node","$file","file_base_na…
(function () { describe('before test', function () { before(function(){ console.log('before'); }); beforeEach(function(){ console.log('beforeEach'); }); after(function () { console.log('after'); }); afterEach(function () { console.log('aft…
node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) http://d.hatena.ne.jp/kazuhooku/20120420/1334891656 繰り返しますが、「全ての」コールバックの第1引数を error にすることが重要です。 了解です。
npm installで、gitリポジトリ上で公開されているライブラリのパスを指定しているような場合、バージョン番号ではなくブランチ名を指定したいことがある。 そういう場合は、パスの末尾に #ブランチ名 をつければそのブランチでインストールできる。 こんな感…
JS学んでまだ日が浅いせいか、callbackの引数周りがよく混乱する。特に今日はasync.waterfallでcallbackの第1引数にはnull, 第2引数にidとかを設定しておいて、次の関数では第1引数でidを受け取っている感じになっていて、えええーーとなった。 第1引数が…
・async.eachSeries eachSeries(arr, iterator, callback)The same as each only the iterator is applied to each item in the array in series. The next iterator is only called once the current one has completed processing. This means the iterato…
idプロパティが1~11のオブジェクトを持った配列を作りたい場合、underscore.js使ってこんな感じに書いた。もっと良い書き方探したい。 var items = _.map(_.range(1,12), function(num){ return { id: num }; });
node.jsでasyncモジュールが結構便利みたい。 series, parallel, waterfallはよく例としても見かけるので理解できた。 今日初めて見たuntilとqueueの2つをメモっておく。 async.until caolan/async · GitHub until(test, fn, callback) Repeatedly call fn,…
npm installで環境周りのエラーが出てきたので、一旦nodeを消してnodebrewを入れた。 参考にしたURL node.jsのversionを管理するためにnodebrewを利用する - Qiitanodeが入っていたので削除。 $ curl -o uninstall-node.sh https://gist.github.com/nicerobo…
勉強がてらに、Unity入門本のサンプルゲームのハイスコアをnode.jsのAPIを叩いてredisに格納、取得するプロジェクトを作成してみた。kidooom/unity_nodejs_redis_sample · GitHubUnity部分はUnity本のにわとりゲームがほとんどで、下記のAPI通信部分だけを追…
POSTを待ち受けているURLに対して scoreというパラメータをPOSTする場合は、 function sendScore(score : String){ var postUrl = "http://localhost:3000/unity_sample_score"; var wwwForm: WWWForm = new WWWForm(); wwwForm.AddField("score", score); v…
まずはminiJSONを下記から取得して、Assets/Pluginsに格納 http://forum.unity3d.com/threads/35484-MiniJSON-script-for-parsing-JSON-data練習がてら、下記のようなJSONを取得してみます。 { "x": 10, "y": 200, "z": 30 }localhostにたててるnode.jsからJ…