Translate

2013年8月17日土曜日

Perlのクラス作成 メモ

Perlのクラス作成について自分用のチートシート的にまとめておく

クラス作成で最小の状態は以下の通り
package クラス名;

sub new{
    return bless {}, shift;
}

1;




面積を求めるRectangleクラスを例に考える
コンストラクタでwidth と heightの値を設定し
getAreaで面積を求める

ファイル名:lib/Rectangle.pm
package Rectangle;
use strict;
use warnings;
use utf8;
binmode STDERR, ":utf8";

my ($width, $height);

sub new{
    return bless {}, shift;                                                        
}

sub setSize{
    my $self = shift;

    if(@_!=2){die("setSizeの引数を2つ指定してください(width, height)")}
    $width  = $_[0];
    $height = $_[1];
}

sub getArea{
    my $self = shift;
    return $width * $height;
}

1;

ファイル:Sample.pl
use strict;                                                                        
use warnings;
use utf8;
use feature 'say';
binmode STDOUT, ":utf8";

use lib qw(lib);
use Rectangle;

my $r = Rectangle->new();
$r->setSize(123, 45);
say $r->getArea();

2013年8月15日木曜日

Gitを一人で使うさいのメモ

■初期準備
git init



[WorkTree] → [Index] → [repository]

■Indexに追加
git add [file]指定したファイルをIndexに追加
git add .全てのファイルをIndexに追加する
git add -uCommit済みファイルのうち変更のあったものだけ追加
git add -pIndexへの追加を、変更箇所単位(ハンク)で追加
git add -Agit add . + git add -u



[WorkTree] ← [Index] ← [repository]
■Indexから削除
git reset HEAD [file]ステージへの登録を解除する


[WorkTree] → [Index] → [repository]
■コミット
git commit -m "内容"1行メッセージと共にコミットする



■バージョン管理下から除外する
git rm [file]バージョン管理下からはずし、ファイル自体も削除する
git rm --cached [file]バージョン管理下からはずす(ファイルは残す)



■状態の確認
git statusgitの状態を表示
git logコミットログを表示
git log -数字数字分コミットログを表示
git log -pコミットログにパッチ(差分情報)を追加して表示
git log --pretty=shortコミットログ(1行目の要約文のみ)を表示

2013年5月25日土曜日

クラス HelloWorld は public であり、ファイル HelloWorld.java

helloworld.java:1: クラス HelloWorld は public であり、ファイル HelloWorld.java
で宣言しなければなりません。
public class HelloWorld
       ^
エラー 1 個

クラス名とファイル名を揃えなさいって話ね。

Javaでコンパイルしたら文字化けしましたとさ@Mac

ターミナルがUTF-8なのに対し、コンパイル後のメッセージがShiftJIsなため
文字化けるというお話。

なので、全てUTF-8に統一してしまえばよいよね。
ということでメモ
## alias
alias java='java -Dfile.encoding=UTF-8'
alias javac='javac -J-Dfile.encoding=utf-8'


これで
javac ファイル名.java でコンパイル
java ファイル名 で実行。

2013年5月11日土曜日

configure make make install のしていること

どうもWindows OSどっぷりな状態でぼたんぽち一つでインストールされる環境になれてしまうと
Unix OS系のインストール作業になかなかなじめないってのが最初に感じるとこだったりするのでは
と思ってみたり。

なじめないのは、
やれ configure だの make だの make install だの ヤサイマシマシニンニクアブラカラメ
だの何してるんだかわからずに使っているからなじめないような気がしているのでインストール作業で何しているのかメモ。


1.ソースを入手
wgetコマンドで 目的のファイルをカレントでリレクトリにダウンロードします。
例)
wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.24.zip
wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.24.tar.gz


2.解凍
圧縮されているだろうから解凍しましょ。
例)
unzip mysql-5.5.24
tar xvzf mysql-5.5.24.tar.gz

tarのコマンドに触れる前に…
tar は複数のファイルを1つにまとめるもの。
この時点で圧縮は行われないため、tar.gzのように
gzipやbzip2を併用して初めて圧縮が行われる。

ちなみに、一つにまとめることを書庫化というみたい。

ということでtarがある時点で一つのファイルにまとめられているので
そこから複数のファイルに取り出したい。
そこでxというオプションが必要になる。
x...書庫からファイルを取り出す。

ただ、tar.gzのように圧縮されているとそれらを使って戻さないといけないので
zというオプションが必要になる。
z...gzipを使って圧縮解凍を行う。

ちなみに、何を解凍したのか気になるなぁ〜
という場合vコマンドが必要になる。
v...処理の詳細をターミナルに表示する

f...ファイル名を指定する際に使用。
解凍するんだからファイル名指定するよね。

という感じ。


3.configure
インストールするOSの情報を調べ、インストールに必要な情報をMakefileとして作成する

4.make
configureで作成したMakefileをもとにソースコードをコンパイルする。
もちろんコンパイルしているだけでシステムのどっかに組み込む作業をしているわけでない。
解凍したファイルを消せばさようならです。

5.make install
makeしたファイルに問題がなければmake installをして既定のデリレクトリにコピーを行う。
ここで初めて所定の場所に組み込まれる。