mike-neckのブログ

JavaかJavaFXかJavaEE(なんかJava8が多め)

Finagle/finchを試してみた - その1

表記の通り、twitterが作ってるFinagleというwebフレームワークのfinchというのを試してみました(とはいっても、まだgetting started)。 このライブラリーを知ったのは吉田さんのブログエントリー d.hatena.ne.jp Playフレームワークをいろいろといじってい…

五輪にボランティアで働けるエンジニア4万人を調達する手段

数週間前ですが、TLを騒がした記事がありましたね。 japan.zdnet.com 僕のchromeにはAdBlockerPlusが付いているので、zd netの記事開くの大嫌いなのですが、まあ、要点をまとめていくと、こんな感じです。 サイバー攻撃というのは物理的な戦争と同じである。…

世間から4周遅れでSlick3.1完全マスター(一歩手前)した #scala

動機 金曜日くらいにPlay-Slickに入門しようと、ドキュメントを漁りつつ一からいじっていたのですが、Slickがそもそもまったくわからないので(Playも当然まったくわかっていませんが…)、Slick3.1のチュートリアルをやろうと思い立ちました。 Getting started…

今 gradle.org に何が起きているのか?

gradle,org に何か異変っぽいものが起きているらしいです。 Gradleさんどうなってしまったの https://t.co/L1ssx97cY4— Yasuharu Nakano (@nobeans) 2015, 10月 26 僕も昨晩確認してみたところ、こんなページになっていました。 @saba1024 なんか、直ってた …

Gradleからdockerを起動して分散テストさせてみた #gradle #docker

昨日のエントリーの続きです。 mike-neck.hatenadiary.com Gradle万能派の僕には、納得がいかなかったので、最後までやってみることにしました。 切り捨てたこと まず、分散テストは何が目的なのか考えると、テスト結果をマージすることが目的なので、以下の…

Gradleからdockerを起動して分散テストさせようとしたのだけれども

標記の件について、ここ2日間取り組んでいます。もちろん、ボランティアです。 元ネタはじょーたにさんに教えてもらったこのツイート。 JUnitの実行を各クラス毎に並列で実行して、かつそれぞれをDockerで実行してくれるようなものは無いかな..— たむたむ (@…

bazelを10分だけさわってJavaプロジェクトをビルドしてみた

この前の月曜日(2015/10/5)、Gradle2.8-rc1が出たわけですが、InfoQではbazelが云々という記事が出ており、世間的にはbazelが一躍有名になったのですが、試してみたよ的なブログなかったので(あるにはあるけど、一つだけだったし、bazelのビルドから入ってる…

メモ : キーマップ

使いこなしているようで、案外使いこなしていないので、IntelliJ IDEAのショートカットをメモ。 やりたいこと ショートカットキー テストもしくはmainの実行 ⌥ + Shift + F10 前回実行した内容を再度実行 Shift + F10 Runタブを開く ⌘ + 4 プロジェクトのク…

El Capitan入れた

mac

El Capitan入れた。 案の定、IntelliJがJavaがないとご立腹のご様子。 で、これのupdateボタンを押すとJava for OS X 2015-001のページに連れて行ってくれるので、ダウンロードする。 あとは、普通にインストール。 インストールされた模様。 IntelliJも起動…

Gradle2.8 rc1が出たようです。 #gradle

世間ではBazelが流行っていますが、Gradle 2.8 rc-1 が2015/10/1 2:15am頃に出たようですので、リリースノートの超意訳を書きます。 discuss.gradle.org リリースノートはこちらから ダウンロードはこちらから なお、sdkmanでも取得可能のようです。 ~ $ sdk…

『JJUGナイトセミナー Java OSSプロダクト特集』に行ってきた #jjug

募集開始して1時間くらいで満席になったので、元々行く気がなかったのですが、某ゆうすけさんが、「JJUGナイトセミナー空きがあるね」とおっしゃってたので、急遽申し込んで行くことにしました。 jjug.doorkeeper.jp togetter.com なお、クロネコの再配達を2…

Java女子部 『Gradleふんわり入門』の講師してきた #javajo

Java女子部主催の勉強会『Gradleふんわり入門』の講師をやってきました。 javajo.doorkeeper.jp 以前、よこなさんにGradleなら教えられるよ的なことをツイートしたことをきっかけに、同勉強会の講師をすることの依頼を受けておりました。 Gradleというか、ツ…

How to update sdkman from gvm #groovy #sdkman

Today, I heard that gvm is replaced by sdkman. Because there are go-lang tool called gvm (go-lang version manager) whose name conflicts gvm(Groovy enVironmental Manager). For details you can find issue at sdkman repository. github.com In t…

gvmからsdkmanにアップデートする

gradleユーザーの方も読んでもらいたい記事です。gvmがsdkmanに変わるらしいです。 gvmがgo version managerと名前がバッティングしてて、かつgo version managerの方が古くから存在していたとのことで、gvmがsdkmanに変わるそうです。 で、アップデートの仕…

帰ってきたGlassFish Users Group Japan勉強会に行ってきた #glassfish_jp

Payara Microによって再燃してきたGlassfish熱がたかまって開催された「帰ってきたGlassFish Users Group Japan勉強会」に行ってきました。 glassfish.doorkeeper.jp 実況ツイートのtogetterはエースのやまだまんさんによってまとめられています(曰く、即効…

今更だけど、Gradleをちゃんと勉強しよう - Task同士の協調

今度のJava女子部の勉強会でGradleの講師をさせていただくことになりました。 javajo.doorkeeper.jp それほど高度な内容は扱わないのですが、入門レベルの復習をされたい方はご参加いただくとよいかもしれません。 で、その勉強会の中でGradleのタスク同士が…

Payara-micro meets Gradle, Gradle Payara Plugin(unofficial) is available! #gradle #payara

meets Gradle Payara plugin is available now! Detail information is available at gradle plugin portal. And the repository is here. mike-neck/gradle-payara-unofficial-plugingithub.com Install Add following script to your build.gradle, you ca…

Gradle Payara plugin(unofiicial)をリリースしました

meets GradleのPayaraプラグイン(unofficial)をリリースしました。 org.mikeneck.payara-pluginで詳細な情報が記述されています。 また、レポジトリーはこちらです。 mike-neck/gradle-payara-unofficial-plugingithub.com 使い方 プラグインの導入 以下のビ…

今更だけど、Gradleをちゃんと勉強しよう - Gradleのプロパティいろいろ

以前のエントリーでgradle.propertiesのチートシート(中途半端)を書いたわけですが、Gradleのプロパティを作る方法はgradle.properties以外にもあって、そこらへんをまとめてみました。 gradle.propertiesで設定する propertyName=some value と記述するとpr…

今更だけど、Gradleをちゃんと勉強しよう - Gradleのタスク実行フェーズ その2

Gradleでなんらかのタスクを作って、実行してみると遅い時がありますね。 まあ、大量のファイルをコピーしてzipで固めるなんて場合は、遅いのは仕方ないです。しかし、cleanとかtasksとかコピーと関係のないタスクまで遅くなるようなことがあれば、設定フェ…

チェッカーフレームワーク(org.jetbrains:annotation)の使い方メモ

IntelliJ IDEAとかAndroid Studioを使っている人は、メソッドの横の方に@が書かれているのを見たことがあるかと思います。 (Android Studioで実際に表示されるのかは知らないけど、ツイッターで観測している限りアンドロイダーの人で「この@Contractって何」…

今更だけど、Gradleをちゃんと追いかけよう - gradle2.7-rc1がリリースされました

Gradle2.7-rc1が2015/08/29の0:00頃にリリースされたようです。Gradleは2ヶ月に1回リリースするので、正式版は10月になると思います。今は人柱になりたい方が試してみるとよいと思います。 Gradle 2.7-rc-1 is now available for testingdiscuss.gradle.org …

今更だけど、Gradleをちゃんと勉強しよう - gradle.propertiesチートシート

gradle.propertiesのチートシート なんか、デーモンをデフォルトで使うときのgradle.propertiesのキーが何だったか忘れることが多いので、面倒だけどまとめた。 ビルド関連 # デーモン使用有無 : true 使う / false 使わない org.gradle.daemon=true # 使うj…

今更だけど、Gradleをちゃんと勉強しよう - Gradleのタスク実行フェーズ - その1

Gradle芸人業を毎日やってるけど、まだまだ全然Gradleのことわかってないなと思う日々なので、ここは基本に帰って、1つずつドキュメントのメソッド、プロパティをためしていくことにします。 第一回はproject.gradle編 gradleプロパティ 初回からマニアック…

GradleでJDK8u60の-parametersオプションがうまく渡ってないっぽかった件の顛末

一昨日のエントリーがなんかすごいバズってしまって、((((;゚Д゚))))ガクガクブルブルしてるのですが、Gradleでビルドした時にテストがコケると言っていました。 Java 8u60で、Mapの初期化とかがすごい楽になってる件 - mike-neckのブログmike-neck.hatenadiary.c…

Java 8u60で、Mapの初期化とかがすごい楽になってる件

夜中に8/15頃のツイートが回ってきた。 Java 8u60 adds reflection on lambda param names DSLs https://t.co/cflxFK468e Hash-Literals https://t.co/5rOCrrckcB pic.twitter.com/NEzj4X3Bt1— Benjamin Weber (@benjiweber) 2015, 8月 16 曰く Java8u60でラ…

Gradle プラグインポータルにプラグインを登録する方法 - 20150821-最新版.xls

昨年末頃に発売された『Gradle徹底入門』にはgradleプラグインポータルに登録する方法が付録として掲載されていますが、Gradleの開発速度が非常に速いため、最新の方法と異なっている部分があるので、最新の方法を紹介します。(以前の方法でもできるかもしれ…

Gradle TestKit用のプラグインをリリースしました

表記のとおりです。 動機 Gradle2.6からの機能の一つgradleTestKitはかなり便利なのですが、まだまだ機能不足で、特に自作プラグインを読み込めないところが弱点であると言ってきました。 Gradle2.6の新機能のうち二つを試してみた - mike-neckのブログmike-…

Rule based model generation plugin ver0.2をリリースしました

題名のとおりです。 土曜日にリリースしたGradleのrule-based-model-generationプラグインのバージョン0.2をリリースしました。 Gradle - Plugin: org.mikeneck.rule-based-model-generation リリースした機能 生成されたインターフェースを実装したクラスを…

GradleTestKitを使用する場合の注意点

GradleTestKitいいですね。 プラグイン作った場合は、もうこれなしには生きていけません。 ただ、いくつか問題があるようです。 デバッグは不可能 TestKitは別のプロセスでライブラリーやjarをロードするので、作成したプラグイン実装クラスなどにブレークポ…

Rule Based Model ConfigurationのManagedインターフェースを生成するgradle pluginを作った。

なるべく、わからないようにリリースしたつもりだったのですが、さすがGradleの日本の第一人者、綿引さんにすぐに見つかってしまいました。 @mike_neck さんのプラグインがポータルにあがっておる。https://t.co/YOdb34pLcK #jggug— Takuma Watabiki (@bikis…

Rule Based Model Configurationの @ Mutate フェーズ実装のベタープラクティス(若干)

gradle2.4以来、gradleのRule Based Model configurationに魅力を感じて、いろいろ試しています。 gradle2.4のRule based model configurationがユーザーにとって地味に嬉しい - mike-neckのブログmike-neck.hatenadiary.com 日本人、破壊的な変更が入らない…

Gradle2.6のTestKitで強引に自作プラグインを読み込ませる方法

昨日のエントリーの続き。 Gradle2.6の新機能のうち二つを試してみた - mike-neckのブログmike-neck.hatenadiary.com 昨日のエントリーでは、自作プラグインのテストが書けないという残念なというか、致命的な欠点があったので、強引に自作プラグインを読み…

Gradle2.6の新機能のうち二つを試してみた

JJUG LT大会、行きそびれました。 完全に夜型というか一日の活動時間が6時間くらいしかない僕が夜7時のイベントに参加するなど、到底無理でした(言い訳) 一応、夕方4時くらいには起きていたのですが、雨が降り出して、気分が落ち込んでしまったため、寝て起…

サラダチキンの美味しい食べ方

ネタエントリーです。 2ヶ月前くらい、Scalaとかやってる人とか糖質制限ほげほげやってる人の間でサラダチキンが流行っていたように記憶しています。 鶏肉はタンパク質が多めなのがよいのですが、毎回コンソメスープで煮込んだ冷たい肉を食べるのも飽きてく…

最も正しくないOptionalの使い方

本記事ではJava8から入ったOptionalの最も正しくない使い方を解説します。 なお、これが正しいか正しくないかは読者の方の個人的なセンスにお任せします。 正しくない使い方 入力されたBeanの検証をするときに、if(condition1) { return false; } else if (c…

Gradle3.0で一部が激しく変更されるっぽい感じが漂う件

gradleは単なるタスク実行基盤ツールですが、僕が3~4年前に人から「gradleなんてクッソマイナーで型もないgroovy(偏見)のツールなんて誰が使うか」と言われてた頃から比べると、Androidでの採用もあり、かなり普及した感があります。 さて、そんなだいぶ馴…

payara-microのJSONシリアライザーをGensonにするために、なかなかハマった件

比較的新しいJava用のJSONライブラリーGenson - mike-neckのブログmike-neck.hatenadiary.com これの続き。 この記事の終わりの辺りで、 GensonをJerseyで使おう! あっ、それなら今超絶流行りのPayara Microでやってみよう! という流れになったので、Payar…

比較的新しいJava用のJSONライブラリーGenson

標記の件について、というわけでもないのですが、JSONPの実装ライブラリーを調べていた所、Gensonなるライブラリーがあるのを見つけました。 謳い文句としては 簡単に使えてしかもパワフル 他のJavaエコシステムとも協調性がある JSR353(JSONP)実装 JAXBとも…

統計的品質管理の功罪のあれ

水曜日か木曜日くらいに次の資料を読んだ。 統計的品質管理の功罪 from 工 久納 www.slideshare.net 多少、色が付いているし、永和さんのエンジニアさんの資料なので、まあ、こんな感じで煽っていくスタイルなんだな~と思いつつ読んでいて、僕の苦い過去を…

Gradle Forumsを使う

GradleのRule based model configurationで少しわからないことがあったので、Gradle Forumsを使いました。 わからなかったことは、Managedなモデルが別のManagedなモデルを参照する場合に後者のモデルをどのようにインスタンス化すればいいのかということで…

KullaでJavaFXの操作を対話的にやってみる

Kullaネタ JavaFXなどのGUIのプログラムをゴリゴリと書いている時に、ふとこのオブジェクトを少し動かしたらどうなるんだろうと気になることがあります。実際にやってみようとすると、コードを書いてアプリケーションを起動して実際の動きを見て、「ああ、な…

Kullaとsidenで簡易Webサーバーを走らせてみる

JavaのREPLの話は前回したとおりです。 JavaにREPLがやってくる - mike-neckのブログmike-neck.hatenadiary.com で、この記事の最後のほうでKullaに簡易的なWebサーバーをさせてみるのもありかもしれない的なことを書いたので、実際にやってみました。ただ、…

JavaにREPLがやってくる

表記の通り、今(2015/06/26)現在KullaというプロジェクトでREPL機能が開発されていて、Java 9で(今更ながら)搭載される予定です(jshellと呼ばれるらしい)。 以前はこのJava REPLを試すのが大変だった(@zephiransasさんのブログ記事を参照)ようですが、今はか…

JJUG ナイトセミナー「Reactive Streams特集」に行ってきた #JJUG

眠いし、最近Java書いてないし、非同期とかあまりつかってないので、あまりピンとこない分野ですので、雑に書きます。 で、件の勉強会に行きました。 【東京】JJUG ナイトセミナー 「Reactive Streams特集」jjug.doorkeeper.jp 感想概要 Reactiveホゲホゲに…

Haskellのdo記法

いまいちピンときていなかったから、少しだけ調べた。 Haskell/do notation - Wikibooks, open books for an open world 次のようなモナドっぽい値を返す関数があって、連続で利用するときに使うらしい。 monadicFun1 :: Maybe Int monadicFun1 = return 1 m…

やっとこさ、JSONをパースするHaskellのコードほぼ完成した

以前、書いた記事でJSONの数値型のパーサーが書けなくて、悩んでたやつ、なんとか汚いながらも動く奴が書けた。 これが以前のやつ HaskellでJSONのパーサーを書いてみた - mike-neckのブログmike-neck.hatenadiary.com JSONの数値型のパーサー部分が書けなか…

Haskellで基本的なことをhspecで確認してみる

上記のとおりです。 『すごいH』本を読みながら、リストだとかMaybeだとかEitherだとかがFunctor、Applicativeなどを満たしていることを各法則を試すことによって確認しています。 具体的な課題はこんな感じ 課題 次の型がそれぞれ下に列挙された型クラスの…

hspecを使ってcabalでテストしてみた

Haskellのhspecについて、まあ、すでにやっている人はやっているだろうし、今更感が否めない記事です。僕のスキルの低さではなかなかレベルが高くて辛かったのでメモになっています。なお、本記事のほぼ全部の部分については以下のエントリーを参考にしてい…

『すごいHaskellたのしく学ぼう』を読んだ

表記のとおりです。 1ヶ月くらいかかっちゃいました。 Amazon.co.jp: すごいHaskellたのしく学ぼう!: Miran Lipovača, 田中 英行, 村主 崇行: 本amazon.co.jp 内容的にはAmazonのカスタマーレビューが詳しいですが、自分なりに書くとこんな感じです。 Funct…