2010年1月9日土曜日

[Git] MacOSにインストールしてみる

MacOSXでのGit導入はMacportsを使用するかGooglecodeからインストーラをダウンロードする。

インストール自体は以下のコマンドで完了します。お手軽です。
sudo /opt/local/bin/port install git-core +svn +doc

※Macports使用はXcodeがインストールされていることが前提となります。


以上です。

2010年1月8日金曜日

[Env] プロンプトの表示を変更する

LinuxやMacOSXでプロンプトの表示を変更したい場合があります。

ホームディレクトリ内の.bash_profile(ない場合は新規作成)に下記のように設定を加えることで実現できます。

export PS1=’[\u@\h \W]\$ ‘

[各種指定の意味]
\d 日付
\h ホスト名
\n 改行
\s シェルの名前
\t 時間
\u ユーザー名
\w ワークディレクトリ
\W ワークディレクトリのベース名
\# コマンド番号
\! ヒストリ番号
\$ 有効なUIDが0なら「#」、それ以外なら「$」
\nnn 8進数での文字コード
\\ バックスラッシュそのもの
\[ 非表示文字の開始
\] 非表示文字の終了


 /etc/bashrc,/etc/profileと,各ユーザーごとの.bash_rc,.bash_profileの間には,“呼び出し関係” がある。.bash_profileは,.bashrcを,.bashrcは,/etc/bashrcを読み出すようにあらかじめ指定されている。このため,あるユーザーがbashを起動すると,まず最初に全ユーザー共通の設定内容が適用され,そこに各ユーザーごとの個別の設定が上書きされる。
システムへのログイン時には,.bash_profileと/etc/profileが読み出される。その後,例えばGNOME端末などのシェルを起動するたびに,.bashrcが読み込まれる。しかし,.bash_profileは読み込まれない。従って,ログイン直後に1度だけ実行させたいプログラムは.bash_profileに記述するべきである。


引用元:http://itpro.nikkeibp.co.jp/article/Keyword/20070831/280849/

2010年1月5日火曜日

XoopsとDrupalの違い

Xoops
・管理者画面という概念がある

Drupal
・管理者画面という概念はなく、ログインユーザーが管理者の場合、各種設定へのリンクが表示される。

コアは最小限
モジュール拡張容易
イベント駆動開発(フック)

フックの例:例えばユーザーがログインする際、Drupalはモジュール名_user(フック名)という規則に則り命名された関数をすべてコールする。comment_user()、mail_user()などである。

コアの機能性を利用する最も一般的な方法はモジュールにフックを実装すること

コンテンツタイプはノードと呼ばれる1つの基底タイプから派生。拡張されたタイプも基礎をなすデータ構造はすべて同じ。
→管理インターフェースはノードを一括編集する画面を提供することが可能

2010年1月4日月曜日

[Maintenance] 作業ディレクトリをバージョン管理外にする

作業コピーから .svn ディレクトリを削除し、通常のフォルダに戻したい場合は、
新しくまっさらなディレクトリツリーを生成するのではなく、コントロールディレクトリを
削除するエクスポートコマンドを実行します。

その為にフォルダ自身にエクスポートしてください!
TortoiseSVN はこの特殊なケースを検出し、作業コピーをバージョン管理下から外すか
どうかを聞いてきます。

はい と答えると、コントロールディレクトリを削除し、まっさらなバージョン管理されていないディレクトリになります。


以上です。

2009年12月21日月曜日

[cmd] gzipファイル展開せずに特定のファイルを取得する

仕事で使用したコマンドを記録しておきます。

$tar -tvf apache2.0.58.20091214.tar.gz

apache2.0.58.20091214/logs/

$tar -xvf apache2.0.58.20091214/logs/

$gunzip -c apache2.0.58.20091214.tar.gz | tar -xvf - apache2.0.58.20091214/logs/operation.log


$gunzip -c apache2.0.58.20091214.tar.gz | tar -xvf - apache2.0.58.20091214/logs/operation.log


以上です。

2009年12月17日木曜日

[MySQL] テーブルのデータ件数をカウントする

# 最もシンプルなSQL
select count(*) from table_name;

全体の行数を取得することができます。

# NOT NULLなカラムがある場合はカラム名を指定する方が良い
select count(culumn_name) from table_name;

カラム名を指定する方がパフォーマンス的に有利です。
ただし、count関数はカラムにNULLがある場合、NULLを除いた行数を集計するため、確実にNOT NULLなカラムを指定する必要があります。


以上です。

2009年12月12日土曜日

[Maintenance] Apacheログのリネーム

Apache accessログをmvでリネームしても、Apacheはリネーム先ファイルに書き込もうとします。

これは、Apacheのaccess_logファイルは常にファイルオープン状態で、
イベントが発生したタイミングで書き込みのみを行っている為です。

リネーム後にApacheを再起動して、リネーム先ファイルを移動する必要があります。


以上です。