なっく日報

技術やら生活やらのメモ

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

Reduxの少し込み入った話題

ぼちぼちとあるシステムにReduxを導入していっているんですが、Reduxとその周辺で、いくつか調べたことをメモっておきます。 combineReducersとは何か? reducerを分割するための便利関数。 qiita.com が、わかりやすかったです。 import { combineReducers …

ISUCON5に参戦して、想定以上に惨敗してきました!

9/26(土)にISUCONに初参戦してきました。 結果は、予選敗退。 内容的にも、思っていた以上にいろいろ上手くいきませんでした。 が、この悔しさを今後の人生に活かせるよう記録しておきたいと思います。 チーム構成 同じ会社のF氏と、8月まで同じ部署の同僚だ…

各種LLで正規表現でマッチした結果を一発で変数に代入したい

ES6のDestructuring assignmentの使い方で良い例があったのでメモ。 正規表現でキャプチャした結果を変数に突っ込むという使い方です。 JavaScript(Babelが必要・・・) const string = '20150925'; const [, y, m, d] = /(\d{4})(\d{2})(\d{2})/.exec(stri…

Macでバックグラウンドに隠れたプロセスを全てkillする

はじめに 自分は、Vimで開発しながらたまにsuspendでシェルに戻るというスタイルで開発しているのですが、 気づいたらバックグラウンドにプロセスが溜まりまくっていることがあります(実際は10個とか( ゚д゚ )クワッ!!) ❯ jobs [1] suspended env LANG=ja_JP.UT…

Reduxの設計で気をつけるところ

※ Presentational and Container Components - なっく日報 に補足を書きました。 概要 http://rackt.github.io/redux/docs/basics/UsageWithReact.html medium.com らへんに書いてある「Smart Components」「Dumb Components」を理解したよというお話です。 …

Node v4.1.0リリースでComputed PropertiesのバグがFixされた

Node v4.1.0 (Current) | Node.js にあるように、本日v4.1.0がリリースされました。 このリリースで、V8のバージョンが少し上がり、無事Computed Propertiesが正しく動作しないバグがFixされています。 github.com 先日書いたエントリーも直しておきます。

'use strict;'の状態でyieldはトップレベルで使えない

きっかけ github.com がバージョン上がって、これまでのPhantomJSベース→Electronベースになったとのことで試してみました。 一番最初に載っているサンプルコードを試してみた 'use strict'; var Nightmare = require('nightmare'); yield Nightmare() .goto…

ESLintのShareable Configsを利用して複数プロジェクトで設定を共有する

(会社|複数プロジェクト)でESLintの設定を共有したい! ということがあると思いますが、ESLintにはShareable Configsという便利な機能があります。 eslint.org これを使えば、簡単にそういったことができます。 利用法 モジュール名をつける eslint-config-*…

humpsでキャメルケースと(スネークケース|ハイフン区切り|スラッシュ区切り)を楽に変換する

きっかけ UserList → /user/list みたいにしたい。 そんなとき 最初、正規表現でやろうとしていましたが、 github.com なるものを見つけました。 利用法 Node.jsのREPLにて。 > humps.decamelize('UserList') 'user_list' // デフォルト"_" > `/${humps.deca…

コマンド出力結果に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…