2012年4月18日水曜日

VirtualBoxでCtrl+C

Unixとかでシェルやってると途中でCtrl+Cを使って
処理を中断させたい事があるけど、VirtualBox上でやると
使えない、左Ctrl+CだとCが大文字入力されるだけ
右Ctrlを使えというので、右Ctrl+CするとHost+C=スケールモード(メニューなし)への
切り替えと見なされ(Right Controlがホストキーになってるからそりゃそうだわな・・・)るだけ

VirtualBoxマネージャのファイル→環境設定→入力で
ホストキーを×印をクリックして削除すると上手くいった
尚、ホストキーを再設定したい場合は同じ画面で
右Ctrlキーなり押すといい

2012年4月17日火曜日

PATH_INFOを有効にするまでに躓く

今までxamppの環境で開発をしてたけど
なんかトラブルなーと思ったらmagic_quote_gpcがデフォでOnだったり
php.iniの場所がapacheの中にあったりと
数々の意味不明な現象に悩まされて
挙げ句の果てにはpearがおかしな参照をし始めたのでかなり辟易してた
※いや、初心者に対しては直ぐにPHPを触れるいい環境だとは思うんだがね・・・
本番環境を同一視しないという訓練された初心者でないと、これはお勧め出来ないよ・・・

で、新しいPCに移行した際にPHP 5.3.9(TS)+Apache 2.2+MySQL 5.5(64bit)を入れた
(後でcygwinも入れたいなー)

フレームワークは仕事で使うEthna(旧Ver・・・2.6が出るまでの辛抱か・・・)

そしたら、.htaccessでmod_rewriteを設定しているにも関わらず
index.php/aaa
404 Not Foundになる
あれ、rewrite読み込んでなくね?いや、でもそれならRewriteEngine Onにしてる時点で
Internal Server Errorになる筈だし・・・
とりあえず、ログをかっさらってみたけど普通に動作してる

ググっても頼りになりそうな情報がないので
もう1度、エラーをおさらいしてみる
index.php/aaaで404 Not Foundだからつまり
aaaをGETではなく、ディレクトリとして見ていやがる!!!
と気づくまでに今度は時間がかからなかった・・・

PATH_INFOが効いてない!
httpd.confに「AcceptPathInfo On」を追加
サービスを再起動させたら、画面が表示されてOK!

因みにapacheのバージョンアップ関係でPATH_INFOの設定変わってるかなーと
思ったらmod_rewriteの古い記事ばかりひっかかるね
検索って時に殆ど使えない事があると思った

Apacheは今も昔も、PathInfoはデフォでは無効なのか

2012年1月13日金曜日

FreeBSD 9.0 リリース

12月9日に最終テスト版と思わしきRC3が出てから一ヶ月以上が経ち
ようやくFreeBSD 9.0が出ました
アナウンスによる変更点は

  • 新しいインストーラ「bsdinstaller」の採用
  • 高速ファイルシステムの搭載、UFS+SoftUpdatesにジャーナリング機能が突きました
  • ZFSのバージョンが28になりました
  • ATA/SATAのAHCIを強化しCAMへ統合
  • 高可用ストレージHASTフレームワーク
  • カーネルレベルでCapsicumというセキュリティモードをサポート(実験的要素)
  • ユーザーレベルでのDTrace(Sunの産物)
  • TCP/IPの新しいスタックモデルをサポート、輻輳とかのコントロールが容易に
  • NFSv4が実装されました
  • 新しい高パフォーマンスSSH(HPN-SSH)
  • 組み込み用途向けに動くようにFDT(Flattened Device Tree)を構成
  • PowerPCアーキテクチャとしてSony PS3をサポート(なんか凄いw)
  • llvm-clangを標準で装備
  • GNOMEが2.32.1へ、KDEが4.7.3になったよ

一杯、魅力的な変更点があるわけですがサーバ用途では
CapsicumとUFS+SoftUpdate+ジャーナリングorZFS、CAM強化
TCP/IPの進化とHPN-SSHが一番使えそうな感じ
その他で、個人的にはFreeBSDのソースがclangでコンパイル出来るようになった
という点が大きいかも
ソースに含まれるGCCのバージョンはGCCがライセンスをGPLv2にした最後のバージョン
GCC 4.2.1です(GCCの最新版はportsから幾らでもGET可能だが、ソースはサポートしない)

2012年1月11日水曜日

Firefox Maintenance Service

最新のFirefox NightlyことFirefox 12から
インストーラでMozilla Maintenance Serviceというオプションが表示されるようになりました
どのような機能か調べてみたら
http://techdows.com/2012/01/firefox-mozilla-maintenance-service.html

これまではアップデートの選択肢として
  • 更新が見つかる度に現れるダイアログを利用する
  • バージョンダイアログを出すと出る、Firefoxを自動的に更新しようとする機能(旧Chrome方式)
  • 同様にバージョンダイアログの更新をチェックするボタンで更新
の3つの選択肢がありましたが
英語の訳が間違っていなければ、このサービスを使うとGoogleUpdateみたく
バックグラウンドで、自動的にアップデートしてくれるみたいです
なので、恐らく最新版ダウンロード済みの場合も知らない間に展開していて
再起動時に最新に更新しています・・・のプログレスバーダイアログがなくなるという事が予想されます
※無効化時の反応は不明、恐らくこれまで通りと思われる(Chrome型アップデートを嫌うユーザーに配慮したか?)

一度インストールした場合は、サービスとして登録されるようなので
一時的に使いたくない場合は、管理ツールのサービスから「Mozilla MaintenanceService」を選択し
停止ボタンを押すなり、msconfigで切るなり、サービスそのものを消したい場合は
%ProgramFiles%\Mozilla Maintenance Service\Uninstall.exe
で削除する事が出来るようです

こういうのって、ウィルスパターン更新時にトラブルを起すメーカーがあるので
あんまり好きじゃないんですよね(Chromeとか入れているとGoogleUpdate.exeがタスクに現れてウザイ・・・)

2011年12月30日金曜日

Firefox11でSPDYを有効にする

Firefox 11.0(12月30日時点でAuroraチャンネル)から
Googleが開発したHTTP向け高速化プロトコルSPDYがサポートされる
なんでも通常の通信よりも64%短縮出来たとか
高速接続の方法としてパイプライン接続もあるけど、SSLも包括的にサポートするようで
結構楽しめそうね

現在ではデフォで無効になっているので、有効にするには
アドレスバーにabout:configと打ちspdyで検索すると
network.http.spdy.enabledというのが出現するので真偽値をtrueにする
何れConfiguration Maniaでも設定項目が出るだろう

2011年12月28日水曜日

データベース優先度に対する考察

memcachedが大分普及して来たようだけど
そこを踏まえて、どうすれば処理を高速化出来るか考えてみた
(というより、そういう話が出たので書いてみる)

高速記憶装置の順番で言えば
1位 CPUのキャッシュメモリー L1>L2>L3
2位 DRAM
3位 SSD
4位 HDD

というわけで、最近のL3キャッシュは容量も大きいし
IDからユーザー情報引っこ抜くとか、そういう用途で使うなら最強レベルの速さ
MySQLの拡張機能としてL3キャッシュDBなんてものを作って
後はデータが入りきらない場合、使用頻度の低い奴をDBから追い出す

次に優先度の高いデータをDRAMにmemcachedを使って記憶させる

比較的優先度の低いデータをSSDに、そしてHDDに入れる

次にデータベースエンジンとして、優先度の高い単純なデータをMyISAMテーブルに
その他はInnoDBに入れる・・・

また、機能によってはユーザー固有のデータを保持する事がある
例えばブログの日記のバックアップ機能
これはIndexedDBを使ってユーザーローカルに入れれば
サーバに負荷がかからない

こうする事で(後は優先度とデータの複雑性を検討に入れて設計すれば)
かなり処理の高速なシステムが作れそうな感じがする

他にPHPのモジュールやApacheをCPUのキャッシュに入られれば・・・(既に非メモリ常駐型)

最後にmod_pagespeedなんて組み合わせると最高かもしんない
これでベンチとってみたいなぁ・・・

という戯れ言でした

2011年11月25日金曜日

Firefox Nightlyの日本語版

Firefox Aurora迄は日本語版が提供されているんだけど
Firefox Nightlyはホームページ見ても英語版しか提供されていない
Firefox Nightly
んで、日本語化するには別途ja.xpiを入れてきて更にabout:configで弄る必要があるんだけど
それが面倒な人のために既に日本語されたものがFTPにあります
Firefox Nightly l10n
このFTPから「ja」で検索、Windows用はfirefox-11.0a1.ja-JP-mac.win32.installer.exe
って書いてあるのがインストーラ、macとか書いてあるけどちゃんとWindows用だからご安心を
インストーラ形式が嫌な場合はzipでどぞ
最新のはFirefox 11なので全てfirefox-11となります
因みにFirefox 11ではフルスクリーンAPIが搭載される模様

現在のリリースステータスは
  • Firefox 8.0 Release
  • Firefox 9.0 Beta
  • Firefox 10.0 Aurora
  • Firefox 11.0 Nightly
となっています

CookieSwap等一部アドオンはNightly Tester ToolsやDisable Add-on compatibility checkerで
Firefox 11.0での動作も確認済み
Firefox 9.0からJavaScriptエンジンが変わって型推論が導入されるからFirefox 3.5からの
TraceMonkeyが用済みになるみたいね
基本的に新機能の追加はAurora以降、Betaはバグフィックスと安定性の修正のみ
よくわからない人はRelease一択でしょうか
因みに私はRelease Beta Aurota Nightly全て入れています(もちろんプロファイル分けて)

で、ダークマターの件どうなったんだろ?