なっく日報

技術やら生活やらのメモ

2015-10-01から1ヶ月間の記事一覧

Node.js v5がもうリリースされたけど、どうやってバージョンを乗り継いでいくべき?

https://github.com/nodejs/LTSのリリーススケジュールの図より。 を見ながら考えるのがよいのではと。 ※ yosuke_furukawaさんの記事がより詳細で良かったです Node.js v5.0 がリリースされました。 - from scratch LTS版=偶数番とは限らないとのこと。 毎年…

MongoDB 2.6系以降ではmongo shellの大量データ処理にはBulk()を使う

今日久しぶりにもんごもんごして、知ったことをメモ。 概要 docs.mongodb.org に書かれている内容そのままです。 MongoDB2.6以降では、mongo shellで↓のように書いていたコードを for (var i = 1; i <= 1000000; i++) { db.test.insert( { x : i } ); } ↓の…

ありふれた食事を豊かにする技術🍛

ネタに困っているので、先月書き溜めた貯金を崩すことにします 我が家の食事でどういう工夫をしているかという話です。 食べ物編 卵かけごはんの卵には本だしを加える 納豆は最初に30回かき混ぜ、その後、タレを加えて30回かき混ぜ、さらにカラシを加え30回 …

Perl6を触ってみた

tokuhirom blog こちらの記事を拝見し、コイツはヤバイと思ったので、触ってみました。 Perl6、最近、関連記事をよく見かけるなぁと思っていたら、いつのまにやらクリスマスに出るとかいう話になっていたんですね・・・ もろもろインストール 一番手っ取り早…

Node.js v5系で入るSpread operatorの予習

github.com を見ると、Node.js v5.0.0でSpread operatorが使えるようになるっぽいので、予習しておきます。 Spread operatorって? developer.mozilla.org にあるように、配列や関数の引数として、複数要素が必要なときに配列を展開して渡せるようにする表現…

sshfsは使えるかもしれない

諸事情により、ちょっと前に同僚から教えてもらったsshfsを試してみました。 sshfsとは? リモートのディレクトリをローカルにマウントして扱えるようにするブツ。 sshが通れば使えます。 インストール方法 on Mac ※brew-caskが必要 brew cask install sshfs…

node-inspectorの代わりにiron-nodeを試してみた

本日もロングミーティングで消耗したので短めで。 普段はデバッグに定番の github.com を使っているんですが、最近めっちゃもっさりしているので、↓を試してみました。 github.com インストール npm i -g iron-node が、インストール後、iron-node server.js…

emoji-cli / emojify楽しい🌞

本日も90%ミーティングだったので、技術ネタが薄いです(ここ数日多い・・・) はてブで見かけた、emoji-cli / emojifyを入れてみました。 読んだ記事 qiita.com 入れたツール emojify github.com :smily:みたいなのをにするCLI。 emoji-cli github.com :smi…

JSでオブジェクトとか配列が勝手に変更されてしまうのを検出したい!

今日はミーティングメインだったので、ネタがないです。 無理やり絞り出しました。 問題 constとして定義したオブジェクトに勝手にプロパティが追加されている!検出したい。 対策 ↓のyosuke_furukawaさんのツイートままですが、Object.freeze()を開発時のみ…

Chromeでのデバッグにはconsole.traceを使う

postd.cc を昔読んで、ブクマしてましたが、忘れてましたw Ajaxとかの非同期な呼び出しもいい感じにログが出ます。 const obj = {}; Object.observe(obj, (changes) => { changes.forEach((change) => console.log(change)); console.trace('changed!!!!!!!'…

tpmを導入して、tmuxのconfを整理整頓しよう

github.com 結構前からtpmを使っているのですが、自分の周囲ではそんなに流行ってないようなのでご紹介。 tpm is 何? Tmux Plugin Manager。tmux用のプラグインマネージャです。 zshでいうところのantigen。vimでいうところのNeoBundle的な。 導入方法 ほぼ…

OCPから理解するデザインパターン

↓の記事を今更ながら読みました(1999年の記事なんですね・・・) - Open-Closed Principle とデザインパターン あまりにも良かったのでちょっとだけご紹介。 OCP(Open-Closed Principle)とは? ソースコードを修正せずに、機能追加可能な設計にするべしと…

秒速で日報を書く条件

タイトルは流してくださいw ネタに困ってきたので、会社で日報メールを書く際に、工夫していることを書き連ねてみます。 日報に限らず、ビジネス用メール術としても使えるんじゃないかと。 (なお、このブログは日報メールからリンクを貼っています) 前提 …

Node.js開発中にもろもろアップデートする技

アップデートが多い・・・ 最近、Node.js v4系とReact.jsなんかを触っているんですが、 どちらもバージョンアップのスピードがパないです。 なので、アップデートに、こんなツールをこんな風に使ってますよというお話。 Node.jsのバージョンアップに追従 自…

ES5でもローカル変数のundefinedは上書き可能

きっかけ 昨日、東京Node学園に行ってきたのですが、その中のトークの一つで、 undefinedは上書きできてしまうから、if (a === undefined)は用心しよう的な話がありました。 「あれ?ES5で、undefinedは上書きできないって、何かで読んだような・・・」と思…

SSHポートフォワーディングでローカルのmysql-clientからリモートのmysql-serverに接続するとか

何の話? 本日の昼休みの話。 会社の同僚:「ローカルのmysqlコマンドで、GCE上のMySQLサーバに繋ぎたいが、ポート空いてないしなー」 自分:「昔、SSHポートフォワーディングでそういうことやったことあるよ」 ということで、SSHポートフォワーディングを久…

Expressでnext('route')をコールしてmiddlewareをスキップしたときに404になる

謎の現象 Expressで↓のような書き方をした際に、 app.post('/hoge', function(req, res, next) { console.log('middleware1'); next('route'); }, fuction(req, res, next) { console.log('middleware2'); next(); }, function(req, res) { res.send({}); });…

ES5をES6に効率的に書き換える

何の話題? ES5で書かれたJavaScriptのソースコードをES6に変換する方法の話です(babelの逆) xto6を使う(完) github.com ・・・とはならず、改行が変わっちゃったり、やっぱ使えんということも多いかと思います。 そこで正規表現 Vimmerな方 \vのvery ma…

Expressの雛形をES6バリバリで動かしてみる

何? express-generatorで生成された雛形が、ES6の練習の土台によさ気に思えたので、ES6で動くようにする手順を考えました。 こんな感じ npm i -g babel express-generator express es5 cd es5 npm install とやって vi bin/www ↓一行目を編集 #!/usr/bin/en…