2013年3月11日月曜日

emacsをアップグレードする方法(ソースファイル編)

1. 環境
CentOS 5.9(final) 64bit
emacs 21.4.1 から emacs 24.2

2. 新バージョンインストール
http://kakakikikeke.blogspot.jp/2013/02/centosemacs-242.html
を参考にemacsをソースからインストール

which emacs
既存のemacsのPATHを調べます(自分は/usr/local/bin/emacsでした)
cd /usr/local/bin/
mv emacs emacs-21.4.1
ln -s emacs-24.2 emacs
bash
一旦パスを再読み込みします
emacs --version
GNU Emacs 24.2.1

前回の.emacsの設定や追加lispはそのまま引き継がれます


epelにも最新のemacsのrpmはないようで頑張ってyumとrpmからインストールしようとしたのですができませんでした
最新版のemacsはyumではなくソースからインストールした方がいいと思います

2013年3月8日金曜日

【Java】Play frameworkのインストール方法と実行方法

1. 環境
CentOS 5.9(final) 64bit
Play framework 2.0.4

2. インストール
wget http://download.playframework.org/releases/play-2.0.4.zip
unzip play-2.0.4.zip
mv play-2.0.4 /usr/local
cd /usr/local
ln -s play-2.0.4 play
export PLAY_HOME="/usr/local/play"
export PATH=$PATH:$PLAY_HOME

play help
でバージョン情報が表示されればインストール成功
「play」というサウンドファイルを再生するコマンドがPATHにすでに通っている場合があるのでその場合はPLAY_HOMEを先に通すか既存のplayを削除する

3. サンプルプロジェクト作成
play new testapps

プロジェクト名とプロジェクトのタイプを選択する
プロジェクトのタイプは「Scala」「Java」「empty」から選択する
testappsというプロジェクトのフォルダが実行したディレクトリ直下に作成される

4. サンプルプロジェクト実行
cd testapps
play
playコンソールが実行されてから以下を実行

run
http://localhost:9000/にアクセスしてチュートリアルが表示されることを確認

start
というコマンドでアプリケーションの実行ができますが、startはplayの概念的には商用環境を実行するときに実施するコマンドのよう
startで実施した後、http://localhost:9000/にアクセスすると表示されるページがスタイルが異なっていることがわかる

停止は両者ともCtrl+Dで停止


一応これで動作できる環境は整いました
せっかく作ったんで何か作ってみたいです

参考サイト
http://www.playframework-ja.org/documentation/2.0.4/Installing
http://www.playframework-ja.org/documentation/2.0.4/JavaTodoList
http://qiita.com/items/69a7365f359e44460f6c

2013年3月6日水曜日

emacsでJava開発をするためにJDEEを入れてみた

1. 環境
CentOS 5.9(final) 64bit
emacs 23.4.1
※emacsのバージョンは22.1以上である必要があります
JDEE 2.4.0.1
cedet 1.1
elib 1.0

2. cedetインストール
JDEEを動作させるためにcedet(Collection of Emacs Development Environment Tools)を先にインストールします
sourceforgeの公式サイトから「cedet-1.1.tar.gz」をダウンロード
http://sourceforge.net/projects/jdee/files/

tar zvxf cedet-1.1.tar.gz
mv cedet-1.1 ~/.emacs.d/site-lisp/
cd ~/.emacs.d/site-lisp/cedet-1.1
make EMACS=emacs
emacs -Q -l cedet-build.el -f cedet-build
emacsが起動しビルドが開始されます
ビルドでエラーがでなければ完了です
一旦emacsを閉じます

3. elibインストール
elibはemacsの拡張lispです
JDEEの動作に必要なのでインストールします

wget http://sourceforge.net/projects/jdee/files/jdee/Dependencies/elib-1.0.zip/download
mv elib-1.0 ~/.emacs.d/site-lisp/

4. JDEEインストール
wget http://sourceforge.net/projects/jdee/files/jdee/2.4.0.1/jdee-bin-2.4.0.1.zip/download
unzip jdee-bin-2.4.0.1.zip
mv jdee-2.4.0.1/ ~/.emacs.d/site-lisp/

.emacsファイルを開いて以下を追記
; for jdee
(load-file "~/.emacs.d/site-lisp/cedet-1.1/common/cedet.el")
(add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/cedet-1.1/common"))
(add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/jdee-2.4.0.1/lisp"))
(add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/elib-1.0"))
(setq jde-check-version-flag nil) ; for error that 'JDEE requires a version of CEDET between 1.0beta2 and 1.0 (found 1.1)'
(setq defer-loading-jde nil)
(if defer-loading-jde
  (progn
    (autoload 'jde-mode "jde" "JDE mode." t)
      (setq auto-mode-alist
        (append '(
          ("\\.java\\'" . jde-mode)) auto-mode-alist)))
  (require 'jde))
eval-bufferを実行して.emacsを反映します
※反映されない場合はemacsを再起動してください

5. 動作確認
Javaファイルをemacsで開きます
C-c C-v C-l(jde-complete)
を実行してprintlnが追加されればJDEEが正常に動作している状態になります
他のキーバインドに関してはdescribe-bindingsで確認することができます
また、C-c C-v C-. の補完機能を実施すると
Starting the BeanShell. Please wait...
が出て若干時間がかかります

■便利コマンド
C-c C-v C-l println補完
C-c C-v C-k BeanShell起動
C-c C-v C-n ブラウザでのJavadoc閲覧
(※C-c C-v C-wでも閲覧できますが、上記はローカルで指定したJavaDocを参照できます)


当初はemacsの24.21に対してJDEEをインストールしようと思ったのですが、どうやら24系では以下のエラーが発生するためJDEEが動作しないようです
Symbol's function definition is void: make-local-hook

参考サイト
http://jdee.sourceforge.net/
https://www.assembla.com/code/emacs_osnibore/subversion/nodes/trunk/site/dotemacs/.emacs.jde

非常にわかりやすいiptablesの設定方法


http://www.nina.jp/server/redhat/iptables/iptables.html

すごいわかりやすいです
このページを理解してれば80%は理解してるんじゃないかと勝手に思ってます

  • 主な機能はパケットフィルタ、NAT
  • 書式は[チェインに対して][パケットを][どうするか]の形式で記述
  • 独自のチェインが設定できる
  • 独自のチェインとはINPUTやFORWARDなどのチェインを束ねることができる名前空間的なもの
  • FORWARDはインタフェース間での通信に関するチェイン
  • INPUTはあるインタフェースへの入力に対するチェイン
  • -m state --stateで接続の状態に対して細かく制御することも可能
  • -m は拡張モジュールを指定するためのオプション
  • -j の次にチェインを指定する

2013年3月5日火曜日

今更memcachedを触ってみた

0. 環境
CentOS 5.9(final) 64bit
memcached 1.4.15

1. インストール
yum -y install libevent libevent-devel

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar xvf memcached-1.4.15.tar.gz
cd 72_20130301_memcached/
./configure
make
make test
make install

which memcached
デフォルトでは/usr/local/bin/memcachedにインストールされる

2. memcached実行
memcached -u root -d
プロセスを停止するときはkillする
telnet localhost 11211
telnet状態になってから以下のコマンドを実施していく

3. memcachedコマンド実行
・状態を確認する
stats

・キーに値をセットする
set test1 0 0 5
abcde
STORED
と表示されれば「abcde」という値の格納が完了

・キーから値を取得する
get test1
VALUE test1 0 5
abcde
END
格納した値を取得

・キーの値を更新する
replace test1 0 0 6
abcdef
STORED
で「abcdef」に値が変更

・キーの値に対して後ろに値を追加する
append test1 0 0 5
12345
STORED
get test1
VALUE test1 0 11
abcdef12345
と表示されるように後ろに12345が追加

・cas IDを使ってキーの値を更新する
cas test1 0 0 6 6
zzzzzz
STORED
ここでのcasによる値変更は反映されるが
cas test1 0 0 6 6
aaaaaa
EXISTS
古いcas IDに対する変更は反映されない
gets test1
VALUE test1 0 6 7
zzzzzz
実際に値を取得してみるとわかる
cas IDを指定しての値変更は最新のcas IDを指定しない限りキーの値が変更されないことがわかる

・キー情報を全て削除する
flush_all

あとはAPIがありJDKもいろいろと用意されているようなので試してみてください

参考サイト:
http://memcached.org/
http://code.google.com/p/memcached/wiki/Clients
http://l-w-i.net/t/memcached/command_001.txt

2013年3月4日月曜日

超簡単chefのインストール方法【Omnibus(オムニバス)】

chefに必要なツールをgemを使わずにインストールできる方法がOpscodeから提供されています
http://wiki.opscode.com/display/chef/Installing+Omnibus+Chef+Client+on+Linux+and+Mac

20140206 P.S
ドキュメントサイトが変更になっていました
ワンライナーインストールに関しては以下のサイトに記載されております
http://www.getchef.com/chef/install/

ネットワークが使える環境で以下のコマンドを実行するだけです

sudo true && curl -L https://www.opscode.com/chef/install.sh | sudo bash

chef-solo -v
などを実行するとインストールされていることが確認できると思います
実はrubyをインストールしていないので、わざわざrubyやgemをインストールしなくてもchefが使えます
お試しあれ

20130411 P.S
プロキシ経由でオムニバスを実行する場合には
  • curl(引数に--proxy-ntln --proxy)
  • wget(/etc/wgetrc にプロキシ設定を記載)
にプロキシを設定する必要があります