shell bypass 403
曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.かつては雑草やヨモギと共に雨や露を分かち合っていたが、今では松やヒノキと共に霜や雪に耐えている。曾与蒿藜同雨露,Once sharing rain and dew with weeds and wormwood, now enduring frost and snow with pines and cypresses.终随松柏到冰霜.曾与蒿藜同雨露한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.,终随松柏到冰霜.譖セ荳手珍阯懷酔髮ィ髴イ�檎サ磯囂譚セ譟丞芦蜀ー髴�曾与蒿藜同雨露,鏇句笌钂胯棞鍚岄洦闇诧紝缁堥殢鏉炬煆鍒板啺闇�终随松柏到冰霜.曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.曾与蒿藜同雨露,终随松柏到冰霜.
= Rubyとは
Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.
Rubyは最初から純粋なオブジェクト指向言語として設計されていま
すから,オブジェクト指向プログラミングを手軽に行う事が出来ま
す.もちろん通常の手続き型のプログラミングも可能です.
Rubyはテキスト処理関係の能力などに優れ,Perlと同じくらい強力
です.さらにシンプルな文法と,例外処理やイテレータなどの機構
によって,より分かりやすいプログラミングが出来ます.
== Rubyの特長
* シンプルな文法
* 普通のオブジェクト指向機能(クラス,メソッドコールなど)
* 特殊なオブジェクト指向機能(Mixin, 特異メソッドなど)
* 演算子オーバーロード
* 例外処理機能
* イテレータとクロージャ
* ガーベージコレクタ
* ダイナミックローディング (アーキテクチャによる)
* 移植性が高い.多くのUnix-like/POSIX互換プラットフォーム上で
動くだけでなく,Windows, Mac OS X,BeOSなどの上でも動く
cf. http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatformsJa
== 入手法
=== FTPで
以下の場所においてあります.
ftp://ftp.ruby-lang.org/pub/ruby/
=== Subversionで
開発先端のソースコードは次のコマンドで取得できます.
$ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
他に開発中のブランチの一覧は次のコマンドで見られます.
$ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
=== Gitで
SubversionのミラーをGitHubに公開しています.
以下のコマンドでリポジトリを取得できます.
$ git clone git://github.com/ruby/ruby.git
== ホームページ
RubyのホームページのURLは
http://www.ruby-lang.org/
です.
== メーリングリスト
Rubyのメーリングリストがあります。参加希望の方は
mailto:ruby-list-ctl@ruby-lang.org
まで本文に
subscribe YourFirstName YourFamilyName
と書いて送って下さい。
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
グ、将来の仕様拡張など実装上の問題について議論されています。
参加希望の方は
mailto:ruby-dev-ctl@ruby-lang.org
までruby-listと同様の方法でメールしてください。
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
数学関係の話題について話し合うruby-mathメーリングリストと
英語で話し合うruby-talkメーリングリストもあります。参加方法
はどれも同じです。
== コンパイル・インストール
以下の手順で行ってください.
1. もし +configure+ ファイルが見つからない、もしくは
+configure.in+ より古いようなら、 +autoconf+ を実行して
新しく +configure+ を生成する
2. +configure+ を実行して +Makefile+ などを生成する
環境によってはデフォルトのCコンパイラ用オプションが付き
ます. +configure+ オプションで <tt>optflags=..</tt> <tt>warnflags=..</tt> 等
で上書きできます.
3. (必要ならば)+defines.h+ を編集する
多分,必要無いと思います.
4. (必要ならば)+ext/Setup+ に静的にリンクする拡張モジュールを
指定する
+ext/Setup+ に記述したモジュールは静的にリンクされます.
ダイナミックローディングをサポートしていないアーキテク
チャでは +Setup+ の1行目の「<tt>option nodynamic</tt>」という行のコ
メントを外す必要があります.また,このアーキテクチャで
拡張モジュールを利用するためには,あらかじめ静的にリン
クしておく必要があります.
5. +make+ を実行してコンパイルする
6. <tt>make check</tt>でテストを行う.
「<tt>check succeeded</tt>」と表示されれば成功です.ただしテスト
に成功しても完璧だと保証されている訳ではありません.
7. <tt>make install</tt>
以下のディレクトリを作って,そこにファイルをインストー
ルします.
* <tt>${DESTDIR}${prefix}/bin</tt>
* <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}</tt>
* <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
* <tt>${DESTDIR}${prefix}/lib</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
* <tt>${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}</tt>
* <tt>${DESTDIR}${prefix}/share/man/man1</tt>
* <tt>${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system</tt>
RubyのAPIバージョンが'_x.y.z_'であれば,<tt>${MAJOR}</tt>は
'_x_'で,<tt>${MINOR}</tt>は'_y_',<tt>${TEENY}</tt>は'_z_'です.
<b>注意</b>: APIバージョンの +teeny+ は,Rubyプログラムのバージョ
ンとは異なることがあります.
+root+ で作業する必要があるかもしれません.
もし,コンパイル時にエラーが発生した場合にはエラーのログとマ
シン,OSの種類を含むできるだけ詳しいレポートを作者に送ってく
ださると他の方のためにもなります.
== 移植
UNIXであれば +configure+ がほとんどの差異を吸収してくれるはずで
すが,思わぬ見落としがあった場合(あるに違いない),作者にその
ことをレポートすれば,解決できるかも知れません.
アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象
のアーキテクチャが<tt>setjmp()</tt>または<tt>getcontext()</tt>によって全てのレ
ジスタを +jmp_buf+ や +ucontext_t+ に格納することと, +jmp_buf+ や
+ucontext_t+ とスタックが32bitアラインメントされていることを仮定
しています.特に前者が成立しない場合の対応は非常に困難でしょう.
後者の解決は比較的簡単で, +gc.c+ でスタックをマークしている
部分にアラインメントのバイト数だけずらしてマークするコードを
追加するだけで済みます.<tt>defined(\_\_mc68000\_\_)</tt>で括られてい
る部分を参考にしてください.
レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタッ
クにフラッシュするアセンブラコードを追加する必要があるかも知
れません.
== 配布条件
+COPYING.ja+ ファイルを参照してください。
== 著者
コメント,バグレポートその他は mailto:matz@ruby-lang.org まで.
-------------------------------------------------------
created at: Thu Aug 3 11:57:36 JST 1995
--
Local variables:
mode: rdoc
end: