Upgrade to Pro — share decks privately, control downloads, hide ads and more …

合体事故した話

Yuuki Sumida
December 17, 2016

 合体事故した話

合同勉強会 in 大都会岡山 -2016 Winter-
https://gbdaitokai.connpass.com/event/37730/

Yuuki Sumida

December 17, 2016
Tweet

More Decks by Yuuki Sumida

Other Decks in Technology

Transcript

  1. 2016-12-17(Sat)
    合同勉強会 in 大都会岡山 - 2016 Winter -

    View full-size slide

  2. 今年の実績

    View full-size slide

  3. 来年の実績(予定)

    View full-size slide

  4. 来年の実績(予定)
    「ペルソナイト」
    「ペルソナイト」
    でググれください
    でググれください

    View full-size slide

  5. 2016-12-17(Sat)
    合同勉強会 in 大都会岡山 - 2016 Winter -

    View full-size slide

  6. 最近やったプロジェクト
    サーバサイド
    クライアントサイド

    View full-size slide

  7. 最近やったプロジェクト
    サーバサイド
    クライアントサイド

    View full-size slide

  8. Eclipse(Spring Tool Suite)

    IDE

    なんか最近はEcliなんとかとか言われて
    Disられている

    View full-size slide

  9. Doma

    O/R Mapper

    2Way SQL

    DAOはインタフェースだけ定義しておけば
    コンパイル時に実装したクラスが生えてくる

    Doma-Genという実DBからテーブル定義を
    抜いてきてDAOやらEntityクラスを
    生成するツールがある

    View full-size slide

  10. Lombok

    色々アノテーション付ければ
    コンパイル時にクラスやらメソッドを
    生やしてくれる
    – Setter/Getter
    – Constructor
    – Logger
    – Builder
    – …

    べんり

    View full-size slide

  11. 一体何が
    起きたのか?

    View full-size slide

  12. Doma-Genについて

    ビルドツールのタスクとして走らせる

    実DBからテーブル定義を取得して、
    テンプレート定義を元にEntity/CRUDのDAO/SQL
    を生成
    – テンプレートはFreeMakerで作成されていて、
    独自に拡張できる
    – Entityの雛形はLombokのアノテーションを
    ガン積みでカスタマイズした

    View full-size slide

  13. Eclipseでのビルド時

    LombokとDomaのAnnotation Proceccingが
    重なってヒープメモリ爆食いした結果
    Eclipseがそっとお亡くなりになったくさい

    Eclipseのヒープメモリマシマシにしたら
    ビルド通った

    View full-size slide

  14. Eclipseでのビルド時

    LombokとDomaのAnnotation Proceccingが
    重なってヒープメモリ爆食いした結果
    Eclipseがそっとお亡くなりになったくさい

    Eclipseのヒープメモリマシマシにしたら
    ビルド通った

    -Xmx 3036m

    View full-size slide

  15. 元請けのPC
    標準が32ビット
    問題

    View full-size slide

  16. まとめ

    32ビットマシンが許されるのは
    小学生までだよねーキャハハハハハハ

    View full-size slide

  17. Appendix:ビルドツールを使う

    Lombokのdelombokタスクで事前にソースとして
    吐き出す

    DomaのAnnotation Proceccingと
    実行タイミングが被らないのでそこまで
    ヒープメモリを爆食いしない

    View full-size slide

  18. おしまい

    View full-size slide