Java

herokuのJava buildpackでMaven Wrapperが使えるようになった

PRしてマージされた。 github.com マージされた直後に確認した時は、アイコンから選択するタイプのbuildpack指定ではまだこの変更が取り込まれていなかった。 明示的にURLを指定すれば使えるようになる。 やったことはほとんどGradleのbuildpackと同じで、 m…

reflection-utils作ってた

GWに作っていた。特定のパッケージ以下のクラスを再帰的に取得出来る。但し、jar内部は対象外。 List<Class> classesInSpecificPackage = com.eiryu.ReflectionUtils.getClassesInSpecificPackage("com.eiryu"); classesInSpecificPackage.forEach(System.out::prin</class>…

JJUG CCC 2016 Fall に行ってきた #jjug_ccc

行ってきた。尚、例によって懇親会からの参加。 9時頃起きたが結局二度寝し、家事を済ませて17時少し前に行動開始。会場付近に昔住んでいたため、その時のホーム銭湯に寄って、会場のカフェでちょっと読書してから参加、という流れ。 今は禁酒しているので、…

AWS S3へのアップロードはリクエスト日時と現在日時の乖離が大きいと例外を吐く

com.amazonaws.services.s3.model.AmazonS3Exception: The difference between the request time and the current time is too large. (Service: Amazon S3; Status Code: 403; Error Code: RequestTimeTooSkewed; Request ID: ********) 日付をモックで固定…

本日のお仕事

今日は他チームの手伝い作業をした。 内容はJava6+Servlet+JSPでビルドはAnt。 一部の画面遷移を変える、という内容だったがそれなりに手こずった。 hidden等、パラメータの辻褄合わせ 注意深く見れば特に問題なく出来るのだが、久しぶりにrequest.getPara…

JJUG CCC 2015 Fallに行ってきた #jjug_ccc

かろうじて行ってきた。 jjug.doorkeeper.jp 起きたのは8時くらいだったのだが、前日にPostgreSQLカンファレンス2015に行っていたこともあり、布団でごろごろした結果、昼になる。 そこから洗濯をしてスプラトゥーンしてたら夕方になってしまい、不幸にも黒…

#JJUG ナイト・セミナー 「ビール片手にLT&納涼会」で Ninja Framework についてLTしてきた

8月22日(金)に日本オラクル青山センターで開催された掲題のイベントでLTしてきた。会場提供の日本オラクルさんありがとうございます。 内容は、 Ninja Framework について。てか公式ページには ninja web framework ってあるな。。 LTであまり細かく触れられ…

JJUG CCC 2014 Spring に行ってきた #jjug #jjug_ccc

5月18日(日)にベルサール西新宿で行われた、JJUG CCC 2014 Spring に行ってきた。 今回は、前日に部屋探しをしていて疲れていたこともあって、15時のセッションから参加。 午前中はOracleのアメリカのエンジニアのセッションがあったようなので、聞くことが…

JavaでREPLっぽいこと #java

これはJava Advent Calendarの24日目。 ちょっとしたことだけど、Javaを始めたばかりの人には参考になるかもしれないので。 Javaに標準でREPLはない。 自分がJavaでちょっとしたプログラムを試すときに何を使っているかというと、JUnitのテストを作成して実…

JJUG CCC 2013 Fallに行ってきた&LTしてきた #jjug_ccc

風邪ひいてたので書くのが遅れたけど、せっかく行ったので書いた。 Javaやってると言えばこのイベントは外せない。というわけで行ってきた。JJUGの幹事の皆様お疲れ様でした。 参加したセッションは以下。個々の感想は書けたら後で書く。 2013 エンタープラ…

第4回 #渋谷java で #Thymeleaf についてLTしてきた

第3回に引き続きLTしてきた。 主催者の@seri_kさん、会場提供のビズリーチさんありがとうございます。発表した内容はJJUG CCC 2013 Fallに応募してボツったThymeleafネタ。 Thymeleafのすすめ from eiryu 自分はJSPにトラウマがあるかも、と言ったが、別にJS…

ThymeleafでSmartyのnl2br的なことをするときにはまった(改行コード\nの置換)

JJUGのLT祭りで発表した「Thymeleafでハマったこと」の内容。 Springと連携して利用したThymeleafのテンプレート中で、Smartyのnl2br的なことをやろうと思ったときにハマった。結果を先に書くと、上記の方法はあきらめて、ロジック側で\nでsplitした配列をTh…

Travis CI をJavaプロジェクトで使ってみた

今更ながらTravisを使ってみた。TravisはJenkinsのWebサービス版とでも言うのだろうか? https://github.com/eiryu/travis-sample以下手順と注意点。 GitHubにリポジトリ作成 Travis CIにGitHubアカウントでログインし、Accountsからさっき作成したリポジト…

#JJUG ナイト・セミナー 「ビール片手にLT&納涼会」でLTしてきた #Thymeleaf

今までThymeleafを使っていてハマったことの一部をLTしてきた。機会を与えてくださった、JJUGと日本オラクルさん、ありがとうございます。 スライドは以下。 Thymeleafでハマったこと from eiryu slideshareに上げたらスライドが一部崩れたので、実際のLTはs…

Twitterのリンク付きツイートのお気に入りを効率よく消化するサービス、TwFavViewをリリース #TwFavView

週末、eXcaleにひっそりとリリース。http://twfavview.excale.net/※eXcaleが終了したため、現在は http://apps.eiryu.com/twfavview に移動自分はTwitterのお気に入りを、リンク付きツイートを後で読むためのものとして利用しているが、毎回 ツイートのリン…

JJUG CCC 2013 Springに行ってきた

2013年5月11日(土)にベルサール西新宿で開催されたJavaのイベントに行ってきた。当日は雨にも関わらず結構人が来ていたように感じる。 参加したセッションは以下。 基調講演-1 Javaのこれからを考える エンタープライズ寄りの話に感じた。基調講演がもっと…

細かすぎて伝わらないmaven

maven3からビルド成功の文言が「BUILD SUCCESS」になっている模様。ちなみにmaven2までは「BUILD SUCCESSFUL」。 ここ1年くらいビルドが終わるたびに感じていた違和感はこれだったのか。どうやら、以下のビルドはmaven2で行われたものらしい。 [IROF] BUILD …

コントローラ部分のコードでのアンチパターン(と思っていること)

以下はSpringMVCの例。urlMappingを定数として定義しているため、見てすぐ分からない。 eclipseでホバーすれば分かることは分かるが。 例は単純だが、これにpathValuableとか入ってくると辛い。 執拗に定数定義することは、DBの過度な正規化に似ている気がす…

Thymeleafでfor文のようなシンプルなループを書く #Thymeleaf

利用バージョン 2.0.16 Thymeleafでコレクションのループではなく、for文のように単純に1から10まで等のループをしたい場合は以下のようにする。 <select name="foo"> <option th:each="i : ${#numbers.sequence(1, 10)}" th:value="${i}" th:text="${i}+ '個'">1個</option> </select> ちなみに#numbers.sequenceには第3引数をSTEPとして指定することも出来る。 そこそこ使うことはあると思…

ThymeleafのScript inlining

利用バージョン 2.0.16 Thymeleafは@{/user/}と書くと、コンテキスト名を自動的に補完して、 /contextName/user/ のようにしてくれる。 server.xmlでコンテキスト名を変えたりしている場合に便利。 JavaScriptでAjaxを扱う場合で、上記のようにコンテキスト…

hibernate-validator 4.3.0 FinalにはEmailValidatorにバグがある #BeanValidation #ビーバリ

長いメールアドレスの際にエラーを吐く。*1 4.3.1.Final を使いましょう。 BeanValidationのUTをしていて発覚。ビバUT。JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21…

Spring勉強会でLTしてきた #jsug #秒速でポン酢まみれになる条件

タイトルは「Spring小話」。 Spring小話 from eiryu 元ネタはちょっと前に書いた記事で、URLにピリオドを含んでいると除去されてしまう内容について調べたもの。当日は急な仕事が入ったりして、一時は参加出来ないかと思われたが、なんとか20時頃VMWareに到…

SpringMVCのControllerでURLを厳密に判定する

※利用バージョン 3.0.5.RELEASE SpringMVCのControllerで以下のRequestMappingを定義すると、 @Controller @RequestMapping("/regist") public class RegistController { @RequestMapping("process") public String process(){ ... } ... 以下のURLが処理さ…

Mavenソースコードリーディング

いつもお世話になってるMaven。こいつがなければライブラリ管理やらビルドやらが大変なことになってしまう。 常々どういう仕組みになっているのか気になってはいたが、ソースは読んだことなかった。 まずはダウンロード。現時点の最新は3.0.4らしい。http://…

Beginning Java EE 6 が当たった

SE倶楽部の『若手Javaエンジニアを応援!Java書籍プレゼントキャンペーン』に当たった。 そしてタイトルの本が先日届いた。 確かお盆期間中に先着10名でやっていたはず。意外と当たるもんですね。会社の今のプロジェクトではSpringを使っているので、家では…

JavaのAWTで作ったTwitter投稿専用クライアント「つぶや君」をGitHubに公開

最近勉強会に行ったりして、自分ももっと世間と関わっていかないとなあと思い、以前AWTを勉強する際に作っていたTwitter投稿専用クライアント「つぶや君」をGitHubに公開。 GitHub:eiryu/tsubuyakun何からつぶやかれたか(sourceという。下の via eiryu のei…

ダウンロードダイアログで日本語ファイル名が文字化けしないようにする

request : HttpServletRequest, response : HttpServletResponse String fileName = "予定表うんたらかんたら.txt"; if (request.getHeader("User-Agent").indexOf("MSIE") == -1) { // Firefox, Opera 11 response.setHeader("Content-Disposition", String…

GlassFish Users Group Japan 勉強会 June 2012 に行ってきた #glassfishjp

自分の勉強会参加はこれで人生2回目。以前食物連鎖の下の人としてSI業界にいた時に仕事をしたことがある @megascus さんが発表するとのことで、参加してみた。Glassfishを使うのはNetbeans上だけで、業務ではTomcat6メインなこともあり、非常に興味深い勉強…

MyBatisでカラム名をパラメータで切り替える

mybatis version 3.0.6 #ではなく$を使う。 <select id="grouping" parameterType="java.util.Map" resultType="com.eiryu.SomeBean"> select ${column}, count(*) from table where status = #{status} group by ${column} having count(*) > 1 </select>

Thymeleafの文字コード設定、キャッシュ設定

文字化けしないためにcharacterEncodingを指定。 ServletContextTemplateResolverとThymeleafViewResolverの両方に指定しないとダメだった。 あとcacheableをfalseにしておかないと、テンプレートを修正してF5を押しても変更が反映されないので、開発中はと…