jjug採択されなかったので、資料だけ展開します。

jjug採択されなかったので、資料だけ展開します。 OSS公開までの流れになります。 そんなに大したこと書いていませんが。。。 次はもっと内容をブラシアップします

gradleのバージョンで引っかかったり、公開鍵の登録に失敗したり、Staging時にエラーになったりと。。。

でも無事にできました!

これを見て、みなさんOSSの開発やってみましょう!

speakerdeck.com

ダミーデータを簡単に作成するembulk-input-randomj

こんばんは。中尾です。

embulkのpluginで面白いやつがありました。

github.com

サンプルは10,000,000レコードを作成したのですが3分もかかっていません。

github.com

入ったデータに規則性は全くないため、本当にランダムな文字列が作成されるようです。

そのためプレフィックスにabcをつけるなど、柔軟には対応してません。。。

このあたりが対応しているともっと使いやすくなりそうですね!

MyBatisのFreeMarkerLanguageDriverはxmlでも適応できる。使いどころは?

こんばんは、なかおです。

MyBatisのFreeMarkerLanguageDriverをxmlでも適応できます。

mybatis.org

公式の Usage in XML-driven mappers でも書いているのですが

<select
    id="findName"
    resultType="org.mybatis.scripting.freemarker.Name"
    lang="org.mybatis.scripting.freemarker.FreeMarkerLanguageDriver">
    findName.ftl
</select>

xmlからftlを呼び出せます。

langは公式のようなaliasを作る必要はありません。逆にわかりにくいです。

ではこれがなにに役に立つのか?正直よくわかりません。

xmlからFreeMarkerLanguageDriverを適応する瞬間はもしかしたらxmlからftlを呼んだほうが修正範囲が小さいかも?

後、xmlftlを同一ディレクトリに配置できる?xmlをインターフェースに、ftlを実装のイメージでできたり?なんですかね?どっちにしても ftl -> xml or Javaに戻ってこれないから。。。

頭の良い人、ftljavaのファイル名を記入するとジャンプできるようにしてほしい。ファイル名検索は嫌だ。。。

OSS公開したよ!

こんばんは。中尾です。

突然ですが、、、OSS公開しました! 公開したOSSmaven centralに上がっています!

mybatisGeneratorと組み合わせて使います!

詳しい使い方は資料作成中ですので少々お待ちください。

github.com

OSS公開したよー

OSS公開しました!

README.mdに書いている通り、mybatisGeneratorと組み合わせて使うことを想定したライブラリです。

スネークケースのテーブル名をパッケージごとのディレクトリに変換します。今はまだ挙動怪しいですが、もう少し制度高めたり、区切り文字をオプションにしたりとか考えています。

ご意見はissueにお願いします!

github.com

central.sonatype.com

OSS開発していました。。

しばらく更新してなくて申し訳ないです。。。

最近OSSを開発していました!

初公開できたはず!

詳細はJJUGにエントリーをするのでそのときに!

大事なこと。

いきなり100%のものを作らない。

JEP draft: Null-Restricted Value Class Types (Preview)

今年もよろしくお願いいたします。

openjdk.org

Null-Restricted Value Class Types (Preview)か、、、

nullを許容しないために ! を使うんですね。

現状は以下のようにnullを入れることができる。

Range r = new Range(1, 3);
printAll(r);
r = null;
printAll(r); // NullPointerException

Object o = null;
r = (Range!) o; // NullPointerException

許可しない。

Range![] a1 = new Range![3];
a1[0] = new Range(-3, 0);

Range[] a2 = a1;
a2[1] = null; // ArrayStoreException

Object[] a3 = a2;
a3[2] = new Object(); // ArrayStoreException
a3[2] = null; // ArrayStoreException

、、、

例だからあれかもしれないですが、 変数をnullで再代入するのか? こういう使い方じゃなければ需要があるのでは思ったり。