Hatena::ブログ(Diary)

HARAのグルメ日誌

2012-02-02

PMD入れてみた

PMDJava用の静的解析ツール.FindBugsとの違いってなんだろ.

Eclipseプラグイン版のPMDをインストールしてみた.

下のような感じで出力される.アンダースコア使うな,とかSysout使うな,とか,細かいけど大事な事を指摘してくれる.

f:id:hara_masa:20120202165010p:image:w360

2012-01-20

SSHポートフォワードで簡単にトンネリング

localhost:9999にすればどういうわけかhostnameにトンネルを掘ってそこから入れるらしい

  1. $ ssh -p [ポート番号] -D 9999 hara@hostname
  2. ブラウザのSocksプロキシサーバ設定でlocalhost:9999を指定(HTTPプロキシサーバは使わない*1

*1localhostHTTP Proxyが立ってないとダメだから

2012-01-18

Dealing with “non-fast-forward” errors

pushするとエラーが起きることがあります

$ git push origin master

To ../remote/

! [rejected] master -> master (non-fast forward)

error: failed to push some refs to '../remote/'

To prevent you from losing history, non-fast-forward updates were rejected

Merge the remote changes before pushing again. See the 'non-fast forward'

section of 'git push --help' for details.

他のユーザが同じブランチにpushした時に起きるエラーだそうです

http://help.github.com/remotes/ の翻訳

解決策

グラフ多くない?

  • プログラム依存グラフ(PDG)
  • 制御フローグラフ(CFG)
  • データフローグラフ(DFG)
コールグラフ
プログラムのサブモジュール間の呼び出し関係を有向グラフにする

2012-01-17

Mavenでプロジェクトを管理する

参考

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

http://www.techscore.com/tech/Java/ApacheJakarta/Maven/index/

概要

Mavenは,プロジェクト管理に用いられる

POMは,プロジェクトの情報をXMLで表現したもの

依存関係や継承関係なども表現することができる

覚書

mvn eclipse:eclipseでpom.xmlからEclipseプロジェクトを生成できる?

Graphvizで有向グラフを描く

参考

http://99blues.dyndns.org/blog/2010/01/graphviz/

動機

手っ取り早く有向グラフが書きたい

覚書

  • graphvizを入れる
  • dotスクリプトファイル(test.dot)を作成
digraph sample{
  graph [rankdir = LR];
  one -> two;
  one -> three;
  two -> four;
  two -> five;
  five -> six -> seven;
}
  • $dot -Tpng test.dot test.pngpng形式で出力

OMakeを使ってみた

参考

http://d.hatena.ne.jp/hayamiz/20081208/1228727272

メモ

  • omake --install
    • OMakeroot,OMakefileが生成される
  • OMakefileの書き換え(監視対象ファイル:documentとする)

LATEX = platex

DVIPDFM = dvipdfmx

LaTeXDocument(document, document)

.DEFAULT: document.pdf document.dvi

  • omake -P --verbose
    • 継続ビルド監視機能によって,監視対象ファイルが保存される度にビルドされる

2012-01-16

アスペクト指向って実際どのように実現されるんだろう

アスペクト指向

オブジェクト指向の弱点を補う為に生まれた

データとメソッドだけでは幅広い関心事(ロギングなど)を表現できない

Javaを拡張してアスペクト指向を可能にするAspectJなんかがある