Rubyについて Part 37
at TECH
1:デフォルトの名無しさん
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がバグレポート書いても意味が通じなくて困るだけだろうに。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5371日前に更新/200 KB
担当:undef