クラスだとかメソッドだとか
javaでPersonクラスにあるsayメソッドをMainクラスから使用する場合、
Person.java
public class Person { public void say(String str) { System.out.println("Person say " + str + "."); } }
Main.java
public class Main { public static void main (String args[] ) { Person suzuki = new Person(); suzuki.say("こんにちわ"); } }
この別のクラスにある、メソッドを呼ぶという処理ですが、
rubyの場合だと、
person.rb
class Person def say(str) puts("Person say " + str + ".") end end
main.rb
require 'person' class Main def exec suzuki = Person.new suzuki.say("こんにちわ") end end main = Main.new main.exec
こんな感じでしょうか。
javaから来ると、newの位置が違うことに戸惑いましたが、すぐに慣れました。
Main main = Main.new();と書かなくて良い所が好印象です。
Derbyはじめの一歩
Apache Derbyを使ってみてのメモです。
Windowsでの説明になりますが、まず環境変数を設定します。
MS-DOS> set DERBY_INSTALL=C:\derby MS-DOS> set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;%CLASSPATH%
環境変数が設定できたか確認します。
MS-DOS> java org.apache.derby.tools.sysinfo
データベースを作ってみますが、カレントにできちゃうので注意してください。
MS-DOS> java org.apache.derby.tools.ij ij> connect 'jdbc:derby:autotest;create=true';
最後にテーブル作成。
ij> create table test (id int generated by default as identity (start with 1, increment by 1), name varchar(255) not null); ij> alter table test add primary key (id); ij> alter table test add unique (name);
ここで力尽きました。
ここまで書いといてアレですが、mysqlのauto incrementより面倒臭そうな予感がします・・・
誰かの役に立てるとうれしい
すごく久しぶりの更新になってしまいました。
誰でも知ってると思うような知識でも、書く価値はあるよ。
といった趣旨のことをessaさんが以前書いてたと思うので、vim-rubyの設定方法です。
環境はこんな感じで、結構古めです。
- Debian (sarge, kernel-2.6.8)
- viは既に6系が入ってる
vim-rubyでハイライト表示したいなぁと思ったのですが、
apt-getでvim-rubyをインストールしても表示が変わりません
よくドキュメントをみると、どうもvimが7系じゃなきゃイカンみたいで、
sargeではパッケージないみたいで、、、ソースからインストールです。
まずは解凍し、、、
$ bunzip2 -c vim-7.0.tar.bz2 | tar xf -
できたフォルダに移動して、インストール
$ make # make install
インストール完了すると
$ ls /usr/local/bin
で、vimが確認できます。
これを、普通のvimに対するパスより先に設定して、ドキュメントにある.vimrcの設定すれば完了です。
後はvim-rubyのvim7対応版をapt-getじゃなくて、gemでインストールです。
# gem install vim-ruby --remote
参考url
http://wiki.rubygarden.org/Ruby/page/show/VimRubySupport: Ruby: VimRubySupport
http://www.vim.org/download.php#unix :download : vim online
触発されて長めに書いてみる
るびま読みました。
とはいっても、id:essaさんのインタビューのとこだけなんですが。
それでも過去のエントリとかリンクとか見てるだけで2時間!かかってしまったので、
全体を見終わるのはかなり先になるかもしれません。
id:essaさんのブログはアンテナ張ってまして、どういうインタビューになるのか
楽しみにしてたのですが、人となりがでてますね。
非常に人間らしいというか、いろんな側面を感じることができて、楽しめました。
そういった意味だと、トーンは違うけど似てると思うartonさんの基幹系の例えには
かなり笑わせてもらいました。
ってことで、僕は勤勉な人の作った繊細なシステムを、縁の下から支えているような存在です。
もうすぐ30歳ですが、未だにメインフレームやってるし、
吹けば崩れるような繊細なシステムにどうやって拡張性を与えるか、という問題を
社会人になって8年ぐらい、パソコンとのクラサバ通信、データのみ移行、ダム端通信のTCP/IP化、
CORBAとこなしてきましたが、こんどはSOAだそうです。。。
Eclipseで作るときの設定メモ
WTP好きになれないし、tomcatも開発環境には重いし、いろいろ入れるとEclipseも重いので。。。
環境
Windows XP, Eclipse 3.2, Winstone 0.8.1
手順
Winstoneフォルダを作成
Eclipseで新規プロジェクトの作成
"Create a Java Project"ウィザードでは、
Contentsは"Create project from existing source"を選択し、Winstoneフォルダに
プロジェクトを作る
例) C:\winstone\webapps\hello
Project Layoutは"Create separete source and output folders"を選択、でNextボタンを押す
Sourceタブの"Default output folder"を修正する。
修正前 : hello/bin
修正後 : hello/WEB-INF/classes
Finishボタンを押す。
プロジェクトのビルドパスにservlet-api.jarを外部jarとして追加する。
後は普通にweb.xmlを書いたり、サーブレット作ればオッケーです。
実行はコマンドプロンプトから
C:\winstone> java -jar winstone-0.8.1.jar --webroot=C:\winstone\webapps\hello
JSPを使うときにはwinstone実行時に"--useJasper"オプションが必須です。