2015
07/03
02:12

[斜め読み] メソッドレシーバのポインタと非ポインタで痛い目を見ないようにしようLatest!

[斜め読み][Go言語][golang]

Don't Get Bitten by Pointer vs Non-Pointer Method Receivers in Golang http://nathanleclaire.com/blog/2014/08/09/dont-get-bitten-by-pointer-vs-non-pointer-method-receivers-in-golang/ * 2014年8月の記事 * Goのメソッドレシーバでは、レシーバとしてポインタと非ポインタの両方を定義できる * Goでは ポインタが指すオブジェクトのメソッドの呼び出し ''(&X).method()'' を ''X.method()'' と書ける * メソッドレシーバがポインタと非ポインタでどう違うのかは、仮にレシーバをメソッドに渡される引数と考えてみると良い * 参照渡しが値渡しよりも望ましい場面 * レシーバの値を変更したい場合 * レシーバが巨大な構造体で値のコピーが高くつく場合 * 一貫性:いくつかのメソッドがレシーバをポインタとして受け取るなら、その他もそうすべき * コード例 * 略

2014
11/22
13:48

py.testでfixtureを作るのにpytest_funcarg__NAMEは時代遅れ

[python][py.test]

2.4以降は ** @pytest.fixture ** を使ってくれということです。 http://pytest.org/latest/fixture.html#fixtures 日本語のドキュメントは2.2.4が最新のようです。現在 py.test の最新版は2.6.4。 わかりやすくなってていいですね。 EuroPythonの動画を見てるとmarkingでfixtureとか書いてあるから「ん?」と思って英語のドキュメントにあたって正解でした。 http://youtu.be/LdVJj65ikRY?t=13m2s

2014
11/20
01:52

ErgoDoxへの道 その1 キット購入編

[キーボード][ErgoDox]

アメリカの共同購入サイトMassdropでErgoDoxのキット販売が再開されましたね。 https://www.massdrop.com/buy/ergodox 前回はお値段に怯んで買い逃しましたが、今回は心の準備をしていたのでちゃんと申し込み出来ました。 199ドルとなっていますが、キーキャップと送料を入れると約260ドル、日本円にして3万円ほど。 オプションで天板を追加したり、ケースをでかいのにしたり、CherryMX緑軸にしたりするとさらにお値段が上がります。 3万円も出して完成品のキーボードが手に入らないなんて罰ゲームもいいところですが、大量生産でなくなったとたん値段が跳ね上がるのは仕方がないのでここはグッと堪えます。 正直Kinesis買ったほうが早いですけどね、あのでかいのを置くスペースがね。 ハルロック割と面白いのでおすすめです。

2014
11/18
07:49

キーボードの修理

[キーボード]

先日壊してしまった右カーソルのスイッチをPauseキーのスイッチと入れ替えて修理しました。 物はアーキサイトのI-T Touchキーボードです。 まずははんだごてその他の調達、この時点で5,500円ほど。新しいキーボードが買える値段です。 ![IMG_0825.JPG](/userdata/blog/IMG_0825.JPG) どうせErgoDoxを組み立てるときに要るしね、と自分を納得させました。 キーボードを分解してみます。ホコリだらけ。 ![IMG_0818.JPG](/userdata/blog/IMG_0818.JPG) 外したキーは後ではめ直すときに探しまわらずに済むようセロテープで一行ごとにまとめておきます。 ![IMG_0820.JPG](/userdata/blog/IMG_0820.JPG) 裏はこんな感じ。 ![IMG_0822.JPG](/userdata/blog/IMG_0822.JPG) キースイッチは鉄板とはんだで固定されています。 ![IMG_0823.JPG](/userdata/blog/IMG_0823.JPG)

2014
11/13
03:30

Cherry軸のキーキャップを取り外すときにマイナスドライバでこじってはいけないという教訓

[キーボード]

やってしまいました。 静音化リングを買ったのでさっそく取り付けようとマイナスドライバでこじったら軸が戻らなくなり、 さらに何とかしようとスイッチカバーを外そうとしたら完全に破壊してしまいました。 ![IMG_0817.JPG](/userdata/blog/IMG_0817_resized.JPG) もともとキーボードを買った時にキーキャップの取り外し工具がついていたのですが、どこを探しても見つからず、まぁいいやと思ってドライバを使ったらこんな無残な結果に。 キーキャップを取り外すときはちゃんと工具を使いましょうという教訓でした。 キーマップを変更してVi方式にすればなんの問題もなくも使えるのですが、やはり見た目が良くない。 これはもうこのキーボードからスイッチを取り外してErgoDoxに行くしかないということですかね。

2014
11/11
08:59

Kindle Voyage と Kindle PaperWhite 2012 の実機動作比較レビュウです

[kindle][Voyage]

発表当時は値段に怯んだVoyageですが、結局買ってしまいました。 「毎日Kindleで本を読む人なら買い換える価値あり」です。 PaperWhite2012(以下PWと記載)との比較です。 ### 軽量化 まず手にとった時の第一印象が「軽い」です。 ![PB050033.JPG](/userdata/blog/PB050033.JPG) 不思議なのはPWと持ち比べてみるとそんなに軽いとは思わないことです。 しかし、単独で持つと明らかに軽い。 私の中で180gという重さが文庫本や新書本の重さに分類されているのかもしれません。 PWとの差は約40gですが、片手で持って読むのがだいぶ楽になりました。 ### 段差のない画面 PWであった枠と表示面の段差がなくなりました。 まだわずかに影が差すものの、段差による影がほぼなくなったことで不自然な印象がなくなっています。 ![PB050034.JPG](/userdata/blog/PB050034.JPG) ### コントラスト改善とバックライト改良 パネルのコントラストが改良され、バックライトも明るくなっています。

2014
10/21
01:43

これ以上ない簡潔明瞭な現在完了形と現在完了進行形の使い方説明

[英語]

facebookでスイスの知人に教えてもらった考え方です。 最初聞いた時は「ふーん」という感じだったのですが、その後使えば使うほどこれはすごくいいなと思うようになったのでご紹介します。 ** 現在完了形は過去の出来事だけど現在にいたるまでの広がりがあると自分が感じているときに使う ** たったこれだけ。 これだけで文法書にあれこれ書かれている全部の用法が説明できます。経験だとか継続だとか細かく分類して考えるのが馬鹿らしくなりますね。 これを理解すると、大西・マクベイの本にのっている「現在に向かってくる感覚」という解説もなるほどと思うのですが、それだけ読んでも私は正直ピンときませんでした。 というかその解説を読んで以降も現在完了形の使い方を間違い続けていて、その間違いを教えてくれたのが上記の知人です。 実際に使ってみると、これは英語でしゃべるときにもほとんど考えることなく使えるほど強力なルールです。 これを踏まえて、現在完了進行形は、 ** 現在までずっと続いていて、その広がりの期間に焦点を当てたいときに使う ** "It's raining." だと今雨がふっているということしかわからないけど、

2014
10/14
03:00

pandasとnumpyで指数平滑移動平均を計算してmatplotlibでグラフを描く

[python][pandas][numpy]

単純移動平均はともかく、指数平滑移動平均(exponential weighted moving average)は計算が面倒なのですが、pandasというモジュールを使うと一行で済んでしまいます。 numpyといい、pandasといい、数値計算用モジュールの充実ぶりはPythonの大きな魅力ですね。 ``` import numpy as np import pandas import matplotlib.pyplot as plot ewma = pandas.stats.moments.ewma x = range(1, 50) + range(50, 0, -1) ma = ewma(np.array(x), span=15) plot.plot(x, linewidth=1.0) plot.plot(ma, linewidth=1.0) plot.show() ```

2014
10/12
13:54

python 2.7.6 で matplotlib のインストールに失敗する

[python]

``` sudo pip install matplotlib ``` でエラーメッセージが出るのですが、 ``` File "/tmp/pip_build_root/matplotlib/setup.py", line 154, in <module> result = package.check() File "setupext.py", line 940, in check if 'No such file or directory\ngrep:' in version: TypeError: argument of type 'NoneType' is not iterable

2014
10/09
06:30

needleのオプション変更でハマった

[スクレイピング][needle][node.js]

あー、もう!うかつに npm update とかするもんじゃないですね。 ずいぶん前からスクレイピングにはrequestじゃなくてneedleを使ってます、速い(らしい)し簡単だし。 ただ、0.6から0.7になったらオプションが変わっていてUTF-8以外のページが文字化けの嵐になりました。 ### 0.6 ``` options = { decode: false } ``` ### 0.7 ``` options = { decode_response: false } ``` あと 0.7からは ``encoding`` というオプションが追加されているので、``decode_response`` をfalseにする代わりに、それに文字コードを指定したほうが自前でIconvとか用意しなくていいので楽です。

2014
10/07
02:30

ゆうちょダイレクトのUXがまるで迷路

[UX]

最近ゆうちょ銀行を使うことが度々あり、ATMまで足を運ぶのが面倒になったのでゆうちょダイレクトといういわゆる「ネットバンキング」サービスに申し込みました。 実際申し込んでから利用開始まで、駄目なUXのオンパレードで思わず感心したのでメモしておきます。 * ログインIDは口座番号とは別物 * 初回ログイン時に発行された「一時パスワード」と自分で申込時に設定した「ネット用暗証番号」の入力が必要 * 初回ログイン後に、新しいパスワードの設定、「合言葉」x 3 の設定、「合画像(?)」の設定が必要 * トークンが送られてくるが、ログイン後にトークン利用の設定をしないと使えない とにかくやることが多すぎ、もうこれは使わせたくないんじゃないかと思うくらいです。窓口・ATMで使える情報が全く使えないのも面倒です。 申し込みをしたものの、実際に初回ログインしていない人の数がどのくらいなのか知りたいですね。