IntelliJ IDEA 2016.2でEclipse Compiler for Java(ECJ) + Lombokを有効にする

この問題に対応してる時にやり方を覚えた副産物。

terurou.hateblo.jp

javacからECJにするとコンパイルが速くなるっぽいのと、いろいろ警告を出してくれるようになる。ただ、ECJとjavacは挙動が違うので、注意は必要。

前提

  • Lombok Plugin インストール済み

ECJへの切り替え方

  1. Build, Execution, Development > Compiler > Java CompilerUse compilerEclipse にする。 f:id:terurou:20161114003547p:plain

  2. Build, Execution, Development > Compiler > Annotation ProcessorsEnable annotation processing を有効にする。 f:id:terurou:20161114003557p:plain

  3. Build, Execution, Development > CompilerShared build process VM options:-javaagent:lombok.jar を設定する。(lombok.jarはフルパスで指定) f:id:terurou:20161114003608p:plain

効果

  • 設定前(javac):Compilation completed successfully in 37s 546ms
  • 設定後(ECJ):Compilation completed successfully with 723 warnings in 31s 306ms

自動生成したコードがwarning出しまくっているが、まぁ速くなったっぽい

参考ページ

IntelliJ IDEAでGradleプロジェクトをインポートしたときにクラスパスが反映されない問題へのワークアラウンド

GradleでSpring BootやらLombokやらを組み合わせたマルチプロジェクトを作っていて、なぜかIntelliJ IDEA側にclasspathがうまいこと反映されない問題が生じていた(Gradle上でのビルドは通るが、IntelliJ IDEA上ではコンパイルエラーと出る)。

都度、IDEからadd classpathをすれば動いてはいたのだけど、ビルドスクリプトを弄るたびにclasspathがぶっ壊れて、手動操作が必要になるのはだるいので、解決策を探して色々試したところ、以下で行けた。

// IntelliJ IDEA用のワークアラウンド
// dependencies編集後にIntelliJ IDEA上のみでコンパイルエラーが生じる場合は、providedを追記してください
apply plugin: 'idea'

configurations {
    provided
}

dependencies {
    provided "org.projectlombok:lombok:1.16.10"
    provided "org.slf4j:slf4j-api:1.7.21"
    provided "org.springframework:spring-beans:4.3.3.RELEASE"
    provided "org.springframework:spring-context:4.3.3.RELEASE"
}

idea {
    module {
        scopes.PROVIDED.plus += [configurations.provided]
    }
}

参考ページ

システム全体のキャプチャを無効化してFiddlerを起動する

起動するたびにF12を押すのもだるいのでやり方を定期的に探してたのだけど、やっと見つけた。

コマンドラインオプションに -noattach をつけるか、Tools > Fiddler OptionsConnections > Act as system proxy on startup をOFFにする。

stackoverflow.com

f:id:terurou:20161002170814p:plain

会社で営業用ポロシャツ作った

6月ぐらいにはできていたんですが、なんだか忙しい状況が続いていて、やっとブログに書いている次第。

実物イメージ

表面 f:id:terurou:20160516170758j:plain

裏面 f:id:terurou:20160516170903j:plain

出来栄えは満足です。展示会に出展しとるときは、これを着てる。

発注情報

オリジナルTシャツ 作成が早い【即日】|タカハマライフアート

  • ドライライトポロシャツ(ターコイズ
    • M5枚、L5枚(1,750円×10枚)
  • プリント代
    • 2,450円×10枚
  • 計 36,200円

de:code 2016で気になったポイント

全体的な感想

  • ナデラ来た、ナデラ以外にも本社の人間たくさんきた。ここ数年で考えたら偉いパワーが入ってる感じをすごく受ける。
  • 基調講演ではConversation (as a Platform)、BOT、DevOpsが特に押されていた印象。
  • イベント全体ではDevOpsの印象が強かった(牛尾さんパワーと豪華メンバーを連れてきたというのがある)
  • 一方でIoTの印象が弱かった。ロボティクス自体はそれなりに印象があるんだけど。ただし、これはバイアスがかかってるかも。
  • UWP, Azure, Office365は相変わらず。Xamarinは勢いを感じた。
  • 富士通がスポンサーから消えて、日系メーカーは全滅になった。メジャーなPCメーカーはDELLぐらい。
    • 一方で同日開催のJava Day Tokyo 2016にはNEC、日立、富士通がスポンサーやってるのはなんというか。

その他、個人レベルの感想

  • 分散システムとか触ってる人間としては、Contractの勉強しないといけない気分になった
  • 荒井さんマジ荒井さん

Office 365アカウントでDropbox Businessにシングルサインオン

少し手数はあるものの、くっそ簡単にOffice 365アカウントでDropbox Businessにシングルサインオン(Office 365アカウントでDropbox Businessにログイン)と、アカウントプロビジョニング(Office 365アカウントをDropbox Business側に同期させる)設定がくっそ簡単にできたのでメモっておく。

Office 365とシングルサインオン(SSO)みたいなワードでググると、オンプレのADと連携させるとか、OneLoginやらのIDaaSと連携させるとか、くっそ面倒な手順の解説ばかりが見つかるのだけど、単純にOffice 365(厳密にはAzure Active Directory: Azure AD、Office 365アカウントがあれば無償利用できる)単体でどうにかなるようだ。

あえて言うまでもないとは思うが、Office 365には既に登録してある前提の手順となる。

  1. Dropbox for Bisunessに登録。最初のアカウント登録は、管理者となるOffice 365アカウントのメールアドレスで行う。
  2. Azure ADを有効化する。Azureの管理センターのメニューでAzure ADを選択すれば、有効化されるはず(うちの環境ではかなり前から有効化済みなので、この手順はあいまい)
  3. Azure ADの管理画面を開いて、アプリケーション→追加→ギャラリーからアプリケーションを追加で、Dropbox Businessを選択する。
  4. あとはウィザードに従って、設定を行う。

だいたいこんな感じの設定手順で設定が行えた。アカウントプロビジョニングの設定を行うと、Azure AD側からDropbox Bisinessを利用できるアカウントの管理ができるようになる。