27 2月

Perl入学式#2に参加しました。

2/25に開催されたPerl入学式#2に参加してきました。

前回の#1では環境の構築で今回はPerlでプログラムを書いていくまずはお作法を覚える回といった感じでしょうか。

文末は「;」で終わらせるとか「#」でコメントアウトだとかの基本から

シバンでPerlコマンドの指定をする

use strict;
use warnings;
use utf8;

といった基本ののおまじないの説明。

変数、配列、連想配列(ハッシュ)の説明

といったところでした。
それらの説明が終わったところで簡単な課題をやってみようということで
4問ほどやりました。 課題と自分が書いたコードはこんな感じです。

  1. 値を入力して入力された値の2乗の数値を出力する
    [perl]
    #! /home/nullpop/perl5/perlbrew/perls/perl-5.10.1/bin/perl

    use strict;
    use warnings;
    use utf8;

    binmode STDIN,":encoding(utf8)"; # 標準入力をUTF-8にエンコード
    binmode STDOUT,":encoding(utf8)"; #標準出力をUTF-8にエンコードする

    printf "値を入力してください:";
    my $int = <STDIN>;

    my $ans = $int ** 2;

    print "$int の2乗は$ans n";
    [/perl]

  2. 値aと値bを入力して入力された値の平均を出力する
    [perl]
    #!/home/nullpop/perl5/perlbrew/perls/perl-5.10.1/bin/perl

    use strict;
    use warnings;
    use utf8;

    binmode STDIN,":encoding(utf8)"; # 標準入力をUTF-8にエンコード
    binmode STDOUT,":encoding(utf8)"; #標準出力をUTF-8にエンコードする

    print "値aを入力してください:";
    my $numa = <STDIN>;

    print "値bを入力してください:";
    my $numb = <STDIN>;

    my $ans = ($numa + $numb) / 2;

    print "$numa と $numb の平均は$ans  です。n";
    [/perl]

  3. 身長を体重を入力してBMIを表示させる
    [perl]
    #!/home/nullpop/perl5/perlbrew/perls/perl-5.10.1/bin/perl

    use strict;
    use warnings;
    use utf8;

    binmode STDIN,":encoding(utf8)"; # 標準入力をUTF-8にエンコード
    #binmode STDOUT,":encoding(utf8)"; #標準出力をUTF-8にエンコードする

    print "身長を入力してください(cm):";
    my $numa = <STDIN>;

    #単位をcmからmに変換する
    $numa = $numa / 100;

    print "体重を入力してください(kg):";
    my $numb = <STDIN>;

    #BMIの計算
    my $ans = $numb / ($numa **2);

    print "あなたのBMI値は$ans です。n";
    [/perl]

  4. 時間、分、秒、を入力し合計何秒か表示させる
    [perl]
    #!/home/nullpop/perl5/perlbrew/perls/perl-5.10.1/bin/perl

    use strict;
    use warnings;
    use utf8;

    binmode STDIN,":encoding(utf8)"; # 標準入力をUTF-8にエンコード
    binmode STDOUT,":encoding(utf8)"; #標準出力をUTF-8にエンコードする

    print "時間を入力してください:";
    my $numa = <STDIN>;

    my $hour = $numa * 3600;

    print "分を入力してください:";
    my $numb = <STDIN>;

    my $min = $numb * 60;

    print "秒を入力してください:";
    my $numc = <STDIN>;

    my $ans1 = ($hour + $min + $numc);

    print "1回目に入力されたのは $ans1 秒です。n";

    print "2回目n";
    print "時間を入力してください:";
    my $numa2 = <STDIN>;

    my $hour2 = $numa2 * 3600;

    print "分を入力してください:";
    my $numb2 = <STDIN>;

    my $min2 = $numb2 * 60;

    print "秒を入力してください:";
    my $numc2 = <STDIN>;

    my $ans2 = ($hour2 + $min2 + $numc2);
    print "2回目に入力されたのは $ans2 秒です。";

    my $ans3 = $ans2 – $ans1;
    print "1回目と2回目の差は$ans3 秒です。n";
    [/perl]

課題4問終わったところで時間となりそのあとは懇親会となりました。
懇親会では 熱い意見交換が繰り広げられ個人的には非常に参考になりました。
最後に名刺交換となりましたがまさかの名刺を忘れていくということをやらかしてしまった。次回は忘れずに持っていかねば。

次回Perl入学式#3は3月18日に今回と同じ十三の水交ビルで行われるそうです。
ATNDから申し込みできるので興味がある方で時間が合う方はぜひ。

今回の#2の同じ内容の補講についても3月11日に行われるそうなので今回時間が合わなかった人はこちらに参加すればいいんじゃないかな。
補講もATNDから参加申し込みできるので行きたい人はお早めにどぞ。

23 2月

Apache HTTP Server 2.4.1 をビルド

CentOS5.7と6.2の環境どちらも同じ手順で行いました。

167 wget http://ftp.riken.jp/net/apache//httpd/httpd-2.4.1.tar.gz
168 wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-1.4.6.tar.gz
169 wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-util-1.4.1.tar.gz
170 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
171 tar zxvf apr-1.4.6.tar.gz
172 cd apr-1.4.6
173 ./configure –prefix=/usr/local/apr-1.4.6
174 make
175 make install
176 cd ..
177 tar zxvf apr-util-1.4.1.tar.gz
178 cd apr-util-1.4.1
179 ./configure –prefix=/usr/local/apr-util-1.4.1 –with-apr=/usr/local/apr-1.4.6/
180 make
181 make install
182 cd ..
183 tar zxvf pcre-8.30.tar.gz
184 cd pcre-8.30
185 ./configure –prefix=/usr/local/pcre-8.30
186 make
187 make install
188 cd ..
189 tar zxvf httpd-2.4.1.tar.gz
190 cd httpd-2.4.1
191 ./configure –prefix=/usr/local/apache-2.4.1 –enable-load-all-modules –with-apr=/usr/local/apr-1.4.6/ –with-apr-util=/usr/local/apr-util-1.4.1/ –with-pcre=/usr/local/pcre-8.30/
192 make
193 make install

14 2月

CentOSでMinecraftのサーバを立ててみる。

CentOS6.2で作業した時のメモです。

1.javaのインストール

Minecraftはjavaで作成されたプログラムなのでサーバを動かす際にもjavaが必要となる。
そのためJDKをインストールする。

http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html
から jdk-7u2-linux-x64.rpmをダウンロードする。

SCP等でjdk-7u2-linux-x64.rpmをアップロード
※teratermだとD&DでSCP転送できたりする。

JDKのインストール

rpm -ivh jdk-7u2-linux-x64.rpm

インストールが終わったらコマンドが通るかテスト

java -version
==============================================================
java version “1.7.0_02”
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)
==============================================================
バージョンが表示されればOK

2.サーバのインストール

サーバを動かすためのユーザを作る

useradd minecraft -d /usr/local/minecraft

パスワードの設定

passwd minecraft

サーバ用プログラムをダウンロード

cd /usr/local/minecraft
wget https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar?

chown minecraft. minecraft_server.jar

起動用スクリプトのダウンロード
起動用スクリプトはhttp://www.minecraftwiki.net/wiki/Server_startup_script
からありがたく頂戴する。

wget -O minecraft “http://www.minecraftwiki.net/Server_startup_script/Script?action=raw”

 

 

URLが変わったようなので修正
wget -O minecraft “http://www.minecraftwiki.net/wiki/Tutorials/Server_startup_script/Script?action=raw”

 

さらにURL変わったようなので修正

wget -O minecraft “http://minecraft.gamepedia.com/Tutorials/Server_startup_script/Script?action=raw”

 

環境に合わせて編集を行う

vim minecraft
==============================================================
※編集箇所のみ記載
SERVICE=’minecraft_server.jar’ ←サーバプログラムの名前
OPTIONS=’nogui’ ←CUIで動かす。変更しない。
USERNAME=’minecraft’ ←サーバプログラム実行用ユーザを指定
WORLD=’world’ ←ワールド情報の保存先を指定
MCPATH=’/usr/local/minecraft/’ ←サーバプログラムの保管場所を指定
BACKUPPATH=’/usr/local/minecraft/minecraft.backup’  ←バックアップファイルの保管場所を指定
CPU_COUNT=2 ←コア数以下の数値にする。
INVOCATION=”java -Xmx4096M -Xms1024M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts -jar $SERVICE $OPTIONS”
==============================================================
-Xmx はメモリの最大使用時の値
-Xms はメモリの初期サイズの値であり最小値の値
ここを設定する際は単位をつけないとそのままの数字で確保されるため注意。
例えばうっかり「-Xms1024」としてしまった場合は1024バイトに設定されるので注意。

Javaコマンドのオプションの詳細については各自でググってください。

編集が終わったら実行権限を付与する

chmod 755 minecraft

起動スクリプトはいつもの場所に設置する

mv minecraft /etc/init.d

今回利用するスクリプトはscreenコマンドを使用するためscreenコマンドがサーバ
にインストールされている必要がある。
もしインストールされていない場合は以下のコマンドを実施してインストール。

yum install screen

設置作業はこれで終了。

サーバを起動する

/etc/init.d/minecraft start

無事起動すると
===============================================================
Starting minecraft_server.jar…
minecraft_server.jar is now running.
===============================================================
な感じで表示される。

あとはサーバ再起動時に自動で起動するよう設定。

chkconfig –add minecraft

これで設置完了。
スクリプトの詳細はMinecraftwiki(http://www.minecraftwiki.net/wiki/Server_startup_script)みてください。

minecraftサーバコマンドのサーバコマンドを用いてメンテナンスするときは

/etc/init.d/minecraft command ”server command”

で実施する。