IntelliJ IDEA 2016.2でEclipse Compiler for Java(ECJ) + Lombokを有効にする
この問題に対応してる時にやり方を覚えた副産物。
javacからECJにするとコンパイルが速くなるっぽいのと、いろいろ警告を出してくれるようになる。ただ、ECJとjavacは挙動が違うので、注意は必要。
前提
- Lombok Plugin インストール済み
ECJへの切り替え方
Build, Execution, Development > Compiler > Java Compiler
のUse compiler
をEclipse
にする。Build, Execution, Development > Compiler > Annotation Processors
でEnable annotation processing
を有効にする。Build, Execution, Development > Compiler
のShared build process VM options:
に-javaagent:lombok.jar
を設定する。(lombok.jar
はフルパスで指定)
効果
- 設定前(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] } }
参考ページ
- Gradle 2.0 以降と IDEA プラグインで Configuration として provided を定義して idea.module のスコープに追加すると ClassCastException が発生する - Qiita
- Gradle 2.0 idea plugin: adding a custom configuration to scope throws ClassCastException - Old Forum - Gradle Forums
- https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html
システム全体のキャプチャを無効化してFiddlerを起動する
起動するたびにF12を押すのもだるいのでやり方を定期的に探してたのだけど、やっと見つけた。
コマンドラインオプションに -noattach
をつけるか、Tools > Fiddler Options
の Connections > Act as system proxy on startup
をOFFにする。
会社で営業用ポロシャツ作った
6月ぐらいにはできていたんですが、なんだか忙しい状況が続いていて、やっとブログに書いている次第。
実物イメージ
表面
裏面
出来栄えは満足です。展示会に出展しとるときは、これを着てる。
発注情報
オリジナル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ぐらい。
その他、個人レベルの感想
- 分散システムとか触ってる人間としては、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には既に登録してある前提の手順となる。
- Dropbox for Bisunessに登録。最初のアカウント登録は、管理者となるOffice 365アカウントのメールアドレスで行う。
- Azure ADを有効化する。Azureの管理センターのメニューでAzure ADを選択すれば、有効化されるはず(うちの環境ではかなり前から有効化済みなので、この手順はあいまい)
- Azure ADの管理画面を開いて、アプリケーション→追加→ギャラリーからアプリケーションを追加で、Dropbox Businessを選択する。
- あとはウィザードに従って、設定を行う。
- 強いて設定がわかりづらい点を挙げると、アカウントプロバイダURLを設定する画面で、入力するURLがわかりづらいぐらい。
- How do I set up single sign-on (SSO) for my Business account? (Dropbox Help Center)に記載されているポストバック URL(https://www.dropbox.com/saml_login)を設定する。
だいたいこんな感じの設定手順で設定が行えた。アカウントプロビジョニングの設定を行うと、Azure AD側からDropbox Bisinessを利用できるアカウントの管理ができるようになる。