!kiyoka.blog.2011_11 RSSPLAIN

Related pages: !kiyoka.blog.list
555555533333333333333323333333333313333333333333333333333333333333333333333333303334444444444444444444444444444044455555555555555555555555555555505555555555555555555555555555555555555555555555555555555555550555555555555555555505
5

kiyoka日記。NendoSekkaの開発や、最近思うことなど

5

最新10件!kiyoka.blog   過去記事一覧!kiyoka.blog.list

5

kiyoka.blog_header 

5

このブログを書いている人: 西山 清香(kiyoka) - twitter: @kiyokaEXT

5

5

 

5

 

3

kiyoka.2011_11_12[Sumibi.org] 久々にSumibi.orgのアクセス統計を取ってみた

3

 

3

実はもうオワコンだと思っていたのだけど、そうでもなかったという話。

3

Sumibi.orgはまだ生きていることを、あらためて報告します。

3

 

3

アクセス統計を実施

3

長い間、Sumibi.orgのアクセス統計を放置していた。最近Apacheログを確認すると、1年でログローテションする設定になっており直近1年分しかログが残っていなかった。(今度は10年くらいでローテーションする設定に変更した)

3

 

3

幸い、Sumibi.orgを公開してからアクセスが安定するまでの記念すべきログはアーカイブして保存していた。

3

結果、解析できたのは2004年から2006年、そして今年(2011年前後)のみ。

3

 

3

※ 画面はGoogleドキュメントのスプレッドシートでトレンドグラフという機能で出したもの。Googleドキュメント便利すぎ。

3

 

3

Rgwb

3

 

2

気づいたことは「下火になっていない」ということ

3

Sumibi.orgがメディアに取りあげられていた2006年当時と、直近1年はほとんど変わらず利用されている。

3

炭火はずっと燃え続けていたよー。もう消えかけているんだろうなと勝手に思い込んでいた。

3

 

3

また、直近1年は長文作成モードEXTで、文章を書くという本来狙った用途で使われているのがほとんど。

3

ユーザーごとの平均漢字変換回数は調べていないけれども、これから解析してみる予定。

3

2006年と今年(2011年)を比べてみるとまた違うのかもしれない。

3

 

3

2006年はメディアに紹介されたこともあって、トップページでちょっと試してみるという一見さんが多かっただろうから、最近とは傾向が違うのではないかな。

3

いろいろ知りたいことが出てくるのであった。

3

 

3

ノスタルジー

1

つぎのグラフは、サイトを開設してからの数年間右肩上がりだったころのグラフ。懐かしい。そんなに時間が経ったのか、とも思う。

3

 

3

P9I8

3

 

3

 

3

安定期へ

3

この1年は非常に安定している。減る傾向も無さそうだ。

3

 

3

yLaO

3

 

3

御礼

3

ユーザの皆さん

3

このページを見て頂けているかどうかわかりませんが、ご利用ありがとうございます。

3

このサイトで特に収入があるわけではありませんが、貴重な経験ができています。

3

今後も続けていきます。

3

 

3

共同開発者の方

3

ktatEXTさん、ありがとう。まだまだSumibi.orgは生きていますよ。

3

 

3

サーバマシン御提供企業様

3

インフォテリア株式会社EXT 様、まだまだサーバマシンは動いております。

3

一度、ハードディスク障害でハードディスクを取り替えた以外は全く当時のままのハードウェアで動いております。

3

2006年当時、4GB RAMのサーバマシンはこのようにサイトにとってはハイエンドでした。

3

本当にありがとうございました。

3

 

3

 

3

過去記事抜粋

3

いろいろありましたね。

3
  kiyoka.2005_09_29[Sumibi]日経IT Proに紹介される
3
  kiyoka.2006_05_13[Sumibi] 5月度アクセス状況報告 と サーバー障害発生
3
  2924424356_06ae534b0e_o 
3
  kiyoka.2006_05_28[Sumibi] Sumibi.orgのマシン入れかえ作業中
3
  kiyoka.2006_08_24[Sumibi] ClusterMapsを付けてみた
3
  2924809283_fec584769b_o 
3
  kiyoka.2006_10_22[Sumibi] 日経ソフトウェアにSumibi.orgが掲載される
3
  2924424362_5101aece06_o 
3
  kiyoka.2006_12_30[Sumibi] Sumibi.orgのアクセス数総決算
3
  2924809767_2405441117_o 
3
  kiyoka.2007_03_04[Sumibi] Software Design 2007年3月号EXTに紹介される
3
  2925666800_91fda82307  2925667354_4af8f57641 
3
  kiyoka.2007_06_07[Sumibi][本] Web API実践リファレンスブックを献本頂く
3
  4839923981  2925667932_c1d7cea517_o  2925667536_41b857fb4d_o 
3
  kiyoka.2007_10_17[Sumibi]mixiのコミュニティー
3
  Sumibi.mixi_community 
3

 

0

comment (disabled)

3

3

 

3

 

4

kiyoka.2011_11_08[Sekka] Sekka 0.9.6 リリース

4

SKKライクな日本語入力メソッド Sekka 0.9.6をリリースしました。(リリースノート Sekka.ReleaseNote)

4
 NbpKsE
4

 

4

リリースの概要

4

耐障害性を向上しました。

4

sekka-serverに関連するバックエンドサービスの障害を検知するようになりました。

4

公開辞書を自宅サーバからクラウドサービスに引越ししました。

4

 

4

 

4

以下リリースノートです。

4

version 0.9.6

4
gemの依存規則で、Nendoの必須バージョンを0.6.1に限定した。
4
sekka-serverのエラー処理を追加した。
4
memcachedがダウンしている状況をクライアントに報せるようにした。
4
Redis-serverがダウンしている状況をクライアントに報せるようにした。
4
テストスイートにmemcachedとRedis serverへの接続エラーの例外発生ケースを追加した。
4
公開辞書の提供サイトをsumibi.orgから、DropBoxに変更した。(ハードウェア障害に強いサイトへ)
4
 将来 URLの変更が効くように、github上の以下のファイルにダウンロードURL
4
 を記載する方式にした。(自前リダイレクト方式)
4
https://github.com/kiyoka/sekka/blob/master/public_dict/0.9.2/SEKKA-JISYO.SMALL.url
4

 

4

 

4

次の目標

4

特にありません。

4

Emacs 24で動かした時の非互換が見つかれば対応します。今のところEmacs 24-pretest版でも動いています。

4

 

4

 

0

comment (disabled)

4

4

 

4

 

5

kiyoka.2011_11_06[Nendo] Nendo 0.6.1 リリース

5

Nendo 0.6.1をリリースしました。(リリースノート: Nendo.ReleaseNote)

5

rubygems_icon_128

5

リリースの概要

5

例外関連のフォームのバグ修正と、シンタックスチェックの不備を修正しました。

5

 

5

 

5

以下リリースノートです。

5

version 0.6.1

5
バグ修正:
5
guardのコンディション比較にelseを書かない場合でも、全ての例外が捕捉されてしまうバグを修正した。
5
 以下のコードはTypeErrorが発生するが、それがguardの上位にraiseされないバグ。
5
 (guard (exc (exc.is_a? (print "[RuntimeError]")))
5
   (+ (Array.new) 1.1))
5
letフォームのシンタックスチェックが抜けていたのを修正した。
5
 例えば、正しいlet1フォームのlet1をletに書き換えと、improper listというエラーになる。
5
let1フォームのシンタックスチェックが抜けていたのを修正した。
5
 以下のコードが、生成後のRubyコードでSyntaxError例外が発生していた。
5
(let1 ((a 1)) (print 1))
5
#/正規表現/ を含むS式に#?=を付けると不正なシンタックスのRubyコードが生成される
5
 以下のコードがSyntaxErrorになる。
5
 #?=(rxmatch #/[a-z]/ "abc")
5
 #正規表現/ の外部表現の出力に間違いがあったのが原因。
5

 

5

 

5

次の目標

5

version 0.5.4の時から変化なしです。

5

参考 (kiyoka.2011_10_26 [Nendo] Nendo 0.5.4 リリース)

5

 

5

 

0

comment (disabled)

5

5

 

5

 

5

kiyoka.2011_11_05[MongoDB] MongoDB試用開始

5

MongoDBEXTをさわりはじめた。versionは現時点の最新の version 2.0.1 。

5

1449381561 私が参照している本。

5

メモリがいくらあっても足りない。4GByte RAMのサーバマシンで3.8GByteまで使っている。

5

もちろん他にもいろいろ走っているので、2GByteほどswapしている。

5

 

5

まず、1GByte程度のapacheログをmongoimportできるJSON形式にしてimportした。

5

mongoimport用の変換内容は時刻部分をDate型に、転送サイズを数値型に変換した。それ以外は文字列のまま。

5

mongoimportで投入し、リクエスト時刻フィールドにIndexを張ったらDBサイズが5GByteになった。

5

うげー、でかいよ。

5

 

5

その後、リクエスト時刻部分から時分秒を00:00:00に切り落としたDate型をもうひとつ追加したら、DBサイズがまた肥大した。

5

DISKもよく食う。

5

 

5

結局次のようなドキュメントの構造になった。

5

Indexはtimestampとurlに張って、14GByteのDBサイズに!

5

 

5
 $ mongo --host black sumibi
5
MongoDB shell version: 2.0.1
5
connecting to: black:27017/sumibi
5
> db.apachelog.findOne()
5
{
5
        "_id" : ObjectId("4eaf66c734168d18eb210c4e"),
5
        "client_id" : "-",
5
        "hostname" : "111.111.111.111",
5
        "referer" : "-",
5
        "req" : {
5
                "method" : "GET",
5
                "url" : "/sumibi/Sumibi_stable.wsdl"
5
        },
5
        "request" : "GET /sumibi/Sumibi_stable.wsdl HTTP/1.0",
5
        "result_code" : "200",
5
        "tfrsize" : 6940,
5
        "timestamp" : ISODate("2011-10-08T21:56:22Z"),
5
        "timestampDaily" : ISODate("2011-10-08T15:00:00Z"),
5
        "user_agent" : "-",
5
        "username" : "-"
5
}
5
> db.apachelog.count();
5
6072350
5
 ※ hostname部分はblog用にマスクしてあります。
5

 

5

それにしてもMongoDBのshellがJavaScriptなのが便利だなーと思ったのも束の間、すぐにJavaScriptの非力さが気になりはじめた。

5

Prototypejsを使いたくなるほどのプレーンさだ。でも、mongo shellには載らないだろうな。うーん。なんとかならんかな。

5

 

5

久々にこんなプレーンなfor文を書いたよ。半年ぶりくらいかなー。

5
 for ( i = 0 ; i < a.length ; i++ ) {
5
 ...
5
}
5

 

5

Prototypejsを使えば、mapやeachなんかを使って書くのでループ変数を使ったコーディングは懐しささえ感じる。

5

まだ使い始めたばかりなので、癖はわからないが、いろいろ負荷の高い処理をやらせたりMapReduceをやったりして数日使ってみようと思う。

5

 

5

※ ちなみに個人的な学習用リポジトリはkiyoka/learn-mongodb - GitHubEXTで公開しているので、クエリのサンプルとか見れますよ。

5

 

5

 

5

COMMENTkiyoka

自分でコメントします。

なんかメモリが足りないという発想がMongoDBに合っていない気がする。

データベースのサイズに対してメモリが足りないのであればマシンを増やして分散するのが筋かなー。

もうちょっと実験が進んだら、AWSの時間貸しインスタンスを借りるのがいいのかな。

0

comment (disabled)

5

5

 

5

 

5

kiyoka.2011_11_03[本][MongoDB] MongoDB: The Definitive Guide

5

この本いいよ。

5

第二版が出るらしいのだけど、待てないので第一版を買った。

5

当初WebブラウザでSafari Books Online上の電子書籍を読んでいたのだけど、疲れるので紙の書籍にした。電子書籍リーダー持ってないし。

5

1449381561  MongoDB: The Definitive Guide: Kristina Chodorow, Michael Dirolf

5

MongoDBを本格的に使おうと思ってこの本にした。本格的に使うなら、最初からこの本1449381561を読み通しておくべきだろうと。

5

MongoDBのコミッター(10genのエンジニア)も著者に入っているので、なぜこういう設計になっているのかというところも説明してくれている。

5

実際にサーバー側の内部を知っているものでないと、このような解説はできないだろう。

5

MongoDBサーバーの設計ポリシーや実装上のトレードオフを最初から理解しておくことは重要だと思う。結果、MongoDBの適用範囲を間違えなくて済む。

5

トレードオフがわからないままだと、「ここは設計上律速するはずなので、部分的にmemcaced使っとこか」というようなアプリケーションのトレードオフの判断ができない。

5

 

5

MySQLを本格的に使う時に、この本4873112095を2回通しで読んだ記憶があるが、1回目はとにかく読む。2回目は使い倒しながら読んだ。

5

 

5

今回のMongoDBもそこまでできるかわからないが、MongoDBをヘビーに使う気でいるので、じっくり読むぞ。

5

MongoDBの試用実験も始めているので、その経過もブログに書く予定。

5

 

0

comment (disabled)

5