ko2ic Blog

悩みがネタ

Dropwizard-testingが便利でした

| Comments

dropwizardはテストを書くのも簡単でした。
特にIntegration Testが気楽に書けました。

Qiitaに書いた記事では、単体テストのたびにテーブルを再作成しています。

その際にLiquibaseのAPIを利用しています。
実際のプロジェクトでもこの機構は使えます。

この記事はQitaやアクセス数を見ると全然人気がないのですが、自分の書いたDropwizardの中でももっとも有用な記事の一つではないかと思っていたります。

Dropwizard(Java)でrailsのようにDBマイグレーションをする

| Comments

DropwizardでのDBマイグレーションについて書きました。

ほとんどLiquibaseの説明です。 これを使うと「DBのスキーマをgitやSVNなどのソース管理システムで管理できる」のがとても良いです。

これによりJavaでもアジャイルに開発しやすくなると思います。

記事はこちらです。
http://qiita.com/ko2ic/items/02da56fd64ec39562bec

いますぐ採用すべきJavaフレームワークDropwizard

| Comments

Dropwizardを使ってみたら、思った以上によかったので紹介します。

基本的なことはQiitaに三回に渡って記事にしているので参考にしてください。

Qitaでは、Javaの記事を書いてもあまり人気ないと思っていましたが、想像以上にストックされていてびっくりしました。
はてなブックマークされたら、一気に増えました。
Dropwizardについては、この3つの記事よりも他の記事の方が意外と有用だったりしますが、入門記事はアクセス数が多いですね。

元々、3回くらいの記事にまとめようと思って書いたので、一つ一つの記事にあまり、関連性がありません。
また、説明も下手(喋るのも文章もどっちも言っている意味がわからない人)なので読みづらいかもしれません。

他の人にも有用になるように、なるべく自分の意見を記述しないで、事実のみを書くつもりでした。
が、今読み返してみると自分の考えを多々書いてありますね。
自分には客観的に書くのは難しかったです。

今後、Dropwizardについてもっと勉強しようと思ったことは、以下になります。

  • Guiceか、何かのDIコンテナを使って、Resourceではないクラス(例えば、Facade)をトランザクション境界にしてみる。
  • 単体テスト周り(dropwizard-testing)
  • Hibernate・JDBIでないFWに変えてみる
  • 自作のManaged ObjectsやCommandsなどを試してみる

です。

気になる点は、ホットデプロイの機能が今のところ無さそうなところです。
そういう意味では、Spring Bootの勉強もやろうと思います。

Mac環境構築(CocoaPods)

| Comments

環境構築でiphone開発のことを忘れていたので追加

CocoaPods

Octopress環境構築でruby環境は整っているので、CocoaPodsをインストールする.

$ gem install -V cocoapods
$ rbenv rehash
$ which pod
~/.rbenv/shims/pod

~/.cocoapodsを作成してライブラリの管理をする準備をするために以下のコマンド。

$ pod setup
Setup completed (read-only access)

試しにPodfileのあるディレクトリで

$ pod install
・・・
Integrating client project

Alcatraz

Xcode上でテンプレートやテーマやPluginをインストールできるPlugin。以下でインストール。

curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

Xcodeで「xcworkspace」ファイルを開く
メニューのWindow > Package Managerがあれば成功

+luaなvimをインストール

| Comments

neocompleteを使おうと思ったら+luaなvimが必要らしいのでインストール

luaをインストール

$ brew install lua

+luaなvimをインストール

$ brew install vim --with-lua

確認してみる

$ vim --version | grep lua
-lua

+luaになっていない!?
インストール時のオプションを確認

$ brew options vim
--with-lua
        Build vim with lua support

ちゃんとできてるな・・・

$ which vim
/usr/bin/vim

なるほど。標準のvimが使われてたのね。 PATHを確認

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

なるほど。homebrewのvimは/usr/local/binにあるので先に宣言されてる方が使われてたのね。 PATHの順序を変える

.bash_profile
1
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

確認

$ vim --version | grep lua
+lua

成功!

Octopress構築

| Comments

OSのクリーンインストールをしたのでこのブログも入れ直す

ソースを取得

自分の場合はbitbuketにこのブログを保存しているので、そこから取得する

$ git clone  git@bitbucket.org:<user name>/ko2ic.github.io.git

初めての場合はoctopress本体を取得する

$ git clone git@github.com:imathis/octopress.git

ruby

自分の環境はhomebrewでreadline,ruby-build,rbenvをインストール済みです。
詳しくはこちらを参考

$ brew bundle

PATHにrbenvを通す
古い記事だと~/.rbenv/binになっているので注意。

.bash_profile
1
PATH=${HOME}/.rbenv/shims:$PATH

rubyはrbenvでインストールする

$ rbenv install 2.1.0
$ rbenv rehash

rbenvで使用するrubyバージョンを指定する。

$ rbenv global 2.1.0
$ rbenv global
2.1.0

bundlerをインストール

$ rbenv exec gem install bundler
$ rbenv exec gem list
bigdecimal (1.2.3)
bundler (1.6.2)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.2)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.0.0)

Mac環境構築手順

| Comments

前回は、手動での作業を書いたので、今日は半自動な構築部分を記述しておきます。

Macportsからhomebrewへ

ずーとmacportsを使っていました。
しかし、homebrew-caskで.dmgなアプリも自動で入れたいので、今更ですが乗り換えました。

macportsにも利点があります。
それは「/optにすべてがインストールされる」に集約されると思います。
例えば

  • ディレクトリrsyncすれば他のmacと共通の環境ができる
  • 問題が起きたときなどにoptをrenameしてみて、入れ直したり、元に戻したりが気楽にできる
  • /usr/localは自分で入れたものにしかない状態はわかりやすい

こういった利点があるのでmacportsを使っていましたが、その利点を余りあるほどcaskが便利そうだと思ったので乗り換えました。

この記事ではすでにgithubで管理しているBrewfileを使うので細かい説明は書きません。
(自分が書くよりもわかりやすい記事がたくさんあります)
よって完全に自分のためだけのメモになります。

Mac環境構築手順(GUI編)

| Comments

macをクリーンインストールすることになったので、環境構築を自分用の備忘録として残しておきます。
基本的に自分が使いやすいようにしています。

このページで書かないこと

  • Githubで管理しているdotfileやhomebrew-caskなど自動でできること

このページで書くこと

  • GUIで設定すること
  • defaultsコマンドで設定すること

defaultsコマンドについて

defaultsコマンドは「plist」と呼ばれるアプリやシステムの設定ファイルに、設定値を追加、変更、削除、検索するコマンドで以下のファイルが変更されます。

~/Library/Preferences/~.plist

以下のコマンドで上記のファイルを表示します

defaults read キー名

以下でキーに対応する値を削除できる
但しキー自体は削除されないのでplistファイル自体を削除します。

defaults delete キー名

それぞれの隠し機能のコマンドで変更した場合は以下のように再起動をして反映させましょう。

killall Finder
killall Dock

Eclipse MarketPlaceに自作のPluginを登録する

| Comments

またまた、Eclipse Pluginです。
いまさら感が半端ないのですが、Jmergeを使ったサンプル的に作ったPluginを公開しました。

Excelからenumを生成するpluginです。
サンプル的に作ったので、たいして便利ではないですが、Jmergeの良さはわかると思います。
Comment Tag Gen

自作のEclipse Pluginの登録は簡単でした。
Qiitaに方法を記述しています。
http://qiita.com/ko2ic/items/a602deccc88d3a11e527