Tagbangers Blog

山﨑 大

静的コード解析 Sonar ってなに?

Sonar とは Sonar は SonarSource社 が開発、運営する静的コード解析ツールです。 正式には Sonar という製品ではなく、SonarQube や SonarCloud などの製品があります。 詳しくは 公式サイト(Products) を参照。 今回は解析結果を分析するための UI である、SonarQube、SonarCloud の使い方を見ていきたいと思います。 いろいろな Sonar まず、はじめに SonarQube と SonarCloud はほぼ同じです。 自身でインストールして使う SonarQube(Server版)か SonarCloud(Cloud版)...

Hibernate Search で Elasticsearch を使用したらの bulk ではまった

なにが起きたのか? Hibernate Search は Elasticsearch にも対応しています。 今回、既存のアプリケーションで Elasticsearch に対応した際に、Hibernate Search の MassIndexer を使用して検索用インデックスを再生成を行いました。 その際、作成に失敗することがありましたので書きとめておきたいと思います。 結論 今回色々調べましたが、結論からいいますと。。 Elasticsearch がバッチで処理できるサイズを超えてしまい、Elasticsearch で生成に失敗、最終的に Hibernate Search の処理がエラーになる...

Domain Event with Spring

Domain Event とは? 売上というドメインがある場合 、売上ドメインでは様々な出来事がおきます。 「売上ができた」「売上が変更された」「売上が削除された」 ここで、「売上ができた」という出来事は副作用があるかも知れません。 伝票ができるかもしれませんし、在庫が変動することもあるでしょう。 これらの副作用を売上ドメインだけで完結しようとすると、 伝票ドメインや在庫ドメインとの深い関係を持っている状態になります。 我々の世界ではこれを密結合と言ったりします。 疎結合と密結合であれば、疎結合がいいと言うのはなんとなくわかりますね。 マイクロサービスがもてはやされているのもこれが一つのキーワ...

HATEOAS をおさらい

HATEOAS とは? Hypermedia As The Engine Of Application State (HATEOAS) is a component of the REST application architecture that distinguishes it from other network application architectures. With HATEOAS, a client interacts with a network application whose application servers provide information dynami...

Spring Data JDBC 101

Spring Data JDBC タグバンガーズでは Spring Data JPA をデータベースアクセスに使用することが多いのですが、 今回は「シンプルに!」がコンセプトの Spring Data JDBC に触れて見たいと思います。 リリースされてから結構経ってしまいましたが早速いってみよう。 シンプル JPA は便利で高機能です。それが故に複雑になりがちです。 複雑さを生むのは以下のような要素があるからだと言われます。 遅延ロード エンティティのプロキシ セッション / 1st レベルキャッシュ エンティティの監視 こんなに機能必要ない。そんなときは Spring Data JDBC ...

データレイクとは?

湖、作ってますか?やまさきです。 データ分析について調べていると必ず出てくる、「データウェアハウス」「データマート」「データレイク」。 今回はデータレイクについて調べて見ましたので、忘れないようにメモ的にまとめておこうと思います。 データレイクが生まれた背景 ビッグデータ、IoTという言葉が流行りましたが、世の中はデータで溢れかえっています。 あふれるデータは集めて分析することでその価値を高めることが出来ます。 顧客のニーズを発見したり、異常を検知したり、機械学習してみたり・・・。 さらに最近は分析のスピードが求められるようになり、「分析できるまで1日かかるよ。」というのは問題外な世の中です。...

Dockerを使いたい Docker Registry

Dockerを使いたい。山﨑です。 周辺技術がどんどん成長していっているDockerを使い倒すべくブログと称してメモしとこうと思います。 今回はDockerそのものは置いといて、Docker Registry を使ってみたいと思います。 とはいえ、docker run docker の基本中の基本。 Docker イメージをダウンロードし、コンテナを起動。 コンテナ内で echo を実行ということがコマンド一発で可能です。 (全くいみはない $ docker run ubuntu /bin/echo "Hello Docker" Hello Docker このコマンドでコンテナの元になるイメ...

Amazon EC2 Elastic GPUs登場

皆さんのパソコンにはGPU入ってますか。 私の開発環境である、MBPもGPU入ってます。 パソコンでゲームをする。絵を書く。動画を編集する。 パソコン購入の際、GPUの性能を気にするという方も多いのでは無いでしょうか? GPU(Graphics Processing Unit)とは? グラフィックというくらいですから、画像の処理を行うのが得意そうなイメージですし、実際にそうです。 画像処理ってなんだか複雑そうな気もしますが、実は逆です。 GPUは単純な処理(例えば行列の計算とか)を並列で行うのが得意です。 単純な処理に特化しているため、コア数もCPUとは比べ物になりません。数百コアとか当たり前...

【EC2】F1インスタンスとFPGAのことを調べる

re:Invent 2016にてF1インスタンスが発表されました! https://aws.amazon.com/jp/ec2/instance-types/f1/ EC2には様々なインスタンスタイプが用意されておりますが、F1とはいったい?! F1 まず、F1インスタンスは何を得意としているのかを調べてみましょう。 特徴を捉えるときに私はまずはユースケースを見ます。 ユースケース ゲノム研究 財務分析 リアルタイムビデオ処理 ビッグデータ検索と分析 セキュリティ なんだか他のインスタンスタイプでも問題なさそうな気もします。 たくさんのデータをガツンと処理したい。そんなことが得意なようです。 ...

three.jsで遊んで見よう

タグバンガーズでは3Dをもりもり・・・使いません。 我々が得意としている業務系アプリは3Dとは無縁で、(すくなくとも今は)派手な見た目は必要とはされません。 ただ、フラットデザインも見た目はフラットですが奥行きを意識したものであったり、3Dの知識はあっても損はしないでしょう。 three.js three.jsはWebGL、3DCSSを簡単に取り扱うためのJavaScriptの3Dライブラリです。 かなり前から気になっていましたが触らずじまい。重い腰をあげてやっと触ってみようと思います。 公式ドキュメント 今回は変わったことはせずに公式ドキュメントの「Creating a scene」を読みな...