IntelliJ IDEAでmidjeのautotestをするまで
Intellij IDEA 12だとClojureプラグインが駄目なので13に変えるか、Intellijのサポートページからダウンロードしてインストール。って思ったけど、実はあんまり必須じゃ無いので詳細はパス
プログラムを作ってて面倒なのが、コードを書いてUnitTestを動かしてを繰り返すこと。いっそのことコードを書いたら勝手にUnitTest動かせば良いのに〜って思ってたらそんなのがClojureにはいっぱいあったので試してみた
leiningenがセットアップ済みの前提
leiningen用のmidjeプラグインをセットアップする
~/.lein/profiles.clj ってファイルを↓の内容で作成
{:user {:plugins lein-midje "3.0.0"}}
プロジェクトを作る
lein new midje test
そしたらプロジェクトファイルが作られるのでこの部分をちょっと変更するというかバージョンを書き換えてるだけ
:dependencies org.clojure/clojure "1.5.1"
:profiles {:dev {:dependencies midje "1.6.0"}})
コマンドでプロジェクト作成時に出来たmidjeのテストを動かす(意識的なのか、エラーになる)
lein midje
エラーになるけど、それが正しい姿なので気にしない
IntellijにLeiningenプロジェクトとして取り込む
次にIntellijで動かすので・・・ Run -> Edit Configurationの + ボタンを押して Leiningenを選択
Working directoryはプロジェクトを作ったディレクトリ、Nameは適当に(とりあえず midjeとして説明) Golesに midje :autotest を入力
さっき作った midjeを実行すると画面下にエラーが表示される
t_core.cljファイルの12行目辺りの => :default を => nil に変えてみると・・・
即座にそのファイルのテストが走ってエラーの数が一個減る!
実はIntellijのClojureプラグインはそんなに優秀だと言いきれない(入力補完は結構優秀だけど)ので、編集時にリアルタイムにコンパイルエラーを表示したりとかのサポートが無いと個人的には辛かった(^^ゞ
それにしても、Clojureの編集してから結果がわかるまでの反応の早さは恐るべき物があるけど、IntelliJを使ったときのJavaの快適さとはまた別だな〜まぁ動的型付言語の一種だし仕方ないかw
LinuxにPostgreSQLを入れて外からアクセスできるようにする
OSに設定されてるPostgreSQLが古いときはPostgreSQLのリポジトリを追加する
postgresqlの設定で、localhost以外からのアクセスを受けとれるようにする
一個目
sudo vim /etc/postgresql/9.3/main/postgresql.conf
listen_addresses = '*'
二個目
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
host all all 192.168.0.1/24 trust
サーバをリスタートする
sudo service postgresql restart
あとはユーザ追加したり、データベース追加したりをpgadmin3からやれば簡単!
RedHat系のLinuxでサービスの有効化などなど
サービスの一覧
sudo chkconfig --list
ここでonになっているサービスが有効なヤツ
サービスをマシン起動と一緒に起動するには
sudo chkconfig servicename on
サービスをマシン起動と一緒に起動しないようにするには
sudo chkconfig servicename off
よく操作するのに忘れるのでメモ
Mac上にvagrant(1.4.2)の環境を作る
VirtualBoxをインストールする
VMWareの場合はVagrantから購入すればたぶん動くはず
Downloads – Oracle VM VirtualBox
Vagrantをインストールする
ググるとすぐ出てくるところを見るとgemからでも出来るらしいけど、やってみたら動かなかったのでこっちからダウンロードしてインストールする。
boxファイルを用意する
例としてCentOS 6.5の64bit版をいれるところ
sudo vagrant box add centos_65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box
他のboxが必要ならここから探すのが手っ取り早い。それにしてもちょっと見ない間に増えたなぁ〜
A list of base boxes for Vagrant - Vagrantbox.es
仮想マシンを作る
適当なディレクトリを作成してからinitコマンドって流れ
mkdir -p ~/vbox/centos65
cd ~/vbox/centos65
sudo vagrant init
これでディレクトリの下にVagrantfileが作られているので↓を参照しながら変更する
Vagrantで簡単仮想マシン構築 | Ryuzee.com
ちなみに、config.vm.box = "centos_65"とconfig.vm.networkとconfig.vm.provider :virtualbox do |vb|のあたりだけ変えた
それと、Emacsでsudo権限の編集をしたい場合は/sudo::/パス って開くとsudoで開ける
注:ここから下は↓のまねのメモですm(__)m
Vagrantで簡単仮想マシン構築 | Ryuzee.com
仮想マシンを起動する
sudo vagrant up
仮想マシンにsshする
仮想マシンを終了する
sudo vagrant halt
仮想マシンを削除する
sudo vagrant destroy
MacのJava7でのjava.library.pathにライブラリを設定する方法
一番最適な判断方法はJavaの中でこれを出力する
System.getProperty("java.library.path");
そこに~/Library/Java/Extensionsがあるのに気がついたので
mkdir -p ~/Library/Java/Extensions
こんなコマンドでディレクトリを作成したあとでExtensionsなライブラリをln -s でリンクする
ln -s /usr/local/Cellar/elasticsearch/0.90.9/libexec/sigar/libsigar-universal64-macosx.dylib libsigar-universal64-macosx.dylib
例としてbrewでインストールしたlibsigar-universal64-macosx.dylibをセットしてみる
こうやるとバージョン固定になるので、バージョン部分などは適当にw
これならsudo使ったりしなくて良いのでちょっと良いなと思った
brewでElasticsearchのインストール記録
単なるメモ
コマンドは
brew install elasticsearch
これだけ。
% brew install elasticsearch ==> Downloading https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.9.tar.gz
################################################################## 100.0%
==> Caveats Data: /usr/local/var/elasticsearch/elasticsearch_makotan/ Logs: /usr/local/var/log/elasticsearch/elasticsearch_makotan.log Plugins: /usr/local/var/lib/elasticsearch/plugins/
To have launchd start elasticsearch at login: ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents Then to load elasticsearch now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist Or, if you don't want/need launchctl, you can just run: elasticsearch -f -D es.config=/usr/local/opt/elasticsearch/config/elasticsearch.yml ==> Summary /usr/local/Cellar/elasticsearch/0.90.9: 35 files, 19M, built in 15 seconds