自作PCを作ってみた

CORE i5 2400 15,600円
峰2 CPUクーラー 2,980円
P8Z68-V 17,980円
PSD38G1333KHDDR3 4,580円
GF-GTS450-E1GH 9,980円
CT064M4SSD2 9,800円
BDR-206BK/WSSATA 13,980円
ZALMAN ATX MID CASE Z9 6,480円
STRIDER SST-ST75F-P750 9,800円


Intel CPU Core i5 i5-2400 3.1GHz 6M LGA1155 SandyBridge BX80623I52400

Intel CPU Core i5 i5-2400 3.1GHz 6M LGA1155 SandyBridge BX80623I52400

サイズ 峰2クーラー 大型サイドフローCPUクーラー SCMN-2000

サイズ 峰2クーラー 大型サイドフローCPUクーラー SCMN-2000

Crucial 2.5インチ 内蔵型 SATA3.0対応 M4 SSDシリーズ 64GB CT064M4SSD2

Crucial 2.5インチ 内蔵型 SATA3.0対応 M4 SSDシリーズ 64GB CT064M4SSD2

ZALMAN ATX Mid Towerケース Z9

ZALMAN ATX Mid Towerケース Z9

配列のコピーでハマった。

array = []
array2 = []
:
array2 = array
array.clear

当然のことなんですが、上のように記述したら、
array2の内容もclearされます。

そんなときは、sliceを使う。

配列を要素を含めて全てコピーする - gan2 の Ruby 勉強日記

apacheを1から学んでみた。

Apacheのバージョン

# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Nov 23 2010 10:36:04

指針

/etc/httpd/conf/httpd.confに必要な項目を順次、追加していく。

ServerName

ServerName **.**.**.**

hostnameでも良いが、ipアドレスを書いてる。

ServerRoot

ServerRoot "/etc/httpd"

Listen

Listen 80

UserとGroup

User web-www
Group web-www

apache実行ユーザとそのグループを指定。

DocumentRoot

DocumentRoot "/var/www/html"

htmlファイル等のコンテツを格納する場所。
UserとGroupで指定したユーザでアクセス可能な必要がある。

ServerTokens

ServerTokens Prod

サーバが返すhttp headerにapacheのバージョンとOSを含めない。

ServerSignature

ServerSignature Off

エラーページのfooterに無駄な情報を表示しない。

TraceEnable

TraceEnable off

HTTP methodのTRACEを無効にする。
いまいち、よく分かっておらず。

TypesConfig

LoadModule mime_module modules/mod_mime.so
TypesConfig /etc/mime.types

htmlファイルへの要求にはcontent-type:text/htmlを返答等。
content-typeの返答を正しく行う。

DirectoryIndex

LoadModule dir_module modules/mod_dir.so
DirectoryIndex index.html

ディレクトリへのアクセスの時にindex.htmlを返答する。

charset

AddDefaultCharset utf-8

HostnameLookups

HostnameLookups off

アクセスしてきたipアドレスをhostnameに変換してから、
ログに書き込まないようにする。無駄なので。

Directory

<Directory / >
        Options None
        AllowOverride None
</Directory>

すべてのオプションを無効に。
.htaccessを無視。

cgi_module

LoadModule cgi_module modules/mod_cgi.so

CGIスクリプトの実行が可能なように、cgi_moduleをロード。

ドキュメントルートへの設定

<Directory /var/www/html>
        Options +ExecCGI +FollowSymLinks
        AddHandler cgi-script .rb 
</Directory>

ExecCGIでCGIの実行を許可。
FollowSymLinksでシンボリックリンクを有効に。
AddHandlerで拡張子.rbをCGIスクリプトとみなす。

access log

# access log
LoadModule log_config_module modules/mod_log_config.so
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/my_access_log common

アクセスログを残すにはモジュールをロードする必要がある。
ログファイルを相対パスでmy_access_logと指定してみた。

githubでdotfilesを管理することにした

一箇所でdotfilesを管理する必要に迫られたので、管理することにした。
以下、手順。

githubにプロジェクト『dotfiles』を作成

rdera · GitHubの『Dashboard』→『Create A Repository』

リポジトリの作成

$ cd ~
$ git init
$ vi .gitignore
*  #全てのファイルを除外
*. #全ての隠しファイルを除外
!.bashrc # .bashrcを除外しない

ポイントは.gitignoreファイル。

$ git add .
$ git commit -m "first commit."
$ git remote add origin git@github.com:rdera/dotfiles.git
$ git push origin master


これで、.bashrcがgithubで管理されるようになった。