なっく日報

技術やら生活やらのメモ

2015-01-01から1年間の記事一覧

コマンド出力結果にcdして何かするワンライナー

動機 とあるコマンドで標準出力されたディレクトリに1個1個cdしてコマンドを打つ みたいなことを(できればワンライナーで)やりたい。 最初に思いついた案 ls dir | xargs -n 1 cd && pwd ※実際打ったコマンドはls dirではない な感じでxargs + cdはできな…

Node.js v4.0.0がリリースされたので、ESLintの設定を見なおしてみた

.eslintrc .eslintrcに書く項目のうち、ES6関連を抜粋。 { "ecmaFeatures": { "arrowFunctions": true, "binaryLiterals": true, "blockBindings": true, "classes": true, "forOf": true, "generators": true, "objectLiteralComputedProperties": true, "o…

続・Node.js v4がリリースされたらコードの書き方でどこが変わるか?

明日にもNode.js v4.0.0出そうですね!楽しみです。 github.com この記事はNode.js v4がリリースされたらコードの書き方でどこが変わるか? - なっく日報の続きです。 V8 4.5がマージされた! Merge vee-eight-4.5 into master by ofrobots · Pull Request #…

DataMapperとTableDataGatewayの違いって何ですのん

チームでそんな話題が出てきたので調べてみました。 DataMapperとは? http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?DataMapper をご参照ください。 TableDataGatewayとは? http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?TableDataGateway をご参照ください…

Node.jsでThreadLocal変数的なやつ

TL;DR Node.jsでスレッドローカル変数を使うような処理を実現したい場合 GitHub - othiym23/node-continuation-local-storage: implementation of https://github.com/joyent/node/issues/5243 が使えるかもという話です。 きっかけ kenn.hatenablog.com に…

ESLintのextendsを使ってコーディング規約をサクッと決める

コーディング規約を決める→ESLintの設定に落としこむ クソめんどいですよね・・・? 既存のコーディング規約をカスタマイズ→ESLintの設定はextendsしてカスタマイズ という手順にするのがお手軽で良いかもしれません。 手順 ベースにするコーディング規約 gi…

tagged template stringを使って変数を見易く出力するの巻

Logging variables via an ES6 tagged template のサイトより学んだことを。 ES6で導入されたtagged template string ↓な感じに整形できる。要は``形式の文字列の前に()なしの関数を挟むことができるという感じ。 function tag(strings) { return `tagged ${…

zshのプラグインマネージャzgenについて

今日は技術的なトピックが特になかったので、いきなりですが、zshのことについて書きます。 ※追記:antigenはv1.1.0からめちゃ早くなったらしい。Release Release v1.1.0 · zsh-users/antigen · GitHub なので、無理にzgenに乗り換える必要もなくなりました…

JSを自動整形してくれるesformatterについて

github.com についてのメモです。 何か? JSを自動整形してくれるライブラリ(CLI付き) JSのgofmt的なjsfmt GitHub - rdio/jsfmt: For formatting, searching, and rewriting JavaScript. もesformatterに依存しています。 使い方 esformatter -i hoge.js …

JavaScriptの文脈でたまに出てくるAMDとは何か?

ちゃんと書こうと思ったら、素晴らしくまとまった記事が2つありました・・・ qiita.com tsuchikazu.net もはや、これら2つ読めば、事足りるので、自分的三行まとめ。 JavaScriptのモジュール管理の仕様の一つとして、AMD(Asynchronous Module Definition) AP…

にゃんこ大戦争はあっても、わんこ大戦争がないのはなぜか

どうでもよい内容ですが、最近考える機会があったので。 世の中ヒットしたアプリに猫モチーフはあっても犬モチーフはない気がする。 「にゃんこ大戦争」「ほしの島のにゃんこ」「ねこあつめ」・・・はあっても「わんこ〜」が流行ったという話は聞かない。 世…

gofmt的なやつがJSにも欲しい!

徒然に書きます。ちょっとまとまってないです。 gofmtが好きだ! 最近書いてませんが、自分はgolangの中でも、gofmtの思想は好きです。 細かいコーディング規約は自動整形して、人間は気にしないで良い的な。 それで、jsfmt https://github.com/rdio/jsfmt …

Node.js v4がリリースされたらコードの書き方でどこが変わるか?

追記1:続・Node.js v4がリリースされたらコードの書き方でどこが変わるか? - なっく日報に続きを書きました。 追記2:Computed propetiesにバグがあることを追記しました。 追記3:Computed propetiesのバグが修正されたので該当箇所を削除しました。 9月…

Reduxのexamplesが非常に充実してきた件

本日も技術的でない作業を多めにしたので、内容薄いですが、書きます! github.com Flux系フレームワークとして最近ぐんぐん人気を伸ばしているReduxですが、いつのまにやらexamplesが増えてました。 これまでのcounterとtodomvcに加えて、asyncとreal-world…

gitでコミットする際の名前とメールアドレスをGitHubとGitHub Enrerpriseとで使い分ける

会社ではGitHub Enterprise(GHE)を使って開発しているのですが、デフォルトをGitHubのメールアドレスにしているために会社じゃない方のメールアドレスでコミットしてしまうことがあります。 以前から不便だな〜と思ってたんですが、今日この問題をスッキリ…

AdvancedなVimの使い方メモ

本日はあまり技術的な作業をせず。 たまたま見たqiitaの記事で自分のVimレベルはまだまだだなーと思い知ったので特に気になった機能をメモしておきます。 qiita.com インサートモードで<C-@> or <C-a>で直前の文字を再入力 <C-@>はインサートモードを抜ける、<C-a>は抜け</c-@></c-a></c-@>…

ES6でexportとexport defaultをどう使い分ければいいの?

いきなり結論 基本的にはexport defaultを使うのが良さそうです。 ※ named export を使う方がいいかもという考えに変わりました。詳しくは最下部の追記をご参照ください ↓に http://www.2ality.com/2014/09/es6-modules-final.html#default_exports_are_favo…

Node.jsで使えるMessagePackライブラリのベンチマークをとってみた

非常にざっくりとですが。 対象ライブラリ https://github.com/msgpack/msgpack-node https://github.com/mcollina/msgpack5 https://github.com/uupaa/MessagePack.js https://github.com/creationix/msgpack-js JSONのstringify/parseもおまけで書いてます…

ES6では変数の宣言にletとconstどっちを使うべきか?

普通に考えたら、タイプ数も少ないし、letを使うのが順当な気もします。 が、constの方が再代入できないし、いいんじゃないかという思いもあり、どっちにしようか迷ってました。 そこで、いろいろとググってみたところ、下記ページをみつけました。 programm…

reactify→babelifyに設定変更した際のハマりどころ

ES6対応を視野に入れて、browserify + reactify + envify → browserify + babelify構成に変更した際のメモ。 当方、KarmaとESLintも導入しております。 結構色々ありました。 .babelrcを置く 一応。 { "stage": 0 } package.jsonの書き換え reactify → babel…

tmuxのsynchronize-panes小ネタ

synchronize-panes便利ですよね?(複数ペインに同時にキー入力を送れるやつ。複数サーバの同時操作とかに重宝) stackoverflow.com で見つけて知ったのですが、 bind e setw synchronize-panesな感じで、on/offを明示しなければ、同一のキーバインドでsynch…

Nginxをカジュアルに一般ユーザで起動してみる

カジュアルにNginxをアプリケーションサーバのフロントに置いて動かしたい!ということがあったのでそのためにやったことのメモ。 nginxコマンドのオプション nginx -h nginx version: nginx/1.8.0 Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p pr…

Node.jsをunix domain socketでlistenしたときにNginxからプロキシできない

という現象に対応した際のメモ。 環境 CentOS 7 on VirtualBoxです。 Nodeのソース // express使っている var sockPath = '/tmp/node.sock'; var server = app.listen(sockPath, function() { console.log('Listening on port %d', server.address().port); …

半年ほど前に打ったコマンドを忘れないためにメモ

超雑多。忘れないために。 MySQL系 重いプロセスをkill mysql -u root -e 'show full processlist' | perl -lanE 'say $F[0]' mysql -u root -e 'kill [ID]' 不要なbinlogを消す 45より前のやつが消える。 mysql -u root -e "PURGE MASTER LOGS TO 'mysql-bi…

:smile:みたいな文字列を絵文字の画像に変換してみる☺

:smile:みたいな文字列を<img src="src/smile.png" />みたいに置き換えてくれるライブラリがないか探してみたところ github.com から辿っていくつか見つけました(この辺https://github.com/arvida/emoji-cheat-sheet.com#want-to-add-emojis-to-your-projects) その中でも、これが一番…

maxogden/menubarを触ってみた

github.com 何? メニューバーデスクトップアプリケーションを簡単に作れるブツ。 Electron製なのでクロスプラットフォームなデスクトップアプリが作れる! 早速動かしてみる git clone git@github.com:maxogden/menubar.git cd menubar/example npm i npm s…

OpenRestyからLuaRocksを使う

最近、遊び半分(半分本気)でOpenRestyを試しています。 が、英語・日本語含め情報が少なすぎなので、調べるのが辛いです。 後からくる人が苦しまないで済むよう記録として残しておきます。 OpenRestyって? Nginx上でLuaを動かせるようにするやつ。 パフォ…

ESLint v1.0.0から導入されるcallback-returnルールが使えそう!・・・だが使えない!件

RCリリース! ついに、ESLintのRCが出ましたね。 eslint.org 上記のアナウンスの中で、callback-returnという気になるルールを発見しました。 eslint.org どんなルール? 要は↓のようなうっかりミスを検出してくれるそうです。 function read(filename, call…

WebSocketでファイルアップロードした方がいいこともあるんじゃないか

と、思い実験してみました。 ※ 主に、WebSocket通信がメインの同期型のサービスを想定しています。アップロードの度にTCPコネクションを余計に張る必要がなくなるし、HTTP版の認証周りの作り込みが不要になるのでよいのではと思い。 実験内容 1GBくらいある…

npm関連のTIPS(細かい)

いくつか学びがあったので。 npm outdated 最新から遅れているバージョンのモジュールが表示されます。 Package Current Wanted Latest Location async 0.9.2 1.3.0 1.3.0 async eslint 0.21.2 0.24.1 0.24.1 eslint npmのpackage.jsonに定義してあるモジュ…