09/08/23 21:07:47
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。
まったりと行きましょう。
Ruby Home Page
URLリンク(www.ruby-lang.org)
= 前スレ
Rubyについて Part 36
スレリンク(tech板)
過去スレ・関連スレは >>2-
2:デフォルトの名無しさん
09/08/23 21:08:14
Rubyリファレンスマニュアル刷新計画
URLリンク(doc.loveruby.net)
ライブラリ一覧
URLリンク(doc.loveruby.net)
RubyExtensionProgrammingGuide
URLリンク(i.loveruby.net)
Ruby Hacking Guide
URLリンク(i.loveruby.net)
Symbol < Stringも止める。
URLリンク(www.rubyist.net)
クラスローカルインスタンス変数
URLリンク(www.rubyist.net)
クラス変数
URLリンク(www.rubyist.net)
ローカル変数
URLリンク(www.rubyist.net)
可視性メモ
URLリンク(www.rubyist.net)
URLリンク(blade.nagaokaut.ac.jp)
URLリンク(blade.nagaokaut.ac.jp)
YARV without 1.9
URLリンク(www.rubyist.net)
URLリンク(www.atdot.net)
URLリンク(i.loveruby.net)
JSON
URLリンク(json.rubyforge.org)
URLリンク(webos-goodies.jp)
URLリンク(webos-goodies.jp)
YAML
URLリンク(www.ruby-lang.org)
URLリンク(jp.rubyist.net)
URLリンク(www.namikilab.tuat.ac.jp)
3:デフォルトの名無しさん
09/08/23 21:08:43
Ruby/Gtk+
URLリンク(www.unixuser.org)
URLリンク(takeposo.sakura.ne.jp)
URLリンク(ruby-gnome.sourceforge.net)
URLリンク(ruby-gnome.sourceforge.net)
URLリンク(ruby-gnome2.sourceforge.jp)
URLリンク(psux1.kek.jp)
URLリンク(www.rubycgi.org)
URLリンク(ruby.gfd-dennou.org)
URLリンク(www.magicianmaster.jp)
Ruby on Rails
スレリンク(tech板)
URLリンク(jp.rubyist.net)
URLリンク(www.onlamp.com)
URLリンク(kyotosanga.com)
URLリンク(blog.hacklife.net)
URLリンク(www.metadata.co.jp)
URLリンク(japan.cnet.com)
URLリンク(japan.cnet.com)
URLリンク(journal.mycom.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www-06.ibm.com)
URLリンク(itpro.nikkeibp.co.jp)
URLリンク(itpro.nikkeibp.co.jp)
4:,,・´∀`・,,)っ-○○○
09/08/24 03:11:23
>>前スレの997,999
言ってなかったっけ。俺Railsでシステム書いてるって。
ただのアセンブラ厨だと思ったら大間違いだぞ。
5:デフォルトの名無しさん
09/08/24 04:22:21
そういえばcellのスレで見た気がする
だんごやさんrubyからcudaを使えるようにしてよ
6:デフォルトの名無しさん
09/08/24 08:15:42
有名人なのか?
7:デフォルトの名無しさん
09/08/24 08:20:26
悪い意味でね。
8:デフォルトの名無しさん
09/08/24 08:30:34
2chのスレでコテやる人間はもれなくアレ
9:デフォルトの名無しさん
09/08/24 08:43:24
Ruby 1.9.1-p243 のWindowsバイナリは
公式からはリリースされないのですか?
公式とそのミラーサーバからは探しても
p129 までしか見つからないのですが
10:デフォルトの名無しさん
09/08/24 08:51:02
少なくとも「まだ」
出ると決まったものでもないが
11:デフォルトの名無しさん
09/08/24 10:21:29
1.9.1 p129のWindowsバイナリが公式のどこにあるんだ?
12:デフォルトの名無しさん
09/08/24 12:28:39
前スレの話だと公式ビルドは「存在しないことになっている」んじゃなかったのかねえ
現実usa氏頼りなのは間違いないけどさ
13:デフォルトの名無しさん
09/08/24 12:39:44
>>12
「公式ビルド」とは言ってないんじゃないか。
公式サイトから配布されている(第三者がビルドした)mswin32バイナリ
って意味かと。
まあ事実上usa氏のバイナリが公式みたいな感じになってるしね。
14:デフォルトの名無しさん
09/08/24 13:41:32
ruby-lang.orgにも置いてあるんだな。
fURLリンク(ftp.ruby-lang.org)
てっきりビルド提供している人のサイトにリンク張ってるだけだと思ってた。
>>13のいうとおり「公式*ビルド*」という位置付けではないと思うけど。
15:デフォルトの名無しさん
09/08/24 13:55:04
ftp.ruby-lang.org/pub/ruby にあるんだから、紛れもなく公式ビルドだよ
ディレクトリがそうなってる
公式ビルドでないのなら、unofficial 等とディレクトリ名を切った中に入れ「なければならない」
16:デフォルトの名無しさん
09/08/24 14:04:36
イエス!アイガッチュ!
URLリンク(www.google.com)
17:デフォルトの名無しさん
09/08/24 14:15:45
公式サイト、1.9.2 preview1のバイナリはあるのに
1.9.1-p243のバイナリがないというのもおかしな話だな
リリースされた日は同じだったのに
18:デフォルトの名無しさん
09/08/24 14:19:58
>>15
公式勘違いの原因の一つになってることは間違いないと思う
19:デフォルトの名無しさん
09/08/24 14:20:45
以前ささだ氏あたりがインタビューで言ってたとおり
自前のコンパイルファームが必要なんだろうな
usa氏の善意と厚意に頼ってる以上、
リリースと同時にバイナリビルド出せなんて話は出来ないし
20:デフォルトの名無しさん
09/08/24 14:24:17
だが待って欲しい
「全世界のユーザーがうさたんの好意頼りだよねー」とか言いまくれば
問題は案外コストなしに解決するのではないだろうか
21:デフォルトの名無しさん
09/08/24 14:25:47
今なんかさらっと酷いレスが
>>19
総体的に必要なものってなーに
やっぱ専任のフルタイム正社員?
22:デフォルトの名無しさん
09/08/24 14:39:32
>>19
でも1.9.2-preview1はたしかリリースとほぼ同時に
公式サイトのディレクトリにあったと思う
1.9.1-p243だけリリースしなかった理由は何だろう
23:デフォルトの名無しさん
09/08/24 14:40:34
バイナリなんか配らなくてもいいよ別に
公式はソースで配るもの、バイナリは各ディストリビュータにまかせればよい
24:デフォルトの名無しさん
09/08/24 14:44:07
しかしWindows版は自分でビルドするにはかなり厳しい条件だぞ
25:デフォルトの名無しさん
09/08/24 14:49:21
>>14-15のってだれが作ってくれてるの?
26:デフォルトの名無しさん
09/08/24 15:34:55
どんな環境でもコンパイルするだけ☆ という状態になってねーという話だろ
27:デフォルトの名無しさん
09/08/24 19:27:10
>>24
それでも昔に比べればだいぶ楽になったけどな…
つうかWinだと拡張ライブラリがめんどくせえ
28:デフォルトの名無しさん
09/08/24 19:48:26
だんごはこのスレでもコテつける気なの?
29:,,・´∀`・,,)っ-○○○
09/08/24 21:39:03
誰でも名前欄に入れられる文字を入れてるだけだからコテだという意識はない
30:デフォルトの名無しさん
09/08/24 21:40:16
>>24
「Windowsユーザーはしね」
これが公式見解でおk
31:デフォルトの名無しさん
09/08/24 21:49:38
非推奨なもの、使ってほしくないものは使いにくくしておくという
Ruby の設計思想がちゃんと反映されていていいじゃないかw
32:デフォルトの名無しさん
09/08/24 21:51:18
force_encoding と Windows 用ソースは理念が同じだ
33:,,・´∀`・,,)っ-○○○
09/08/24 21:59:50
JRubyやIronRubyで良いじゃんと言えるレベルにはなりつつある
34:デフォルトの名無しさん
09/08/24 22:25:22
>>20
だからそれじゃダメだっつってんだろw
>>24,27
だからmingwが解になるんじゃないの?
VC7以降のmsvcrt.dllの問題もないし、だから既存の拡張ライブラリも使えて、
最新のgcc使ってコンパイルできるし、
URLリンク(www.up-cat.net)
あたりで適当に構築したMingw/MSYSで普通にビルドできるし。
>>30
で、その結果として
URLリンク(www.infoq.com)
って話になって海外勢が自前で準公式ビルド作るってことになってるんでしょ?
まあ実際こっちの方がいい流れだよね。
35:デフォルトの名無しさん
09/08/24 22:41:51
>>30
そんなふうにうそぶいてられたのはActiveScriptRubyが出る前までじゃね
つまり約10年前まで。
36:デフォルトの名無しさん
09/08/24 22:54:36
Windowsユーザーは役にたたないくせに文句ばっかり。
37:デフォルトの名無しさん
09/08/24 23:07:21
と、いうことにすると都合がよいのですね? (voidAA略)
Unix方面の人間としても間口を広げる流れに逆行するような
「無能な味方」は要らないッス。
そもそも、Unix方面の功績を笠に着るわりには何か貢献したのかどうかも
怪しい>>36にそんなことをいわれても微妙すぎるというか、
_whyレベルの人間ならともかく、明日>>36がいなくなってもRuby界隈は普通に回り続けるのでは
38:デフォルトの名無しさん
09/08/24 23:37:51
まぁ、RubyInstallerの話は非常に歓迎しています、素晴らしい
39:デフォルトの名無しさん
09/08/25 00:02:01
でもユニックスよりもウィンドウズのほうが便利なんだよねえ。
ちなみに教祖が使ってるデビアンはリナックスであってユニックスじゃないよ。AT&T由来のソースも含んでないし。
40:デフォルトの名無しさん
09/08/25 00:14:23
>>39
>AT&Tのコード
正確には一瞬SGIのうっかりさん経由で混じったことはある
(そしてそれが原因でSCOに絡まれたことがある)
matzはUbuntu使わんのかねえ?
41:デフォルトの名無しさん
09/08/25 00:39:39
>>39
未だにLinuxをUNIX側からつまはじきにしたい奴がいるんだな…
42:デフォルトの名無しさん
09/08/25 00:42:45
まあSUSに準拠してない以上はUNIX-likeとよぶほかあるまい
BSDもそうだけど。
OSXやSolarisはちゃんとUNIXなんだよな
43:デフォルトの名無しさん
09/08/25 00:49:53
SolarisとFreeBSDとLinuxを一まとめで「PC-UNIX」って呼んだら怒る人ってやっぱいるのかねぇ?
44:デフォルトの名無しさん
09/08/25 01:28:13
RubyとLispでウェブアプリケーションを実運用
URLリンク(slashdot.jp)
> 本家/.の記事より。飛行機は天候や空港の都合ですぐ遅れる乗り物だが、
> そんなときはFlightCasterを試してみると良い。現時点では米国内便のみ
> 対応だが、管制情報や天気予報、最近10年間の飛行記録を取り混ぜて、
> 統計分析によってリアルタイムに飛行機の遅れを予想する新しいサービスだ。
> しかし/.的に関心があるのは、どちらかというと実装の中身だろう。
> このサイトはフロントエンドにおなじみRuby on Rails、大規模分散計算
> フレームワークApache Hadoopを使い、Ruby版PaaSのHerokuにホスティング
> されている。しかしバックエンドの実装に用いられたのはRubyではなく、
> Javaで書かれたLisp方言の一つClojure。
> FlightCaster開発陣の一人のインタビューでは興味深い内幕が披露されている。
> O'Reillyからは新たなLisp本の出版も予告されているが、とうとう「カッコの時代」が来たのだろうか…。
45:デフォルトの名無しさん
09/08/25 01:40:36
>>27
楽になったか?
今さらVC6用意するとか無茶にも程があるだろ
最新のOSじゃインストールすら出来ないし
そのビルド環境用のPC用意するだけでも凄い手間だわ
事実上個人でビルドしてるやつなんて居ないに等しいでしょ
>>34
MinGWでビルドしたバイナリは、mswin32と比べて
実行速度とかどうなの?
別に根拠は無いけど、MS製のコンパイラの方が
効率の良いバイナリ吐きそうな気がするけど
46:デフォルトの名無しさん
09/08/25 02:19:55
URLリンク(extralogical.net)
ruby 1.9に移行した人の体験談
Tempfile#unlinkに後方互換性のない変更があったんで、そこだけ直したんだってさ
47:デフォルトの名無しさん
09/08/25 02:58:13
>>45
mingwのほうが速い
48:デフォルトの名無しさん
09/08/25 03:11:58
feedbackもまともによこさず、手元だけで直して得意がっちゃう人って恥ずかしいなぁ
49:デフォルトの名無しさん
09/08/25 04:10:58
おこぼれを貰えないことを逆恨みする乞食が
「こいつは得意がっている」みたいなキャラ設定考えて
少しでも溜飲下げようと必死に人格攻撃するほうが恥ずかしいかも
50:デフォルトの名無しさん
09/08/25 04:17:00
マクは厳密にはunixじゃ無いけどな。
51:デフォルトの名無しさん
09/08/25 05:13:33
>>45
VC6 vs 今のgccの比較になるから
mingw版の方が全然速い。
↓によると1.8系列の場合はmswinより2倍以上mingwの方が速いとのこと。
URLリンク(antoniocangiano.com)
VC6が出たのが11年前なんだから当然といえば当然だわな
そもそも今正規ルートでVisualC++6.0入手しようとしたらMSDNぐらいしかないんじゃないか?
もはやサポートも終息してるしな。
>>49
なにをいってるんだ、>>48は>>46の情報を元にパッチを作成して
MLに投げるなりmput氏のGitHubにpull requestするなりしてから
>>48を書き込んだに決まってるだろう。
じゃなきゃ、>>48が口先だけな上に自分の言動で自爆する間抜けになっちゃうだろwww
52:デフォルトの名無しさん
09/08/25 08:40:53
>>45
27 だけど俺が言ってるのは mingw のことだ
1.6 初期のころは mingw でもいろいろ面倒だった
53:デフォルトの名無しさん
09/08/25 10:15:48
>>50
え?
54:デフォルトの名無しさん
09/08/25 17:00:14
UNIX のように振る舞うものはすべて UNIX である でいいじゃんもう
55:デフォルトの名無しさん
09/08/25 19:24:33
みにくい雛鳥の正体はペンギンってオチか
56:デフォルトの名無しさん
09/08/25 20:10:20
今ってMinGW/MSYSで簡単にmingw版ビルド出来るんだな
msysgit絡みでMinGW/MSYS自体にGoogleのテコ入れが入ったのが
デカかったのかな
57:デフォルトの名無しさん
09/08/25 20:23:50
UNIXとUnix (UNIX-like)の区別くらいはしてもいいと思う
58:デフォルトの名無しさん
09/08/25 20:33:16
UNIX®
59:デフォルトの名無しさん
09/08/25 21:13:45
2009/08/25付けの記事で、Shoooesが紹介されているんだけど、
これって、_whyの作品?
URLリンク(journal.mycom.co.jp)
いなくなったタイミングで紹介するはどうかと思う。
60:デフォルトの名無しさん
09/08/25 21:17:16
Ruby初心者スレにも書き込みましたが、誰か分かれば教えてください。
Rubyでopensslを利用して共通鍵暗号を使う場合、以下のような
コードを書きますが、pkcs5_keyivgenを使うのはセキュリティ上
良くないのですか?
require 'openssl'
a123 = "0123456789"
pass = "hogehoge"
enc = OpenSSL::Cipher::DES.new
enc.encrypt
enc.pkcs5_keyivgen(pass) # <= この記述がよろしくない?
a = enc.update(a123)
b = enc.final
s = a + b
こんなページ↓を見つけたので、気になりました。
URLリンク(wp.serpere.info)
Rubyのソースコード(ossl_cipher.c)には、以下の記載がありますが、
詳しい意味が分かりません。
* WARNING: This method is only PKCS5 v1.5 compliant when using RC2, RC4-40, or DES
* with MD5 or SHA1. Using anything else (like AES) will generate the key/iv using an
* OpenSSL specific method. Use a PKCS5 v2 key generation method instead.
ソースコードの注釈の意味と、pkcs5_keyivgenを使わずに適切に
記述する方法を教えてください。
61:デフォルトの名無しさん
09/08/25 21:37:16
>>60
まさに
URLリンク(wp.serpere.info)
と
URLリンク(www.openssl.org)
に書いてあるとおりじゃね。
PKCS5 v1.5の一部適合品程度でしかないから
どうしてもPKCS5 v1.5じゃないと困るケース以外は
v2.0を使えと。
62:デフォルトの名無しさん
09/08/25 21:40:53
そもそも、今時DESって暗号化しているうちに入らないぞ、AESにしとけ。
しかし、暗号化絡みのAPIはもうちょっと親切にラッピングしてあげた方がいいと思うんだが。
63:デフォルトの名無しさん
09/08/25 21:49:07
「デフォルト」がありえない分野なので、手作業できめ細やかに設定できるようになっています
暗号についての知識がない人が暗号使うとかありえないのでこれで正しい動作です
64:デフォルトの名無しさん
09/08/25 22:15:41
>>63
言いたい事は分かるけど、>>60を見た上でも同じコメントなのかな?
65:デフォルトの名無しさん
09/08/25 22:21:43
普通にデフォルトでsshでrootログインまでできてしまう
Linxuディストリに対する嫌みですねわかります
66:,,・´∀`・,,)っ-○○○
09/08/25 22:29:26
root許可してくれないとWinSCPのエディタで/etc配下とか弄りたい時に困るからな
67:デフォルトの名無しさん
09/08/25 22:38:08
Linuxってデフォルトのまんまだとsuできないとか制限あったっけ?
FreeBSDだとwheelグループに追加してやんないとダメだけど。
68:デフォルトの名無しさん
09/08/25 22:40:02
Ubuntuはsuできない
sudo su
ならできるけど
69:,,・´∀`・,,)っ-○○○
09/08/25 22:42:57
ubuntuがそう。
しかしroot追加すればrootログインできるようになる。
ちなみに言うとMacOSもデフォがroot禁止だったような。
70:デフォルトの名無しさん
09/08/25 23:17:24
emacsでsudoになればいいじゃん
71:デフォルトの名無しさん
09/08/26 00:07:28
普通のおじさんおばさんが使うなら、ubuntu流で良いでしょ。
rootになっているのを忘れて、危ないことを平気でするよりは。
emacsはどうも、なじめない。
初めてのエディターがemacsでした、みたいな人は良いのでしょうね。
おいらは、EDLINだったので、その後win系のエディターに流れてしまって、今はgedit。
これが、機能が少ないので...
話をRubyに戻すと、皆様のおかげで、ubuntuのRuby1.9が
ruby 1.9.0 (2008-06-20 revision 17482) [i486-linux]
のまんま放置されてる理由が、なんとなく理解できました。
72:デフォルトの名無しさん
09/08/26 00:26:35
>>71
UbuntuのRubyはDebian由来で、Debian側としての1.9の扱いが決まらなかったのが原因。
URLリンク(www.mail-archive.com)
73:デフォルトの名無しさん
09/08/26 00:30:02
>>71
多くの人がemacsに馴染めないのは、デフォルトのカーソル移動の気持ち悪さ
なにが悲しくて上下左右に、両手をフル稼働させなきゃいかんのだ
その点vi(m)はまことに素直でよろしい
>>72
Debianって、唯一のRuby公式サポートOSじゃなかったの?
74:デフォルトの名無しさん
09/08/26 00:41:52
>>73
Ruby的には、ソース取ってきてconfigure && make testできるところまで。パッケージとしてどう料理するかはDebianの仕事。
75:71
09/08/26 00:55:43
>>72
"ハーイ おいらとダイゴさんは"まで読んだ。
ついでなので、Rubyに密着している鳥を教えて下さいませ。
76:デフォルトの名無しさん
09/08/26 00:58:23
なんでいきなり喧嘩腰よ
77:デフォルトの名無しさん
09/08/26 01:01:29
Momonga
78:デフォルトの名無しさん
09/08/26 01:10:47
>>73
>>74 にある通りで、Ruby本体としてはパッケージングまではタッチしてませんね。
一般の人が使いやすいようにパッケージングするのは、
Debianだったらメンテナのやまだあきらさんのお仕事。
ちなみに、Windowsだとうささん・・・じゃなくて、
ActiveScriptRubyのartonさんとか、RubyInstallerの人とか。
>>75
逆に考えて、UbuntuにRuby 1.9.xのパッケージが入るまで1.9は使わない、
というのが正解だと思いますね。
79:71
09/08/26 01:13:32
>>77 は >>75 に対してのレスと思ってよろしいのでしょうか?
どちらも、日本に関係してますね。
差し支え無ければ、MomangaでのRuby1.9のバージョンを教えて下さいませ。
80:デフォルトの名無しさん
09/08/26 01:14:23
なんつーか、切ない片思いを連想した
違うのかもしれないけど、安定した拠点は必要だよねきっと
81:デフォルトの名無しさん
09/08/26 02:33:31
Momonga Linux 6では1.9.2-preview1ですね。
URLリンク(developer.momonga-linux.org)
ちなみに、Momongaは2007年10月(1.9.0リリース前、まだM17N絡みの変更がガンガン入ってた頃)に
1.9系を本格導入している勇者様。
URLリンク(www.momonga-linux.org)
1.9のヘビーユーザが多いはずだと思うんだけど、
それにしてはMomonga方面からバグ報告が来た記憶が無いなぁ。
82:デフォルトの名無しさん
09/08/26 02:35:28
と、書いてから検索してみたら普通に来てますね。
報告ありがとうございました。
83:デフォルトの名無しさん
09/08/26 03:41:30
別に密着してるわけじゃない
極力最新を導入するのが Momonga
mph で恨んで意趣返しをしているのではないはずだと思いたい
84:デフォルトの名無しさん
09/08/26 08:35:13
>>69
WinSCP使ってるならリモートのアカウントのshellを
内部でsudoとかsuするものにするのが定石だった気がする
応用すると踏み台サーバの特定アカウントにssh接続すると
別のサーバのrootでログインする仕掛けとか作れるようになる
85:デフォルトの名無しさん
09/08/26 08:39:52
まだレス表示してんの
86:デフォルトの名無しさん
09/08/26 08:43:28
>>83
mphはRubyが悪いわけじゃないもーん
yumかaptに乗り換えなかったほうが悪いんだもーん
87:デフォルトの名無しさん
09/08/26 13:13:21
>>56
昔はもっと面倒だったの?
88:デフォルトの名無しさん
09/08/26 15:56:18
>>63
>暗号についての知識がない人が暗号使うとかありえないので
なんで?
89:デフォルトの名無しさん
09/08/26 16:09:08
>>63 >>88
「知識がない人が暗号使うとかありえない」は、
「暗号は利用が難しく、少し間違った使い方をするとすぐに脆弱になるので、
知識がない人は使うべきではない」という趣旨じゃないかな。
ただ、今の世の中そんな牧歌的な時代じゃないと思うけど。
「デフォルトがあり得ない」っていうのはちょっと認識が古い気がする。
初期配列とかは暗号方式によってはちょっと気を抜くと脆弱なものを選んでしまったりするので、
下手にいじるよりはデフォルトを使うべきなように思える。
暗号の世界は日々進歩しており、昨日は「知識がある」という扱いにできた人が、
今日は「知識がない」という扱いになったりするので、
そろそろ知識がない人でもそれなりに扱えた方がいいんじゃないかなぁ。
90:デフォルトの名無しさん
09/08/26 17:05:40
>>89
さんくす。
素人が下手に暗号をさわると脆弱になるというのはその通りだと思うので、
だからこそ素人でも使えるようなライブラリやインターフェースを
知識のある人に用意してほしい。
「知識がない人が暗号使うとかありえない」という姿勢こそありえない。
91:デフォルトの名無しさん
09/08/26 17:15:14
どっちかっていうと、
「暗号の知識のない人が(実装よりという意味で)低水準のライブラリを直接キックとかあり得ない」
ってのが正確な表現かな
HTTPSを初めとしてエンドユーザとして使う側は
今でも(暗号化されてることすら大して意識せずに)使えてるわけで
エンドユーザが使うものを作る側はある程度わかってないと
最終的にエンドユーザが不幸になる気がする
似たようなポリシーの違いでメルセンヌツイスタの作者とクヌースが揉めてた記憶があるなあ
92:デフォルトの名無しさん
09/08/26 17:28:17
60じゃないけど質問。
>>61
>
>PKCS5 v1.5の一部適合品程度でしかないから
>どうしてもPKCS5 v1.5じゃないと困るケース以外は
>v2.0を使えと。
これはつまり、現状のrubyではv1.5は用意されているけどv2.0を使う方法は提供されてないということ?
93:デフォルトの名無しさん
09/08/26 17:34:41
自前でやれってことだな
94:デフォルトの名無しさん
09/08/26 17:36:46
>>92
60が出してきたblogの別記事に情報がある
URLリンク(wp.serpere.info)
一言で言えば、使える。
ただしOpenSSL由来の制限アリとのこと
95:デフォルトの名無しさん
09/08/26 17:41:18
どこまで初心者想定すればいいのかというのは難しい問題
抽象化が完璧にできないからこそ低レイヤへのアクセス手段を残してあるわけで、
そこをして初心者に優しくないと言われてもそれはそれで結構困る
永遠の初心者を想定すべきなのだろうか
96:デフォルトの名無しさん
09/08/26 17:53:03
初心者がAESのような暗号方式を特定しているAPIを触れるのはよくない。
なぜかというと、その方式が時代遅れになってもそれを使い続けられちゃうから。
>>91 も出してるけど、通信路の暗号化だったらhttpsを使ったほうが、
見落としがちななりすましの防止も図れるし、暗号方式が隠蔽されるので望ましい。
97:デフォルトの名無しさん
09/08/26 18:08:01
>>94
さんくす。でも公式にドキュメント化してないようなので、使うべきかどうかは判断に困るな。
>>95
>どこまで初心者想定すればいいのかというのは難しい問題
そうなんだけど、だからといって「知識がない人が暗号使うとかありえない」なんていうのはやめてほしい。
98:デフォルトの名無しさん
09/08/26 18:11:53
知識は特別なのか?
選ばれた人間しか入ることを許されない図書館の奥に封印された秘儀なのか?
答えは否だ
学べ
99:デフォルトの名無しさん
09/08/26 18:47:00
まあ、漠然と暗号かがしたい、とかじゃなくて
PKCS#5でやりたい、とかの一点指名で使おうとしてる人たちが
ライブラリの想定利用者だろうから
あの抽象度が限界な気もする
100:デフォルトの名無しさん
09/08/26 20:03:03
>>98
知識0の状態からあの抽象度のレベルを安全に扱えるようになるまで何年かかるんだろう。
101:デフォルトの名無しさん
09/08/26 20:34:33
>>98
共通鍵暗号を使いたいというだけのことに、PKCS5のバージョンがどうのこうのという知識を知らないといけないのか?
んなわけないだろ。
公開鍵方式と共通鍵方式の違いは「勉強しろ」で片付けていいだろうけど、>>60ででているようなことは
たいがいの人は知らなくてもすむはずのこと。
使いやすくする工夫をほったらかしといて「学べ」とかアホじゃねーの。
102:デフォルトの名無しさん
09/08/26 20:44:38
>>101
一般論としてはまったくそのとおりなんだけど、
***このライブラリに限っては***、「共通鍵暗号を使いたいというだけ」の
人が使うようなものじゃないから微妙な話になってるんだと思うよ。
簡単手軽に使える「暗号化ライブラリ」じゃなくて「OpenSSLのラッパ」だから。
だからこそソースコードにわざわざ
>* WARNING: This method is only PKCS5 v1.5 compliant when using RC2, RC4-40, or DES
>* with MD5 or SHA1. Using anything else (like AES) will generate the key/iv using an
>* OpenSSL specific method. Use a PKCS5 v2 key generation method instead.
とか書いている(ライブラリ使用者がここまで読むことを想定している)わけで。
「共通鍵暗号を使いたいというだけ」の人は、この「OpenSSLのラッパ」を使って実装された/されるであろう
「使いやすいライブラリ」を使った方がいいと思う。
103:デフォルトの名無しさん
09/08/26 21:11:37
要はもう少し高レベルで、もう少しお仕着せなライブラリが必要だってことだよね
既存のでいいライブラリってある?
104:デフォルトの名無しさん
09/08/26 21:13:00
いや必要充分だと思うぞ
いわゆる残り5パーセントとか2パーセントとかそのへんの話だぞこれ
105:60
09/08/26 21:16:26
私は別にRubyの実装が悪いと責めているつもりはありません。
低レベルな方法も用意されているので、問題ではないと思います。
ただ、マニュアルの記載内容(以下)は直した方がいいのではと思います。
(以下、マニュアルから引用)
encrypt(key, iv) 暗号化の準備をする。iv は initialization vector、
必要なら使用される。このAPIに引数を渡すのは推奨しない。パスワードから
鍵を生成する場合は、 pkcs5_keyivgenを使用すること。
URLリンク(www.ruby-lang.org)
この説明だけ見ると、初心者はpkcs5_keyivgenを利用すればいいと判断して、
詳しく調べることに行き着かないのでは?「pkcs5_keyivgenの方法も、現在
では推奨されていない。Ruby 1.9/1.8.7のOpenSSL::PKCS5.pbkdf2_hmac_sha1
を使用すること。また、OpenSSL の将来のバージョンでは、OpenSSL::PKCS5.
pbkdf2_hmacでsha256を利用することを推奨する(○年○月現在)。」
などと記載した方がいいと思います。
セキュリティに関することなので、日付を入れたらどうですか?
Rubyは少ない記述で楽しく書けるのがウリだと思うので、「知識をつけて
低レベルから書かないから悪い」という考え方は嫌ですね。
ただ、人手も足りなくて、他にもやることがあるでしょうから、この部分を
標準で対応しないのは、仕方ないと思います。
106:デフォルトの名無しさん
09/08/26 21:18:02
「『共通鍵暗号を使いたいというだけ』の 人」って、なんのために使うの?
ユースケースが知りたい
107:デフォルトの名無しさん
09/08/26 21:19:49
ブルース・シュナイアーの『暗号技術大全』だと
自分で実装とか考えるな。ましてオレオレ暗号は最悪
専門家でない限りは低水準の技術を裸で使うな
広く用いられているライブラリで、高水準のプロトコル(SSL等)を使え
だったっけ。まあプロでもたまに失敗する世界で、
いわんや素人においてをやってのは分かる
108:デフォルトの名無しさん
09/08/26 21:21:49
>>105
もっともな話なので、るりまのRedmineにチケット起こすのがよいと思う。
URLリンク(redmine.ruby-lang.org)
109:デフォルトの名無しさん
09/08/26 21:43:32
opensslライブラリが
・直接使われるケースが少ないライブラリのためのライブラリ
・技術の分野的な経緯から低水準で独自実装を試みることが推奨されない
なんていう超々例外的なライブラリだから一般論をそのまま当てはめるのが難しいんだよね
>>105
ドキュメントも2006年頃が最後の更新くさいね。
今みたいにそれなりに広く使われることを想定してなかった時代だったんだろう。
改善する必要があるのはそのとおりだろうね。
110:60,105
09/08/27 00:38:48
opensslの件
私は、現在の実装ではどう記述したらよいか知りたいので(勉強中)、pbkdf2-ruby
URLリンク(github.com)
を使ってみることにしました。
ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32]の環境で、ためしに
作ったスクリプトで、-wオプションをつけて実行したところ、次の警告がでました。
warning: argumtents for OpenSSL::Cipher::Cipher#encrypt and OpenSSL::
Cipher::Cipher#decrypt were deprecated; use OpenSSL::Cipher::Cipher#
pkcs5_keyivgen to derive key and IV
Cipher#encryptではなく、pkcs5_keyivgenを使えという警告ですが、
pkcs5_keyivgen自体が推奨される方法ではないため、この警告メッセージは修正
した方がいいような。
やっぱりRubyの実装も良くないかも
111:60,105,110
09/08/27 00:40:11
ちなみにコードはこんな感じです。間違ってたらすいません。
require 'openssl'
require 'pbkdf2'
obj = PBKDF2.new do |p|
p.password = "s33krit"
p.salt = "nacl"
p.iterations = 5000
p.hash_function = 'SHA512'
end
key = obj.bin_string[0,32]
iv = obj.bin_string[32,32]
a123 = "0123456789"
enc = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
enc.encrypt(key, iv)
a = enc.update(a123)
b = enc.final
s = a + b
dec = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
dec.decrypt(key, iv)
a = dec.update(s)
b = dec.final
p a + b #=> "0123456789"
112:デフォルトの名無しさん
09/08/27 00:44:02
OpenSSLやそのthin wrapperを知識のない人が直接触るというのがそもそも間違ってる。
知識のある人ための道具箱であって、知識のない人はOpenSSLを使った
バカチョンなライブラリが用意されるのを待て。
とドキュメントの冒頭に書いておけば……。
113:デフォルトの名無しさん
09/08/27 00:57:00
> OpenSSLを使ったバカチョンなライブラリが用意されるのを待て。
require 'open-uri'
URI('URLリンク(example.org)').read
114:79
09/08/27 22:10:41
>>81
サンクス
115:デフォルトの名無しさん
09/08/27 22:49:45
rubyのバージョン変えてみたら
116:デフォルトの名無しさん
09/08/27 23:02:00
大量に外部データや変数や履歴使って小1時間活用していた irb1.9 が落ちた
氏ね
117:デフォルトの名無しさん
09/08/27 23:21:13
再現性なく落っこちることがあるよね
仕方ないとはいえ勘弁して欲しい
118:デフォルトの名無しさん
09/08/28 00:15:18
参照とか代入とかのレベルでも、1.9と1.8では、ずいぶん差がありますよ。
CPUのクロックが上がらない今時では、画期的。
ただいま、Rの分布関数を移植中でありんす。(正規分布とかポアソンとか)
出来上がって公開できるかどうかは、あちらのライセンスの都合もあるので、わからねっす。
わっしは、ぶいぶい使うっす。
119:デフォルトの名無しさん
09/08/28 00:32:56
tdiaryも1.9で長時間使ってるとなぜか負荷が高くなったり
落ちるみたいだね。まあこの辺は枯れてるか枯れてないかの問題だから
仕方ないけど
120:デフォルトの名無しさん
09/08/28 01:34:04
Mac だけど 1.9.1-p243 をソースからビルドしてたら、make check のときに
ターミナルが応答しなくなった。make test は問題なかった。何が原因なのか
は分からないが、2回ためして2回とも発生したからちょっと怖い。
1.9.1 はヤメテ 1.8.7 を使い続けようか。
121:デフォルトの名無しさん
09/08/28 02:02:36
もうすこしだ。そこで原因を特定したら勇者になれる。
おそらくスレッドだな
122:デフォルトの名無しさん
09/08/28 06:14:36
p243ってRails動かなかったから一個前使ってるわ
123:デフォルトの名無しさん
09/08/28 13:13:31
ROMA本格稼働開始。
Rubyでどれだけパフォーマンスでるのか楽しみ。
124:デフォルトの名無しさん
09/08/28 14:39:15
>>121
test/drb/test_drb.rbとtest/drb/test_drbssl.rbで止まるっぽい
125:120
09/08/28 21:48:45
>>124 は私ではありません。(念のため)
コンパイラを変えてビルドしてみたら、ちょっと不思議だった。いつもは Xcode に付いている
Apple 謹製の gcc-4.0.1 を使うのだけど(>>120 のときも)、これを Fink で入れた gcc-4.3.1
に変えると parse.c のコンパイルで止まる。10分近く放置しても話が先に進んでないので何か
あったのだろうと推測する。でも何があったかは知らない。
Rails は使わないし、そもそもローカルでシェルスクリプトの替わり程度の使い方しかしていな
いので、イマイチ問題の解決に関心を持てない。
126:デフォルトの名無しさん
09/08/29 01:23:45
parse.cのコンパイルってmake checkじゃないじゃん
127:デフォルトの名無しさん
09/08/29 01:42:17
>>126
うん。コンパイラを変えてみたら make で止まった(ように見える)というお話。別のコンパイラなら
make も make test も通るけど、make check で転けた。make check なんてしなくても良いだろうか
ら、そんなことキニシナイというのもアリだとは思う。
128:デフォルトの名無しさん
09/08/29 01:58:30
日本語でおk
あと、それはgcc-.4.3.2のバグということで決着がついてる。10分といわず
30分1時間放置してればparse.cのコンパイルは終わる。あるいは4.3.3を使えば直ってる
129:名無しさん@そうだ選挙に行こう
09/08/30 07:58:23
久しぶりにローカルで使ってるrefeとリファレンスマニュアル更新したんだけど
/home/hoge/doc/ruby-refm-1.9.1-dynamic-20090829/bitclust/lib/bitclust/database.rb:134:
in `initialize': illegal access mode r:EUC-JP (ArgumentError)
というエラー吐いて使えなくなってた。
該当行
>File.open(realpath(rel), 'r:EUC-JP') {|f|
を
File.open(realpath(rel), 'r') {|f|
にしてやればまあ動くようになるんだけど、とりあえず自分だけが使う分にはこれでいいのかな?
Rubyのバージョンはruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
# EUC-JPという文字コード指定みたいなのは1.9からの機能?
130:名無しさん@そうだ選挙に行こう
09/08/30 10:20:25
>>129
それで正解。
というかrefeって1.8用と1.9用で分かれてないのか……。
131:名無しさん@そうだ選挙に行こう
09/08/30 10:40:20
せめて 1.8.7 では r と r:* は同一視して欲しかったんだが、まあ仕方ないわな
132:名無しさん@そうだ選挙に行こう
09/08/30 13:27:57
>>131
そうなってないっけ?
133:名無しさん@そうだ選挙に行こう
09/08/30 14:30:15
カルト指向言語
134:名無しさん@そうだ選挙に行こう
09/08/30 16:06:13
age荒らしは無視で
135:名無しさん@そうだ選挙に行こう
09/08/30 17:59:34
Rubyってプラットフォーム別のバイナリのダウンロード数の統計とかとってる?
Firefoxみたいにダウンロード数=ユーザー数みたいに錯覚させるキャンペーンとかやればいいのに
136:名無しさん@そうだ選挙に行こう
09/08/30 18:09:19
>>135
思いつきは結構だけどれが誰によって配布されてるかもう少し下調べしたらどうだ?
137:名無しさん@そうだ選挙に行こう
09/08/30 18:54:12
今のところそこまでユーザ数をアピールするインセンティブがないと思う。
やるとしたら、1.9のダウンロード数と1.8を比べて1.9のアピールくらいかね。
まぁ、普通の人はActiveScriptRubyとかそれぞれのOSのパッケージマネージャ使うんだよな
138:デフォルトの名無しさん
09/08/30 21:56:42
えっと、ここでもいいかな。
正式には、窓口あるんでしょうがね。
BigDecimal/math.rbの def exp(x, prec)
xに負数が来ると、うまくないです。
n += x.to_i if x < 0
の1行を適当なところに挿入すると良いです。
xが負のとき、ループの脱出の条件のところは、
n2 = n * 0.9
として、n2に置き換えても精度が保てます。
xが-1000より小さいと、実行が分単位になるので、確認不足かもね。
なので、0.9の部分は話半分ってことで。
1.9.1の243でも直ってなかった。
139:デフォルトの名無しさん
09/08/30 22:02:31
どうぞ。
URLリンク(redmine.ruby-lang.org)
140:138
09/08/30 22:07:18
あ、間違い。xは負数だから
n -= x.to_i if x < 0
もしくは
n += x.to_i.abs if x < 0
か、
確認したら、うちのは上になってた。
環境によると、
x.to_i
は
x.to_i(10)
とかしないとエラーになるかもね。
141:138
09/08/30 22:41:12
>>139
あ、どうも。これは窓口の紹介なのですかね。
BigDecimalのpower2がずっと工事中のようで、
これは、
x ** y
の、yの部分がfloatの場合でも可能となるのかな、
と、ずっと待っておりました。
xをlogして掛け算してexpすりゃいいじゃん、
と気付いたのは、こないだなんですよ。
放置が永いので、他に何かあるのでしょうか。
とりあえず、BigDecimal/math.rb
を、ちょっと修正してCで書いて貰ったらすごくしあわせ。
142:デフォルトの名無しさん
09/08/30 23:09:14
>>138
>>139のURLで、アカウント作ってチケットを新規に投げる。
143:デフォルトの名無しさん
09/08/31 00:57:12
gem install sqlite3-ruby 実行時に、以下のエラーが出ました。
ERROR: Error installing sqlite3-ruby:
sqlite3-ruby requires Ruby version > 1.8.5
OS は CentOS 5.3 x86_64 です。
yum で ruby や sqlite 等を入れています。
gem search -r sqlite3-ruby の結果は
sqlite3-ruby (1.2.5) しか出てきません。
これは強引に ruby のバージョンを上げるしかないのでしょうか。
144:デフォルトの名無しさん
09/08/31 01:25:49
>>141
俺らが半端に伝言ゲームするより>>139で
問題の所在と対処をわかっているお前さんが
ダイレクトにひっぱたくのが良いと思われる。
145:デフォルトの名無しさん
09/08/31 05:13:13
システムの使い方わかってる人間が的確な方法で指摘したほうがいいと思うが
146:デフォルトの名無しさん
09/08/31 06:05:28
○○ですかね。
○○しあわせ。
ぶつくさ言わずに行動起こせ。
~かね。
~しあわせ。
とかいうやつは、たいてい口だけのやつが多い。
147:デフォルトの名無しさん
09/08/31 06:14:03
で、その下にいるのが、お前のような「口だけの奴評論家」。
148:デフォルトの名無しさん
09/08/31 06:18:17
まあオプソなんてそんなもの。
馬鹿が無料でソースまで公開してるソフトを使い回して、いかに自分の仕事を効率よく終わらせるかしか価値無いし。
そして自分のソースは公開しないのが手間がかからなくていい。
149:デフォルトの名無しさん
09/08/31 06:48:59
と、いうのがいわゆる中二病でございます
150:デフォルトの名無しさん
09/08/31 07:49:30
要するにRubyはうんこ言語ってことで。
151:デフォルトの名無しさん
09/08/31 07:50:01
他人のことを口だけと言って何になるのかねえ
152:デフォルトの名無しさん
09/08/31 07:55:25
何になるのかねえと言って何になるのかねえ
153:デフォルトの名無しさん
09/08/31 14:12:54
早く宿題でもやってろ
154:デフォルトの名無しさん
09/08/31 15:32:40
>>138
>>144のいう通り、もっと具体的にredmineへ。
お前さんの話だけじゃ何をどう再現すればいいのかわからん。
$ ruby-1.9.1 -v -rbigdecimal -rbigdecimal/math -e 'include BigMath; p exp(BigDecimal.new("-1"), 3)'
ruby 1.9.1p281 (2009-08-09 revision 24476) [i386-darwin9.6.0]
#<BigDecimal:1491a4,'0.3678794411 7144232158 0284427234 79524E0',36(72)>
$ ruby -v -rbigdecimal -rbigdecimal/math -e 'include BigMath; p exp(BigDecimal.new("-1"), 3)'
ruby 1.9.2dev (2009-08-31 trunk 24720) [universal.x86_64-darwin9.0]
#<BigDecimal:1002ac0a0,'0.3678794411 7144232158 0284427234 79524E0',36(72)>
155:デフォルトの名無しさん
09/09/01 00:24:29
-20以下くらいから誤差が大きくなって、正しく計算できてないようです
require 'bigdecimal'
require 'bigdecimal/math'
module BigMath; extend BigMath end
n = -5
puts BigMath.exp(BigDecimal(n.to_s),10).to_s, BigDecimal(Math.exp(n).to_s).to_s
# => 0.673794699908546709664220227128330426308743E-2
# => 0.673794699908547E-2
n = -40
puts BigMath.exp(BigDecimal(n.to_s),10).to_s, BigDecimal(Math.exp(n).to_s).to_s
# => 0.148254074963145840156087212163166213816119E-7
# => 0.424835425529159E-17
156:デフォルトの名無しさん
09/09/01 05:06:55
>>138
BigDecimalのメンテナは多分ここ見てないんで、直接連絡を取るか、
他の人でもコミットできるくらい丁寧な説明を付けた上でパッチをRedmineに投げないとダメだよ。
>>155
Math.expはFloat
157:デフォルトの名無しさん
09/09/01 10:01:49
なんでここに書けば直ると思えるのか、その思考を追えるものなら
追ってみたいものだわ。
158:デフォルトの名無しさん
09/09/01 10:07:14
私は何度かここにバグを書き込んだが、ちゃんと見てくれてる人が居て、修正してくれたよ
159:デフォルトの名無しさん
09/09/01 10:12:41
7月のRuby会議で yugi さんも言っていたよ。
・コミッタ、メンテナは 2ch なんてみていない
・だが、ごくたまに、コミッタ、メンテナにとっても有益な情報が 2ch に書き込まれる
・だから 2ch の情報を ML にフォワードしてくれ(してくれる人が必要だ)
160:デフォルトの名無しさん
09/09/01 10:20:12
>>158
あくまで例外だろう
もちろん、実は居るかもしれないが、
居ることを期待するべきではないと
yuguiさんだっけ?マメだなあ……
161:デフォルトの名無しさん
09/09/01 10:21:16
ま、どこに情報書けだのなんだの延々頑張る暇があったらそれこそ転載しろって話だなw
162:デフォルトの名無しさん
09/09/01 10:24:52
>>158
「見てくれない」人のほうが多いぞ
見てても追随めんどくさそうなら一旦棚上げだ
一連の>>138を見ててもわかるが、試したくても傍目には必要な情報がないことのほうが多いから
Redmineは腐ってもバグトラッキングシステムなのでそのへんは頼れる
とっても暇か緊急性がありそうなら、自分の手元で再現しようと頑張るかもしれんけど
163:デフォルトの名無しさん
09/09/01 10:47:18
そのまま使える掲示板でのバグ報告ってとっても稀だよね
自分の関わったソフト名でぐぐって見てみても驚くほど要領を得てない
誰かが労力割いてまとめてくれたから伝わってるんだよん
164:デフォルトの名無しさん
09/09/01 10:54:56
そんなにRedmineで報告しろというなら、サンプルを書いてあげればいいんじゃないかな。
いまのままじゃ、138がバグレポート書いても意味が通じなくて困るだけだろうに。
165:デフォルトの名無しさん
09/09/01 11:07:27
>>163
バグってるコード書けば、それだけで伝わってるよ
166:デフォルトの名無しさん
09/09/01 11:09:24
gdgd逝ってないでさっさと
スレリンク(tech板:138番)
張ってこい。スレ荒らすな。
167:デフォルトの名無しさん
09/09/01 11:20:56
まあ見てる見てないなら俺含め見てるけど、
優先度低くて手を着けてないわ。
MLかRedmineに書くとある意味強制的に
優先度が上がるとも言えるw
とりあえず
・発生した環境
・再現手順
・手順をやったらどうなったか
・本当はどうなって欲しいか
どうなって欲しいかが論理的に自明でないような場合は
・何故そうなって欲しいのか
あとはおまけで
・原因の推測(心当たり)
これはもしあれば、というレベル
これぐらいを箇条書きでいいんじゃない?
管理的には直ったかどうか確認して欲しいから
言い出した人の連絡先(メールとか)も欲しいかな
168:デフォルトの名無しさん
09/09/01 11:25:24
>>165
SEGVで落ちるとかならそれでもいいだろうけどな
169:デフォルトの名無しさん
09/09/01 13:38:00
Ruby on Rails
今日初めてやってみた
なんかすげー簡単だなこれ
170:デフォルトの名無しさん
09/09/01 13:40:00
簡単なことはね
171:デフォルトの名無しさん
09/09/01 13:47:04
ちょっと手を入れようとするとね・・・
172:デフォルトの名無しさん
09/09/01 13:59:35
パフォーマンスを出そうとするとね…
173:デフォルトの名無しさん
09/09/01 14:01:46
脱線するんだよな。
174:デフォルトの名無しさん
09/09/01 14:16:22
今できることが 0.x 時代はめんどくさかったということを考えると
Rails 6.0 くらいになったら普通のことはあらかたできるようになってると思う
175:デフォルトの名無しさん
09/09/01 14:38:48
で、結局cgiモジュール+手書きが一番楽と。
なわきゃない。
176:デフォルトの名無しさん
09/09/01 15:45:58
難しいことって例えばどんなことだよ
具体的に教えてくれよ
177:デフォルトの名無しさん
09/09/01 16:08:33
複数のリソースを同時に扱うとか
178:デフォルトの名無しさん
09/09/01 16:22:30
なんだかもどかしいな
179:デフォルトの名無しさん
09/09/01 16:33:01
>>155
問題点はわかったが、それは単に精度が不十分なだけだろ
$ ./ruby -rbigdecimal/math -rbigdecimal -e'include BigMath; puts exp(BigDecimal("-40", 30), 30)'
0.4248354255324683608648171943427303514052094227261901826473689E-17
しかし、初めてBigMathをみてみたが、なんでmodule_functionになってないんだこれは。
180:デフォルトの名無しさん
09/09/01 21:30:14
>>167
rubに関しては、環境とコード書けば十分じゃないの?
181:138
09/09/01 21:36:33
笑っちゃうのですが、本日他の文献(案件)を漁っていたら、
exp(x) = 1/exp(-x)
なるものを見つけました。
修正は、
if x < 0
return one.div(exp(-x, prec), prec)
end
でokです。
最初から(不確かな)有効桁数を設定するより、こちらの方が、速くて安心。
oneはBigDecimalの1です。
コードを書いた方には、失礼しました。
情報弱者な年寄りには、何かの手続きの必要なものは面倒くさいのですよ。
>>179
xに-42送ると、戻り値がマイナスになります。
電卓なくても確認できます。若干の数学の知識があれば。
182:デフォルトの名無しさん
09/09/01 21:37:59
ここはお前のスレじゃない
183:デフォルトの名無しさん
09/09/01 22:05:13
>>138の書き込みを見てもなんでそれで直るのか分からん
そんなものは取り込めん
184:デフォルトの名無しさん
09/09/01 22:09:49
以降レス禁止
185:デフォルトの名無しさん
09/09/02 01:29:14
>>183
だーかーらー、いまのまま138がRedmineに書いても、チケット受け取った側が混乱するだけだって。
慣れてるやつがたたき台を書いてやらないと。
186:デフォルトの名無しさん
09/09/02 06:15:28
redmineが死んでるので考えるのをやめた
187:デフォルトの名無しさん
09/09/02 10:13:33
有料でもいいからちゃんと作ってほしいぜ
188:デフォルトの名無しさん
09/09/02 12:28:08
アカウント登録画面のボタンラベルが、なぜか登録ではなく"変更"になっている。
ボタンを押すと「アカウントが有効になりました。ログインできます。」
と表示されるが、これは嘘で、送られたメールのURLをクリックしないといけない
rubyらしくて、ほほえましく思った
189:デフォルトの名無しさん
09/09/02 12:32:01
>「アカウントが有効になりました。ログインできます。」と表示されるが
>送られたメールのURLをクリックしないといけない
これハマりかけたw
メール送られてきてるのに気づかなくて、パスワードまちがえたかなと
190:デフォルトの名無しさん
09/09/02 20:21:47
>>31の理論で考えると
バグを指摘されたくないから
名目上の器だけは用意しつつ
使えないようにしてます、って感じかw
191:デフォルトの名無しさん
09/09/02 23:04:32
うまい皮肉だな
192:デフォルトの名無しさん
09/09/02 23:07:17
えー
193:デフォルトの名無しさん
09/09/02 23:19:56
お前らが褒めてやらないから自演しないとやってられなくなったんだろ
rubyらしくて、ほほえましく思った
194:デフォルトの名無しさん
09/09/02 23:26:22
うまい皮肉だな
195:デフォルトの名無しさん
09/09/03 08:18:35
>>179
精度とか有効桁とか理論的なことはよくわかりませんが
>>138-139の言う通りに修正すると >>155の精度10桁指定でも ちゃんとFloatと計算が一致するので
やっぱりなにか間違ってるんでしょう(数値計算はよくわからんのですが)
精度30桁指定しても、30桁まで正確に計算したわけじゃないっぽいし
素の BigMath.exp(BigDecimal("-42"),30).to_s("f") #どうやら9桁までしか正しくないようです
#=> 0.00000000000000000057495222693550320909930922875156228105502282940991466724539202
素の BigDecimal("1").div(BigMath.exp(BigDecimal("42"),30),30).to_s("f") # 1/exp(-x)
#=> 0.000000000000000000574952226429355980666438088057
パッチ当てたBigMath.exp(BigDecimal("-42"),30).to_s("f") #なんだか保持してる桁が増えてるが少なくとも30桁まではあってるっぽい
#=> 0.00000000000000000057495222642935598066643808805734234249475579743237414826015854912862326338840462251110214952607237390266
Perl 5.10 で perl -e "use Math::BigFloat;Math::BigFloat->accuracy(30);print Math::BigFloat->bexp(Math::BigFloat->new('-42'))"
#=> 0.000000000000000000574952226429355980666438088057
196:デフォルトの名無しさん
09/09/03 14:15:32
時代はDecimalだからな
197:デフォルトの名無しさん
09/09/04 14:45:16
4Gamer.net ― AMDのGPUやCPU,マザー購入でRubyフィギュアを手に入れよう
URLリンク(www.4gamer.net)
198:デフォルトの名無しさん
09/09/04 19:29:17
日立ソフト、月額制のオンデマンドRuby on Rails学習環境サービス開始
URLリンク(sourceforge.jp)
199:デフォルトの名無しさん
09/09/04 19:50:24
出前クラウドをサービスして「それクラウドか?」と総ツッコミが入ったSecureOnlineか
活用法としてはけっこう妥当なんじゃないかと思われる
よくわかんない会社が日立だからとよくわかんないまま買ってよくわかんないまんまわかった気になるんだろう
まあそれはそれでいろいろいいことなのではないかなと思ってみたり
200:デフォルトの名無しさん
09/09/04 19:58:39
RailsはJavaではないということがわかって頂けたなら何してもらっても構わんよ
Javaで淘汰されたからとRailsを代わりに使おうとする糞SIは死滅の危機にあって非常に好ましい
201:デフォルトの名無しさん
09/09/04 20:24:44
>>200
そもそもまともなスケールでRails使ってSIなんて聞いたことねえけど
それどれぐらいの規模の話よ?国内なんだよな?
202:デフォルトの名無しさん
09/09/04 20:34:33
RailsはSIerにはまじ向かない。
自社サービスを展開する企業が自分の責任で使う場合にこそ威力を発揮する。
自分で構築したシステムととことん付き合う覚悟がないとRailsはつらいよ
203:デフォルトの名無しさん
09/09/04 21:19:28
向かないも何も採用された話なんて全く聞かないのだが
向かないという理由は何なんだ?
ウォーターフォールがうんぬんとかどうでもいいぞ。
まともにウォーターフォールができてるSIなんてほとんどないだろうから。
204:デフォルトの名無しさん
09/09/04 21:28:12
逆流やら滞流やら決壊氾濫やら、ウォーターフォールってのは
なかなか粋な言葉だなあと、最近改めて思う
205:デフォルトの名無しさん
09/09/04 21:41:27
>>203
どっちかっていうと構築よりは保守の問題じゃね
大したことをするわけじゃないからJavaその他で作り込むのは
過剰品質なのに手作業というわけにもいかず
作るだけは作らなきゃいけない使い捨てのショボシステムを
でっちあげるのに向いた造りなわけだから、
リスクを自前でコントロールしきれない他人様のところで
しかも末永く使っていくのには明らかに向かないよな
そもそもSIer使うような客はその辺のリスクコントロールが難しいと
思ってるからSIerに金払って構築させるわけで、それがやれるんだったら
そもそもSIer呼ばないで自分で作るよなあ
206:デフォルトの名無しさん
09/09/04 22:05:40
何言ってるのかほんとに分からない・・・
207:デフォルトの名無しさん
09/09/04 22:21:28
>>195
どうせ、直すなら >>181 で、
実行速度が速くて、しかも(理論的にも)安心。
数学の公式にあるみたいだから。
208:デフォルトの名無しさん
09/09/04 22:26:18
だからそういう理由でコード入れたりしねえんだって
209:デフォルトの名無しさん
09/09/04 22:56:56
Urabeさんは私の太陽、私の星、私の月です
Urabeさんが大好きです
210:デフォルトの名無しさん
09/09/05 02:23:01
自分とこで作って使うならRailsもアリ
作るとこと使うとこが違うなら別のを使うのが得策
…てな感じでOK?
211:デフォルトの名無しさん
09/09/05 06:36:42
Rails に限らず Ruby 全般に言えるが、
ずっとベータ版で構わない、改装のしやすさが重要、というプロジェクトやプロダクトに最適
Ruby は直接金は産まないが莫大な富を産む
よくわかったベンチャーが内製ツールを Ruby で作るとものすごいことになるが、
同じ理屈で大企業が製品を Ruby で作ると別な意味でものすごいことになる
212:デフォルトの名無しさん
09/09/05 06:53:18
お約束だがよくわかったベンチャー乙
213:デフォルトの名無しさん
09/09/05 07:45:18
作ったこともないのにイメージだけ
214:デフォルトの名無しさん
09/09/05 10:47:29
Windows版Intel C++のインストーラに内部的にRubyが使われてて驚いたことがある
215:デフォルトの名無しさん
09/09/06 01:39:56
github廚うぜぇ
216:デフォルトの名無しさん
09/09/06 01:56:25
bzr最高
217:デフォルトの名無しさん
09/09/06 18:55:17
disり合いはHg厨の陰謀
218:デフォルトの名無しさん
09/09/08 18:08:50
スクリプト書いて、実行したらunicodeファイル名が読めずにエラー吐いた。
他言語で書き直しかよ~。
219:デフォルトの名無しさん
09/09/08 18:23:56
ああ、Windows の Unicode ファイル名は 1.9.1 でもどーやっても読めませぬ
これどっかに書いておいたほうがいいと思う
220:デフォルトの名無しさん
09/09/08 20:48:40
今がんばってるところなんでしょ
221:デフォルトの名無しさん
09/09/08 21:21:30
>>218
他言語でリネームだけしてみるとかw
222:デフォルトの名無しさん
09/09/08 22:05:04
Rubyは業務システムにも十分な適用性を備える―IPA調査報告書
URLリンク(sourceforge.jp)
223:デフォルトの名無しさん
09/09/08 22:58:18
>>222
むせた
224:デフォルトの名無しさん
09/09/08 23:01:06
IPA自体がギャグ
225:デフォルトの名無しさん
09/09/08 23:22:26
>>224
あと何百年岡田事件を引っ張るんだよお前
226:デフォルトの名無しさん
09/09/08 23:34:59
どなたか、Rubyのrand()の生成方法とかソースコードのあるところを教えてくださいませ。
svn.rubyを漁るですが、見つからない。
どこかで蛇使いが、うちのはメルセンヌツイストだからと自慢しておりまして、
じゃぁ、と調べて見ても、見当たらないのです。
しょうがないので、出てきたものを比較してみました。
SFMTとXor128と24bitの線形とですね。
比較の方法は、長くなるので割愛します。
Rubyのrand()はSFMTと一番近いです。はっきり言うと私の方法では、区別できません。
他のは判別できますが、連続した百万個を100セットくらい必要です。
227:デフォルトの名無しさん
09/09/08 23:45:28
>>226
random.c
228:226
09/09/08 23:51:09
>>227
どうもありがとう。
ありそうな感じなので、見たつもりだったのですが。
探してみます。
229:デフォルトの名無しさん
09/09/09 00:23:34
冒頭にいきなり This is based on trimmed version of MT19937 ってあるんだが
230:226
09/09/09 00:45:03
>>229
どうもご親切に。
それは、>>226で言うところの、SFMTです。
あとからのdSMFTはコードが長いので、今回は見送りました。
(Rubyへの移植を)
これで、晴れてRubyもメルセンヌを名乗って良いかな。
231:230
09/09/09 00:53:01
失礼。
/dSMFT/dSFMT/
だと思う。たぶん。
232:デフォルトの名無しさん
09/09/09 00:54:02
いろいろ検索してみましたが見つからなかったため質問させてください。
企業でRubyを導入する場合、国からの援助があるという話を聞いたのですが
実際にそのような話があるのでしょうか。
また、あるとすれば具体的にどのような援助を受けられるのでしょうか。
ググってみても、島根県の県内企業向けの援助はありましたが
国からってのは見つかりませんでした。
実際、本当の話なのかどうかよく分かりません。
もしご存知の方がいましたらよろしくお願いします。
233:デフォルトの名無しさん
09/09/09 00:56:07
IPAに聞いてみればいいんじゃないかな
とか、茶化しちゃいけないんだろうか
234:デフォルトの名無しさん
09/09/09 01:47:01
IPAフォントの御利益はどのくらいまで引っ張れるかな
個人的には、HaruPDFライブラリがUTF-8に対応して曲がりなりにも
完全版になってくれれば、10年は恩を感じられるんだが。
もちろん、Ruby方面でもなにか実績を作ってもらえればそれはそれで
素晴らしいんだけど
235:デフォルトの名無しさん
09/09/09 02:29:46
いまだに使う機会が無い。
何のために存在してんのこれ?
今となってはそそられるような何かは皆無だしな。
236:デフォルトの名無しさん
09/09/09 02:39:03
そりゃ、あんたが創造的な仕事をする能力がないってだけじゃないのか?
実際使える(傲慢)かどうかは知らんが、
> そそられるような何かは皆無
ってのはアレだなあ
237:デフォルトの名無しさん
09/09/09 02:42:24
創造的だけじゃないかな。文脈がおかしくなる
創造的 or 建設的 or 実効的 、くらいかな。存在意義としては
238:デフォルトの名無しさん
09/09/09 03:10:45
>>234
IPA が金を突っ込んだプロジェクトの話?
Ruby もそれなりにもらってるよ。
まず、まつもとさんが2000年にもらってて、array.c とかを見ると言及が残ってる、
array.c: Copyright (C) 2000 Information-technology Promotion Agency, Japan
URLリンク(www.ipa.go.jp)
笹田さんはYARVで未踏(ユース含む)から3年連続で貰ってるしね
URLリンク(www.atdot.net)
239:デフォルトの名無しさん
09/09/09 05:06:24
どっちかってえと何がどう捩れて
> 企業でRubyを導入する場合、国からの援助がある
になったのかが気になる
240:デフォルトの名無しさん
09/09/09 11:24:14
>>225 2ちゃんねるだけが生きがいの粘着だから放置しようぜw
241:デフォルトの名無しさん
09/09/09 11:48:45
>>240
ひとりでやれんのか
やるならお前ひとりでやれ
242:デフォルトの名無しさん
09/09/09 12:59:26
>>241
我々多数派はこれからも岡田を追及し続けるってことですね。わかります。
243:デフォルトの名無しさん
09/09/09 13:09:00
>>226
メルセンヌツイストとかxor128とかは乱数生成のアルゴリズム名だったのか。知らなかった。
勉強になりました。ありがとうございます。
244:デフォルトの名無しさん
09/09/09 13:11:51
メルセンヌツイストってメルセデスベンツのパチもんだろ
245:デフォルトの名無しさん
09/09/09 13:34:00
>>234,238
BioRubyも2005年に未踏でついてるね。早くBioPerlに追いついてほしい。
246:デフォルトの名無しさん
09/09/09 14:04:05
専門知識を携えて頑張る人がいなかっただけだからな
ある意味仕方なかったんだが
247:デフォルトの名無しさん
09/09/09 14:40:02
>>243
> メルセンヌツイスト
正しくはメルセンヌツイスターだけどね。
248:デフォルトの名無しさん
09/09/09 14:42:38
> 企業でRubyを導入する場合、国からの援助があるという話を聞いたのですが
それを聞いたソースに尋ねてみたら?
249:デフォルトの名無しさん
09/09/09 16:29:13
強まるRuby標準化を求める声~RubyWorld Conference2009
URLリンク(enterprise.watch.impress.co.jp)
250:デフォルトの名無しさん
09/09/09 17:41:50
標準化がゲシュタルト崩壊した
標準化ってなにすることなんだっけ
251:デフォルトの名無しさん
09/09/09 18:01:49
>>250
政治的駆け引きを繰り返し、
誰もが望まないけれど妥協点の機能を追加し続けること。
252:デフォルトの名無しさん
09/09/09 19:27:28
Modula-2はそれで死んだのかな。
253:デフォルトの名無しさん
09/09/09 22:50:57
まあみんな勝手にばらばらにやってる感はある
ここである程度は合わせてもいいかも
254:デフォルトの名無しさん
09/09/10 07:40:09
railsのために標準を1.8にして1.9が死んだりしなきゃいいけど
255:デフォルトの名無しさん
09/09/10 07:47:40
Rails が 1.8 に固執してるのはシステム的に対応不可能な個所があるというよりは
「1.9たいおうにするのめんどくさいから」
なので、1.9 サイコーということになればついてこざるを得ないとは思う
が、Encoding 関連のガイジンさん誰得っぷりが足を引っ張るかも
Latin-X を利用してる人なら恩恵あるんだけどなあ
256:デフォルトの名無しさん
09/09/10 08:07:06
1.9がサイコーになる要素がないじゃん・・・
たいして速くないし、エンコードも英語だけ使ってるなら面倒が増えるだけだし。
1.8に比べて特に優れてるところがないんじゃ誰が以降すんだよ
257:デフォルトの名無しさん
09/09/10 08:28:46
1.6 のころは Ruby しょべええええええと思ってたので
1.9.6 くらいになればまた違うのではないかと
258:デフォルトの名無しさん
09/09/10 11:33:17
>>256
なぜ外人の立場でものを言うのだお前は
259:デフォルトの名無しさん
09/09/10 11:49:19
エンコード絡みでエラーが出ると、どこでどのように対応するのが正解なのか判りづらいんだよなあ
エラーが出た行を修正すればいいわけじゃないから
260:デフォルトの名無しさん
09/09/10 11:53:33
>>258
日本人と限ったものでも
261:デフォルトの名無しさん
09/09/10 11:53:36
Ruby1.9とRailsの組み合わせでつまづくと、
海外サイトの方が圧倒的に情報が多いという事実を知らないんだなw
262:デフォルトの名無しさん
09/09/10 11:56:21
RUby1.9が関係ないということに>>261が気づくのはいつだろうか
263:デフォルトの名無しさん
09/09/10 12:52:55
>>262
ごめん。意味分からない。
おまえ頻繁に書き込んでると思うけど、ほんとに意味分からないよ。
264:デフォルトの名無しさん
09/09/10 13:04:34
Rails は外国のほうがそもそも情報量が桁違いに多いってことなんじゃねーの
Ruby1.9 かどうかにかかわらず、Rails だから多いということなんでは
265:デフォルトの名無しさん
09/09/10 13:19:24
>>264
なるほどね。ものすごく見当違いだから分からんかった。
やれば分かるが1.8系+Railsならそこまで海外サイトに頼らなくても支障はない。
日本のサイトでもヒットするし、書籍もかなりあるし。
1.9になると自分でソース見る以外はほとんど海外サイト頼み。
実際にやりもしない調べもしないやつはこれだから。
266:デフォルトの名無しさん
09/09/10 13:25:13
「調べもしない」から、RailsはRubyのバージョンによらず
海外のほうが情報が多いということに気づけなかったのだろ
1.8系列のRailsの情報を海外に求めていれば莫大だと気づけたはず
恥かいてから言い訳とか恥ずかしすぎる
267:デフォルトの名無しさん
09/09/10 13:36:09
Ruby1.9とRailsの組み合わせの情報が、日本では全然ない
というだけの話じゃないのか?
いったい何を言い争ってるんだ
268:デフォルトの名無しさん
09/09/10 13:54:57
>>267
彼らが本当に交換しているのは
情報ではなく自尊心なんです。
269:デフォルトの名無しさん
09/09/10 14:30:31
製作サイドはもちっと説明してほしいね
270:デフォルトの名無しさん
09/09/11 03:37:24
Tempfile.newの第一引数にArray渡せるなんて聞いてねーぞ
271:デフォルトの名無しさん
09/09/11 06:57:12
いいから黙って渡せ!!
272:デフォルトの名無しさん
09/09/11 15:45:03
こういうオーバーロードもどきはちょっと汚い感じ
273:デフォルトの名無しさん
09/09/13 00:01:44
Arrayで渡してやればsuffixも指定できるって話でいいのか?
274:デフォルトの名無しさん
09/09/13 02:47:18
いいよ。
ふと思いついたんだが
Tempfile.new("foo"..".rb")
というのは…やっぱりダメだな
275:デフォルトの名無しさん
09/09/14 16:05:49
URLリンク(www.tokumaru.org)
Ruby1.9.1ではめんどくさいことが防波堤になるという話
まあ実際では正規表現が動かない
から
BINARYにforce_encodingしてからスクリプトで扱ってたりするんですけどね外人爆発しろ
276:デフォルトの名無しさん
09/09/15 21:53:44
>>195
URLリンク(redmine.ruby-lang.org)
GJだが、なんで英語?
277:デフォルトの名無しさん
09/09/16 06:04:56
>>276
ruby-coreからの転記だからじゃね?
じゃあなんでruby-coreよ?
という疑問は残るけど、英語の方が着目してくれる人数は多そうな気がしなくはない。
278:デフォルトの名無しさん
09/09/16 06:12:50
傍目に明確なテストを大量に付記しないと入りそうにないジャンルだから、手をかけてくれる人は多いほどいいな
279:デフォルトの名無しさん
09/09/16 06:27:16
そういえば、
URLリンク(redmine.ruby-lang.org)
の
>DLをCからRubyに変換する事を勧めます
>DLをCからRubyに変換すれば良いと思ったので、変換しました。CからRubyに変換後のパッチとそのテストを送ります。
>このパッチを受け入れてもらえるのなら、これからもっとCからRubyに変換をするつもりです。
>宜しくお願いします。
ってのをAaronタンがやってるけど、どういう趣旨なんだろ。
移植性の改善とか?
280:デフォルトの名無しさん
09/09/16 08:12:58
久しぶりにRuby公式hpみたら落ちてる
281:デフォルトの名無しさん
09/09/16 09:34:08
>>275
その辺をやっているのは日本人だな。
まぁ、自動設定できるほど甘くはないのがその領域なんだが。
282:デフォルトの名無しさん
09/09/16 10:33:49
>>279
DLじゃできないことがあったそうだが、もうわからんらしい.
まぁDLにはいろいろと問題も多いのでFFIに置き換えること自体は賛成.
あとはFFIの完成度だな.
283:デフォルトの名無しさん
09/09/16 10:53:06
DL って何の略ですか?
ググって勉強してみたいので教えて下さい
284:デフォルトの名無しさん
09/09/16 10:57:23
ぐぐってみたところ
DL … ダウンロード
FFI … ファイナルファンタジー1
のことのようだ
285:283
09/09/16 11:02:29
DL ってこれのこと?
URLリンク(www.ruby-lang.org)
そういえば、Nokogiri を、Linux 版 Ruby、Windows 版Ruby、JRuby で
ためしていて、FFI のところまでいって、Nokogiri は
・Linux 版だと libxml2 の so(?) を開こうとする
・Windows 版だと libxml2 の dll を開こうとする
・JRuby 環境で gem install した Nokogiri だと、落ちた(Java 環境だと、DL 対象がみつからない?定義されていない?)
ということをやりつつソースまで追いかけたんだけど、
キーワードの目の付け所はあってますか??
286:284
09/09/16 11:05:59
>>285
ちげーよばか
287:デフォルトの名無しさん
09/09/16 12:06:09
>>277
「ruby-coreからの転記」じゃなくてチケット作成のときに英語を選んだから
ruby-coreに行ってるんだよ。
288:デフォルトの名無しさん
09/09/16 15:14:17
>>287
ああ、そういう流れになってるのか。得心したわ。
>>285
だいたいあってる
DLもFFIもダイナミックリンクなライブラリを
いちいち拡張ライブラリを作ったりすることなく
利用する仕掛け。
DLは1.8系に標準添付だったためデファクトスタンダードだったが
>>282の言うように問題も多かった。
しかも、ライブラリ管理者が1.9系で、
機能はおおむね同じだがAPIが異なるライブラリ(DL2)を
何故か同じ名前である「DL」で添付するという判断をしたため
最大の利点であった「1.8系含めた今までのコードが修正なしで動く」という
特徴が吹き飛んだ。(DL2とDLの同時添付じゃ何故駄目だったのか今でも疑問)
とはいえ、当時このコンセプトのライブラリはDLぐらいしかなかったし、
1.9系のためにチマチマ移植するしかないか、という空気のところに
1.8系でも1.9系でも同一APIでそれどころかRubiniusでもJRubyでも
同一APIで行ける、というFFIが登場して全部かっさらっていったと。
Rails等を考えたときに1.8系はまだ当分続く流れで、
1.9系と1.8系が並行して利用される期間が長そうな見通しとなったことも
FFIに対しての追い風となった。
とはいえFFIもまだAPIが固まり切ってないという課題があって、
標準添付は課題解決を待ってから、というのが大まかな流れというところ。
289:デフォルトの名無しさん
09/09/16 19:36:56
違うものを同じ名前で入れてしまったんで、DLを使いづらい状況にしちゃったよね
290:デフォルトの名無しさん
09/09/16 21:17:47
Net:HTTPですら(ああいうやり方だったとしても)互換性確保には心を砕いてたのになあ
ライブラリ管理者氏のDLに対する過大評価と過小評価があったのかな、と
DLを代替できるようなライブラリは出現しないだろう(そんな面倒なことは誰もしないだろう)という
「DL自体への過大評価」と
DLなんて実際のところ大して使われていないだろう(だから救済措置なしに互換性を捨てても移行コストは低いだろう)という
DLやFFIその他の「こういうことをするライブラリのニーズへの過小評価」という
この辺が移行措置なしでいきなり変えちゃった背景なのかな、と
いうところまで書いたところで念のため、アーカイブを確認してみたら、
ライブラリ管理者氏は当初DLとDL2の共存案を提案してますな
URLリンク(blade.nagaokaut.ac.jp)
>まだ先の話ですが、Ruby/DL2 がある程度使えるレベルになったら、現行の ruby-1.9 に
>マージすることを考えています。同時に、旧 ruby-dl はしばらく残しておいて、ruby-1.9
>をベースにした安定版のマイナーバージョンアップが2,3回あってから削除しようと考えて
>います。
むしろDL2をDLにしちゃえ案はmatzの提案だったという
URLリンク(blade.nagaokaut.ac.jp)
>どうしてもそうしたいというなら別ですが、1.9は「不連続」で
>「非互換」を許容する「2.0のプロトタイプ」という性質がありま
>すから、いっきにdlを置き換えてもあまり問題ないと思いますよ。
まあ2005年頃の状況(Railsが席巻しておらず、1.9移行も早々に行われると見られていた)からすると
当時は妥当な判断だったのかなあ
結果論としては失着でFFIが取って代わることになったけれども
291:デフォルトの名無しさん
09/09/16 21:18:48
1.9のDLってDL2だったのか。
なんか変だという気がしてたのが解決した。
292:285
09/09/16 21:58:56
>>288
詳細な説明どうもありがとうございます。
DL とは Unix の dlopen() を裏で呼び出すと思うのですが、
Nokogiri のソースの FFI を呼び出すところまで見て、
JRuby 環境だったら、libxml2 の so や DLL を呼び出さずに、
xerces の jar か何かのメソッドを呼び出すようにすれば、
プラットフォームに依存しない Nokogiri 環境が出来るかな、とちょっと妄想していました。
(libxml2 と xerces は API のシグネチャが違うと思うので、実際には簡単にはできないだろうけど)
293:デフォルトの名無しさん
09/09/16 23:41:08
Mingw版Ruby 1.8 でdlでコールバック関数を引数に取るWin32API呼んだらRubyが落ちることがあった
が、何処にも報告してないのでいまだにそのままのはず
Mswin版Ruby 1.8だとちゃんと動くので、誰も困ってないのだろう
デスクトップ上のWindowハンドルを列挙させるAPIなんだけど
>ruby -rdl -e "DL.dlopen('user32')['EnumWindows', '0PL'].call( DL.callback('IL'){|hwnd2| puts '%08x'%[hwnd2];-1}, 0 )"
~ハンドル列挙 省略~
-e:1: [BUG] Segmentation fault
ruby 1.8.7 (2009-04-08 patchlevel 160) [i386-mingw32]
abnormal program termination
One Click RubyがMingw版になったら、困る人も出てくるのしょうか?
294:デフォルトの名無しさん
09/09/16 23:42:10
勉強始めて1ヶ月くらいなんですが
昔のVBのようにアジャイル用教育言語の香りがしてくるんですが
その辺どうなんでしょう先輩方
295:デフォルトの名無しさん
09/09/17 05:00:42
元々のPerlの正当な継承者です
Practical Extraction and Report Language
作り直しまくる内製のプログラムをやるのに最適という点でVBに似ていなくもない
Rubyプログラム自体を「ハードなウェア」として外部提供したり販売したりするのは於大臣の仕事
それで双方満足してるなら駄目じゃないが、他にやりようもあるよね
296:デフォルトの名無しさん
09/09/17 06:04:55
さすがにVBよりはずいぶんましな言語仕様だとおもうけどなあ。
でもGUI作るならVBのほうがずっと楽。
297:デフォルトの名無しさん
09/09/17 08:13:24
>>292
FFIはJRubyの場合にはJNI(Java自身のダイナミックライブラリ呼び出し機構)他を使って
同じように呼び出し出来るようにしてるはず。
その辺がFFIのウリだよね。
>>293
Cygwinでも同様みたいだね
URLリンク(blade.nagaokaut.ac.jp)
でもWindowハンドル列挙って呼び方次第で普通に落ちた気がする
ループ回してるあいだにWindowが増減した場合とかで。
298:デフォルトの名無しさん
09/09/17 10:08:53
Ruby 初心者スレッド Part 30
スレリンク(tech板)
の次スレたててください。
おながいします。
299:デフォルトの名無しさん
09/09/17 13:11:32
gitとかgemとかいっぱいありすぎでわかんねえよ
どれが最新版なんだよ
300:デフォルトの名無しさん
09/09/17 13:15:27
一定したルールはないが、 RubyForge と GitHub の両方にある場合
(で、 github を gem のsource に指定済みの場合)
gem install hogehoge でインストールされるものが hogehoge 最新安定版
gem install AUTHOR-hogehoge でインストールされるものが hogehoge 開発最新版
git clone git://hogehoge... 等の git コマンドで手元にコピーされるものが hogehoge 開発先端版
と考えていいと思う
gem install hogehoge でいいんじゃね
301:デフォルトの名無しさん
09/09/17 13:17:53
spec1.9 でテスト試したら
全く知識のないクラスの全く動作が読み解けないメソッドで
nil に対する NoMethodError が出た
もう知らん
今日は休み
302:デフォルトの名無しさん
09/09/17 13:20:49
>>300
先端と最新の違いがわかんないけどとにかく gem 使って github をソースに追加しておけばいいんだな
ありがとう
303:デフォルトの名無しさん
09/09/17 13:29:42
>>301
勉強くらいしろよ
304:デフォルトの名無しさん
09/09/17 14:34:00
ファイルの行から特定のパターンの行を出力したんですが、
その出力した行から、特定の文字を出力するにはどうすればいいですか?
305:デフォルトの名無しさん
09/09/17 14:58:51
初心者は each を惜しげもなく使え
each で書きにくくなってから他の使え
複雑なの使ってからだと each 使えなくなるぞ
特定の文字の特定のしかたによるんではないかと
正規表現で済むなら scan するか if でマッチさせて数値参照読むのが普通
306:デフォルトの名無しさん
09/09/17 14:59:06
>>304
grep したやつに sed
307:デフォルトの名無しさん
09/09/17 16:40:40
>>304
んーその説明じゃ「特定の文字」がなんなのかわからないかな。
パターンにマッチした文字列のことを指しているんだとエスパーしてみる。
File.open(filename).each do |line| if line =~ /(¥w+)¥.(¥d+)/
puts "#{$1}, #{$2}"
end
end
308:デフォルトの名無しさん
09/09/17 16:45:07
初心者スレの次を建てます。しばらくおまちください。
>>298
>Ruby 初心者スレッド Part 30
>スレリンク(tech板)
>
>の次スレたててください。
>おながいします。
309:デフォルトの名無しさん
09/09/17 16:52:05
>>308
規制されてて建てられませんでした。ごめんなさい。
310:デフォルトの名無しさん
09/09/17 17:29:44
>>309
わかった。俺が立てる。
311:310
09/09/17 17:41:11
というわけで初心者スレを立てました。
Ruby 初心者スレッド Part 31
スレリンク(tech板)
312:デフォルトの名無しさん
09/09/18 05:06:39
RubyKaigi 2009 Sessions(1st day)
URLリンク(www.nicovideo.jp)
313:デフォルトの名無しさん
09/09/18 16:27:46
>>311乙
314:デフォルトの名無しさん
09/09/18 16:56:17
>>293
1.8のdlはstdcallに対応してない。
スタック後処理次第でたまたまうまく行くこともある。
315:デフォルトの名無しさん
09/09/18 17:55:53
rspec でテストを書いた
rspec 特有の機能を何も使ってない単純なテストだけだということに気がついた
test/unit に書き換え中
316:デフォルトの名無しさん
09/09/18 18:39:02
>>315
そんな君には Shoulda がオススメ
317:デフォルトの名無しさん
09/09/18 18:42:54
>>312と動画うpチーム乙
318:デフォルトの名無しさん
09/09/18 19:34:14
オフィシャルサイトの検索機能死んでね?
319:デフォルトの名無しさん
09/09/18 21:45:02
>>314
マジで?
じゃあ当然WINAPIとか(あるべき論としては)全滅なわけだけど、
大概のDLのサンプルコードってWIN32APIキックしてMessageBoxを出してみる、
とかなんだよねえ……。
初心者は自動的に地獄に引き摺り込まれているわけかw
320:デフォルトの名無しさん
09/09/18 21:49:50
普通はwin32/apiを使う
321:デフォルトの名無しさん
09/09/18 22:32:07
>>314
そうだったのか~
でも、なぜMswin版rubyだと落ちないのでしょうか
Win32API呼び出しが一回や二回ならスタックが元に戻ることが多いけど(で、たまたまうまく動く)
連続してコールバックで呼び出されるとスタックが正常に戻る機会が無く
ドンドンずれていってメモリ破壊が起こるってことでしょうか?
普通だったらWin32APIを使うところですが
コールバックできないのでdlを使いました
ググったら dlを使ったサンプルがあったので
1.9のdl(dl2)では 呼び出し規約の指定も出来て
Win32APIは単なるdlのラッパーになってますね
322:デフォルトの名無しさん
09/09/18 23:34:52
Win32APIより、win32/api
323:デフォルトの名無しさん
09/09/19 01:01:23
>>321
> でも、なぜMswin版rubyだと落ちないのでしょうか
知らん。アセンブラ吐かせて確認してみな。
324:デフォルトの名無しさん
09/09/19 03:29:03
Net::HTTP の open_timeout と read_timeout の初期値が nil なのはなんで?
325:デフォルトの名無しさん
09/09/19 04:12:16
>>324
簡単だからソース読んでみ
326:デフォルトの名無しさん
09/09/19 05:48:16
Ruby 1.9の本もやっぱり海外のほうが早いのか
Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby)
URLリンク(www.amazon.com)
327:デフォルトの名無しさん
09/09/19 08:29:14
まあ、TCPSocket.open のタイムアウトをカウントダウンで待つ必要はないわな
1 秒とかに設定すればひょっとしたらご利益はあるかもしれないが
328:デフォルトの名無しさん
09/09/19 21:21:26
MBARIパッチっていまどうなってんのかな。
導入予定って1.8.6系だけ?
329:デフォルトの名無しさん
09/09/19 22:06:03
Asakusa.rb議事録によるとMBARIパッチはあらかた入ってる模様
URLリンク(qwik.jp)
URLリンク(qwik.jp)
ただし大物のCopyOnWriteがまだっぽい
330:デフォルトの名無しさん
09/09/20 17:43:24
あとstack cleaningだな。
入るなら1.8.8だが、個別のパッチで出てこない限りマージしようがない。
あれはマージさせたくないとしか。
331:ブグ☆2101を書いたガイ
09/09/20 19:20:51
あひーっ!ブグ☆2101はゼッさん・放置プレイ中でよ!
英語で書いたせいでロスト・イン・トランスレーション気味みていだ。
なおるまで110にちかかったブグ☆1531を見てら、おしっこちびっちゃったでよ。
ジャパニイズ・訳をruby-devにドロップしてら読んでやらなくもねい、っていう人はいるますかね?
332:デフォルトの名無しさん
09/09/20 19:36:33
日本語でおk
333:デフォルトの名無しさん
09/09/20 19:49:09
URLリンク(redmine.ruby-lang.org)
のことであろうとエスパーしつつコメントすると、
まだ4日なんだから気長に待つが吉。
目先の回避としてはrubyは原則いつでもメソッドの中身を差し替えられるから
該当するメソッドをとりあえず差し替えてしまえばOK。
334:デフォルトの名無しさん
09/09/20 20:33:32
>>331
sinとcosのほうは
x %= two * BigMath.PI(prec)
でいいんじゃないかと思うんだが、加減算のほうが速い?
あとテストが欲しい。
335:331
09/09/20 21:03:33
>>334 ドゾー (ノ゜▽゜)ノ ⌒~パッチてきよう後
$ ruby -rbigdecimal -rbigdecimal/math -e 'include BigMath;p BigMath.exp(BigDecimal("-50"),10).to_s'
"0.1928749848E-21"
$ ruby -rbigdecimal -rbigdecimal/math -e 'include BigMath;p BigMath.sin(BigDecimal("100"),10).to_s'
"-0.50636564110975879365655776303890941120458305E0"
誤差は1つめが最後の桁で、2つ目は26桁目あたりで発生してるでーす。速度の最適化はあまり
気にしてねいです。BigDecimalの除算の効率わかんねいし、どうせその後の級数の和の計算の方で
圧倒的に時間がかかるので。セキュリテとかよく知らねけども、現状
BigMath.log(BigDecimal("1E-50"),10) でフリイズ気味になるのはDoSっとやられたり
しねいてすかね?
336:デフォルトの名無しさん
09/09/20 21:28:30
あそこに書いてある、atan()の速度向上のための式が、よくわかりません。
どこか、()とかをを省略してないでしょうか。
logはふたつに分けた方が速いような気がします。
計測してませんので、なんともですが。
>>331
前の方に回避方法があります。
本体をいじるのが嫌な人はこっちでひらって調整後、あちらを呼んでください。
flgを立てて、returnのところで調整するのが本当かもしれませんが、
他人のコードをあんまりいじりたくないので。
あれだったら、行を挿入するだけです。
1行で書けるけど、目立つので3行にしました。
>>334
何故か、BigDecimalで%を使う発想がなかったので、私は違うやり方で修正しました。
そっちの方が良いかも。
337:331
09/09/20 21:50:58
atan(x) = sum 2**(2*n)*(n!)**2*x**(2*n+1)/((2*n+1)!*(1+x**2)**(n+1)) (n = 0, 1, 2, ...)
だよ。みつけたのはおいらじゃなくてオイラーさんというひとです。
URLリンク(mathworld.wolfram.com)
とかにあるから探してね。
338:336
09/09/20 22:16:37
>>337
どうも、ありがとう。
この手は慣れているつもりだったけど、ちょっとどこかでコーディングミスしているみたい。
あそこの式だと、左がn、右はxで良いのね。
で、左と右を掛け算する。
連休のうちになんとかなるでしょう。
ついでに、asin()も書くつもりだけど、公開できるかどうかは微妙。
色んな意味で。
339:デフォルトの名無しさん
09/09/20 22:37:40
>>336
> logはふたつに分けた方が速いような気がします。
俺は>>181を見てこうしてた。
@@ -133,4 +140,5 @@ module BigMath
n = prec + BigDecimal.double_fig
one = BigDecimal("1")
+ x = -x if neg = x < 0
x1 = one
y = one
@@ -146,5 +154,9 @@ module BigMath
y += d
end
- y
+ if neg
+ one.div(y, prec)
+ else
+ y.round(prec - y.exponent)
+ end
end
340:336
09/09/20 23:03:30
>>339
>181は確かに、私のレスですね。
>338で言うところの
>色んな意味で
と、言うのは、私に数学的な素養が少ない。
と、言うことも含まれます。
専ら、電気通信の関係で、飯食ってます。
今夜は、炭素と水素の化合物で頭がクルクルなので、明日ゆっくり拝見します。
341:,,・´∀`・,,)っ-○○○
09/09/20 23:38:47
ベンゼンですねわかります
342:デフォルトの名無しさん
09/09/21 00:09:05
>>338
atanは再提出。
343:デフォルトの名無しさん
09/09/21 12:56:17
教祖はデビアン使いでウィンドウズ使ってないしなあ。
344:,,・´∀`・,,)っ-○○○
09/09/21 14:01:12
松江のカンファレンスにはMSも参加してたけどね。
IronRubyがもう少しまともなら・・・
345:デフォルトの名無しさん
09/09/21 14:50:32
未だにまともじゃない?
346:デフォルトの名無しさん
09/09/21 22:02:20
例のatan()は、完成しました。
有効桁数を100取って、xを0.001から0.999まで変えながら、
オリジナルと比較してみましたが、問題ないみたいです。
xが1.0以上でもちゃんと計算できますし(ここ重要)、速度も速いです。
リクエストがあれば、私の書いた部分だけ公開します。
実は、あれ以降ある種の罪悪感を感じておりまして、
道を歩いていたら、犬の糞を踏んづけてしまった気分だったのですよ。
でも、今日ふと思ったのですが、
あれは、数学のライブラリーとしては、とても貧弱ですよね。
sin()とcos()はあるのに、tan()はないとか。
tan()=sin()/cos() は中学校で習うのかな。
atan()があれば少しのちょこちょこで、asin()もacos()もできるみたいです。
作者は、いつ何処で誰が指摘するかニタニタしながら待っていたのかもしれません。
(と言うか、とりあえず用意したから、必要な人は勝手に拡張してちょうだいみたいな)
そう考えてみると、犬の糞ではなくて、百円玉拾った気分になって、今夜は終わりにします。
asin()はもう少しです(たぶん)。分母と分子に!のある式でやっております。
atan()からのチョメチョメでも良いのですが、出てきた値の正当性を確認するためには、
複数のものが必要だし、まぁ遊びですから。
347:346
09/09/22 21:14:17
あれは、ようやくコードが動くようになって、舞い上がって書いております。
本意は別のところにあるのですが、文章がへたなのと、表現が不適切なところもあって、
変な具合になりました。
そもそも、exp()の不具合は私が最初の発見者では無いと思います。
見切りをつけて、よそに行くひと。
黙ってじっと待っているひと。
知らないで使っているひと。
私はたまたま回避方法を発見したので、発表させて頂きました。
不愉快な思いをされた方には、お詫びを申しあげて、私は退場します。
どうもすみませんでした。
348:デフォルトの名無しさん
09/09/22 22:01:33
以前は Ruby を使ってたけど、 Scheme の方が断然書きやすい。
349:デフォルトの名無しさん
09/09/23 00:04:53
そりゃあLisperならGaucheのほうが使いやすいんでないか
350:デフォルトの名無しさん
09/09/23 00:05:56
釣れた!
351:デフォルトの名無しさん
09/09/23 00:43:41
かっこいい!釣り師(つりし)かっこいいよ!凄(すご)いね!やったね!
352:デフォルトの名無しさん
09/09/23 07:57:58
SchemeとHaskellどっち習ったほうがいいと思います?
353:デフォルトの名無しさん
09/09/23 08:11:45
>>352
Smalltalkにしとけ。
354:デフォルトの名無しさん
09/09/23 10:19:45
Rubyやってれば根っこは同じSmalltalkとかSchemeはちょろいから、そっちを先に片付けるか
目新しい考え方を学ぶのにHaskellかってかんじかな。いずれにせよぜんぶやっておk。
355:デフォルトの名無しさん
09/09/23 10:31:58
Haskell に一票。といいつつ自分は Scala 勉強中。
356:デフォルトの名無しさん
09/09/23 10:33:14
HaskellとRubyの組み合わせが最強ということですね。
ありがとうございました。他の糞ゴミ言語で時間を潰さなくてすみました。
357:デフォルトの名無しさん
09/09/23 12:58:22
くだらん煽りはいらないから
358:デフォルトの名無しさん
09/09/23 13:00:14
>>348からここまで全部俺の自演
359:デフォルトの名無しさん
09/09/23 19:07:44
おつかれー
360:デフォルトの名無しさん
09/09/24 02:31:22
関数型言語に興味があって、
積ん読してあるソフトウェアデザイン4月号の Haskell の特集を読んでみたが、
ほとんど理解できなかった
関数型言語は難しい。
Ruby などの、
・クロージャ
・メソッドの引数にブロックを渡せる
というのは理解できているつもりなんだけど
361:デフォルトの名無しさん
09/09/24 04:23:53
俺でも使えるrubyは偉大
362:デフォルトの名無しさん
09/09/24 09:01:44
String#inspect って中身なに?
信頼できない入力を inspect して eval して戻しても安全?
363:デフォルトの名無しさん
09/09/24 09:13:06
inspect した文字列は変換器に通してはいけない
まめちしき
364:デフォルトの名無しさん
09/09/24 09:16:52
eval(str.inspect) はコード実行が起こる可能性があるけど
eval(str.dump) は何も起こらないことが保証されてるんだっけ?
このへんあんま気遣ってないんだっけか、太古どっかでなんか聞いた気がする
365:デフォルトの名無しさん
09/09/24 17:49:12
eval(str.dump) == str は保証されてる
eval(obj.inspect) は何がおきるかわからない
366:デフォルトの名無しさん
09/09/24 17:57:19
String は dump をそのまま返してるんじゃねーかとも思う
あれわざわざオリジナルなの?
367:デフォルトの名無しさん
09/09/24 18:02:58
Non-ASCIIの扱いが違う
368:デフォルトの名無しさん
09/09/25 06:21:04
>>367
それは1.9のみの話? 1.8ではasciiかどうかなんて意識してなかったと思うけど、どうでしょう?
369:デフォルトの名無しさん
09/09/25 08:18:01
$ /usr/bin/ruby -vKu -e 'puts [ "あ".dump, "あ".inspect ]'
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
"¥343¥201¥202"
"あ"
$ /usr/bin/ruby -vKn -e 'puts [ "あ".dump, "あ".inspect ]'
ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
"¥343¥201¥202"
"¥343¥201¥202"
370:369
09/09/25 08:21:14
なんでバックスラッシュがyenに変換されるんだろ……
371:デフォルトの名無しさん
09/09/25 08:56:00
>>370
それは君が Mac を使ってるからだよ