読者です 読者をやめる 読者になる 読者になる

だったら壁にでも話してろよ。

技術ネタはQiitaに移行したので、出口のない悩みや考えを垂れ流すことにします。

自動化のススメ

IntelliJ IDEA 15 の Spring Boot 用 起動構成で ClassNotFoundException

IntelliJ IDEA 15 EAP をしばらく前から使用してみている。 IntelliJ IDEA 15 からは、Spring Boot 人気を受けてか、専用の起動構成が用意されている。アクティブ プロファイルの設定や、パラメーターの上書きなどが構成設定内に用意されており、Spring Boot…

Docker Remote API を使ってみる (Ubuntu 15.04 の場合)

以前、以下のように Docker Remote API のセットアップを試して書き残していた。 yo1000.hateblo.jp ところが、Ubuntu 15.04 で同様に試してみたところ、systemd に移行していたため、従来のやり方では Remote API を有効化できなかった。そこで、調べてみた…

Ubuntu 15.04 へ Docker のインストール

以前、以下のように Ubuntu 14.04 への Docker インストールを試して、書き残していた。 yo1000.hateblo.jp Ubuntu 15 もリリースされてしばらく経ったので、今度はこちらも同様に入れてみた。すごく簡単になっていた。簡単すぎたので説明するまでもないが、…

DBUnit をそのまま使うと ORACLE のシノニムが使えない

表題通りである。(二度目。) DBUnit は、何もせずに使うとシノニムを検出できない。これは、以前紹介した以下エントリの通り、DBUnit が DB のメタデータを必要とするのに影響する。 yo1000.hateblo.jp シノニムが使用できない理由として、DBUnit のメタデー…

DBUnit をそのまま使うと ORACLE 相手のテストが遅い

表題通りである。ORACLE データベースを相手に DBUnit を使用すると、とにかく遅い。 ただ、これには理由があり、解消方法も存在するが、これに気がつくまでかなり時間をかけてしまったので、残しておくことにする。 まず解消方法から。以下のように、テスト…

Spring で JSON null 値をフィールド型ごとに変換する

せっかく仕事が休みなので、ためていた分を書き残しておこうと思う。 Spring での JSON 変換に、Jackson が使用されているのはどなたもご存知のところかと思う。ところが、null 値が設定されていた場合に、レスポンスをフィールドの型ごとに変換したいような…

JSUG 2015 Spring in Summer で話をしてきた話

すこし日が空きましたが、先日 8月28日に日本Springユーザー会のイベント「Spring in Summer ~ 夏なのにSpring」でお話をしてきました。 なかなか人前で話をする機会がこれまでなかったので、お誘いいただいた関係者の皆様、貴重な機会をありがとうございま…

Spock x DBUnit でテストを書いてみる

Java プロジェクトで、Groovy を使えるようになって、Spock を試してみたところ、とても使いやすく、これはいいものだとすぐさま実感できた。 興味を刺激されたのでさらに調べてみると、Groovy を利用することで、DBUnit のデータ挿入もコード内で簡潔に済ま…

Groovy でテストを書いてみる (STS: Spring Tool Suite)

IntelliJ IDEA に引き続き、Spring Tool Suite でも Groovy でテストを書いてみようと思い、試してみた。 使用した STS のバージョンは、STS 3.7.0.RELEASE (Based on Eclipse 4.5) の、Mac OS X 用のもの。基本的に Windows 版でも手順はさほど変わらない。…

Groovy でテストを書いてみる (IntelliJ IDEA)

いつもは JUnit で済ませてしまうテストを、Groovy で書いてみようと思い、試してみたメモ。 今回使用したのは、IntelliJ IDEA 15 EAP (Early Access Program)。非常に簡単に Groovy サポートが有効になって驚いたが、IntelliJ IDEA は、そもそも Groovy を…

Spring Boot と MyBatis を組み合わせて使用する

クエリレベルでのチューニングの必要があるようなプロジェクトで、Hibernate を適用できないといった場合にたびたび採用されるであろう MyBatis。今回はこれを Spring Boot と組み合わせてみる。 Spring Boot を使用すると、コンフィグレーションのほとんど…

Spring Boot で applicationContext.xml の ref 属性を表現する

Spring Framework 4、および Boot あたりから、本格的にアノテーションベースのコンフィグレーションに移行が進んでいる。これに際して、Spring Framework が直接使用するコンフィグレーションに関しては、すべてアノテーションベースに移行しようと思い試し…

Spring Boot で設定可能なプロパティを追加する 2

過去記事に関連して、より柔軟なプロパティの割り当て方に至ったため、改めてまとめておく。 Spring Boot で設定可能なプロパティを追加する - 作業ノートyo1000.hateblo.jp @ConfigurationProperties アノテーションを付けたクラスが、application.properti…

Spring Boot のビルド方法あれこれ

Spring Boot の起動には基本的に、Maven (または、Gradle) を使用するが、2つのゴールが用意されているので、その使い方などを紹介。 spring-boot:run Spring Boot アプリケーションを起動するためのゴール。Spring Boot の設定は、Maven の --define オプシ…

Spring Framework で @RequestMapping にパターンを指定する

Spring Framework (とくに Spring MVC) を使用して、コントローラーを作成する場合、クラスに @Contoroller アノテーションを指定し、各アクションメソッドに @RequestMapping アノテーションを指定し、引数に @PathVariable を指定することで、URL 内の変数…

Spring Boot で設定可能なプロパティを追加する

Spring Boot で、アノテーションベースの設定を書いていると、これら設定を外部化できないかと思うことが度々ある。これまでの xml ベースの設定であれば、必要な設定ファイルだけアプリケーション起動時にクラスパスに追加すれば外部化できていた。 Spring …

Spring Boot の設定変更

Spring Boot が気になって調べていたり、始めてみたけどよく分からず調べたりしてここに辿り着いた方であれば、既にご存知だとは思うのだが、Spring Boot は、DropWizard などと同様に Web アプリケーションコンテナが組み込まれており、Java さえ実行できれ…

Spring Boot での Bean 定義

Spring Boot でアプリケーションを作成する際に、プレーンな Spring Framework を使用した場合との違いでまず大きいのが、Bean の定義ではないかと思う。XML ベースの定義が基本的にはアノテーションベースに置き換わる。(もちろん XML ベースでの記述も可能…

Spring Boot ことはじめ

このところ、記事をなにも書いていない期間が長かったのだけど、Docker のインストールまわりが落ち着いたため、クライアント Web アプリケーションを書いていた。 Docker のクライアント Web アプリケーションは既に、Panamax、Shipyard など優れたものが多…

Github を Maven リポジトリとして使う

調べてみると、いろいろとハマりどころがあったのでメモ。 事前に用意するもの まず、適当な Java ファイル。今回はこれをモジュールとして扱うものとする。 public class Hoge { public static void main(String[] args) { System.out.println("Hoge module…

Docker Remote API を使ってみる

これがやりたいがためにローカル環境に Docker を構築したといってもいい。ここを突破したら、API 使って Web フロントエンドの開発をするつもり。 ググったらまた使い方出てきた。 Docker Remote APIを使ってみる #apijp - nobusueの日記 とりあえず、Remot…

Docker を使ってみる

コマンドをググってみた。Qiita によさ気なのがあったので、参考に。 Dockerコマンドメモ - Qiita ポートフォワードや、ホスト・コンテナ間のディレクトリ共有ができるようなので、このへんおさえておけば大抵のことはできそう。実際に、適当なイメージを拾…

Ubuntu 14.04 へ Docker のインストール

Docker インストールの準備を済ませたら、いよいよインストール。まだの場合は先に準備。 Ubuntu 14.04 へ Docker のインストール準備 - 作業ノート まずはパッケージ名を検索。 $ apt-cache search docker pidgin - graphical multi-protocol instant messa…

Ubuntu 14.04 へ Docker のインストール準備

最近、職場で Docker が熱い。ので、自宅でも立ててみる。 仕事を通じていろいろ調べさせてもらった結果、Docker は OS のカーネルに依存する部分が多く、そのバージョンとの相性が悪いと、いろいろ不具合が出るようだった。 CentOS 7 や、Ubuntu 14.10 で検…

Ubuntu 14.04 へ ssh のインストール

CentOS だと sshd だったので、Ubuntu でも同様にググってしまっていて、ちょっと手こずったのでおぼえがき。Ubuntu だとサービス名は ssh になっているようだった。 apt-get のリポジトリ更新をしてから、openssh-server のインストールでおわり。 $ sudo a…

Ubuntu 14.04 のキーボード設定

適当にインストールしたら日本語キーボードになっていなかったのでおぼえがき。 sudo dpkg-reconfigure keyboard-configuration キーボードの設定ウィザードが始まるので、自分のマシンに応じた設定を選択して進めていく。 参考:http://qiita.com/ktyubeshi…

Ubuntu 14.04 を CUI で起動

ググったらけっこう出てきたので、それに倣う。また、デフォルトで vim が入っていないようなので、vim をインストールしてから作業したほうがいいだろう。 sudo vi /etc/default/grub 内容を確認しつつ、以下のように変更。 GRUB_CMDLINE_LINUX_DEFAULT="qu…

AWS EC2 セットアップメモ ディスクマウント

社内向けの m3.xlarge のセットアップをすることがあったのでメモ。 まずはマウントディスクの状態から確認。 $ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/xvda1 8377344 876560 7500784 11% / devtmpfs 7602628 0 7602628 0% /dev …

iPhoto ライブラリから写真をコピーする

そんなに手順は多くないのだが、忘れてしまいそうなのでメモ。 きっかけはストレージ不足に陥り、サイズの大きなファイルやディレクトリを探していたところ、1500枚程度しか写真を管理していないのに異常なまでに肥大化していた iPhoto ライブラリを見つけた…

TeamCity で実際にビルドしてみる

前回は TeamCity で Build を作成した。 TeamCity で Build を作成 - 作業ノート 今回はそれに引き続いて、実際にプロジェクトのビルドを試してみる。TeamCity ならではのビルド結果の見やすさや、他ツールとの便利な連携などもいっしょに見ていく。 コミッ…

TeamCity で Build を作成

TeamCity 自体のセットアップはここまでで概ね終えたので、ここからは使いかたや、どんなところが便利なのかについて触れていこうと思う。 TeamCity では、Build という単位でビルドジョブを管理する。これは Jenkins でいうところの Job にあたる。また、Bu…

TeamCity の BuildAgent をデーモン化

以前の記事で、TeamCity、および BuildAgent のインストールをおこなった。 ところが、この状態だとサーバー再起動時などに再び手動で BuildAgent を起動しなければならないため、 今回は BuildAgent のデーモン化をおこなってみようと思う。 また、TeamCity…

TeamCity JavaEE:war 版に BuildAgent インストール

通常、TeamCity(Windows/Mac OS X/Linux 版)では、すべてのモジュールひとつのパッケージに同梱されているため、BuildAgent のインストール作業などはとくに考慮する必要はない。 ところが、JavaEE 版では、BuildAgent のみ別でインストール必要がある。Ja…

TeamCity JavaEE:war 版のインストール

仕事で CI ツールの選定をしていたところ、 TeamCity が非常によく出来ていて気に入ったので、 プライベートでも立ててみた。 仕事先で入れた時には Linux 版(tar.gz を展開して、sh で起動)を 使用していたため、 とくに引っかかるところもなく、 簡単に…

yum でインストールした Tomcat に JVM オプションを設定

Tomcat に JVM オプションを設定しようと思ったら、 通常、catalina.sh などを編集することになると思う。 ただ、yum で Tomcat をインストールした場合、 この catalina.sh は作成されず、Tomcat はデーモンとして登録される。 こんなときに、JVM オプショ…

Redis リモートアクセスと GUI クライアント

Redis のセットアップ自体は 以下記事のとおり早々に済ませていたものの、 CentOS7 セットアップ Redis - 作業ノート 設定関連については一切していなかったので いざリモートホストから使おうとしても、 まだ接続ができない状態になっている。 そこで今回は…

IntelliJ IDEA Tomcat ログの Output コンソール文字化け

デフォだと Tomcat ログ側の文字コードが UTF-8 になっていないようで Output コンソールのところどころで文字が ? に化けてしまう。 今回はこれに対応。 未設定状態だとこう。 Tomcat の起動構成を編集。 [VM options:]に "-Dfile.encoding=UTF-8" を設定…

IntelliJ IDEA アプリケーションコンテキストの設定

おもに Java で書いてると離れられなくなる IntelliJ。 軽快で補完も優秀なので大変便利に使えるのだが、 ときどき他の IDE と設定の方法が違ったりして手が止まることがある。 今回はそんなもののひとつである、アプリケーションコンテキストについて。 Tom…

CentOS7 セットアップ MariaDB - 文字コード設定

MySQL のままな部分が多いので、文字コード確認しておく。 きっとどっかに latin1 がいるんだろ…と思いつつ。 ググりながら設定確認と変更していく。 MariaDB で日本語を扱う場合の文字コードの設定 | 雪猫ノート $ mysql Welcome to the MariaDB monitor. C…

CentOS7 セットアップ MariaDB

つづいて RDB。 べつになんでもいいんだけど、今回は Maria を試す。 といっても MySQL と何ら変わらないはず…。 $ yum list | grep mariadb mariadb-libs.x86_64 1:5.5.40-1.el7_0 @CentOS-7-update mariadb.x86_64 1:5.5.40-1.el7_0 updates mariadb-bench…

CentOS7 セットアップ Jenkins

つづいて Jenkins。 公式サイト見る限り、最近だと yum 経由でのインストールも出来るよう。 今回はこれ試してみることにする。 サイトの説明に従って。 http://pkg.jenkins-ci.org/redhat/ $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkin…

お名前.com Aレコード設定

開発用の環境たてるにあたりドメインを取っていたのだけども、 お名前.com での設定メニューがわかりづらかったのでおぼえがき。 はじめに、ログインして[ドメイン一覧]までくる。 設定したいドメイン名の行で[変更する]ボタンクリック。 [ネームサーバ…

CentOS7 セットアップ Apache/Tomcat

つづいて Apache/Tomcat。 CentOS7 のインストールで Basic Web Server を 選んでいたので、Apache はもう入ってた。 $ systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled) …

CentOS7 セットアップ Redis

次は Redis。 順番ほんとてきとう。 $ yum list | grep redis 標準の yum リポジトリに入ってないのか…。 リポジトリ追加するなりして対応する。 $ wget -r --no-parent --no-directories -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x…

CentOS7 セットアップ Java

先日たてた CentOS7 にいろいろインストールしていく。 まずは Java を入れる。 以前 Java8 で、Javassist との相性問題に 引っかかったことがあったので安定の Java7 で。 oracle-jdk でもいいけど、 セットアップのラクさを優先して openjdk。 $ yum list …

さくら VPS で CentOS7 - 2

ひきつづき。 こっからは CUI なのでキャプチャなしで。 順番適当だけど、まずは yum の更新あたりから。 インストール中にグループ設定が済んでいるので、 root には一度もログインすることなく、 即作業ユーザーで作業開始できる。 sudo yum update かけて…

さくら VPS で CentOS7 - 1

半年くらい前まで TwitterBot 用に動かしてた さくらのマシンが1つ余っていたので、 せっかくなのでこれを使う。 今回は運用に使うとかではなく、 開発補助環境として、いろいろ試せる環境を用意する。 デフォだと CentOS6 が突っ込まれるので カスタム OS …

数年ぶりに書いてみる

会社では Confluence を通じて、 文章書くのにも(自分なりに)慣れてきたので 数年前に2日くらいで書くのをやめたブログを久々に書いてみる。 せっかく年末なんも予定ないし年明け即仕事で使えそうなあたりで 勉強でもしようかと思ってたので、そのへんの内…