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

関数合成の書きにくさ

ここまでに随分と紙幅をとってしまったが、もともとここから先を書きたかった。先に unique を示したが、重複を取り除く処理とともに、取り除かれる要素を取り出す処理を並べて書きたくなった。ナイーブに書けば、こうなるだろう。 function hoge(array) { c…

配列からの重複削除

JavaScript で、配列から重複した要素をとりのぞく処理は以下のように書ける(検索すると、たくさんヒットする)。 const unique = array => array.filter((value, index, self) => self.indexOf(value) === index); これは次のように使う: > unique([1, 3,…

ファーストクラス(第一級の〜)

関数がファーストクラスのオブジェクトである、などとスカした(かっこいい)言い方がある。言ってしまえば、関数が、関数の戻り値や引数として渡せる程度に特別扱いされている(逆か? 特別扱いされていない?)ということだ。

WinAuth 認証情報を別 PC に移植する

バッドノウハウ。 WinAuth の認証情報を複数 PC で共有したくなることがあるよね?1. エクスプローラーを開く 2. アドレスバーに %APPDATA% を入力して開く 3. WinAuth フォルダーをコピーする ネットワークに置くとか、 USB スティックに入れるとか、お好み…

リファクタリング

レビューしていると、処理がどう流れているからわからんから、ちょっと整理させてね…… ってことがよくある。 @@ -22,22 +22,17 @@ var ResultsUtils = (() => { return active_status.includes(job.status); }; var _parseMonitoringReport = function(resul…

Vue JS でのハマりポイント

template で置き換えられるトップレベルは一要素だけ template に内で参照する props や data は、テキストと属性とで指定方法が違う テキスト部分では {{ value-name }} 属性では v-bind:="value-name"

カプセル化

JavaScript でも Python でも '_' で始まるプロパティやメソッドは、そのファイルスコープ、あるいはオブジェクトのスコープだけで参照してください。これはキーワードで明示的アクセス制限できない言語で紳士協定として導入された名前規則です。尊重してく…

コールバック

「この処理は、こことそこで使いまわせるよね。差分を関数で渡して埋められるよう、コールバックで実装してもらえないか?」と振ったら、「コールバック?」と固まってしまったようなのでフォローした。そのときは、われながら教科書みたいな例を出せたんじ…

ZipFileの生存期間とyield

zip ファイルに格納されたオブジェクトを、その名前とデータのタプルの列に変換して、後で処理できるようにしたい、とおもってですね。イテレーターオブジェクトにしておけば、複数の zip ファイルを itertools.chain でつないで別の処理に回すことができる…