Word Press の設定

導入時の注意点

インストールは解凍するだけなので簡単.
mysql を展開しておわりかと思いきや,落とし穴があった.

  • mod_php を使う場合,フォルダ配下のオーナーを www-data とかにしておく.
  • 真っ新な wordpress を入れることにする場合,テーマとかプラグインとかが入ってなくて動かないので,バックアップの DB をインポートする前にとりあえず新規インストールを完了させてしまって,テーマとプラグインは入れておく.
  • プラグインやテーマのインストール時に FTP 接続情報を求められる場合,define('FS_METHOD','direct');を wp-config.php に入れる.
    多分,現象から推測するに,サーバーにプラグインを pull しにいくよう動作を変更させるのだと思われる...多分...

DB 構成について

  • wp_users,wp_usermeta はユーザー情報.とりわけ wp_users にはパスなんかも hash をかけて保存されている.
  • wp_terms,wp_term_* は,タグとかカテゴリとかリンクグループなどの名前・slug・分類・記事との関係を保存したもの.
  • wp_options は,プラグインとかの設定を保存したもの.消したプラグインの設定も残っているので,ゴミが多い.新規に入れ直して綺麗にしたい時にはバックアップ不要.
  • wp_posts は記事,wp_postmeta は記事内からのメディアファイルの参照や更新ロックの情報など.
    更新ロックの情報は削除しても問題なさげ.詳しくは,[WordPress] postmetaテーブルの_edit_lastと_edit_lock | きほんのき
    要は,meta_key="_edit_lock" に格納される UNIX タイムスタンプと,meta_key="_edit_last" に格納される最終更新ユーザーのユーザー ID は消しても構わんということ.
  • wp_comments はレス,wp_commentmeta はコメント削除などの情報.
  • 他は,そのまんまなので省略.

プラグインとか

  • WPTouch は, ver 1.9.5 以降は投稿できないバグがあるので,1.9.42 以前とすること. (1.9.4.2 の間違いではない.各人で readme.txt を読むこと)

また追記します…

BIND9 で DNS サーバ

昔,自鯖のwebサーバ化 という記事でちらっと書いたが,改めて再インストールしたマシンに書こうとすると,書けなかったので,調べ直した.

named.conf

named.conf から include しているファイルの設定も含む.

記述箇所 項目 tips とか
options version named が返す version 情報を変更する場合に指定.教えたくない場合に書く.
version 情報を調べ方は,

# dig @localhost chaos txt version.bind

localhost のトコは,調べたいサーバー名.

allow-update DNS の更新の許可をするか否か. 拒否したい場合は,
``allow-update {none;};``
zone zone ファイルを指定.
順引きの場合

zone	"domain.com"	{
	type	master;
	file	"path";	// options に記述した directory からの相対
};

逆引きの場合

zone	"x.y.z.in-addr.arpa"	{ // リトルエンディアン的表記
	type	master;
	file	"path";
};

zone ファイル (順引き)

記述箇所 項目 tips とか
$ORIGIN 記述対象のドメイン.
以降に,全く同じゾーン名を書く場合,@ と記述を略すことができる.
また,ホスト名を記述する時に,host と記述した場合,host.$ORIGIN を意味する.
$ORIGIN の末尾には . (ピリオド) を忘れないこと.
$TTL キャッシュの有効期限.このサーバーを参照する他のサーバーが,有効期限として活用する.
DNS が死んでも,この時間くらいは保持してもらえるかも知れない. (後述の をより長く指定していた場合)
SOA レコード (概略) そのゾーンの記述のトップに書くレコード.
例はこんな感じ.

@ IN SOA     (
	
	
	
	
	
	)
このゾーンのプライマリー DNS サーバ.A レコードで記述されたものを書くこと.
責任者のメールアドレス.アドレスの @ は . (ピリオド) で記述すること.@ より前に . (ピリオド) を使っている場合,\ (バックスラッシュ) でエスケープすること.
ゾーン記述のバージョンを示す通番.yyyymmddnn (nn は 01 からの通番) で書くのが一般的.前回更新より小さい数字だと,ちゃんと記述が伝播しない.間違えてデカすぎる数字を指定した場合は桁溢れさせてリセットするらしいが,その時に調べることにする.
このサーバーを参照するサーバーが,この数値毎に更新確認に来る. が増えていたら,更新をかける.
前回更新が失敗した時に,リトライするまでの周期. の約数を指定するらしい.約数を指定しなかった場合,落ち続けた時にプロセスが増えるのだろうか?試すのに時間かかりまくるので試さないで,言いつけに従うことにする.
更新が失敗し続けた時に,キャッシュを破棄するまでの期間.$TTL との値が違う時,どちらが優先されるかは不明.
ネガティブキャッシュ (aaa.domain.com が定義されてなかった時,「aaa.domain.com は未定義」という情報のキャッシュ) を保持する期間.
その他のレコード (概略) 記述は,

host	IN <レコード種別>	definition

という感じ.
NS:そのドメインのネームサーバーを記述.必ずしも, で指定したサーバーを記述する必要はない.
A:host -> IP addr の記述をする.
CNAME:別名の指定.
MX とかその他:とりあえず使う予定がないので,略.

zone ファイル (逆引き)

順引きで,AレコードがPTRになったと思えばOK.

チェック

named.conf の記述のチェックは,# named-checkconf [PATH] で行なう.
zone ファイルの記述チェックは,# named-checkzone domain PATH で行なう.
逆引きの場合,domain には x.y.z.in-addr.arpa を指定する.

resolv.conf への反映

resolv.conf の修正を忘れないこと.
ubuntu を新しいものにしたら,dhclient.conf の domain-name-servers とかをコメントアウトしても書き換えされてしまうようになった.
なので,/sbin/dhclient-script を書き換えることにした.
基本的には,resolv で出てくる行をコメントアウトするか,make_resolv_conf() を役立たずにすれば OK.
if 文の中に resolv の行しかないトコをコメントアウトする場合は,if 文ごとコメントアウトすること.
resolv.conf を普通のファイルにしたら,networking の restart でエラーを吐くようになったので,/etc/resolvconf/resolv.conf へのシンボリックリンクにした.元が何だったかは分からんが,まぁいいだろう.

E-ink式電子ブックリーダー

職場のN谷先輩のsony readerを見ていて欲しくなったので調べてみた.
以前から評判の高かった nook simple touch with glowlight と,それと比較されている他社リーダーを調べてみた.

Cybook Odyssey
【山口真弘の電子書籍タッチアンドトライ】国内未発売の「最新型」電子ペーパー端末3製品を試す で紹介されている.
動画の起動画面が出る.
驚いたけど,本を読むのには不要な気がする.
nook simple touch with glowlight
kobo glo
kindle paperwhite
上記と同じく,【山口真弘の電子書籍タッチアンドトライ】国内未発売の「最新型」電子ペーパー端末3製品を試す にて紹介されているほか,kobo glo,kindle paperwhite との比較動画もある.

画面の上にライトがあるのは,見辛いかも.
それに,ちょっと暗い.
こうして見ると,kindle paperwhite が良さげだなぁ.

ブラウザMC☆あくしずの施設設置コストの考察誤りについて

最近,ブラウザゲーにハマっている.
やっているのは,ブラウザ MC☆あくしず -鋼鉄の戦姫- というやつ.
ブラウザ三国志(略してブラ三)の移植ゲーの一つである.

目的は,戦争して世界征服するとかそいういう感じで,戦力をいかに効率良く整えるかが重要である.
戦力を整えるには,2つの手段がある.1つは街に施設を作って,兵隊を生産する方法である.
もう1つは,100枚を上限(無課金の場合)に集められるキャラクタを育成する方法である.
キャラの入手方法はカードダスと同じ要領で,運とリアルマネーのつぎ込み方によって,性能の高いキャラを入手できるか否かが決まる(トレードは省略).
強いキャラがいた方が有利だが,最終局面での強さは,施設設置効率やキャラの強さによって得られた生産性を生かし,整えた兵隊の数とランクに左右されることが多い.

んで,興味を持った人は記事右に表示されるバナーから登録してチュートリアルを一通りクリアしてもらいたい.
私はワールド5にいるけど,途中参戦はちょっと厳しいかも.

前置きはこのくらいとして…
本記事では,ブラウザMC☆あくしずの資源施設の効率について考察してみたい.
多くの記事では,設置済の施設のレベルアップに必要な材料の総量と,その効果を比較していることが多い.
(例:
日々是精進@ブラウザ三国志 拠点の育て方 生産施設の最適Lvは?
資源回収までの日数 研究/考察 ブラウザ三国志攻略データwiki
資源施設について|ブラウザ三国志プレイ日記
などなど…枚挙に暇がない)
※ブラ三とあくしずは,生産コストと生産量が同じなので,ブラ三のデータでも気にしないこと

資源施設に限って言えば,
私は,lv x の施設建設に必要な lv 1 からの累積コストを,lv x の生産量で回収するトータルコストの回収モデルが妥当だと思うのだが,なぜ多くの記事では lv x-1 から lv x へレベルを上げる時の コスト差分vs生産量差分 に着目するのか不思議でならない.
誤った結果を示すからである.

例えば lv 1 の生産施設は 10秒 で建設が完了し,lv 2 の生産施設は 30秒 で建設が完了する.
lv 1 の生産施設の材料分の生産を lv 1 の生産施設が上げるまでの時間は 16.67hour である.
さてここで,lv 2 の建設コストを lv 1 から lv 2 への生産量の増分で回収する場合 31.38h 必要であるが,16.67h 経過時点で lv 1 の生産コストの回収は終えているのだから,残りの時間は lv 2 の総生産量で回収できる時間を算定すべきである.
例えば,lv 1 の建設後,1時間してから lv2 を建設した場合,トータルコストの回収は 25h 経過後である.

施設建設後,すぐに次の施設建設にとりかかることにする場合,lv15 までの建設総コストの回収は 1106h = 46.1day で回収できる.

あくしず 資源施設 建設シミュレーション(lv15)
そのシミュレーションは,右図の通りである.
ここで,縦軸=資源総量,横軸=経過時間(h)である.
例えば,継ぎ目なく建設を続けた場合の,建設開始から 10日後 の収支は,横軸のラベルが 240 の時の縦軸の値で, -541,947 である.

さて,ここまで真面目に考察すれば当然のことであるが,よく言われている

レベル15になると、例えゲームが開始した瞬間に即完了でレベル15を建てたとして(無理ですが)
ぎりぎり回収が可能、という計算になってしまいますね。

日々是精進@ブラウザ三国志 拠点の育て方 生産施設の最適Lvは?

なんてことはあり得ない.
だいたい,lv 1 の建設コストを,lv 1 の施設の低い生産効率で回収する必要など全くないのだから,差分分析は机上の空論である.

とはいえ,これでは lv 14 と比較して lv 15 が効率的か否かを検証できていない.
そこで,lv 8~15 の各レベルまで建設した後の収支を算定してみる.

あくしず 資源施設 建設シミュレーション 比較(lv8-15)
その結果が右図である.
こうして比較すると,収支は黒字になるものの lv 14 の収支を lv 15 では 120day = 2880h では逆転できないことが分かる.
ブラウザMC☆あくしず の 1ゲーム は4ヶ月であるので,建設材料さえ確保できれば,lv14が最も収支が良いことが分かる.

勿論,これは建設に十分な資源がある前提であるので,ゲーム序盤では建設間隔がもっと開く.
例えば,lv 14 の建設に必要な材料の調達に,37日以上かかる場合は,lv 14 と lv 13 の資源施設と収支逆転ラインの 83day が残っていないことから,途中レベルの建設がいつ時点で可能か計算した上で,収支算定の修正が必要である.
また,十分回収可能な期間を経過後に lv x → lv x+1 へレベルアップした時のコスト効率は,差分コストの分析でも正しい.

--- 以下,付録 ---

さて,今回の考察では,なぜこんな差分が生まれたのか.
あくしず 資源施設 建設コスト(累積,差分)
それは,右図を見れば明らかである.
ここで,縦軸=コスト/生産量,横軸=施設レベルである.
累積コスト1のグラフ(マゼンタ)は,そのレベルの施設を建設するまでに lv 1 の建設から必要な累積のコストを,最終生産量で除算したものを施設レベル毎にプロットしたもので,
差分コスト1のグラフ(ネイビー)は,そのレベルの施設を建設するために必要な,最後の建設のコスト(差分のコスト)を,そのレベルアップで増加する生産量(差分の生産量)で除算したものを施設レベル毎にプロットしたものである.
1の収入に対する累積コストは,施設のレベルアップに対して一次関数的に増加するのに対して,
1の差分収入に対する差分コストは,施設のレベルアップに対して二次関数的に増加する.
この差分が,考察の違いとなって表われている.

なお,これら算定には Microsoft Excel を用いており,そのシートを置いておくので,詳しく知りたい人は参照されたい.
あくしず 資源施設シミュレーションファイル

--- 以下,付録2 ---

別の観点で,建設が生産に結びつかない兵舎と駐屯地について,収容兵数辺りのコストを総コストの観点と差分分析の観点から比較すると面白いことが分かる.
あくしず 兵舎vs駐屯地 総コストの観点から
あくしず 兵舎vs駐屯地 差分分析の観点から
ここで,縦軸は先の考察と同様に,
総コストの側は 各レベルの施設の建設に必要な lv 1 の建設からの総コストを,収容兵数で除算したものであり,
差分分析の側は 各レベルの施設の建設で最終建設に必要なコストを,最終建設で増員される兵数で除算したものである.
横軸は,施設レベルである.
注意すべきは,建設が生産に結びつかないことから,この施設については差分分析が可能であり,lv 15 の施設建設における差分分析の結果が逆転していることが,
総コストの観点から見た収容効率の差が縮まることと合致している.
前の算定と同様に,算定ファイルを置いておく.
あくしず 兵舎vs駐屯地 シミュレーションファイル

--- 注意 ---

実際のゲームでは,パネルを1つ使うコストが大きく,施設単体のコスト対効果が劣っていても,パネル消費が少なく総収容数や総生産量が大きい施設を建設するなどの判断が必要である.

(Webコミ) 人生ゲーム

久々に,マンガにハマってしまった.
●○web漫画「人生ゲーム」 - 廃人への人生岐路

人格交換強くてニューゲーム系のよくあるシチュエーションながら,立花が可愛い過ぎてハマった.
いいよねぇ,強くてニューゲーム…
と,現実逃避するのに最適な一作である.

同じサイト内に,自分で二次創作したエロ同人が置いてあるので,注意.
にしても,最初と比べてメチャクチャ絵が上手くなったなぁ…この人.
同人書いてる頃にはもっと上手くなってるし.
恐るべし継続の力.

それにしても,番外編のおバカな学生ノリは,ちょー羨しい.
俺ももっと,バカな学生やっておくべきだった.

パナソニック P-01D の root 奪取

追記
Superuser.apk が正しく動かなかったので,対策をとった.

症状:

  • バイナリの su は正しく動作するため,adb shell の中で su はきく
  • アプリから Superuser.apk が呼べず,su を取得するダイアログが表示されない

対策は,下記でも参照している,P-01Dをroot化する - ごりぽんソフトウェア のコメント欄の uru さんの報告を頼りに,

  1. Superuser.apk を入手する.(hadacchi は HT-03a から抜き出した v3.0.4 を使った.最新のでも動きそうだが,容量が大きいのでやめた.)
  2. P-01D の /system/app/Superuser.apk を消す.
  3. リブートし,/system/app へ手動で Superuser.apk を配置する.

Clocksync で時刻合わせをしようとすると,su 権限を取得するダイアログが表示され,その後正常に動作することが確認できた.
原因はよく分からん.

なお,adb push が通らず Superuser.apk の再配置でうまくいかないかもしれない.
SD カードへ一旦コピーして,shell からコピーすること.


ドコモポイントを使って,2,100円で手に入った.
下に書いてあることをやって,購入から5時間で保証対象外の端末にしてしまった.
高いものではないので,マネして文鎮化したら,買い直すこと.hadacchi は責任もたない.

P-01D の特徴

  • 妙に安い,android 2.3 スマホ
  • 安定版と呼べそうなカスタム ROM は,まだなさげ.
  • 本体メモリが小さい… といっても,これまで使ってた HT-03A よりも多い 340MB ある.いらんものを消せば,問題なし.
  • スペックが低い… らしいけど,HT-03A より百倍マシ.いらんものを消せば,問題なしになりそう.
  • 画面が小さい… HT-03A よりも横幅が狭い.使ってみると不満出るかも?
  • 航空機モードで Wi-Fi が動かない… これは,セルスタンバイ問題が現れるので,痛い.仕方ないので,ガラケーに入れてた SIM を差して,ケータイとしても使ってみることにする.不満が出るかは不明.

ということで,いつも通り root を取って,いらんアプリを消す.

root 奪取

基本は,P-01Dをroot化する - ごりぽんソフトウェアで公開していただいている,ツールを使う.
adb は,公式頒布のものと異なるものを使うらしいと 2ch 情報にもあったので,間違いが起こらないよう「_run_me.bat」は,

set ADB=.\adb
...
(以降の「adb」を「%ADB%」に書き換え)

みたく,ちょっとだけ触った.
で実行したが,解説にあるドライバインストールのダイアログも出ず,動かない…
仕方ないのでデバイスマネージャからandroid-sdkのドライバを入れる.
その後,1回目はSDのマウントに失敗し,バックアップは取れないまま,本体にsuコマンドは追加された.
adb shell を叩いても プロンプトが「#」にならない.(su すれば良いことに後で気付いた.)
なので,念のためもう一回実行してみた.

不要アプリの削除

容量にあまり余裕がないので,不要アプリは全て adb pull で引っ張り出して (sdcard に mv がうまくできなかった) 本体からは削除してみた.
↑df するまで知らなかったが,/system と /data は別パーティション.
消したアプリの一覧は,apk 名で,下記ども.
随時消していたので,pm list packages -d -f の出力はない.
他にも GooglePlus だとか navitime だとか壁紙系だとか,消す候補はまだまだあるものの,気力不足でもう力尽きた.
今後は,battery use を見て,使ってないものを消すことにする.

  • AreaMail.apk
  • BeeTV.apk
  • BookShelf_preset_ver092.apk
  • Customapp_DLApp_20110621.apk
  • DocomoMarket.apk
  • Econavi.apk
  • EconaviManager.apk
  • Email.apk
  • EstarAP1DL.apk
  • Evernote_launcher_docomo.apk
  • FuturePlus.apk
  • FuturePlusProvider.apk
  • GREEforP.apk
  • GenieWidget.apk
  • GoogleQuickSearchBox.apk
  • iChannel.apk
  • Koe_no_Takuhaibin_DL.apk
  • MakerSiteLink.apk
  • ManualDownloaderP01DNewIcon.apk
  • Papercraft.apk
  • PhoneBookCopy.apk
  • PhoneCall.apk
  • RakutenGatewayDownloader.apk
  • Shortcut.apk
  • SyncMLApp.apk
  • Talk.apk
  • Twitter_release.apk
  • VPL_Android_dcm_Rel_Signed.apk
  • WeathernewsTouch.apk
  • auction_downloader.apk
  • dmapnavi_navi.apk
  • docomoAccountAuthenticator.apk
  • docomo_market.apk
  • gnavi-20110909.apk
  • installer.apk
  • mai.apk
  • mcd_pre2_signed_ver202.apk
  • melodycall.apk
  • mixi_downloader.apk
  • nttdocomo_gs_utility_downloader_v100_20110720.apk
  • spmode_mail_downloader.apk
  • toruca.apk

最近の当サイトへのアクセス

最近,あまりメンテしてないこのサイトで,どの記事やどんな目的の人がきてるのかなーとか調べてみた.
といっても,前から入れてた W3Counter (昔の記事へのリンク) の統計見るだけ.

以前は,本weblogで最大のREQUEST数を誇るページ でも書いている通り,圧倒的に win7 における proxy の設定についての検索が多かった.
サブドメインを切った後にリセットされたアクセス統計を見ると,こんな感じであった.

1 [windows7 で proxy の設定](http://www.hadacchi.com/wp_blog/?p=118) 21%
2 [Outlook 2007 で重複メールを削除する](http://www.hadacchi.com/wp_blog/?p=639) 19%
3 [regsvr32.exe in Win7 x64](http://www.hadacchi.com/wp_blog/?p=428) 6%
4 [Windows7 で ffdshow で H.264 コーデックでデスクトップキャプチャ](http://www.hadacchi.com/wp_blog/?p=353) 6%
5 [NOOK Color に CM9.0.0-RC0 を入れたよ](http://www.hadacchi.com/wp_blog/?p=1160) 3%
6 [Android 携帯で Gmail が何日も送信されない件](http://www.hadacchi.com/wp_blog/?p=465) 3%
7 [Excel のエラー「office ファイル検証機能によって問題が検出されました 云々」](http://www.hadacchi.com/wp_blog/?p=1074) 3%
8 [hadacchi blog (トップページ)](http://www.hadacchi.com/wp_blog/) 3%
9 [自作PC 2号](http://www.hadacchi.com/wp_blog/?p=1238) 3%
10 [Windows 7 (x64) で Ragnaro"k Online](http://www.hadacchi.com/wp_blog/?p=324) 2%

MS 製品は,利用者が多いんだなぁと実感する結果になった.

なお,このサイトの閲覧数の規模感としては,簡単なスパム除去を行なった上で,およそ 120 pageview/day 程度である.
1 年前が 70 程度だったので,少しだけ増えている.

WebDAV + SSL + SNI + SVN

WebDAV+SSL+SNIを進行中。
SSL+SNIの設定は、通常通り。
WebDAVは、

a2enmod dav
a2enmod dav_fs

とした上で、site-enabled にある記述に、SSLを行なうSNIの設定を記載。
dav_fs.conf で設定している事例を良く見るが、SNI で動かすためには VirtualHost ディレクティブで記載しないといけないので、site-enabled からリンクしているサイト設定に記載した。
なので dav_fs.conf はこんな感じで小さい。

DAVLockDB ${APACHE_LOCK_DIR}/DAVLock
DAVMinTimeout 600

で、サイト設定はこんな感じ。


        ServerName host.domain
        ServerAdmin user@domain
        DocumentRoot /webdav
        SSLEngine on
        # 他、SSLの設定とか

        
                DAV On
                Options Indexes
                SSLRequireSSL
                # 他にdigest認証とかここに書いてもいいし、.htaccessを置いてもいい
        

現在、WebDAVクライアントで動作確認済。Windowsファイルシステムから直接アクセスするのは諦めた。

今後の計画

  • DAV+SVN で、SVN over SSL を通す
  • WPのspam投稿の分析プラグインの作成
  • 最初は、WPのダッシュボードから、手動でのアク禁適用
    • 投稿をフックしてスパムフラグのあるものは別DBにも格納
    • DBには、IPを8bitずつのアドレスに分割して、格納?
    • ネットマスクの短さとspamアクセスの多さの閾値から、自動的にアクセス拒否をさせる
    • 拒否後も403のアウトプットでphpを呼び出して、投稿されたのと同じ扱いでアクセス数をカウント
    • アクセス数の増により、長いネットマスクでアク禁した複数のアドレスを統合するなど

Windows Update (KB2686509) 適用失敗

KB2686509の適用失敗についてのメモ。多分罠は2つ - 新・日々録 by TRASH BOX@Eel

scancode map の方にひっかかった。
scancode map を一時的に消して、アップデート後に再度設定すればOK。
scancode map を消した後にログオフとかシャットダウンの必要はなく、そのままアップデートをかければOK。

CAPS LOCK とか、いい加減なくして欲しい… と思っていたら、会社の人が使っていて大変驚いた。
使う人いるんだなぁ。