No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 924 | 925 | 926 |...| 1251 | 1252 | 1253 || Next»

はぢめてのRAID

HDDひとつの容量が2TBとかに増えたのは良いけれど,容量増加は不慮の事故によるデータ喪失の被害量も多くしてしまう.臆病者としてはこの状況には耐えられえない.

ということで,2TB x4 で RAID5 を組んだ:

使った箱は裸族のインテリジェントビルで,HDDにはHITACHIの13k円のやつを使った.2TB x4 の RAID5 なので,使える容量は 6TB になっている.

どう考えても臆病者の使う機材ではない気もするけれど…

そしてCrystalDiskMark2.2.0での計測結果を.以下,HDD単体,4台でのRAID5,RAMDISKの順番:


RAIDのシーケンシャルの読み書き速ェー(2倍出てるね).でもそれ以外遅ェ―(512kランダムリードで同じくらい.他は性能ダウン).まあ,RAID5なので書き込みが遅いのは仕方がない.そしてやっぱRAMはケタが違う.


ついでにもう一つ.テストサイズを小さくしてやった結果.HDD/RAID/RAMの順:


まあ,基本何も変わらない.1000MBの結果と違ってRAIDのランダムリードが速いのは,多分HDDのキャッシュの総計が大きくなってるからだろう.それにしてもRAMDISKが速すぎる…

黒酢酢豚弁当

久々に大学の前のほっともっとで弁当を買った.今月の新メニューの黒酢酢豚弁当.

うん,酢豚自体は美味しい.

が,見た目のチープさにより美味しさ半減なのが残念な気がする….弁当の容器が共通だからボリューム足りないように見えたり,ご飯がどこかの容器で固めたのを嵌め込みましたという形をしていたり.

見た目を良くするぐらいなら味と価格の改善をしてほしいと思うのが普通だが,できればメニュー表とかPOPの写真からのギャップは少なくしていただきたい.

そしてオリジンの酢豚弁当(黒酢風味)とどっちが美味しいかはオリジンの方を食べてないので分からない.でも値段はオリジンの圧勝だったはず → 490円 vs. 390円で100円安いらしい.言い換えるとほっともっとの方が25%高い値段.その差が味に現れるか量に現れるか値段だけなのかは分からない.

久々にSRMに出てみたら

250点問題のシステムテストでコケた.途中でキーボードが言うこと効かなくなった.二分探索が再帰関数の中に入った.そして1500に下がった.

Go-lf!

ということで,せっかくGoを勉強したのでゴルフ場で(頭と指の)運動をしてみた.

大人気なく問題を解きまくってGoで解いた人ランキング一位になった.

以下,ショートコーディングのための技術.

  • Raw String Literal を使うべし. 特に,改行にエスケープがいらないため,
    s:="hoge\nhuga"
    s:=`hoge
    huga`
    でいいので1Bの短縮.他にもバイナリデータを文字列として埋め込んでしまうという…

  • 外部パッケージをローカルの名前空間に展開すべし.

    インポート時の束縛名にドットを使うと,他パッケージの関数などをローカルの名前空間に展開出来る.なので,
    import"fmt"func m(){fmt.Print(“c")}
    import."fmt"func m(){Print(“c")}
    に短縮できる.複数のパッケージをローカルに展開できるが,同一名があると衝突するので,解決に短い名前を付ける必要がある.ついでにインポートのファイル名の後には空白がいらないという…

  • 関数変数を使うべし.

    関数も変数に入れられる.なので,
    x:=Sprintf("%c",c);y:=Sprintf("%c",d);
    f=Sprintf;x:=f("%c",c);y:=f("%c",d);
    に短縮できる.でもprintlnとかの特別な関数は束縛出来ないという…

  • 依存の無い(初期値)代入はまとめるべし.

    変数への値代入は,型に関係なくカンマでつないで一気に書ける.なので,
    x:=1;y:="str";z:=2
    x,y,z:=1,"str",2
    に短縮できる.でも,複数の値を返す式が右辺にあると怒られるという… (複数値のコンテキストのネストが出来ないらしい) ついでに,複数値の代入文は右辺が全て評価されてから左辺へと代入されるので,
    t:=x;x=y;y=t
    変数のスワップなどは複数値の代入を使って
    x,y=y,x
    のように短く書ける.

  • Sliceは上手に作るべし.

    Sliceの生成にはmakeを使う方法とcomposite literalを使う方法がある.なので,小さなsliceをつくるなら
    b:=make([]byte,1)
    でなく
    b:=[]byte{1}
    にする.また,大きなsliceも
    b:=make([]byte,10000)
    でなく
    b:=make([]byte,1e4)
    にする.

そして微妙な謎は,手元のコンパイラではプログラムの最後に改行が必須だったりブロックの閉じカッコの直後に文を書くにはセミコロンが間に必須だったりするのだけど… ゴルフ場だと必要ないらしい.ちょっと手元でプログラム書くときに気を使う.
それにしても全体的に短く出来ない言語だなぁという感想.入出力が一苦労だったりするし.もう少し入力を簡単に取れると良いのだけど… 現状では必ず[]byteを介さねばならないのでメンド臭い&長すぎる.

Skypeが置換コマンド(s///)を理解してくれた!

チャットしてるときに発言を間違えたら,

s/間違い/正しいの/

と書いてあげると直前の発言を修正してくれる.いちいちマウスとかでクリックして発言の修正とかしなくていい.

例えば,「先生を的に回すね」と間違って書いてエンターを押してしまったら,続けて「s/的/敵/」と入力してエンターしてあげればいい.そうすると,「先生を敵に回すね」に修正してくれる.

Ubuntu hardy 用のバージョン 2.1.0.47 で発見したけれど,Windows版の4.1.0.179では無理だった.Linux版だけの機能なのかね?

TOEICの点が出た

760点とか.9年前に一度受けたときが730点だったから… 何にも成長してないという.

いや,前回はまともに勉強してから受けたのに対して今回は何もせずに行っただけだから… まあ,どちらにせよ恥ずかしいのでどうにかせんとな.

リスニング345点のリーディング415とかなので,とりあえずリスニングどうにかしようぜという話.さすがに耳を慣らしておかないとリスニングは聞き逃しちゃうし,現実世界ではもう一度聞けばいいけどテストでは聞き返せないし,むしろ何て言ってたっけとか考えてると次の問題聞き逃すし….一度でちゃんと聞き取れるように頑張りましょうということか.

«Prev || 1 | 2 | 3 |...| 924 | 925 | 926 |...| 1251 | 1252 | 1253 || Next»
Search
Feeds

Page Top