Java
12/25 追記 JDK8でmaven releaseプラグイン経由でJARを生成するときにjavadocを作成しててエラーになった。 maven-javadoc-pluginのconfiguration <additionalparam>-Xdoclint:none</additionalparam> を追加した サーバ構成 インフラの構成ファイルはchefで管理 アプリケーションサーバ 約50台 …
https://github.com/hachi-eiji/flyway-rollup仕事でFlywayを使ってるのですが、いくつが問題が出てきて 開発が進むとファイルが増える(V100とかまでできた) flywayのlocationsを安定版(本番で稼働中)と開発用(自分が開発中)でディレクトリを分けた場合に、 …
Agile Samurai Base Camp 2014 Re:TDDに参加してきました - 個人的なまとめでかいたようにJUnit+Grooy+Spockでテストのテンプレを書いてみました。 コードはこちら https://github.com/hachi-eiji/java-spock-practice正直Groovyは初めて書いた(ネットで落ち…
異動後、約1ヶ月経過したのでまとめる 自分のなかで生産性が変わったもの ・SubversionからGitHubEnterprise(GHE)に変わった Git-flowをベースにdevelopブランチにマージするときにPull Request(PR)を投げてレビューしてもらうようにしています。ローカルで…
Webアプリを作成していて、現在時間を変更しないといけないケースというのがあります。ローカル環境で開発してると時間を変更すると色々問題なので、Vagrantを使うと便利です。ローカルのpom.xmlを以下のようにしてビルドするときにrootディレクトリ以下にWE…
/.Jに聞け:Javaを使うメリットは?あると思ってますよ。ぱっと思いつくところでは 静的型付け言語。型推論あるし Eclipse,Intellij IDEA などのIDE強力 いろいろなノウハウが溜まってる それなりに人材がいるのでメンバーの入れ替えや補充を考えやすい ちゃ…
いままではテスト対象クラスで定義しているDI部分をEasyMockで、staticメソッドのMockをPowerMockで書くことがほとんどでした。 昨日テストケースを書くときに@PostConstructで定義されている部分があったので、普通にDIを使って書いてたのですが、staticメ…
Java7 になってtry-catch-resourceとかDiamond Operatorとか色々入ってきていますが、java.util.Objectsクラスが入って来ました。 比較するオブジェクトがnullのときに、ぬるぽガッってならないので便利ですね。JavaDocを見てると、equalsとdeepEqualsという…
久しぶり(?)にJavaネタ。 昨日/今日とユニットテストを書いてて、悩んだというか飽きてました。理由はテストを実行するときにJavaBeansにデータをセットしてたのですが、これがめんどくさい。最初はEclipseの保管機能とかで書いてたのですが、時間が経つ…
こんなレガシーコードがありました。現在日付がちゃんと設定されているかテストしたいんですがどうしたもんか… テストコード書きやがれ。 import java.util.Date; public class Hoge { // テスト対象 public HogeBean execute() { HogeBean bean = new HogeB…
社内の人が研修でSpringMVCやってるらしいので、流行りに乗ってやってみました。といっても、やることと 1. システム例外発生時のエラー画面遷移 2. DBからデータを検索してきたときに、404エラーへ飛ばす。 の2本でお送りします。ソースはGitHub上へここへ…
ということで、今回MongoDBの例外処理です。例外を故意に発生させてどのような動きになるか確認してみたいと思います。 とりあえず適当に一番下のような検証コードを実装してみました。 エラーを起こした結果、あれ?MongoExceptionは発生したけど、resultは…
登録・更新処理 登録・更新はhidden項目に_idがあるかどうかで判断しています。 (セキュリティ的にはセッションに_idに入れておくとか、DESで暗号化したものをhiddenに入れろとかツッコミは甘んじてお受けします) MongoDBではsaveメソッドを使うと、_idがMon…
今回はエラーチェックです。 エラーチェックの方法 エラーチェックはhibernateが用意しているものと自作をします。 やることは サーバ名、OS、IPアドレス必須 IPアドレスがIPアドレス(IPv4)の記法に一致しているか。(あんまり厳密にはみません) インストール…
今日はGETのデータの取得方法です。 GETでデータを取得する。 今回もアノテーションが大活躍です。というか、アノテーションしかないなぁ… やりたいこと http://localhost:8080/sample/edit/ として詳細データを取得する ポイント アノテーション@RequestMap…
今回はMongoDBはなしです。SpringMVCのみに触れます。 画面を表示する 画面を表示するControllerクラスを実装します。 1) @Controllerアノテーションをつけると、このクラスがコントローラクラスとなります。 2) @RequestMapping(value = "/", method = Requ…
SpringMVC、MongoDBを使って簡単なWebアプリを作ってます。 まだ全部作ってはないけど、最初にハマったところをメモ。下のようなサイトを参考にさせて頂きました。 http://journal.mycom.co.jp/articles/2010/04/09/spring5/index.html http://d.hatena.ne.j…
業務システムをAndroidで作ろうしているのだが、XML解析をするときに慣れている、Apache Digesterを使いたかったが、使えない。以下のようなエラーが出てくる。 05-21 01:23:07.486: ERROR/Digester(5455): Digester.getParser: 05-21 01:23:07.486: ERROR/D…
長い文字を設定するとめっちゃおそくなる場合があるので、長い文字でもチェックしよう。
Tomcatのメモリリークを探すには、以下のオプションを埋め込んで、ヒープ内のクラス統計情報をとる。 -verbose:gc -XX:+PrintClassHistogramとれたデータをExcelかなんかでグラフ化して、右肩上がりのものがあれば怪しい。[参考] http://www.atmarkit.co.jp/…
ApacheからJamesのソースとバイナリの両方を落としてくる。 ソースはEclipse上に配置してコンパイル。 Eclipse付属のJUnit4もビルドパスに含める。 James側 バイナリの/bin/run.batの90行目のデバッグオプションを外す。 起動時に「Listening for transport …
肥え続けるTomcatと胃を痛めるトラブルハッカー
どこかのサイトでJavaを使ってAjaxサイトを簡単に作ろうぜぃという記事を見たので、 早速本家サイトからダウンロードしてみる。 サンプルとしてすでにあったYahoo(Goole) Mapと連携したアプリを使ってみる。 ほぅ…いちいちJavaScriptを書かなくていいのは便…