Linux ShellScriptのOS起動時起動
/etc/rc.d/rc.local
に
/usr/local/bin/ruby 立ち上げたいrbファイル
を記述。
def daemon
return yield if $DEBUG
Process.fork do
Process.setsid
Dir.chdir "/"
Signal.trap(:INT){ exit! 0}
Signal.trap(:TERM){ exit! 0}
Signal.trap(:HUP){ exit! 0}
File.open("/dev/null","r+") do |f|
STDIN.reopen f
STDOUT.reopen f
STDERR.reopen f
end
yield
end
exit! 0
endrequire 'soap/rpc/standaloneServer'
require '/WSD/soap-server/interest-calculator'NS='http://pragprog.com/InterestCalc'
class Server2 < SOAP::RPC::StandaloneServer
def on_init
calc=InterestCalculator.new
add_method(calc,'compound','principal','rate','freq','years')
add_method(calc,'call_count')
end
endsvr=Server2.new('Calc',NS,'0.0.0.0',12321)
trap('INT'){ svr.shutdown }
daemon化することで、バックグラウンドで実行できる。(起動後、shellにコマンドが戻ってくる)
デブサミ セッション まとめ
詳細はWebで!といっていたけど、どこなのか不明中。
1.protected
・rubyでは使わない。
・Java/Cとは意味が違う。
意味:そのクラスとサブクラスのインスタンスでオブジェクトの外からアクセスできる。
クラス単位←Java
オブジェクト単位←Ruby
RubyではPublicとPrivateだけ使えばとりあえずOK
2.pとpp
pp・・・表示がみやすいp
require 'pp'
pp object.new
to_s・・・オブジェクトを文字列に変換するときに使う
inspect・・・オブジェクトをデバッグするときに使う
3.unlessとuntil
unless・・・if not
until・・・while not
多様な意図を表現するために(せっかく用意されているんだから)いろいろな文法を使った方がいい。(語彙)
4.クラスと名前空間
モジュール・クラスは名前空間を兼ねている。
モジュールが分かれていても名前空間として分かれるので同じクラス名でも大丈夫。
・使用例:
1.アプリケーション名と同名のモジュールを作る
2.クラス名
5.ファイル名
・ファイル中で一番代表的なクラス名をdowncaseする。
・Cflat::Nodeクラス←cflat/node.rbってなる。
・関連クラスは1つのファイルにする。(ファイルが多くても困る)
6.大クラス主義
いろいろな仕事を1つのクラスにまとめて行わせる。
会社のサイトのPHPを4から5へ移行するPJが始まりそう(自分でけしかけてるんだけど)
PHPもみろという話に。
うーん。うーん。
MacPortsでMySQL/Rubyをインストールする。
ruby本体とgems、MySQL5はポートでインストールしている前提。
(MySQL5のインストール方法:port install MySQL5 +server)
/opt/local/var/run/mysql5/にmyqld.sockがないっていうエラーではまる。
下記のように対処
sudo chown mysql:myql /opt/local/var/run/mysql5
sudo chmod 775 /opt/local/var/run/mysql5
sudo /opt/local/bin/myqld_safe5 --user=mysql &
とりあえず、これで動く。
sudo gem install mysql -- --with-mysql-lib=/opt/local/lib/mysql5/mysql --with-mysql-include=/opt/local/include/mysql5/mysql
これでMySql/Rubyがインストールされる
(Proはこれだけでつながったような気がしたんだけど、Airはできなくてはまる。
調べてみると、/opt/local/lib/ruby/gems/1.8/gems/mysql-2.7/にできてるMySQL/RUBYのファイルで、test.rbが
落ちているみたい。
これが原因でその先に進まなかったのかと思う。
make
make install
してあげるとその後つながる。謎。(mysqlの設定がしっかりされてないからかな。root系とかの)
あとは、mysqlの呼び出しをemacsで行うとOS標準の方をみにいってないっていわれるので、
;;; ENV
(setq exec-path (cons "/opt/local/bin" exec-path))
(setenv "PATH"
(concat "/opt/local/bin:" (getenv "PATH")))
macFuse+sshfs
macFuse+sshfsを使用してsshが稼働しているサーバのディレクトリをMacにマウントする
http://code.google.com/p/macfuse/
ここからMacFUSE-Core-OSのVer-1.3.1.dmgとsshf-1.0.0.dmgをdownloadする
両方をインストールした後、sshfsを起動
サーバ名、アカウントを聞かれるので、sshが稼働しているサーバのサーバ名・アカウントを入力する。
パスワードを確認されるので、サーバアカウントの設定されているアカウントを入力する。
finderの環境設定でコンピュータ名をサイドバーに表示させる
その中にある、先ほど入力したサーバ名と同名のフォルダが見えているので、それをダブルクリックする。
(お好みによって、サイドバーにドラッグさせるのも可)
http://lifehacker.com/software/ssh/geek-to-live--mount-a-file-system-on-your-mac-over-ssh-246129.php