[#33567] rational, complex and nuby — Tadayoshi Funaba <tadf@...>

ruby に rational と complex を組みこもうと試していて nuby という派生物

21 messages 2008/02/02

[#33580] Re: cgi.rb再構築案 — "Makoto Kuwata" <kwa@...>

桑田といいます。

17 messages 2008/02/03

[#33611] Solaris で timeout.rb が Segmentation fault する。 — shiiya@...

はじめまして。椎屋と申します。

15 messages 2008/02/06
[#33612] Re: Solaris で timeout.rb が Segmentation fault する。 — Nobuyoshi Nakada <nobu@...> 2008/02/06

なかだです。

[#33613] Re: Solaris で timeout.rb が Segmentation fault する。 — shiiya yoshitaka <shiiya@...> 2008/02/06

椎屋です。反応ありがとうございます。

[#33650] Re: Solaris で timeout.rb が Segmentation fault する。 — Nobuyoshi Nakada <nobu@...> 2008/02/08

なかだです。

[#33652] Re: Solaris で timeout.rb が Segmentation fault する。 — SATOH Fumiyasu <fumiyas@...> 2008/02/08

さとうふみやす @ OSS テクノロジです。

[#33621] EUC-KR <-> UTF-8 transition table — "Park Ji-In" <tisphie@...>

朴 芝印です。

15 messages 2008/02/06

[#33628] encdet.rb — Tanaka Akira <akr@...>

前から考えていたのですが、ファイル先頭の magic comment や

18 messages 2008/02/07

[#33662] rational, complex and mathn — Tadayoshi Funaba <tadf@...>

rational は floor、truncate、ceil、round を定義していません。Numeric

66 messages 2008/02/08
[#33663] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/08

他にも問題、課題はあると思います。すぐに解決できるものと、そうでないも

[#33664] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/08

ひとつ書き忘れました。

[#33707] Re: rational, complex and mathn — Yukihiro Matsumoto <matz@...> 2008/02/12

まつもと ゆきひろです

[#33714] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/12

> 原さんのrationalは導入予定がありますので、この機会にもう一度

[#33727] Re: rational, complex and mathn — Shin-ichiro HARA <sinara@...> 2008/02/13

原です。

[#33761] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/13

> 前にふなばさんと個人的なメールのやりとりで、結局また私がrationalをまと

[#33788] Re: rational, complex and mathn — Shin-ichiro HARA <sinara@...> 2008/02/15

原です。

[#33795] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/15

> > それなりに速くはなるし、単純なところでそれなりに満足していますが、一度、

[#33806] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/16

nurat 0.0.2 を出しました (ついでに nucomp も)。

[#33812] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/16

仕様を確認していきたいと思います。

[#33815] Re: rational, complex and mathn — Yukihiro Matsumoto <matz@...> 2008/02/16

まつもと ゆきひろです

[#33818] Re: rational, complex and mathn — Shin-ichiro HARA <sinara@...> 2008/02/16

原です。

[#33819] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/17

> > new!はRubyで実装しているためにだけ必要なので、Cで実装するな

[#33821] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/17

> Rational() は、1つか2つの引数をとる。

[#33827] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/17

> 実際的に重要な機能が Rational() という名前で固定されるのはクラスの定義

[#33845] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/18

もうあまり手を入れないでおこうと思ったのです、つい手を入れてしまいまし

[#33886] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/21

ちょっと実験してみました。原さんの rational は、かけ算割り算が速いので、

[#33888] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/21

で、考えていたんですが、目的は、最速の rational を作ることではなくて、

[#33903] Re: rational, complex and mathn — Shin-ichiro HARA <sinara@...> 2008/02/22

原です。

[#33905] Re: rational, complex and mathn — "NARUSE, Yui" <naruse@...> 2008/02/22

成瀬です。

[#33908] Re: rational, complex and mathn — Yukihiro Matsumoto <matz@...> 2008/02/22

まつもと ゆきひろです

[#33914] Re: rational, complex and mathn — Tadayoshi Funaba <tadf@...> 2008/02/23

> はい。Complexについても1.9の間に組み込んでよいと思います。

[#33679] bigdecimal — Tadayoshi Funaba <tadf@...>

bigdecimal/math.rb の BigMath は、利用者が include してつかうことを前

23 messages 2008/02/09
[#33680] Re: bigdecimal — Tadayoshi Funaba <tadf@...> 2008/02/09

Integer や Float に比べると、BigDicimal() は、1 や 1.1 を受けつけない、

[#33686] Re: bigdecimal — Tadashi Saito <shiba@...2.accsnet.ne.jp> 2008/02/10

斎藤と申します。

[#33698] Re: bigdecimal — Tadayoshi Funaba <tadf@...> 2008/02/11

> 仮にBigDecimal(1.1)を、(二進小数として)受け付けると、「BigDecimalでは、

[#33705] Re: bigdecimal — Yukihiro Matsumoto <matz@...> 2008/02/12

まつもと ゆきひろです

[#33726] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend, — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2008/02/13
[#33730] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend, — "NARUSE, Yui" <naruse@...> 2008/02/13

成瀬です。

[#33889] Re: [ ruby-Bugs-17454 ] irb crash while iterating over all objects — Urabe Shyouhei <shyouhei@...>

卜部です。ちょっとお知恵を拝借したく。

22 messages 2008/02/21
[#33892] Re: [ ruby-Bugs-17454 ] irb crash while iterating over all objects — Nobuyoshi Nakada <nobu@...> 2008/02/21

なかだです。

[#33909] Re: [ ruby-Bugs-17454 ] irb crash while iterating over all objects — Urabe Shyouhei <shyouhei@...> 2008/02/22

Nobuyoshi Nakada さんは書きました:

[#36081] Re: [ ruby-Bugs-17454 ] irb crash while iterating over all objects — TOYOFUKU Chikanobu <nobu_toyofuku@...> 2008/09/01

豊福です。

[#36085] Re: [ ruby-Bugs-17454 ] irb crash while iterating over all objects — Yukihiro Matsumoto <matz@...> 2008/09/01

まつもと ゆきひろです

[ruby-dev:33580] Re: cgi.rb再構築案

From: "Makoto Kuwata" <kwa@...>
Date: 2008-02-03 19:40:16 UTC
List: ruby-dev #33580
桑田といいます。

> るびきちです。
>
> cgi.rbのCGI::TagMaker、CGI::HtmlExtension等を使っている人はいるでしょうか?
> あまり使われていないのであれば、cgi/html.rbとかに分離したほうがいい気がします。
>
> また、CGI::escape系はcgi/escape.rbに分離して、cgi.rbでrequireすれば
> cgi/escape単独で使用する場合はコンパクトになります。どうでしょうか?

参考までに、cgi.rbを書き換えた CGIAlt というのを作ってます。
http://cgialt.rubyforge.org/

cgi.rbを以下のように分解してます。
* cgialt.rb
* cgialt/core.rb
* cgialt/util.rb
* cgialt/cookie.rb
* cgialt/html.rb

また CGI.escapeHTML や CGI.unescape を拡張ライブラリで書き直しています。
http://cgiext.rubyforge.org/

書き直して分かったこと:

(1) CGI.unescape() が遅いせいで、request parameter や cookie の
    デコードが遅い
    → 解決策: CGI.unescape() を拡張ライブラリで書き直す
(2) CGI.escapeHTML() が遅いので、PHPの htmlspecialchars() と比べて不利
    → 解決策: CGI.escapeHTML() を拡張ライブラリで書き直す
(3) CGI::Cookie class が DelegateClass(Array) を使っているせいで、
    require 'cgi' にすごく時間がかかる (ruby の起動より時間がかかる)。
    (時間がかかるのは CGI::HtmlExtention まわりのせいではない)
    → 解決策: DelegateClass(Array) を使わないように書き換える
(4) multipart のときに、データサイズを確認せず受信してるので、
    極めて大きいファイルを送信されるとサーバ資源を食いつぶす
    → 解決策: 受信するデータサイズの上限を設定する
(5) multipart のときに、filename のある・なしに関係なく、値を
    Tempfile や StringIO に格納している。本来なら filename の
    ある値のみ Tempfile を使い、そうでないなら普通に String で
    よいはず
    → 解決策: インターフェースを変えないといけないので、解決は難しい
(6) CGI#initialize() の中で ENV['QUERY_STRING'] や ENV['HTTP_COOKIE'] を
    parse しているので、FastCGI のように ENV を使わない場合、
    cgi.rb を使うのが困難
    (実際、fcgi.rb での cgi.rb 対策は悲惨なコードになっている)
    → 解決策: workaround として、$ENV = ENV をしてから、
       CGI#initialize() では ENV のかわりに $ENV を使うように変更
(7) mod_ruby 対応がやっつけ仕事で効率が悪い
    → 解決策: 最初から mod_ruby 対応を考えて書き直す
(8) テストスクリプトがまったく用意されていない
    → 解決策: 地道にテストスクリプトを書く (CGIAlt には添付済)

(1)と(2)は pure Ruby では解決しにくい問題なので、拡張ライブラリを
使うのがいいと思います。というか、パフォーマンスのために基本的な
関数は拡張ライブラリで提供してほしいところです。

(3)と(4)と(8)は今すぐにでも解決できる問題なので、対応を検討して
いただけるとうれしいです。
# 以前、(8) を提案したときにまったくの無反応だったのですが、
# 誰も興味ないのでしょうか。

書き直して思ったのは、cgi.rbを書き直したところで良くならないと
いうことです。1.9 を見据えて、cgi.rb の代替物を広く公募しては
いかがでしょうか。
PHP を dis ってる場合じゃないです。

--
makoto kuwata

In This Thread

Prev Next