大慶と外周り色々

今日は亡くなった父の関連で埼玉方面を回って来た。
まずは役所に行って自分の住民票と戸籍謄本を取る。それから父が通院していた病院でまだ健康保険を適用してなかった病院に。そこで書いてもらう書類を預ける。それから、労金で口座を作り、会社に戻ってきた。たったこれだけやるのに 6 時間もかかった。
移動経路としては浅草橋保谷航空公園田無→浅草橋なのだが、やっぱ昼間はどの道路もノロノロだなぁ。

移動途中、大慶でお昼をとった。
相変わらずの満席。すごいなぁ。でも、そこまで美味しいお店では……ゲフンゲフン。
でもちょっと甘めで食べやすいラーメン。背脂があんまり気にならないんだよね。ベースはけっこう素朴な味だと思う。この日は弟と移動したので、弟に大慶を紹介するという目的もあったりする。
1402070407

ところで、会社の Adobe 用アカウントに使われているメール・アドレスに spam メールが届くようになった。というか、この Adobe 用のメアドは Adobe のクリエイティブ・クラウド用に用意したもので、誰もそのアドレスに来るメールを読んだりしてなかったんだけど、たまたま会社の人がメールボクッスを見に行ったら大量の spam があったらしい。
Adobe はいつぞや、大量にアカウントを抜かれたからなぁ……それが spam 屋の手に渡ってしまったか。

実は会社のメール・サーバにはまだ spam フィルタをいれてない。新しいドメインだし、メアドをサイトで直に晒すことはしないことに決めていたのでいらないだろうと思っていたのだ。うーん、導入を考えた方がいいか。ちなみにボク自身も、ボクの名刺に乗っているメアドにだけ spam メールが来るようになったのよね。たぶんボクの名刺をもらってそれをメーラのアドレス帳に登録した人がマルウェアに感染してるんだと思う。
個人情報ってボク自身が気をつけても、ボクを知る人間から漏れちゃったらどうしようもないんだよねぇ……ボク自身も気をつけねば。

Windows Server 2012 R2

本社が新しい開発室を立てたので、そこのサーバを作ることになった。
おぉ、Windows Server 2012 R2 を試すちゃーんす! Windows Server 2012 R2 はいわゆる Windows 8.1 のサーバ版。はてさて、どんな風に変わっているのか……って思ったんだけど、今回のサーバは別に大したことはしないので、あんまり違いを感じることはないかも(汗)。

まずは土曜日に秋葉にパーツを買いに行った。今回は会社でいらなくなったマシンが与えられ、サーバとして足りない部分を買ってくると言う感じ。会社でいらなくなったマシンは Core i3 マシンで、ビデオ・カードとして Radeon HD5770 が刺さっていた。とりあえず Core i3 ではコア数が足りないし、なぜか Micro-ATX マザーだったので、マザボと CPU と、そして HDD を買うことにした。
構成は以下の通り。

  • CPU -> AMD FX-6300 (6 Core / 3.5GHz / TDP95W)
  • Mother -> ASRock 970 Extreme3 R2.0
  • Memory -> DDR3 16GB (8GB x 2)
  • HDD
    • HDT722516DLA380 (160G / SATAII / 7200) -> マシンに最初からついていた
    • HDS724040ALE640 (4TB / SATA600 / 7200) x 3 ->データ用
    • MK8037GSX (80GB / SATA150 / 5400) -> 自宅に余っていた東芝製 2.5 インチ。仮想サーバ用

日立の 4TB を 3 台買ってきて、それに RAID-5 を組むという目論見である。
CPU に AMD を選んだのは単純にボクの伝統である。ボクはずっとサーバには AMD を使ってきた。また、コアが多くて安い CPU が AMD ってのもある(汗)。

組み立てと OS のインストールはすんなりと終わった。次に RAID-5 の構築に取りかかる。これは Windows Server についているソフトウェア RAID を使う。ここからが、長い戦いだった。RAID-5 の同期がまったく終わらないのだ。
土曜日にパーツを組み立て、日曜日の未明からはじまった同期が日曜日が終わっても 40% とか。マジデスカ!? RAID-5 の同期は確かに RAID の中では遅い方だけど、Windows Server の RAID-5 ってそんなに遅いの!? なんだこれー?
しかもね、色々と設定しているとサーバを再起動することがあるんだけど、なんどか再起動してたら、同期が 0% に戻った……orz。えー……。

そんなこんなで、なんと、このサーバを新しい開発室に置けたのはさらに一週間後になるのであった。恐るべし RAID-5……。ところで最後の空の写真は何かというと、2/1 の明け方に知人を送り届けたとき、たくさん鳥が飛んでいたので思わず撮ってしまったものだ。鳥の種類は解らない。
知人の話によると、この近くの寺院に大量の鳥が住み着いていて、それが飛んで来ているのではないかという推測があるらしい。
140202DSCF5861 140202DSCF5863 140202DSCF5864
140202DSCF5865 140202DSCF5868 1402010402

NTFS の圧縮がイイ感じ

プロジェクトが一つ終わったので、会社のサーバのプロジェクト・フォルダと Sub Version のフォルダと MySQL のバックアップをとった。バックアップ先は外付け HDD にとっている。で、サーバ側の HDD は 4TB のミラーリングなのね(4TB x 2)。ところがバックアップ HDD は 3TB しか容量がない。そこで、NTFS についているドライブの圧縮ってのを使ってみてるんだけど、これがなかなかイイ感じ。バックアップが終わったあとの容量は、以下の通り。

1,587,255,023,066 / 2,452,017,136,145 バイト

右の数字が、データのサイズ。左の数字が実際に HDD を占有しているサイズ。実質 64.3% になってる。今後もこの圧縮率が保たれるなら、4TB すべてバックアップできそうだ。有難い。

じゃぁ、そもそもサーバのドライブも圧縮すればいいじゃんって思うかもしれないが、圧縮を ON にすると書き込み速度がものすごく落ちてしまうのだ。サーバは 40 人近くの人が使っているから速度を落とすわけには行かないのである。
まぁ、何はともあれ、エロゲの開発データのバックアップをとる場合、バックアップ元 HDD の 65% の容量の HDD を買ってくれば良さそうだ。

ところで、この 65% と言う数字は飽くまでもウチのサーバでの話だ。例えば MPEG や H246 などの圧縮された動画ばかりが入っている HDD はそんなに圧縮されないのではないかと考えている。と言うのも、これらの圧縮されたデータはこれ以上さらに圧縮することができないくらいに余地がない。なので、NTFS の圧縮は意味をなさないのではないかなぁと思っている。今度実験してみるかなぁ‥‥‥。

@font で変わったもの

rural_sy00e
10/23 に TAMA Networks に @font を導入してからサーバ上で変わったことが一つあった。それはサーバの転送量。一日辺り 300MB くらい増えた(汗)。@font はそのウェブページで必要になった文字分のフォント・データしか送ってはいないようなのだが、実は仕組みそのものはボクも理解していない。
そもそもレンダリングはどっちが行うのか? サーバ側でレンダリングしている場合は、フォントのビットマップ・データがおそらくブラウザに渡されるんだとは思うけど、そうなるとブラウザ側でのフォント表示アルゴリズムが従来のものと大きく変わるような気もしつつ……。
あとあとになって解ったんだけど、同じフォントがクライアント側にあってもどうやらサーバからのフォントを使ってるっぽい? 同じフォントがあったらクライアントのデータを使って欲しいなぁ、と思いつつ……。

まぁ、転送量そのものはうちの場合そんなに問題にはならないのだが、サーバそのものに負荷が増えたことに変わりはないので……うーむ。まぁ、アクセスが頻繁なので、サーバ側は全部メモリ上で処理されているとは思うんだけどね。

 

@font を使ってみる

bs_ryok01a
以前から、PC にインストールされていないフォントが表示できるサイトがあって、これどうやってるんだろうなぁって思っていた。ウェブサイトを表示した場合、そこに表示される文字は画像でない限り、PC にインストールされているフォントに左右されてしまう。
つまり見た目がどうしても人によって変わってしまう。
フォントを固定できれば、だいぶ環境による差を吸収できる。

話は少しずれるが、実はウェブってやっぱ読みにくいなぁと思っていて、それは当然で、同じようなレイアウトを取る雑誌では、挿絵・写真の位置や文字の大きさ改行位置が読みやすいように編集されているが、ウェブサイトは表示する幅や高さ(つまり紙の大きさ)が違うし、文字の大きさも違うし、書体も違う。当然挿絵の位置も変わってきてしまう。
なので、やっぱり読みにくいと思っている。これについてあまり言及したサイトを見たことはないが、本ってやっぱりよく出来てるなぁってボクは思っている。

閑話休題。
で、それに近づけるというわけではないのだけれど、ボク自身がサイトを編集するにあたって使っているフォントを、この TAMA Networks でも表示されるようにしてみた。CSS3 ではサーバ上のフォントをウェブサイトの表示に使うことが出来るのだ。定義は以下の通り。

@font-face {
font-family:”Migu 1C”;
src:url(‘https://amatsukami.jp/fonts/migu-1c-regular.eot’);
}
@font-face {
font-family: “Migu 1C”;
src:url(‘https://amatsukami.jp/fonts/migu-1c-regular.ttf’) format(‘truetype’);
}

ただ、このフォントをこう言う使い方していいのかは、ちょっと自信がない。一応ライセンスの所は読んだのだが……使用についてはクライアントで使用することばかりが書かれていて、ちと不安ではある。問題がある場合はこの定義を消すことになると思われる。下のは左が新しいフォント、右が Windows Vista から採用されている「メイリオ」。Windows Vista 以降で TAMA Networks を表示するとこの「メイリオ」というフォントで表示されていたんだけど、Mac やスマフォでみるとまた違っていた。
ただスマフォでは @font に対応してないらしく(CSS3 には対応してるはず)、こちらで設定したフォントは表示されなかった。

migu meiryo

人気投票の悩ましい問題

ボクが関わっているブランドで人気投票をやったのだが、今回は不正投票があった。ただ、これを「不正投票」と呼んでいいかは疑問ではある。とりあえず今日の日記では「不正投票」と表現するが、ボク自身はこの行為自体を 100% 悪しきものとは考えていないことを最初に記しておきたい。

投票自体は終わっているので、その投票画面にリンクを張ることは出来ないのだが、 4 人のキャラクタのうちから好きなキャラクタを投票するというものだ。仕組みは非常に簡単で、いわゆる「カウンタ」を利用している。よくサイトのトップでみかける「何人来ました」っていうヤツだ。各キャラクタごとにカウンタが設置されており、「好きなキャラクタを選ぶ」=「そのキャラクタ専用のサイトに訪問した」と解釈するわけである。これによってカウンタが一つ上がり、そのキャラクタの票が一つあがることになる。
そして 4 人分のカウンタをグラフ表示するための CGI が別途あり、そこでどのキャラが何位なのかが解るようになっている。下の絵がグラフ表示されたものである。
result
で、カウンターは cookie を使って同じ人かどうかをチェックしている。また cookie の寿命は 24 時間に設定されている。つまり 24 時間経過するまでは何度投票してもカウンタは増えない(無効票となる)。同じ人かどうかは IP アドレスではチェックしていない。というのも現在は NAT がかなり広範に普及しており、同じ IP でも違う人がアクセスすることは珍しいことではないからだ。

さて、サーバの HTTP ログを見たところ、「桜織」と「十和子」というキャラに不正投票があった。不正投票する方法は実に簡単で、この Cookie を削除してもう一度投票すればよいのだ。Cookie が削除されると寿命が切れたことになり、もう一度投票出来る。これをくり返せば、何度でも有効票が投票出来てしまうのだ。
従ってこの Cookie を使った仕組みそのものが「何度でも投票出来る」という状況を作り出している。そしてこれは誰にでも簡単にできてしまうので「不正投票」と言い切れないのだ。つまり仕組み自体がよくない。

投票した方もその仕組みを自覚しているらしく(?)、大量に票を入れていない。一度には 8 ~ 12 くらい。それをある程度時間をおいて行い、ちょっとずつ投票しているのだが、しかしほぼ 24 時間でビリだったキャラクタが一位になってしまった。まぁだから「不正投票があった」とこっちも勘づいてしまったのだけど。
この辺の増加量は難しいもので、ウチが弱小ブランドだっていうのもあるかもしれない。一度に 8 ~ 12 入れても全然影響しないような人気ブランドだったら、たぶん本当にちょっとずつ上がっていき、知らず知らずのうちに一位になっているということもあったのだろうが、ウチはそこまで人が来ていないのか、8 ~ 12 増えただけでかなり形勢が変わってしまうのだ(汗)。

結局集計はこの一度に 8 ~ 12 投票したヤツを 1 票としてカウントした。それでも不備はあるものの、まぁ、細かい所を突き詰めてもしようがないし、このような不正投票が出来てしまう仕組み自体が問題なので、今回はこれで良しとしよう。レベルファイブさんなんかはこの不正投票も含めてネタにしてしまっているみたいだけど、ウチとしては正直、誰が一番なのかを知りたいし……。
他に方法としては順位をリアルタイムで見せないという方法もあるかもしれない。でもそうなると逆に 8 ~ 12 なんてカウント数では済まず、スクリプトとかで大量投票してくるかもしれない……。
あとはどうせ不正投票されるのなら、「同じ人は 24 時間経たないと投票できない」という制限そのものを取っ払う。とにかく投票すればそれがどんな状態だろうと、1 票とするというのも有りかもしれない。

さて、次回はどうしようかなぁ……どういう仕組みにすればいいのだろう。cookie 以外で同じ人かどうかを判別する方法はあるだろうか? 実はある。あるのだが、けっこう仕組みが面倒くさいというか、組むのが面倒くさい……。このへん、他社さんとかどうしているかいろいろ見てみる必要がありそうだ。

amatsukami.jp サーバ HDD 交換

先週ぐらいから amatsukami.jp サーバから恐ろしい音が聞こえていた。それは「カラン……カラン……」という金属同士がぶつかるような音。HDD が壊れたときの音である。このくっそ忙しいのに……。やっぱり猛暑が堪えたんだろうなぁと思った。壊れた HDD は 2009 年の 2 月に導入された 1.5TB x 4 台構成のいずれかである。
amatsukami.jp サーバは 3 年ごとに HDD を交換していたのだが、だいたい 3 年以内に容量が足りなくなって交換というサイクルが続いていた。が、今回 3 年を越えても容量は満杯にならなかったため、そのまま使い続けていたのである。

というわけで、この 1.5TB x 4 を 4TB x 2 の構成に構築し直した。
いちおう異音がし始めてから HDD そのものは耐えてくれ、データ欠損などはなく、無事に移行出来た。
4 台から 2 台に減ったことで消費電力も下がるし、音も若干静かになるしで、少しホッとしている。

そういえば、4TB より容量の大きな HDD が出ないなぁ。
130911DSCF5414 130911DSCF5416
130911DSCF5418 130911DSCF5421