-
Microsoft Windows XP [Version 5.1.2600]
-
(C) Copyright 1985-2001 Microsoft Corp.
-
-
C:\Documents and Settings\hogehoge>diskpart
-
-
Microsoft DiskPart version 5.1.3565
-
-
Copyright (C) 1999-2003 Microsoft Corporation.
-
コンピュータ: hogehogepc
-
-
DISKPART> list disk
-
-
Disk ### Status Size Free Dyn Gpt
-
-------- --------------- ------- ------- --- ---
-
Disk 0 オンライン 466 GB 0 B
-
Disk 1 オンライン 298 GB 0 B
-
Disk 2 オンライン 298 GB 0 B
-
-
DISKPART> select disk=1
-
-
ディスク 1 が現在選択されているディスクです。
-
-
DISKPART> detail disk
-
-
Hitachi HDT725032VLA360
-
ディスク ID: 02AB02AB
-
種類 : IDE
-
バス : 3
-
ターゲット : 0
-
LUN ID : 0
-
-
Volume ### Ltr Label Fs Type Size Status Info
-
---------- --- ----------- ---- ---------- ------- --------- --------
-
Volume 7 H NTFS Partition 146 GB 正常
-
Volume 8 I NTFS Partition 83 GB 正常
-
Volume 9 J NTFS Partition 69 GB 正常
-
-
DISKPART> select disk=2
-
-
ディスク 2 が現在選択されているディスクです。
-
-
DISKPART> detail disk
-
-
Hitachi HDT725032VLA360 USB Device
-
ディスク ID: B07D94E2
-
種類 : USB
-
バス : 0
-
ターゲット : 0
-
LUN ID : 0
-
-
ボリュームがありません。
-
-
DISKPART> clean
-
-
DiskPart はディスクを正常にクリーンな状態にしました。
-
-
DISKPART> exit
-
-
DiskPart を終了しています...
[Linux]CentOS 5.3/5.4のsudoコマンドが曲者。
CentOS 5.3以降で、sudoコマンドのバージョンが新しくなり、sudoコマンド自体や、今まで使えていたsudoを含むスクリプトなどが使えなくなってしまうケースが出てきました。私も同様の現象にはまりました。私の場合は、スクリプト内で使用しているsudo付のコマンドでPATHが通らなくなってしまったという現象です。
今は以下のURLなどを参考に解決し、今まで通りの運用をしています。
- Studio H.F.F.:Debian(sarge)でsudo gem〜ってしたいんだけど、動かない(未解決)
- CentOS 5.3 paco のインストールで sudo make logme に失敗した – 写経日記
- rubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われる – プログラマ 福重 伸太朗 〜基本へ帰ろう〜
記憶の片隅にでも覚えておいてもらえると役に立ったりするときがくるかもしれません。
[雑記]HDD 1.5TBが1万円切りました
MacのTimeMachine用のHDDを、今使っている320GBのものから新調しようと思って、新しいのを買いに行きました。1GBあたりの値段がお手頃なのが、今は1.5TBのSATA HDDですね。なんと1.5TBで1万円を切っていました。びっくりです。一応WD15EARSを狙っていたのですが、売り切れていたので、旧モデルのWD15EADSを購入しました。まぁバックアップ用のHDDなので容量さえあればいいです。
少し前まではHitachi Deskstarシリーズをよく買っていたのですが、最近はWestern DigitalのEADS/EARSシリーズを買うようになりました。なんとなく後者のほうが安くて性能がいい感じがしています。
そういえば、昔NAS欲しいって思ってたけど、NAS市場は最近どうなんでしょう?
[mac]WindowsでMac用外部HDD(GPT保護パーティション)を初期化する
MacのTimeMachineのバックアップに使用していたHDDを、Windows XP用のバックアップHDDに変えようと思って、Windowsにつなげて、ディスクの管理ツールでフォーマットしようとしたところ、GPT保護パーティションという表示になっていて、何も操作を受け付けないようになっていました。
以下の2つのサイトを参考に、Windows XPのコマンドラインアプリケーションのdiskpartツールを使って、Windows XPで使えるHDDとして初期化してみました。
以下がdiskpartツールのログです。
実行後、初期化が可能なディスクになっていました。
[php]86400
86400って聞いて、すぐに何の数字か当てられる人は、一般の人にはなかなか居ないかもしれない。
ただ、プログラマーならこの数字は暗記しておくべきだと思う。256って数字を区切りがいいと思うように、86400もプログラマーにとっては神聖な数字だと感じてほしい。
ちなみに86400ってのは、1日の秒数ね。24[h] × 60[m/h] × 60[s/m] = 86400[s]。
例えば、「3日前までのデータを取得する」プログラムなら以下のようなイメージ。
-
$sql = "SELECT * FROM hoge WHERE created_unixtime>= {$base_time}";
ポイントとしては、「86400*3」をそのまま計算せずに残しておくこと。「time() - 259200」じゃパッと見でよくわからないが、「time() - 86400 * 3」ならパッと見で3日前だとわかる。どうしても計算したいならコメントで「// 86400 * 3」とでも残しておくといい。
とはいっても人の好みかもね。
[symfony]app:routesコマンド
Jobeet(Practical symfony)の5日目にあった、ルートのデバッグをするためのコマンドが、app:routesコマンドです。
./symfony app:routes application [name]
試しにJobeetの5日目の状態で「./symfony app:routes frontend」をたたくとこんな感じです。
-
$ ./symfony app:routes frontend
-
>> app Current routes for application "frontend"
-
Name Method Pattern
-
job GET /job.:sf_format
-
job_new GET /job/new.:sf_format
-
job_create POST /job.:sf_format
-
job_edit GET /job/:id/edit.:sf_format
-
job_update PUT /job/:id.:sf_format
-
job_delete DELETE /job/:id.:sf_format
-
job_show GET /job/:id.:sf_format
-
job_show_user GET /job/:company_slug/:location_slug/:id/:position_slug
-
homepage ANY /
-
default_index ANY /:module
-
default ANY /:module/:action/*
お決まりのdefaultルートに対して、「./symfony app:routes frontend default」をたたくとこんな感じです。
-
$ ./symfony app:routes frontend default
-
>> app Route "default" for application "frontend"
-
Name default
-
Pattern /:module/:action/*
-
Class sfRoute
-
Defaults
-
Requirements action: '[^/\\.]+'
-
module: '[^/\\.]+'
-
Options cache: NULL
-
context: array ()
-
debug: true
-
default_action: 'index'
-
default_module: 'default'
-
extra_parameters_as_query_string: true
-
generate_shortest_url: true
-
lazy_routes_deserialize: false
-
load_configuration: false
-
logging: false
-
lookup_cache_dedicated_keys: false
-
segment_separators: array (0 => '/',1 => '.',)
-
segment_separators_regex: '(?:/|\\.)'
-
suffix: ''
-
text_regex: '.+?'
-
variable_content_regex: '[^/\\.]+'
-
variable_prefix_regex: '(?:\\:)'
-
variable_prefixes: array (0 => ':',)
-
variable_regex: '[\\w\\d_]+'
-
Regex #^
-
/(?P<module>[^/\.]+)
-
/(?P<action>[^/\.]+)
-
(?:(?:/(?P<_star>.*))?
-
)?
-
$#x
-
Tokens separator array (0 => '/',1 => NULL,)
-
variable array (0 => ':module',1 => 'module',)
-
separator array (0 => '/',1 => NULL,)
-
variable array (0 => ':action',1 => 'action',)
-
separator array (0 => '/',1 => NULL,)
-
text array (0 => '*',1 => NULL,)
そしてsfPropelRouteCollectionによる自動生成ルートの1つに対して「./symfony app:routes frontend job_edit」をたたくとこんな感じです。
-
$ ./symfony app:routes frontend job_edit
-
>> app Route "job_edit" for application "frontend"
-
Name job_edit
-
Pattern /job/:id/edit.:sf_format
-
Class sfPropelRoute
-
Defaults action: 'edit'
-
module: 'job'
-
sf_format: 'html'
-
Requirements id: '\\d+'
-
sf_format: '[^/\\.]+'
-
sf_method: array (0 => 'get',)
-
Options cache: NULL
-
context: array ()
-
debug: true
-
default_action: 'index'
-
default_module: 'default'
-
extra_parameters_as_query_string: true
-
generate_shortest_url: true
-
lazy_routes_deserialize: false
-
load_configuration: false
-
logging: false
-
lookup_cache_dedicated_keys: false
-
method: NULL
-
model: 'JobeetJobPeer'
-
object_model: 'JobeetJob'
-
segment_separators: array (0 => '/',1 => '.',)
-
segment_separators_regex: '(?:/|\\.)'
-
suffix: ''
-
text_regex: '.+?'
-
type: 'object'
-
variable_content_regex: '[^/\\.]+'
-
variable_prefix_regex: '(?:\\:)'
-
variable_prefixes: array (0 => ':',)
-
variable_regex: '[\\w\\d_]+'
-
Regex #^
-
/job
-
/(?P<id>\d+)
-
/edit
-
(?:\.(?P<sf_format>[^/\.]+)
-
)?
-
$#x
-
Tokens separator array (0 => '/',1 => NULL,)
-
text array (0 => 'job',1 => NULL,)
-
separator array (0 => '/',1 => NULL,)
-
variable array (0 => ':id',1 => 'id',)
-
separator array (0 => '/',1 => NULL,)
-
text array (0 => 'edit',1 => NULL,)
-
separator array (0 => '.',1 => NULL,)
-
variable array (0 => ':sf_format',1 => 'sf_format',)
あまりに細かすぎて謎な感じですが、私が使うとしたら、詳細表示の末尾のTokensセクションにて、セパレータ文字が有効かどうかを確認するくらいでしょうか。以前セパレータに「_」を使ったらセパレータとして認識されなかったことがあったので、悩んだ末に「.」に変更したのですが、もしかしたらそこで使えたのかもしれません。


