サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
ooxif.hatenadiary.org
地道に for だの使って処理してもいいんだけど、配列の要素の数が巨大になったときのパフォーマンスが心配だったので、二分探索にしてみた。 例えば、 『数十種類あるメッセージのうち1つをランダムに表示したいけど、うち数種類はレアにしたい』 みたいな時に使えるはず。 こういう処理は割と頻繁に使うので、汎用化しておくと便利。 サンプルコードは javascript 。 /** * weight が大きいほど選択される可能性が高い。 * weight は 1 以上でなければならない。 */ var messages = [ {message: "Hello1", weight: 100}, // 100/188 で選択される。 {message: "Hello2", weight: 50}, // 50/188 で選択される。 {message: "Hello3", weight: 25}, //
現状 192.168.1.1:1978 で ttserver が稼動中。 バックアップも何もないので、二重化したい。 目標 192.168.1.1:1978 (Server.A) と 192.168.1.2:1978 (Server.B) でデュアルマスタ化して、バックアップついでに可用性も確保する。 方法 Server.A の起動コマンドを確認する まず、 Server.A は -sid -ulog オプションがついている必要がある。 ついていなければ、再起動する。 再起動は十分早いので、稼動中でも別に良い……んじゃ……ないかな。 # Server.A の起動コマンド /usr/local/bin/ttserver \ -host 192.168.1.1 \ -port 1978 \ -sid 1 \ -ulog /var/ttserver/ulog-1 \ /var/ttserver/
127.0.0.1 のようなドット表記の IP アドレスから、携帯キャリアを判別する関数を生成します。 検索部分は http://d.hatena.ne.jp/tasukuchan/20071231/1199105717 を参考にしました。 異なる部分として 全部 PHP 。 IP アドレスは手動設定。 フルブラウザの IP アドレスなどは除外したかった。 クローラ作るのも面倒だし、いっそ手動ということで。 コードサイズの圧縮。相当小さくなります。 else がありません。 if と elseif だけ。 32bit と 64bit を分けた。 必ず int で比較するようにする為。 当然、32/64bit 間で互換性はなし。それぞれ別個に生成すること。 →やっぱり止めた。 重要部分の抜粋。 <?php $imode = array( '124.146.174.0/24', '124.14
このページを最初にブックマークしてみませんか?
『ooxif.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く