2016-01-01から1年間の記事一覧
今年1年、それなりに努力したつもりですが、まだまだ努力しないといけないなと感じており 2017年はさらに努力を積み重ねていきます。 とか考えていた時に、ふと頭に浮かんだのが 1.01と0.99の法則 です。 1.01と0.99の法則とは 1.01と0.99の法則とは、継続…
IntelliJ IDEA上で、sbtによる開発を行うための手順です。 sbtはSimple Build Toolnの略で、Scalaで開発を行う際の標準的なビルドツールのようです(Mavenに近い存在なんですかね) IntelliJ IDEA起動後に以下の手順で操作を行います。 SBT Pluginのインスト…
前回、ScalaのSDKをインストールしてREPLでHello Worldをやりました。 今回はIntelliJ IDEAでHello Worldを実行してみます。 IntelliJ IDEAを起動してから以下実施します。(Java(JDK)に関する設定についての説明は割愛しています) Scalaのプロジェクト作成…
Windows環境下でScala開発(の勉強)をしたいので、とりあえず、まずはSDKをインストールしてみます。 その後、REPLでHello Worldやってみます。 インストール Javaのインストール ScalaはJVM上で動作するわけなので、Javaをとりあえずインストールしましょ…
MBassadorで同じ型の引数を受け取るHandlerを複数定義した場合、発行したメッセージはすべてのハンドラに到着します。 その際に、メッセージがHandlerに到着する順序は不定です。 が、Handlerにおいてpriorityを指定することで、メッセージの到着順序を制御…
先日のエントリで、MBassadorでメッセージの型によって反応するハンドラが変わるサンプルを示しました。 MBassadorでは、同じ型のメッセージでもメッセージ内容をフィルタリングして受け取るハンドラを切り替えることができます。 概要 フィルタリングは大ま…
以前のエントリでJava用の軽量なEventBusとして、MBassadorを紹介しました。 その際にはメッセージを受け取るハンドラを一つだけ定義しましたが、今回のサンプルでは複数のハンドラを定義してみます ■Handlerの定義 ハンドラとなるメソッドを3つ用意しまし…
医療関連のITサービスやシステム,プロダクトを提供しているヘルステック分野の会社で個人的に気になったものをメモしておくためのリンク集です。(日々増減します) エムスリー株式会社 企業HP: https://corporate.m3.com/ m3.com 医療従事者専用サイト リー…
人工知能エンジニアMeetUp! #4 に参加してきました。 以下自分用のメモ 概要 主催: エルピクセル株式会社 場所: 東京大学伊藤国際学術研究センターギャラリー1 開催日: 2016/12/22 今回の参加者 医師 放射線技師 PACS関連エンジニア Web系エンジニア その…
IntelliJ IDEAのツールボタン(以下画面の赤枠で囲んだところのボタン)を常に表示しておきたい時があります。 その場合は、「View」を選択し、その中の「Tool Buttons」をクリックしてチェックが入った状態にします。 これで常に表示された状態となります。…
JavaでPublish/Subscribe Patternをベースにした軽量なEventBusのライブラリとしてMBassadorというものが存在しています。 今回のサンプルではとりあえずHelloWorld的なことをやります。 準備 pom.xmlに以下の依存関係を追加します。本エントリではversionに…
Quartzで定期処理を行う場合、デフォルトでは10スレッドがpoolされて、そのスレッドを使って処理されます。 場合によっては、10スレッドもプールされている必要ないよ。という場合もあると思います。 その場合は以下の設定でスレッド数を変更することができ…
QuartzでJobの定義を行うことで簡単に定期処理を記述することができますが、 デフォルトではJobにメンバ(インスタンス変数)を持たせて、それを外側からセットするのは単純にはできません。 しかし以下のようにすることで外部から必要なインスタンスをDIコ…
Javaで簡単に定期処理を行うためのライブラリであるQuartzの紹介エントリを書きました。 その際に、100ミリ秒間隔で処理を行う例を書きましたが、実は対象のジョブが実行開始して100ミリ秒以内に処理をおえられない場合は、同一のジョブがさらに実行される状…
meetup app tokyo@2に参加してきました。 以下自分用のメモ 概要 テーマ: Deep Learning 開催日: 2016/12/16 18:30 〜 場所: 株式会社gloops 5Fハングアウトフィールド 参加費: 300円 DIGITS : DIGITSでディープラーニングを始めよう! NVIDA 村上真奈 氏 …
Java Advent Calendar 2016の16日目の記事です。 ※追記: Javaslangは、名称がVavrに変更になりました Javaで関数型プログラミングを行うためのライブラリとしてJavaslangが存在しています。 Javaslangは、Scalaの長所をJava言語にできる限り導入することを…
MedNight Tokyo #1 に参加してきました。 以下、自分用のメモです 概要 開催日時 2016/12/14 19:30 ~ 登壇企業 エムスリー株式会社 株式会社メドレー 内容 医療ヘルスケア分野のエムスリー・メドレーのエンジニアが、医療業界におけるサービス運用に関する…
Javaで定期処理を書くのは、Java標準のAPIを使ってできるのはできますが、 ジョブスケジューラライブラリのQuartzというものが存在しています これを使ったほうがもっとシンプルに書けて、(たぶん)高機能なこともできます。 とりあえずまずは使ってみまし…
IntelliJ IDEAでJavaのコードを書いている場合、デフォルトで同一パッケージのimportが5つ以上になると自動的に、*(アスタリスク)でまとめられてしまいます。 import文はそんなに目立つ必要もないので、これはこれでいい気がするのですが、規約などで *(…
JavaのOptional(java.util.Optional)がどういうものであるかについて自分なり理解したので、それについてメモしておきます。 自分なりの理解ということで、細かい部分で正しくないところもあるかもしれません。 Optionalの役割 Optionalは、値があるかもしれ…
Eclipseでは、デフォルトでソース内のメソッド等にマウスオーバーすると自動的にjavadocがポップアップ表示されます。 これに対して、IntelliJ IDEAはデフォルトではそのような自動表示はされないようになっています。 Eclipseのようにマウスオーバーで自動…
Mavenプロジェクトで開発している場合にfat jar(jarの中に依存するライブラリのjarもまとめた1つのjarファイル)を生成するためには、 pom.xmlに以下の内容を追記することで可能です <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-d…</descriptorref></descriptorrefs></configuration></plugin></plugins></build>
ソースコードの先頭にCopyright(著作権)の表示をしておきたいということが多々あります。新規クラス生成するたびに、コードの先頭に決まったCopyrightの内容を記述するの面倒なので、自動的に挿入されるようにしておきましょう。 以下手順です。 File > Se…
「レガシーソフトウェア改善ガイド」の第3部 リファクタリングの先へ - プロジェクトのワークフローと基盤を改善する で気になったところの抜粋。 レガシーソフトウェア改善ガイド (Object Oriented Selection)作者: クリス・バーチャル,吉川邦夫出版社/メー…
「レガシーソフトウェア改善ガイド」の第2部 コードベース改良のためのリファクタリング で気になったところの抜粋。 レガシーソフトウェア改善ガイド (Object Oriented Selection)作者: クリス・バーチャル,吉川邦夫出版社/メーカー: 翔泳社発売日: 2016/1…
「レガシーソフトウェア改善ガイド」の第1部で気になったところの抜粋。 レガシーソフトウェア改善ガイド (Object Oriented Selection)作者: クリス・バーチャル,吉川邦夫出版社/メーカー: 翔泳社発売日: 2016/11/11メディア: 単行本(ソフトカバー)この商…
IntelliJ IDEAのショートカット集(IntelliJ IDEAを使い始めたばかりなので自分用のメモです) ちなみに自分の環境がWindowsなので以下全てWindows用のショートカットを記載しています。 便利なショートカット 使用頻度が特に高いショートカット 内容 ショー…
Spring BootでWebアプリを構築する際に、 仮に以下のようなコードがあった場合、WebAuthenticationDetails#getRemoteAddressでアクセス元のIPアドレスを取得することができます。 import lombok.extern.slf4j.Slf4j; import org.springframework.beans.facto…
JJUG CCC 2016 Fallに参加してきました。 以下自分用のメモです。 概要 JJUG CCCは、春と秋に開催される日本最大のJavaコミュニティイベント。Java関連の技術や事例に関するセッションが行われる。 主催: 日本Javaユーザーグループ 日程: 2016/12/3(土) 10…
Java上で定義した文字列をGroovyのScriptとして実行するサンプルです 以下サンプルでは、Scriptで受け取った文字列をコンソールに出力して、"end"という文字列をreturnします。 ■pom.xml Mavenで取り合うことを前提として、pom.xmlには以下を追記します <dependency> <groupId>org</groupid></dependency>…