休学中の目標

2014年04月20日:情報セキュリティスペシャリスト試験(不合格)
2014年06月22日:統計検定 2級(合格)
2014年08月10日:心理学検定 1級(受験せず)
2014年10月19日:情報セキュリティスペシャリスト試験 リベンジ
2014年内:オモロイもん創る, TOEIC 800点以上(?)

Data::Recursive::Encodeの高速化用コード

 

 

※childrenがchildredになってるのは気にしないでやってください・・・

PostgreSQLベンチマーク 1000万+レコードからのSELECT

っていうテーブルがあって、

  • 1000万件はhead_idが1じゃない
  • 1万3千件はhead_idが1

という内容で「EXPLAIN ANALYZE SELECT * FROM body WHERE head_id = 1 ORDER BY body_id DESC;」でベンチマークをとってみました。

  • インデックスをはらない
  • head_id のみインデックスをはる
  • head_id, body_id の複合インデックスをはる(ソートが発生しなくなるんじゃないかなと思って)

の3つの条件でやってみたけど、2番目が最も高速で25ms前後でした。(Total runtime: 25.632 ms)

クエリプランを見るとbody_idでソートしてからdraft_id = 1の条件でインデックススキャンと書かれているけど、データ数が11万3000件の場合もほぼ同じ結果(25ms前後)だったので、bodyテーブルのhead_id != 1のデータ数がさらに増加しても性能の劣化はないと思います。

もっと良いやり方あるぜ!という場合は教えてくだしあ!

小説投稿サイト製作中

小説投稿サイトというと既にいろいろありますが、こういう小説投稿サイトがあったら(自分でも)利用したいのにと思うものがあって、5年ぐらいアイディアを温めて未踏の1次審査通ったものの2次審査で落ちて、今ひとりでシコシコとプログラム書いています。

プロトタイプでそこそこ上手くいくことを確認できているのですが、そこそこよりも上手くいくのかどうかはWebサイトを創って公開してみない限り分からない。自分も著者を最大限サポートしないと成り立たないでしょうから、小説の書き方とかシナリオの書き方に関する本をかなり読んでいます。

プログラムはそこまで難しくないのですが、ユーザインターフェースがとてつもなく難しい。幸い「デザイニング・ウェブインターフェース」という良書を見つけてかなりのヒントを得られたけど、それでもまだ悩むことが多い。

プログラムはユーザー登録、ログイン、パスワードリマインダ、小説の原稿の新規作成をセキュリティに気をつけつつ実装して624個のテストが通ったところ。

お金出してフォント買ってSketch3というデザインソフトでウェブデザインしたりでちょっと時間使いすぎました。

9月までにWebアプリを完成させて、他のデバイス用のアプリの開発に着手したぐらいでWebアプリを公開できればと思っているのですが、どうなることやら。

WebアプリではWebSocketを使うことになる(はずな)ので、「ハイパフォーマンスブラウザ ネットワーキング」という割と最近出た本をWindowsのPCを売りに行った帰りに立ち読みしました。サーバの設定ミスを発見できたのは良かったけど、それ以外は既に持っている「徹底解説 HTML5 APIガイドブック コミュニケーション系API編」や「ハイパフォーマンスWebサイト」と内容がかなりかぶっていて、自分にとっては立ち読みで十分な内容だったのでした。