Tagbangers Blog

小川 岳史

Spring Boot CLI をインストールする (Homebrew)

Spring Boot CLI をインストールする。 $ brew tap pivotal/tap $ brew install springboot これだけ。Homebrew を使うとほんと簡単でいいですね。 あとはサブコマンドのタブ補完がつかえるように bash-completion をインストールしておく。 $ brew install bash-completion インストール後、~/.bash_profile に以下を追記する。 if [ -f $(brew --prefix)/etc/bash_completion ]; then     . $(brew --prefix...

Nexus Repository OSS 3.x のインストール

社内レポジトリー用に Nexus Repository をインストールしたのでメモ。 基本的には公式サイトに書いてある通り。 https://books.sonatype.com/nexus-book/reference3/install.html Nexus のインストールディレクトリを $install-dir、データディレクトリを $data-dir とする。 1) Nexus 実行用のユーザーをつくる $ sudo useradd nexus 2) パッケージのダウンロードと展開 https://www.sonatype.com/download-oss-sonatype Unix 版...

Angular2 QuickStart + JSPM

Angular2 の RC5 がリリースされましたね。 NgModule という仕組みが追加されたようで、ついていくのが大変ですがどんどん便利になるのはわくわくしますね。 今回記事は、Angular2 の QuickStart を JSPM でアレンジした時のメモ。 あとからごにょごにょタスクを書きたくなるかもしれないので、gulp も入れました。 ソースコードは ここ にあります。 Step1 : npm で必要なパッケージをインストール npm init -y npm install \ babel-preset-es2015 --save-dev \ babel-register -...

うわさのRiot.jsとSpring Bootでサーバーサイドレンダリング

前置き ウェブアプリケーションをもっともっときもちのいい UI に。 ちらつきは悪だ そのための SPA (シングルページアプリケーション)。 でもいつまでも最初のページで Ajax による遅延描画で画面をガタガタちらつかせている場合じゃない。 だから、最初のページはサーバサイドでコンテンツをレンダリングしておきたい。 これがサーバーサイドレンダリング。 でもどうせだったらブラウザ側で実行しているコード (Javascript) をサーバサイドでもそのままつかってコンテンツをレンダリングできれば一石二鳥では? これが Isomorphic なアプローチ。 今回の構成 Riot.js Riot....

Spring MVC でリダイレクトさせないときでも RedirectAttributes を使いたい

ちょっと意味不明なタイトルになってしまいましたが、RedirectAttributes を使うとリダイレクト先のページのまで有効ないわゆる Flash スコープが使えます。 とても便利な機能ですが、これをリダイレクトではなく単なるページ遷移の時にも使う場合は以下のように自身で FlashMapManager#saveOutputFlashMap をコールすることで実現できます。 FlashMap flashMap = RequestContextUtils.getOutputFlashMap(request); flashMap.put("message", "Hello!"); Requ...

AWS Certificate Managerの無料SSLでセキュアな独自ドメインのウェブ公開(CloudFront+S3ウェブホスティング)

もう SSL 証明書も無料なんですね。 ということで、AWS の無料SSLを使ってウェブ公開する手順をメモ。 以下は AWS Console での作業。 Certificate Manager で SSL 証明書の発行。SSL証明書を発行するドメイン名を入力して Request するだけ。 管理者のメールアドレスに以下のようなメールが届くので、承認する。 もう証明書が発行されました。(はやいしらくちん) S3 のウェブホスティングを準備。 CloudFront を準備。 先ほど作成した SSL 証明書が選択できる!! Route53 を設定。 https://ssl-test-ogawa.ta...

Spring Security でマルチテナントしたときの Remember-me 認証対応

下記のログイン画面のように、ID と それ以外のパラメータを用いて認証した場合の Spring Security の Remember-Me 認証方法をご紹介。 ソースコードは GitHub (https://github.com/tagbangers/spring-best-practice...) で公開しています。 Spring Security は Remember-Me 認証の実装の1つとして、PersistentTokenBasedRememberMeServices クラスを提供している。PersistentTokenBasedRememberMeServices はログイン情報...

Spring の小粋なクラス Part1 - AbstractPersistable

今回の小粋なクラスは、 org.springframework.data.jpa.domain.AbstractPersistable (spring-data-jpa-1.9.2.RELEASE) JPA を使う時に Entity の親クラスとしてとりあえず継承しておくといい。 AbstractPersistable は JPA における主キーをあらわすメソッドと、主キーベースの #equals(Object) と #hashCode() メソッドが提供される。 下記のリファレンスにもあるとおり、Hibernate ではオブジェクトの等価性を使って同一のデータベースのレコードかどうかを判断す...

Ceph を Ubuntu (on AWS) にインストールしたメモ

環境 workstation クライアントサーバ Ubuntu 14.04 node1 クラスターサーバ Ubuntu 14.04 node2 クラスターサーバ Ubuntu 14.04 手順 すべてのサーバで作業 ★ すべてのサーバに ceph-deploy ユーザーを作成し、workstation サーバからノンパスフレーズで ssh ログインできるようにしておく (別のユーザー名でもよいが "ceph" は予約されているため使えない) ★ hostname でホスト名が解決できるようにしておく必要がある ★ すべて ceph-deploy ユーザーで作業 $ echo "ceph-dep...

GlusterFS を Ubuntu (on AWS) にインストールしたメモ

環境 workstation クライアントサーバ Ubuntu 14.04 node1 クラスターサーバ Ubuntu 14.04 node2 クラスターサーバ Ubuntu 14.04 手順 node1,2 で作業 # apt-get update # apt-get install software-properties-common # add-apt-repository ppa:gluster/glusterfs-3.5 # apt-get update # apt-get install glusterfs-server node1 だけで作業 # gluste...