Dvorak日記4

昨日は日記を書けなかったので、昨日の記録もかく。

昨日のDvorak: 2.6〜3.2タイプ/秒
昨日のQwerty: 計測してない

今日のDvorak: 2.5〜3タイプ/秒
今日のQwerty: 5タイプ/秒

DvorakQwertyも遅くなっている。
Qwertyに関しては、干渉が出てきたのかな、という感じだが、Dvorakについてはこれまで順調に記録が伸びていたので、多少不可解である。

まあ、こんなこともあるのだろう。

Dvorak日記3

今日のDvorak
2.1〜2.4タイプ/秒

今日のQwerty
切り替え直後: 4.5タイプ/秒
2回目以降: 5.8タイプ/秒

昨日一昨日はあまり練習の時間が取れず、やはりスピードがあまり上がっていない。

タイピング自体はあまり嫌いではない方で(速くはないのだが)、最近Dvorakの練習が趣味になりつつある。

Dvorak日記

今日のDvorak
1.8〜2タイプ/秒

Dvorakに慣れていくとQwertyが遅くなるのかどうかを検証するために、Qwertyの成績も記しておく。
現在は自宅ではDvorak、職場ではQwertyという段階。

今日のQwerty
5.5タイプ/秒

今日はどこにどのキーがあるかだいぶ迷わなくなってきた。
つまり少しずつ直感で打てるようになってきたのだけれども、直感に任せるほどにQwertyとの混同が増えてきた気がする。昨日や一昨日の方が頭で考えながら打っている感じがしていて、むしろQwertyとの取り違えは少なかった。

仕事で日中ずっと使ってるからか、今のところQwertyが打ちにくくなったとは感じない。

Dvorak練習している

本当にタイピングが速くなるのか知りたくて、昨日からDvorakを練習している。
タイプするのが本当にまどろっこしい。
PCを触り始めたばかりの中年男性みたいになってしまっている。

http://neutralx0.net/type01_dv.html

このサイトで練習している。
昨日は1.0〜1.2タイプ/秒くらいのスピードだった。
今日は1.5〜1.7タイプ/秒くらい。
Qwertyではだいたい5.5/秒くらいだった。

今後も続けていきたいと思う。

JavaScriptわからない

qiita.com

これ便利そうなんだけど、reduceとかどうしてそうなるのかがよくわからない。
いや、正確に言うとじっくり式を見てみれば何をやっているのかはわかるんだけど、なぜそのやり方でやらないといけないのかがわからない。
ES2015では当たり前のやり方なのだろうか? 読みにくくないか? そういうもんなのか。。?

あとJavaScriptというかjQueryなんだけど、何でeachの引数の順番がforEachと違うのだ。

qiita.com

forじゃなくてeachなんだから敢えてインデックス使うことは少ない。でもインデックスが先に来ちゃってるから、インデックス使わないときも$(something).each(i, e)とか書かないといけない。使うのはeだけだ。

あと、なんでこんなに広まっている言語なのに基本的な関数がなかったりするのか。
なんでゼロパディングを自分で作らないといけないのか。
forEachはどうしてオブジェクトを回してくれないのか。

JavaScriptは難しい。こういうのに慣れれば楽しいんだろうなとは思うけれども。。

delegateを配列に入れる

DB上にあるレコードの数だけインスタンスを作って、それを何か別のクラスのデリゲートにしたいという時がある。そういう時、デリゲートを動的に配列に入れたくなると思う。

それをやろうと思って、NSMutableArrayにdelegateを入れようとしたらダメだった。 いろいろネットを検索して、以下のようなやり方があるのを見つけた。

プロトコル | Swift言語を学ぶ

delegateをNSMutableArrayに入れようとしたらできなかった。これみたらvar someDelegates:[SomeDelegate] = [] と宣言してそいつにsomeDelegates.append(someDelegate) としてやれば入るっぽい。というかできた。

2015/09/09 11:39

NSMutableArrayではなくて、なんかクラス名を[]で囲むタイプの配列を使えばいいらしい。

自分は以下のように書いた。

// メンバ変数で配列を宣言
var delegates:[SomeDelegate] = []

/* 中略 */

  // delegateの宣言
  var delegate:SomeDelegate = someObject
  // 配列にdelegateを追加する
  delegates.append(delegate)

/* 配列に入ったデリゲートに一斉になんか命令を飛ばす */

  for i in 0..<delegates.count
  {
    delegates[i].someMethod()
  }

こんな感じでやれば一斉に動いたのでうれしかったです。