記憶のくずかご

メモを書く 適当に書く まじめに書かない

groovyを高速起動するgyコマンド

...を作った。 作ったといっても既存のgroovyコマンドを改造しただけなんだけど。 背景 groovyを高速に起動するにはgroovyservというものがある。これは初回起動は遅いがその後はgroovyの起動が爆速になるというものだ。 でも、使い勝手が今ひとつだった。 …

プロキシサーバ経由でGroovyのGrapeを使う

会社ではプロキシ経由じゃないとインターネットに繋げない。 なので、Grapeを使うときもプロキシの設定が必要だ。 Grapeでプロキシを使う場合は2通りある。 公式によるとgroovyコマンドを使うときにオプションを付けるか、環境変数JAVA_OPTSを設定するかだ。…

コメントは書かなくていい Javadocを書いてくれ

会社のとあるプロジェクトでコーディングの可読性に関する勉強会を実施してるらしい。 そのプロジェクトはリリースは終わって保守に移行してんだけど今更そこ勉強してんのって感じが半端ない。新人向けか? そのプロジェクトはもちろん炎上しまくってた。今…

Java8のラムダ式をわかりやすく解説

できるかどうかわからんがやってみる。 きっかけは会社の人がJava8のラムダ式は難しいと言っていたから。 確かに関数型言語をいきなりJavaから学ぶのは難しいんじゃないかな。 なぜ難しく感じるのかというと、Javaはオブジェクト指向言語を前提に設計してい…

インデックス設計の基本方針

インデックスの最適な定義の仕方がわからん。 会社では、見た感じ検索で使うカラムは何でもかんでもインデックスを作成しているようだ。 こんな感じで闇雲にインデックスを作成するアンチパターンをSQLアンチパターンでは「インデックスショットガン」と命名…

MyBatisでEnumを使う

MyBatisでEnumを使うにはどうすればいいのか。 もちろんマニュアルに書いてあるが、まとめるとこうだ。 resultMapでEnumを使うときはtypeHandlerを書く parameterでEnumを使うときはmybatis-config.xmlにhandlerを定義する 具体例をマニュアルから引用すると <resultMap type="org.apache.ibatis.submitted.rounding.User" id="usermap2"></resultmap>…

JPAとN+1問題

JPAとは JPA(Java Persistence API)とはJavaEEのために定義された永続化(persistence)に関するAPI仕様です。JPAはAPI仕様なのでJPA単体では動きません。JPAを実装したHibernateやEclipseLinkなどのO/R Mapperが必要になります。 N+1問題とは N+1問題とは…

JPA with HibernateとMyBatisのどちらを採用すべきか

会社で書いたメモを貼る。 割とまじめに書いたけどもうこういうことはやめよう。長続きしないから。 下の文章見て思ったことはJava側でデータ操作するなって書いたけど、ストアドプロシージャを使えってことではないので。MyBatisでストアドプロシージャはあ…

ブログを書く方針を決める

実に3回目のブログを書く。 今までブログは長く続かなかった。 他の人はよくこんなことを飽きもせずにできるなーと感心する今日この頃。 なぜ長く続かないのかを振り返り反省しようと思う。 なぜブログを書くのか 別に書かなくていいよね。おわり。 仕事(…