[#2355] [Req] Array#reverse — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

19 messages 1997/03/13
[#2357] Re: [Req] Array#reverse — matz@... (Yukihiro Matsumoto) 1997/03/13

まつもと ゆきひろです.

[#2359] Re: [Req] Array#reverse 1997/03/13

けいじゅ@SHLジャパンです.

[#2387] Kanji String — gotoken@... (GOTO Kentaro)

はじめまして、 後藤ともうします。

33 messages 1997/03/19
[#2389] Re: Kanji String — matz@... (Yukihiro Matsumoto) 1997/03/19

まつもと ゆきひろです.

[#2391] Re: Kanji String — gotoken@... (GOTO Kentaro) 1997/03/19

後藤です

[#2393] Re: Kanji String — matz@... (Yukihiro Matsumoto) 1997/03/19

まつもと ゆきひろです.

[#2465] curses library — MAEDA Shugo <ender@...> 1997/03/28

前田です。

[#2402] about TCPserver — MAEDA Shugo <ender@...>

前田です。

45 messages 1997/03/21
[#2403] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/22

まつもと ゆきひろです

[#2405] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/23

前田です。

[#2406] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/24

[#2408] Re: about TCPserver — WATANABE Hirofumi <watanabe@...> 1997/03/24

わたなべです.

[#2411] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/24

前田です。

[#2417] Re: about TCPserver — matz@... (Yukihiro Matsumoto) 1997/03/25

まつもと ゆきひろです.

[#2425] Re: about TCPserver — MAEDA Shugo <ender@...> 1997/03/25

前田です。

[#2439] url escape — gotoken@... (GOTO Kentaro)

どシロウトの後藤です.

57 messages 1997/03/27
[#2451] Re: url escape — sinara@... 1997/03/27

原です。

[#2455] class design (Re: url escape) — matz@... (Yukihiro Matsumoto) 1997/03/27

まつもと ゆきひろです

[#2471] Re: class design (Re: url escape) — sinara@... 1997/03/28

原です。

[#2487] Re: class design (Re: url escape) — matz@... (Yukihiro Matsumoto) 1997/03/29

まつもと ゆきひろです

[#2510] Re: class design (Re: url escape) 1997/03/30

けいじゅ@SHLジャパンです.

[#2603] Re: class design (Re: url escape) — sinara@... 1997/04/04

原です。

[#2505] Re: WWW library (Re: class design) — Shin-ichiro Hara <sinara@...>

原です。

15 messages 1997/03/30

[ruby-list:2504] Re: WWW library

From: Shin-ichiro Hara <sinara@...>
Date: 1997-03-30 09:36:07 UTC
List: ruby-list #2504
原です。

> あすなろ後藤です. 

> 僕は python のライブラリをちょっと使っただけですが, 
> 仕様は悪くないと思います. 

そうですね。非常にすっきりしていますね。Python の
「Internet and WWW Services」をのぞくと

cgi
--- Common Gateway Interface, used to interpret forms in server-side scripts.
urllib
--- Open an arbitrary object given by URL (requires sockets).
httplib
--- HTTP protocol client (requires sockets).
ftplib
--- FTP protocol client (requires sockets).
gopherlib
--- Gopher protocol client (requires sockets).
nntplib
--- NNTP protocol client (requires sockets).
urlparse
--- Parse a URL string into a tuple (addressing scheme identifier, 
    network location, path, parameters, query string, fragment identifier).
sgmllib
--- Only as much of an SGML parser as needed to parse HTML.
htmllib
--- A (slow) parser for HTML documents.
formatter
--- Generic output formatter and device interface.
rfc822
--- Parse RFC-822 style mail headers.
mimetools
--- Tools for parsing MIME style message bodies.

というのが並んでいます。他に lib の WWW 関連は、

SocketServer
BaseHTTPServer
SimpleHTTPServer
CGIHTTPServer

というところですか。納得のいくカテゴリの分け方です。(それにく
らべるとJava の java.net.URL* はあまり参考にならない。)
大体5千行ぐらいですかねえ。


> 僕が想像している基本方針としては URL をネットワークな
> オブジェクトにしたいなら, まず基本的なスキームを扱う仕様を
> 決めてそれで Mixin するのがいいのではないかと思います. 

モジュールにするということですか?URL クラス自体は、ホスト名、
ポートなどのリソースや、ソケットハンドル、接続状況の状態など
を保持しているはずですから、モジュールでなくクラスにすべきで
すよね。それとも、Socket を必要としない部分をモジュールにす
るということかな。


> でもポリモルフィズムもある程度考慮した方がいいような気も
> しますけどどうでしょうか? 

ポリモルフィズムを考慮するとはどういう意味でしょうか?


> ただし実際にはこれ以外に time out とか割り込みで中断と
> いったこともハンドルできるように例外のためのメソッドも
> 欲しいですね. 

同感です。しかしここが私がライブラリを書こうとしてとても難
しいと感じた所です。つまり、/usr/local/lib/ruby に入れるラ
イブラリとしては、

(1)なるべくシンプルであること
(2)ユーザーによる拡張が容易なこと
(3)実用的なこと

が必要だと思いますが、(3)を立てて、最初から timeout とか
割り込みに対する処理を書き込んだり、(2)を立てて、インタ
ーフェースをたくさん作り込んだりすると、(1)が失われてし
まうんですよね。たとえば、私が作りかけている hcp.rb(ホーム
ページの再帰的取得プログラム)では、イメージをダウンロード
中に、ftp の hash の様に # マークを出力します。この手の事は
ブラウザを作るときも必要ですが、その様な機能を後で簡単に付
け加えたりできるライブラリであって欲しいと思います。しかし、
そのためにベーシックな url-lib.rb が不自然な形になって欲し
くはないわけです。この辺は ruby の達人にコツを教えていただ
きたいところです。

このさい(1)、(2)を捨てて、徹底的に作り込んだ、メッソ
ッドのデパートにしてしまうという手もあるかな?:-) でも、巨
大なライブラリだと、そのライブラリを使いこなすより自分で書
いちゃった方が早いなんて思われるのが関の山で。

ライブラリの規模、その上でどんなアプリケーションを作りたい
かといのもある程度決め手おいた方がいいですかね。

In This Thread

Prev Next