2013年10月28日月曜日

apacheのrotatelogs

よく知られていますが、httpd.conf等に下記のような記述をすることが多いかと思います

CustomLog '|/hoge/apache/bin/rotatelogs "logs/access_log.%Y%m%d 86400 540' "combined" "



マニュアルに書いてますが
http://httpd.apache.org/docs/2.4/programs/rotatelogs.html


86400ってのは、1日を表す「秒」
540ってのは、offsetなんですが、なぜか「分」なんですね。


上記を設定すると下記のようなファイルができます

access_log.2013101

知らなかったのですが、どっかのバージョンから -l というオプションがついてまして、これを使うとローカルタイム(UTCではなく)を使うようになるので、540が不要になったみたいです。

つまり、+9時間してくれると。

手元のapacheにローテートが入ってなくて、久しぶりにぐぐったので、φ(`д´)メモメモ...

2013年10月25日金曜日

mockito参考になるリンク集(あとでかく)

http://www.slideshare.net/momomoblue/mockito-12627783

tmux & screen チートシート

tmux


デフォルトはctrl + bだけど、置き換えたほうが使いやすい...

ショートカットキー

  • ペイン分割(縦)
    • ctrl + b %
  • ペイン分割(横)
    • ctrl + b "
  • ペインレイアウト変更
    • ctrl + b [space]
  • ペイントを閉じる
    • ctrl + b &


コマンド
  • 再接続
    • tmux attach


screen

  •  セッションのデタッチ
    • ctrl + a , ctrl +d
  • セッションの再接続
    • screen -r
  • セッション一覧
    • screen -ls
       


Clean Code 2章のメモ

社内の輪講で使ったやつ

2章

意味のある名前


意図が明確な名前にする

これはだめ

public List<int[]> getThem() {
List<int[]> list1 = new ArrayList<int[]>();
for (int[] x : theList)
if( x[0] == 4 )
list1.add(x);
return list1;
}


ここがよくない
・暗黙さ

こんなかんじ

public<Cell> getFlaggedCells() {
List<Cell> flaggedCells = new ArrayList<Cell>();
for (Cell cell : gameBoard)
flaggedCells.add(cell);
return flaggedCells;
}

偽情報を避ける

似情報の例

・hp,aix,sco などの変数
unix由来?と錯覚する
・Listではないものに、hogeListとする
acoountsぐらいにしておく
・ごく一部のみが違う名前
・小文字のL,大文字のOなど


意味のある対比を行う

ノイズワード

・数字の連続(a1,a2...)
無情報です
source,destinationなど意味のあるものに

・意味のはっきりしない単語
Info? Data?
おなじです

・aとかtheのようなもの
明確な違いが生じるのであればOK
zorkがあるときに、theZorkはNG


発音可能な名前を使用する

・英単語として発音できるものにしよう


検索可能な名前を用いる

・1文字の名前は小さなメソッドのローカル変数でのみOK
・長い定数はあり
なるべく、enum、でいいんじゃね?


エンコーディングを避ける

・読めないものはよくない
・新たなことを覚えさせるのもだるい


ハンガリアン記法

・辞めよう

例)
long整数 lData
PhoneNumber phoneString; // やってしまう...


メンバープレフィックス

・m_など
そもそもなんで昔つかってたの??


インターフェースと実装

・Iを前置、IHogeFactory
やめよう
・HogeFactoryImp or CHogeFactory
Cは具象のconcreteかな


メンタルマッピングを避ける

・i,j,kはループの中ぐらいなら可
・プロのプログラマは透明性を大事にする(賢い、のではない)


クラス名

・名詞あるいは名詞句をつけろ
Customer,WikiPage,Account,AddressParserCustomer
・Manager,Processor,Data,Info は避けるべき
・動詞を避けるべき


メソッド名

・postPayment,DeletePage,save などの動詞、動詞句
・Accessors,mutators,predicatesといった名前はメソッドが扱う値に付けるべき(get,set,isを前置しろ)
・コンストラクタがオーバーロードされている場合は、staticなファクトリメソッドを用意し、名前に引数を表現するものを含める

気取らない


1つのコンセプトには1つの単語
・複数のクラスで、fetch,retrieve,getを同じ意味で提供するとかやってはいけない
・controller,manager,driver なんかも紛らわしい
・整合性を持った語彙が大切


語呂合わせをしない

・addに、連結とコレクションの追記、2つの意味があるなどやってはいけない



解決領域の用語の使用

・すべての名前をいちいち業務用語か取り出すのは推奨しない
・プログラマーが分かる言葉(JobQueue,AccountVisitor)がよい


問題領域の用語の使用

・処理がプログラマちっくでないのであれば、業務側から用語を持ってきてもよい



意味のある文脈を加える


根拠のない文脈を与えない

2013年10月18日金曜日

eclipse俺俺チートシート

ショートカット
(macなんで、ctrl ≒ cmd)

移動

  • ジャンプ
    • f3
  • ジャンプからもどる
    • cmd + [
  • クラス検索
    • cmd + shift + r
  • クイック階層移動
    • cmd + t
  • workspaceの検索
    • ctrl + h

生成

  • javadoc生成
    • cmd + shift + j

整形

  • フォーマット
    • cmd + shift + f

TIPS


参考になるリンク
http://hutyao.hatenablog.com/entry/eclipse-shortcutkey



まだ書きかけ

2013年10月8日火曜日

自前のWordPressを運用する意義が見いだせなくなったので、Bloggerに引っ越しました。

wordpress形式をexportしたものを下記のサイトでconvertして、bloggerにimportできました。

http://wordpress2blogger.appspot.com/

ありがたい。

wordpressのほうはしばらく放置しておきますが、そのうち消します。