スキップしてメイン コンテンツに移動

投稿

PMD and CPD for ECMAScript (Javascript)

Recently I have tried to use PMD and CPD for Javascript. I found that the offical PMD release says PMD 5.0.0 supports Javascript :D We have strong code inspection tools like Sonar etc. But I think still helpful for setting up compact ant task. PMD PMD ant task setup for javascript is easy, almost same as Java. Only you have to remember is including rhino jar in the classpath. Here is the example. <property name="buildscripts.path" location="${basedir}/generic-buildscripts"/> <property name="pmd.jar" value="pmd-5.0.0.jar"/> <property location="rhino-1.7R3.jar" name="rhino.jar"/> <path id="pmd.classpath"> <fileset dir="${buildscripts.path}/pmd/"> <include name="asm-3.2.jar"> <include name="jaxen-1.1.1.jar"> <include name="${pmd.jar}"> <include pa

「特定の文字から始まらない文字列」にマッチする正規表現

「特定の文字から始まらない文字列」 にマッチする正規表現の例です。  以下の例では、Aから始まらない文字列にマッチする正規表現を示しています。 ^(?!A).*$ 私も正規表現の組み方で四苦八苦することがあります。以下の書籍は実践的に様々な正規表現のパターンを例示してくれているので、重宝しています。

Continuous Integration

最近、継続的インテグレーション(CI:Continuous Integration)の環境の構築に励んでいるので、CIツールを紹介したいと思います。 TeamCity JetBrains 社が販売している分散ビルド管理(Distributed Build Management)と継続的インテグレーション(Continuous Integration)のためのサーバフレームワークです。 メリット とにかくRemoteRunが非常に便利、コミット前にCIServerでテストできるのはありがたいです。 UIがかっこいい(個人的な感想ですが。)  Jenkins 恐らく、2012年現在、CIサーバはJenkinsとTeamCityとの一騎打ち感じではないでしょうか? メリット 豊富なプラグイン! フリー!  2011年末に以下の書籍が発売されたので最近購入しました。初めてCI環境を経験、構築する人にはお勧めできます。私はTeamCityで既に実践(実戦?)経験があり、知っていた部分も多かったので、ちょっと物足りなかったです。ただプラグインの紹介やプラグインの開発の章は参考になりました。CIを初めて体験する方にお勧めします。 O'reillyからもJenkinsの書籍が出ているようです。 CruiseControl フリーの継続的インテグレーションツールです。 恥ずかしながら使ったことはありません。。。ちなみに.Net版の CruiseControl.NET もあるようです。 Sonar このツール自体は、CIサーバではありませんが、PMD、CPDなどのあらゆるCode Inspectionの機能を持ったサーバです。CIとは非常に親和性が高いので、導入をお勧めします。 特にコードの状態の可視化機能は圧倒的に優れていますので、大きなプロジェクトでは、是非導入したいところです。

C++の書籍(原著 vs 邦訳)

以下は、私が実際に購入した書籍です。原著と邦訳版を対で掲載します。 私が購入したのはすべて邦訳版です。英語力のある方は是非、原著を読むことをお勧めします! 書籍の画像をクリックするとAmazonへ飛びます。(欲張ってたくさん載せたら、リンクの画像が表示されない場合があるようです。。。申し訳ありません。) 基礎 C++ from the Ground Up, 4th Edition 色々見比べてこの書籍を購入しました。基本的な部分はすべて網羅されていますので、ちょっとしたC++のプログラムを書き始めるのであれば、十分な書籍だと思います。 中級 Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series) C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) C++だけでなく他の言語でも適用出るようなPracticeもあるので、私のようなJava中心のDeveloperでも役に立ちました。ただ分量の割りにお値段が。。。 More Effective C++: 35 New Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing Series) Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (C++ In-Depth Series) Modern C++ Design: Generic Programming and Design Patterns Applied (C++ In-Depth Series) Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and So