Monthly Archives: 8月 2014

「Objective-C入門」NSStringとNSDateの相互変換のサンプルプログラム

コード下記:
1.NSStringからNSDateへの変換
– (NSDate *)dateFromString:(NSString *)dateString{

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat: @”yyyy-MM-dd HH:mm:ss”];

 

NSDate *destDate= [dateFormatter dateFromString:dateString];

return destDate;

}

2.NSDateからNSStringへの変換
– (NSString *)stringFromDate:(NSDate *)date{

NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];

//zzzタイムゾーン

[dateFormatter setDateFormat:@”yyyy-MM-dd HH:mm:ss zzz”];

NSString *destDateString = [dateFormatter stringFromDate:date];

return destDateString;

}

Webレスポンス測定ツールhttp_loadをインストール、設定する方法

概要:
http_loadはwebサーバのベンチマークツールです。apache付属のabとは違い、複数のURLに対して同時にアクセスできる。
1.http_loadをダウンロード
URL:
http://acme.com/software/http_load/
cd /root
wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
tar xzf http_load-12mar2006.tar.gz

2.http_loadをインストール
cd http_load-12mar2006
make

3.http_loadの使い方
root@www:~/http_load-12mar2006
# ./http_load –help
usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
-parallel N | -rate N [-jitter]
-fetches N | -seconds N
url_file
One start specifier, either -parallel or -rate, is required.
One end specifier, either -fetches or -seconds, is required.

4.http_loadのパラメータ説明
-parallel : 同時接続数の指定
-rate: 毎秒ごとの新しい接続数の指定
-fetches:接続する合計回数
-seconds:接続する秒数

5.検証テスト

パラメータを選択するとき、-parallelとrateの中に一つを指定、-fetchesと-secondsの中に一つを指定
5.1 http_load -parallel 50 -s 10 urls.txt
説明:同時に50プロセスを使用して、ランダムurls.txtのURLリストにアクセス、合計10秒です

5.2 http_load -rate 50 -f 5000 urls.txt
説明:秒あたり50回リクエスト、合計5000回まで停止
 

Mac、Ubuntu、CentOSおよびWindowsでNode.jsをインストール

1.Mac
1.1 homebrewでインストール
brew install node

1.2 手動でインストール
Xcodeをインストール
gitをインストール
次のコマンドラインを実行してコンパイルする
git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install

2.Ubuntu
依存パッケージをインストール
sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core

次のコマンドを実行
git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install

3.Windows
3.1 cygwinをインストール
3.2  cygwinディレクトリのsetup.exeを実行して次のパッケージをインストール
devel → openssl
devel → g++-gcc
devel → make
python → python
devel → git

3.3 cygwinを実行
3.4 次のコマンドを実行
git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install
4.CentOS

yum install gcc-c++ openssl-devel
wget –no-check-certificate https://github.com/joyent/node/tarball/v0.3.3
tar -xzvf ry-node-v0.3.3-0-g57544ba.tar.gz
cd ry-node-v0.3.3-0-g57544bac1
./configure
make
make install
5.検証テスト
startnews24_node.js
var http = require(‘http’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
res.end(‘arkgame.comn’);
}).listen(8124, “127.0.0.1”);
console.log(‘Server running at http://127.0.0.1:8124/’);

コードを実行
node hello_node.js
Server running at http://127.0.0.1:8124/

CentOSでrsync3.1.1(remote synchronize)をインストール、設定方法

1.システム要件:
バージョン:3.1.1
ダウンロードURL:
http://www.samba.org/ftp/rsync/

2.rsyncをダウンロードしてインストール
# cd /usr/local/src/tarbag/ //ダウンロードディレクトリを切り替える

# wget http://www.samba.org/ftp/rsync/rsync-3.1.1.tar.gz //wgetでファイルをダウンロード

# tar –xzvf rsync-3.1.1.tar.gz –C ../software/ //指定されたディレクトリにtarパッケージを解凍

# cd /usr/local/src/software/ rsync-3.1.1/ //解凍ディレクトリに切り替える

# ./configure –prefix=/usr/local/rsync –disable-ipv6 //設定

# make && make install //コンパイルとインストール

3.サーバー側の設定

# vi rsyncd.conf

log file = /usr/local/rsync/var/rsyncd.log //ログファイル

pid file = /usr/local/rsync/var/rsyncd.pid //pidファイルパス

lock file = /usr/local/rsync/var/rsyncd.lock //ロックファイルを指定

secrets file = /usr/local/rsync/etc/rsyncd.pas //ユーザーパスワードを指定

motd file = /usr/local/rsync/etc/rsyncd.motd //ウェルカムメッセージファイルを指定

read only = yes // 読み取り専用(クライアントからサーバーに同期される場合NOを設定)

hosts allow = 192.168.0.0/16,192.168.1.0/24 //許可されたIPセグメント

list = yes //リストを許可

uid = nobody //ユーザーとして起動

gid = nobody //ユーザーグループとして起動

use chroot = no

max connections = 4 //接続の最大数

[bak] //モジュール

path = /bak //モジュールディレクトリ

comment = www bak //記述情報、任意記入することができる

auth users = bak //認証されたユーザー

# vi rsyncd.pas //:で分離

bak:startnews24_989

(保存して終了)

# chmod 600 rsyncd.pas //パーミッションは600を設定

# vi rsyncd.motd //ウェルカムメッセージを設定

welcome to rsync 161

# rsync –daemon –config=/usr/local/rsync/etc/rsyncd.conf
4.クライアント側の設定
# vi /etc/rsyncd.pas

startnews24_989

#chmod 600 /etc/rsyncd.pas //パーミッション600

# rsync -avH –progress –delete –password-file=/etc/rsyncd.pas /ftpdata/client/ root@192.168.40.121::bak
5.説明
–delete:bakモジュールの存在しないクライアントファイルを削除

–password-file:サーバー側と一致するパスワードファイル

/ftpdata/client/:ソースディレクトリを同期

root@192.168.40.121::bak:目標モジュールを同期

機能:

ローカルディレクトリ「/ftpdata/client/」の全てファイルを「192.168.40.121」サーバのbakモジュールディレクトリにコピーする

6.同期方法:

Rsync –avH /usr/local/src 192.168.0.2:/backup/test_startnews24/ //全体srcディレクトリをtest_startnews24に同期

Rsync –avH /usr/local/src/ 192.168.0.2:/backup/test_startnews24/ //srcディレクトリの全てファイルをtest_startnews24に同期

「shellの学習」SVN(Subversion)リポジトリのバックアップ方法

スクリプトコード:

#!/bin/bash
SVN_REPOS=(/www/svn/web/*.arkgame.com)
BACKUP_BASE_DIR=/www/repo_backup
backup_rotate() {
if cd $1
then
for num in 7 6 5 4 3 2 1
do
old=expr $num + 1
if [ -d backup.${num} ]
then
if [ -d backup.${old} ]
then
rm -rf backup.${old} && mv backup.${num} backup.${old}
else
mv backup.${num} backup.${old}
fi
fi
done
else
echo “change BACKUP_DIR error!”
exit 1
fi
}
for REPO in “${SVN_REPOS[@]}”
do
REPONAME=/usr/bin/basename $REPO
BACKUP_DIR=”$BACKUP_BASE_DIR/$REPONAME”
[ -d “$BACKUP_DIR” ] || mkdir -p $BACKUP_DIR
cd $BACKUP_DIR && backup_rotate $BACKUP_DIR
/usr/bin/svnadmin hotcopy $REPO $BACKUP_DIR/backup.1
done

説明:

7個バックアップ、backup.1最新バックアップ、backup.7古いバックアップ

CentOS 5.6環境でLAMP(PHP、MySQL、Apache)を構築する手順

1.最新版ライブラリとパッケージを確認
yum check-update
yum update

2.Apacheのインストール
yum install httpd
chkconfig -add httpd
service httpd start

3.MySQLのインストール
3.1 インストール手順
yum install mysql-server
chkconfig –add mysqld
service mysqld restart
mysql_secure_installation
Remove anonymous users?[Y/n]  Y
Disallow root login remotely?[Y/n] Y
Disallow root login remotely?[Y/n] Y
Reload privilege tables now?[Y/n] Y

3.2 データベースのデフォルトキャラクタセットがUTF8を設定
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set = utf8
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so,uncomment this line:
# symbolic-links=0

[mysql]
default-character-set = utf8

chkconfig mysqld on
chkconfig –list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

起動:/etc/rc.d/init.d/mysqld start

4.PHPのインストール
PHP5.1をインストール
yum install php php-mysql

PHP5.3をインストール
yum install php53 php53-mysql
5.ファイアウォールを操作
#/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT
#/etc/rc.d/init.d/iptables save

Linux環境でlampのApache、MySQL、PHP設定ファイルとデフォルトインストールパス

1Apache

1.1RPMでインストール場合:
インストールパス: /etc/httpd
apache構成ファイル:/etc/httpd/conf/httpd.conf
apacheモジュールパス: /usr/sbin/apachectl
webディレクトリ:/var/www/html

1.2ソースパッケージでインストール場合:
インストールパス:/usr/local/apache2
2.PHP
2.1 RPMでインストール場合
インストールパス場合:/etc/
構成ファイル:/etc/php.ini
2.2 ソースパッケージをインストール場合
インストールパス:/usr/local/lib
構成ファイル: /usr/local/lib/php.ini
または/usr/local/php/etc/php.ini

 

3.MySQL
3.1 RPMでインストール場合
インストールパス:/usr/share/mysql
mysqldumpファイルパス:/usr/bin/mysqldump
構成ファイル:/etc/my.cnfまたは/usr/share/mysql/my.cnf
MySQLデータディレクトリ:/var/lib/mysql

3.2ソースパッケージでインストール場合
インストールディレクトリ:/usr/local/mysql

 

FileZilla Client 3.9.0.2 をダウンロード

ダウンロード:
提供元サイトからダウンロード
cnetサイトからダウンロード
softpediaサイトからダウンロード

更新内容:

  • MSW: Updated installer to fix an issue with re-registring the shell extension after a reboot on 32bit system if a another program keeps the extension locked
  • Closing FileZilla during a recursive operation no longer hangs
  • OS X: Manually handle CMD+V and CMD+A for password fields as Cocoa cannot seem to do it by itself
  • OS X: Manually handle CMD+X, CMD+C, CMD+V and CMD+A in the path combo boxes
  • OS X: Creating new tabs selects the newly created tab again
  • Detect some types TLS error conditions earlier instead of waiting for a timeout
  • Small performance imprvement for TLS handshakes
  • Do not show error message if “Create and enter” is used with synchronized browsing enabled