Rubyについて Part 37
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/08/23(日) 21:07:47まったりと行きましょう。
Ruby Home Page
http://www.ruby-lang.org/ja/
= 前スレ
Rubyについて Part 36
http://pc12.2ch.net/test/read.cgi/tech/1246174168/
過去スレ・関連スレは >>2-
0002デフォルトの名無しさん
2009/08/23(日) 21:08:14ttp://doc.loveruby.net/
ライブラリ一覧
ttp://doc.loveruby.net/refm/api/
RubyExtensionProgrammingGuide
ttp://i.loveruby.net/w/RubyExtensionProgrammingGuide.html
Ruby Hacking Guide
ttp://i.loveruby.net/ja/rhg/
Symbol < Stringも止める。
ttp://www.rubyist.net/~matz/20061107.html#p03
クラスローカルインスタンス変数
ttp://www.rubyist.net/~matz/20061117.html#p02
クラス変数
ttp://www.rubyist.net/~matz/20070104.html#p03
ローカル変数
ttp://www.rubyist.net/~matz/20070112.html#p04
可視性メモ
ttp://www.rubyist.net/~matz/20070208.html#p04
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30107
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/30275
YARV without 1.9
ttp://www.rubyist.net/~matz/20070215.html#p01
ttp://www.atdot.net/~ko1/diary/200702.html#d22
ttp://i.loveruby.net/d/20070223.html#p01
JSON
ttp://json.rubyforge.org/
ttp://webos-goodies.jp/archives/51019710.html
ttp://webos-goodies.jp/archives/51071565.html
YAML
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=YAML
ttp://jp.rubyist.net/magazine/?0009-YAML
ttp://www.namikilab.tuat.ac.jp/~sasada/prog/yaml.html
0003デフォルトの名無しさん
2009/08/23(日) 21:08:43ttp://www.unixuser.org/~haruyama/software/goRua/
ttp://takeposo.sakura.ne.jp/windows/environment/rubygtk.html
ttp://ruby-gnome.sourceforge.net/
ttp://ruby-gnome.sourceforge.net/programming/intro.html
ttp://ruby-gnome2.sourceforge.jp/
ttp://psux1.kek.jp/thitoshi/ruby/gtk/
ttp://www.rubycgi.org/ruby_gtk_book/
ttp://ruby.gfd-dennou.org/products/cygwin/index-j.html
ttp://www.magicianmaster.jp/tdiary/?date=20040912
Ruby on Rails
http://pc11.2ch.net/test/read.cgi/tech/1191381506/
ttp://jp.rubyist.net/magazine/?0004-RubyOnRails
ttp://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html
ttp://kyotosanga.com/gaku/archives/2006/01/ruby_on_rails_a.html
ttp://blog.hacklife.net/archives/50190377.html
ttp://www.metadata.co.jp/web20/ohba/060718_Rails/
ttp://japan.cnet.com/news/ent/story/0,2000056022,20089986,00.htm
ttp://japan.cnet.com/interview/story/0,2000055954,20094959,00.htm
ttp://journal.mycom.co.jp/articles/2006/07/31/radrails/
ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh29.html
ttp://www.atmarkit.co.jp/fjava/column/andoh/andoh30.html
ttp://www-06.ibm.com/jp/developerworks/linux/050708/j_l-rubyrails.html
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060209/228940/
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/
0004,,・´∀`・,,)っ-○○○
2009/08/24(月) 03:11:23言ってなかったっけ。俺Railsでシステム書いてるって。
ただのアセンブラ厨だと思ったら大間違いだぞ。
0005デフォルトの名無しさん
2009/08/24(月) 04:22:21だんごやさんrubyからcudaを使えるようにしてよ
0006デフォルトの名無しさん
2009/08/24(月) 08:15:420007デフォルトの名無しさん
2009/08/24(月) 08:20:260008デフォルトの名無しさん
2009/08/24(月) 08:30:340009デフォルトの名無しさん
2009/08/24(月) 08:43:24公式からはリリースされないのですか?
公式とそのミラーサーバからは探しても
p129 までしか見つからないのですが
0010デフォルトの名無しさん
2009/08/24(月) 08:51:02出ると決まったものでもないが
0011デフォルトの名無しさん
2009/08/24(月) 10:21:290012デフォルトの名無しさん
2009/08/24(月) 12:28:39現実usa氏頼りなのは間違いないけどさ
0013デフォルトの名無しさん
2009/08/24(月) 12:39:44「公式ビルド」とは言ってないんじゃないか。
公式サイトから配布されている(第三者がビルドした)mswin32バイナリ
って意味かと。
まあ事実上usa氏のバイナリが公式みたいな感じになってるしね。
0014デフォルトの名無しさん
2009/08/24(月) 13:41:32ftp://ftp.ruby-lang.org/pub/ruby/binaries/
てっきりビルド提供している人のサイトにリンク張ってるだけだと思ってた。
>>13のいうとおり「公式*ビルド*」という位置付けではないと思うけど。
0015デフォルトの名無しさん
2009/08/24(月) 13:55:04ディレクトリがそうなってる
公式ビルドでないのなら、unofficial 等とディレクトリ名を切った中に入れ「なければならない」
0016デフォルトの名無しさん
2009/08/24(月) 14:04:36ttp://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&num=50&q=Ruby+Official+Binary+Windows
0017デフォルトの名無しさん
2009/08/24(月) 14:15:451.9.1-p243のバイナリがないというのもおかしな話だな
リリースされた日は同じだったのに
0018デフォルトの名無しさん
2009/08/24(月) 14:19:58公式勘違いの原因の一つになってることは間違いないと思う
0019デフォルトの名無しさん
2009/08/24(月) 14:20:45自前のコンパイルファームが必要なんだろうな
usa氏の善意と厚意に頼ってる以上、
リリースと同時にバイナリビルド出せなんて話は出来ないし
0020デフォルトの名無しさん
2009/08/24(月) 14:24:17「全世界のユーザーがうさたんの好意頼りだよねー」とか言いまくれば
問題は案外コストなしに解決するのではないだろうか
0021デフォルトの名無しさん
2009/08/24(月) 14:25:47>>19
総体的に必要なものってなーに
やっぱ専任のフルタイム正社員?
0022デフォルトの名無しさん
2009/08/24(月) 14:39:32でも1.9.2-preview1はたしかリリースとほぼ同時に
公式サイトのディレクトリにあったと思う
1.9.1-p243だけリリースしなかった理由は何だろう
0023デフォルトの名無しさん
2009/08/24(月) 14:40:34公式はソースで配るもの、バイナリは各ディストリビュータにまかせればよい
0024デフォルトの名無しさん
2009/08/24(月) 14:44:070025デフォルトの名無しさん
2009/08/24(月) 14:49:210026デフォルトの名無しさん
2009/08/24(月) 15:34:550027デフォルトの名無しさん
2009/08/24(月) 19:27:10それでも昔に比べればだいぶ楽になったけどな…
つうかWinだと拡張ライブラリがめんどくせえ
0028デフォルトの名無しさん
2009/08/24(月) 19:48:260029,,・´∀`・,,)っ-○○○
2009/08/24(月) 21:39:030030デフォルトの名無しさん
2009/08/24(月) 21:40:16「Windowsユーザーはしね」
これが公式見解でおk
0031デフォルトの名無しさん
2009/08/24(月) 21:49:38Ruby の設計思想がちゃんと反映されていていいじゃないかw
0032デフォルトの名無しさん
2009/08/24(月) 21:51:180033,,・´∀`・,,)っ-○○○
2009/08/24(月) 21:59:500034デフォルトの名無しさん
2009/08/24(月) 22:25:22だからそれじゃダメだっつってんだろw
>>24,27
だからmingwが解になるんじゃないの?
VC7以降のmsvcrt.dllの問題もないし、だから既存の拡張ライブラリも使えて、
最新のgcc使ってコンパイルできるし、
ttp://www.up-cat.net/MinGW%25C7%25AD%25B2%25CA%25B8%25A6%25B5%25E6%25BD%25EA%25A5%25D1%25A5%25C3%25A5%25AF.html
あたりで適当に構築したMingw/MSYSで普通にビルドできるし。
>>30
で、その結果として
ttp://www.infoq.com/jp/news/2009/08/ruby-installer
って話になって海外勢が自前で準公式ビルド作るってことになってるんでしょ?
まあ実際こっちの方がいい流れだよね。
0035デフォルトの名無しさん
2009/08/24(月) 22:41:51そんなふうにうそぶいてられたのはActiveScriptRubyが出る前までじゃね
つまり約10年前まで。
0036デフォルトの名無しさん
2009/08/24(月) 22:54:360037デフォルトの名無しさん
2009/08/24(月) 23:07:21Unix方面の人間としても間口を広げる流れに逆行するような
「無能な味方」は要らないッス。
そもそも、Unix方面の功績を笠に着るわりには何か貢献したのかどうかも
怪しい>>36にそんなことをいわれても微妙すぎるというか、
_whyレベルの人間ならともかく、明日>>36がいなくなってもRuby界隈は普通に回り続けるのでは
0038デフォルトの名無しさん
2009/08/24(月) 23:37:510039デフォルトの名無しさん
2009/08/25(火) 00:02:01ちなみに教祖が使ってるデビアンはリナックスであってユニックスじゃないよ。AT&T由来のソースも含んでないし。
0040デフォルトの名無しさん
2009/08/25(火) 00:14:23>AT&Tのコード
正確には一瞬SGIのうっかりさん経由で混じったことはある
(そしてそれが原因でSCOに絡まれたことがある)
matzはUbuntu使わんのかねえ?
0041デフォルトの名無しさん
2009/08/25(火) 00:39:39未だにLinuxをUNIX側からつまはじきにしたい奴がいるんだな…
0042デフォルトの名無しさん
2009/08/25(火) 00:42:45BSDもそうだけど。
OSXやSolarisはちゃんとUNIXなんだよな
0043デフォルトの名無しさん
2009/08/25(火) 00:49:530044デフォルトの名無しさん
2009/08/25(火) 01:28:13ttp://slashdot.jp/developers/09/08/23/1334251.shtml
> 本家/.の記事より。飛行機は天候や空港の都合ですぐ遅れる乗り物だが、
> そんなときはFlightCasterを試してみると良い。現時点では米国内便のみ
> 対応だが、管制情報や天気予報、最近10年間の飛行記録を取り混ぜて、
> 統計分析によってリアルタイムに飛行機の遅れを予想する新しいサービスだ。
> しかし/.的に関心があるのは、どちらかというと実装の中身だろう。
> このサイトはフロントエンドにおなじみRuby on Rails、大規模分散計算
> フレームワークApache Hadoopを使い、Ruby版PaaSのHerokuにホスティング
> されている。しかしバックエンドの実装に用いられたのはRubyではなく、
> Javaで書かれたLisp方言の一つClojure。
> FlightCaster開発陣の一人のインタビューでは興味深い内幕が披露されている。
> O'Reillyからは新たなLisp本の出版も予告されているが、とうとう「カッコの時代」が来たのだろうか…。
0045デフォルトの名無しさん
2009/08/25(火) 01:40:36楽になったか?
今さらVC6用意するとか無茶にも程があるだろ
最新のOSじゃインストールすら出来ないし
そのビルド環境用のPC用意するだけでも凄い手間だわ
事実上個人でビルドしてるやつなんて居ないに等しいでしょ
>>34
MinGWでビルドしたバイナリは、mswin32と比べて
実行速度とかどうなの?
別に根拠は無いけど、MS製のコンパイラの方が
効率の良いバイナリ吐きそうな気がするけど
0046デフォルトの名無しさん
2009/08/25(火) 02:19:55ruby 1.9に移行した人の体験談
Tempfile#unlinkに後方互換性のない変更があったんで、そこだけ直したんだってさ
0047デフォルトの名無しさん
2009/08/25(火) 02:58:13mingwのほうが速い
0048デフォルトの名無しさん
2009/08/25(火) 03:11:580049デフォルトの名無しさん
2009/08/25(火) 04:10:58「こいつは得意がっている」みたいなキャラ設定考えて
少しでも溜飲下げようと必死に人格攻撃するほうが恥ずかしいかも
0050デフォルトの名無しさん
2009/08/25(火) 04:17:000051デフォルトの名無しさん
2009/08/25(火) 05:13:33VC6 vs 今のgccの比較になるから
mingw版の方が全然速い。
↓によると1.8系列の場合はmswinより2倍以上mingwの方が速いとのこと。
ttp://antoniocangiano.com/2009/08/04/a-faster-ruby-on-windows-is-possible/
VC6が出たのが11年前なんだから当然といえば当然だわな
そもそも今正規ルートでVisualC++6.0入手しようとしたらMSDNぐらいしかないんじゃないか?
もはやサポートも終息してるしな。
>>49
なにをいってるんだ、>>48は>>46の情報を元にパッチを作成して
MLに投げるなりmput氏のGitHubにpull requestするなりしてから
>>48を書き込んだに決まってるだろう。
じゃなきゃ、>>48が口先だけな上に自分の言動で自爆する間抜けになっちゃうだろwww
0052デフォルトの名無しさん
2009/08/25(火) 08:40:5327 だけど俺が言ってるのは mingw のことだ
1.6 初期のころは mingw でもいろいろ面倒だった
0053デフォルトの名無しさん
2009/08/25(火) 10:15:48え?
0054デフォルトの名無しさん
2009/08/25(火) 17:00:140055デフォルトの名無しさん
2009/08/25(火) 19:24:330056デフォルトの名無しさん
2009/08/25(火) 20:10:20msysgit絡みでMinGW/MSYS自体にGoogleのテコ入れが入ったのが
デカかったのかな
0057デフォルトの名無しさん
2009/08/25(火) 20:23:500058デフォルトの名無しさん
2009/08/25(火) 20:33:160059デフォルトの名無しさん
2009/08/25(火) 21:13:452009/08/25付けの記事で、Shoooesが紹介されているんだけど、
これって、_whyの作品?
ttp://journal.mycom.co.jp/news/2009/08/25/041/?rt=na
いなくなったタイミングで紹介するはどうかと思う。
0060デフォルトの名無しさん
2009/08/25(火) 21:17:16Rubyで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
こんなページ↓を見つけたので、気になりました。
ttp://wp.serpere.info/archives/422
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を使わずに適切に
記述する方法を教えてください。
0061デフォルトの名無しさん
2009/08/25(火) 21:37:16まさに
ttp://wp.serpere.info/archives/422
と
ttp://www.openssl.org/docs/crypto/EVP_BytesToKey.html
に書いてあるとおりじゃね。
PKCS5 v1.5の一部適合品程度でしかないから
どうしてもPKCS5 v1.5じゃないと困るケース以外は
v2.0を使えと。
0062デフォルトの名無しさん
2009/08/25(火) 21:40:53しかし、暗号化絡みのAPIはもうちょっと親切にラッピングしてあげた方がいいと思うんだが。
0063デフォルトの名無しさん
2009/08/25(火) 21:49:07暗号についての知識がない人が暗号使うとかありえないのでこれで正しい動作です
0064デフォルトの名無しさん
2009/08/25(火) 22:15:41言いたい事は分かるけど、>>60を見た上でも同じコメントなのかな?
0065デフォルトの名無しさん
2009/08/25(火) 22:21:43Linxuディストリに対する嫌みですねわかります
0066,,・´∀`・,,)っ-○○○
2009/08/25(火) 22:29:260067デフォルトの名無しさん
2009/08/25(火) 22:38:08FreeBSDだとwheelグループに追加してやんないとダメだけど。
0068デフォルトの名無しさん
2009/08/25(火) 22:40:02sudo su
ならできるけど
0069,,・´∀`・,,)っ-○○○
2009/08/25(火) 22:42:57しかしroot追加すればrootログインできるようになる。
ちなみに言うとMacOSもデフォがroot禁止だったような。
0070デフォルトの名無しさん
2009/08/25(火) 23:17:240071デフォルトの名無しさん
2009/08/26(水) 00:07:28rootになっているのを忘れて、危ないことを平気でするよりは。
emacsはどうも、なじめない。
初めてのエディターがemacsでした、みたいな人は良いのでしょうね。
おいらは、EDLINだったので、その後win系のエディターに流れてしまって、今はgedit。
これが、機能が少ないので...
話をRubyに戻すと、皆様のおかげで、ubuntuのRuby1.9が
ruby 1.9.0 (2008-06-20 revision 17482) [i486-linux]
のまんま放置されてる理由が、なんとなく理解できました。
0072デフォルトの名無しさん
2009/08/26(水) 00:26:35UbuntuのRubyはDebian由来で、Debian側としての1.9の扱いが決まらなかったのが原因。
http://www.mail-archive.com/[email protected]/msg00585.html
0073デフォルトの名無しさん
2009/08/26(水) 00:30:02多くの人がemacsに馴染めないのは、デフォルトのカーソル移動の気持ち悪さ
なにが悲しくて上下左右に、両手をフル稼働させなきゃいかんのだ
その点vi(m)はまことに素直でよろしい
>>72
Debianって、唯一のRuby公式サポートOSじゃなかったの?
0074デフォルトの名無しさん
2009/08/26(水) 00:41:52Ruby的には、ソース取ってきてconfigure && make testできるところまで。パッケージとしてどう料理するかはDebianの仕事。
0076デフォルトの名無しさん
2009/08/26(水) 00:58:230077デフォルトの名無しさん
2009/08/26(水) 01:01:290078デフォルトの名無しさん
2009/08/26(水) 01:10:47>>74 にある通りで、Ruby本体としてはパッケージングまではタッチしてませんね。
一般の人が使いやすいようにパッケージングするのは、
Debianだったらメンテナのやまだあきらさんのお仕事。
ちなみに、Windowsだとうささん・・・じゃなくて、
ActiveScriptRubyのartonさんとか、RubyInstallerの人とか。
>>75
逆に考えて、UbuntuにRuby 1.9.xのパッケージが入るまで1.9は使わない、
というのが正解だと思いますね。
007971
2009/08/26(水) 01:13:32どちらも、日本に関係してますね。
差し支え無ければ、MomangaでのRuby1.9のバージョンを教えて下さいませ。
0080デフォルトの名無しさん
2009/08/26(水) 01:14:23違うのかもしれないけど、安定した拠点は必要だよねきっと
0081デフォルトの名無しさん
2009/08/26(水) 02:33:31http://developer.momonga-linux.org/wiki/?Momonga+Linux+6+Release+Note
ちなみに、Momongaは2007年10月(1.9.0リリース前、まだM17N絡みの変更がガンガン入ってた頃)に
1.9系を本格導入している勇者様。
http://www.momonga-linux.org/archive/Momonga-devel.ja/msg03541.html
1.9のヘビーユーザが多いはずだと思うんだけど、
それにしてはMomonga方面からバグ報告が来た記憶が無いなぁ。
0082デフォルトの名無しさん
2009/08/26(水) 02:35:28報告ありがとうございました。
0083デフォルトの名無しさん
2009/08/26(水) 03:41:30極力最新を導入するのが Momonga
mph で恨んで意趣返しをしているのではないはずだと思いたい
0084デフォルトの名無しさん
2009/08/26(水) 08:35:13WinSCP使ってるならリモートのアカウントのshellを
内部でsudoとかsuするものにするのが定石だった気がする
応用すると踏み台サーバの特定アカウントにssh接続すると
別のサーバのrootでログインする仕掛けとか作れるようになる
0085デフォルトの名無しさん
2009/08/26(水) 08:39:520086デフォルトの名無しさん
2009/08/26(水) 08:43:28mphはRubyが悪いわけじゃないもーん
yumかaptに乗り換えなかったほうが悪いんだもーん
0087デフォルトの名無しさん
2009/08/26(水) 13:13:21昔はもっと面倒だったの?
0088デフォルトの名無しさん
2009/08/26(水) 15:56:18>暗号についての知識がない人が暗号使うとかありえないので
なんで?
0089デフォルトの名無しさん
2009/08/26(水) 16:09:08「知識がない人が暗号使うとかありえない」は、
「暗号は利用が難しく、少し間違った使い方をするとすぐに脆弱になるので、
知識がない人は使うべきではない」という趣旨じゃないかな。
ただ、今の世の中そんな牧歌的な時代じゃないと思うけど。
「デフォルトがあり得ない」っていうのはちょっと認識が古い気がする。
初期配列とかは暗号方式によってはちょっと気を抜くと脆弱なものを選んでしまったりするので、
下手にいじるよりはデフォルトを使うべきなように思える。
暗号の世界は日々進歩しており、昨日は「知識がある」という扱いにできた人が、
今日は「知識がない」という扱いになったりするので、
そろそろ知識がない人でもそれなりに扱えた方がいいんじゃないかなぁ。
0090デフォルトの名無しさん
2009/08/26(水) 17:05:40さんくす。
素人が下手に暗号をさわると脆弱になるというのはその通りだと思うので、
だからこそ素人でも使えるようなライブラリやインターフェースを
知識のある人に用意してほしい。
「知識がない人が暗号使うとかありえない」という姿勢こそありえない。
0091デフォルトの名無しさん
2009/08/26(水) 17:15:14「暗号の知識のない人が(実装よりという意味で)低水準のライブラリを直接キックとかあり得ない」
ってのが正確な表現かな
HTTPSを初めとしてエンドユーザとして使う側は
今でも(暗号化されてることすら大して意識せずに)使えてるわけで
エンドユーザが使うものを作る側はある程度わかってないと
最終的にエンドユーザが不幸になる気がする
似たようなポリシーの違いでメルセンヌツイスタの作者とクヌースが揉めてた記憶があるなあ
0092デフォルトの名無しさん
2009/08/26(水) 17:28:17>>61
>
>PKCS5 v1.5の一部適合品程度でしかないから
>どうしてもPKCS5 v1.5じゃないと困るケース以外は
>v2.0を使えと。
これはつまり、現状のrubyではv1.5は用意されているけどv2.0を使う方法は提供されてないということ?
0093デフォルトの名無しさん
2009/08/26(水) 17:34:410094デフォルトの名無しさん
2009/08/26(水) 17:36:4660が出してきたblogの別記事に情報がある
ttp://wp.serpere.info/archives/530
一言で言えば、使える。
ただしOpenSSL由来の制限アリとのこと
0095デフォルトの名無しさん
2009/08/26(水) 17:41:18抽象化が完璧にできないからこそ低レイヤへのアクセス手段を残してあるわけで、
そこをして初心者に優しくないと言われてもそれはそれで結構困る
永遠の初心者を想定すべきなのだろうか
0096デフォルトの名無しさん
2009/08/26(水) 17:53:03なぜかというと、その方式が時代遅れになってもそれを使い続けられちゃうから。
>>91 も出してるけど、通信路の暗号化だったらhttpsを使ったほうが、
見落としがちななりすましの防止も図れるし、暗号方式が隠蔽されるので望ましい。
0097デフォルトの名無しさん
2009/08/26(水) 18:08:01さんくす。でも公式にドキュメント化してないようなので、使うべきかどうかは判断に困るな。
>>95
>どこまで初心者想定すればいいのかというのは難しい問題
そうなんだけど、だからといって「知識がない人が暗号使うとかありえない」なんていうのはやめてほしい。
0098デフォルトの名無しさん
2009/08/26(水) 18:11:53選ばれた人間しか入ることを許されない図書館の奥に封印された秘儀なのか?
答えは否だ
学べ
0099デフォルトの名無しさん
2009/08/26(水) 18:47:00PKCS#5でやりたい、とかの一点指名で使おうとしてる人たちが
ライブラリの想定利用者だろうから
あの抽象度が限界な気もする
0100デフォルトの名無しさん
2009/08/26(水) 20:03:03知識0の状態からあの抽象度のレベルを安全に扱えるようになるまで何年かかるんだろう。
0101デフォルトの名無しさん
2009/08/26(水) 20:34:33共通鍵暗号を使いたいというだけのことに、PKCS5のバージョンがどうのこうのという知識を知らないといけないのか?
んなわけないだろ。
公開鍵方式と共通鍵方式の違いは「勉強しろ」で片付けていいだろうけど、>>60ででているようなことは
たいがいの人は知らなくてもすむはずのこと。
使いやすくする工夫をほったらかしといて「学べ」とかアホじゃねーの。
0102デフォルトの名無しさん
2009/08/26(水) 20:44:38一般論としてはまったくそのとおりなんだけど、
***このライブラリに限っては***、「共通鍵暗号を使いたいというだけ」の
人が使うようなものじゃないから微妙な話になってるんだと思うよ。
簡単手軽に使える「暗号化ライブラリ」じゃなくて「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のラッパ」を使って実装された/されるであろう
「使いやすいライブラリ」を使った方がいいと思う。
0103デフォルトの名無しさん
2009/08/26(水) 21:11:37既存のでいいライブラリってある?
0104デフォルトの名無しさん
2009/08/26(水) 21:13:00いわゆる残り5パーセントとか2パーセントとかそのへんの話だぞこれ
010560
2009/08/26(水) 21:16:26低レベルな方法も用意されているので、問題ではないと思います。
ただ、マニュアルの記載内容(以下)は直した方がいいのではと思います。
(以下、マニュアルから引用)
encrypt(key, iv) 暗号化の準備をする。iv は initialization vector、
必要なら使用される。このAPIに引数を渡すのは推奨しない。パスワードから
鍵を生成する場合は、 pkcs5_keyivgenを使用すること。
ttp://www.ruby-lang.org/ja/man/html/OpenSSL_Cipher_Cipher.html
この説明だけ見ると、初心者はpkcs5_keyivgenを利用すればいいと判断して、
詳しく調べることに行き着かないのでは?「pkcs5_keyivgenの方法も、現在
では推奨されていない。Ruby 1.9/1.8.7のOpenSSL::PKCS5.pbkdf2_hmac_sha1
を使用すること。また、OpenSSL の将来のバージョンでは、OpenSSL::PKCS5.
pbkdf2_hmacでsha256を利用することを推奨する(○年○月現在)。」
などと記載した方がいいと思います。
セキュリティに関することなので、日付を入れたらどうですか?
Rubyは少ない記述で楽しく書けるのがウリだと思うので、「知識をつけて
低レベルから書かないから悪い」という考え方は嫌ですね。
ただ、人手も足りなくて、他にもやることがあるでしょうから、この部分を
標準で対応しないのは、仕方ないと思います。
0106デフォルトの名無しさん
2009/08/26(水) 21:18:02ユースケースが知りたい
0107デフォルトの名無しさん
2009/08/26(水) 21:19:49自分で実装とか考えるな。ましてオレオレ暗号は最悪
専門家でない限りは低水準の技術を裸で使うな
広く用いられているライブラリで、高水準のプロトコル(SSL等)を使え
だったっけ。まあプロでもたまに失敗する世界で、
いわんや素人においてをやってのは分かる
0108デフォルトの名無しさん
2009/08/26(水) 21:21:49もっともな話なので、るりまのRedmineにチケット起こすのがよいと思う。
http://redmine.ruby-lang.org/projects/show/rurema
0109デフォルトの名無しさん
2009/08/26(水) 21:43:32・直接使われるケースが少ないライブラリのためのライブラリ
・技術の分野的な経緯から低水準で独自実装を試みることが推奨されない
なんていう超々例外的なライブラリだから一般論をそのまま当てはめるのが難しいんだよね
>>105
ドキュメントも2006年頃が最後の更新くさいね。
今みたいにそれなりに広く使われることを想定してなかった時代だったんだろう。
改善する必要があるのはそのとおりだろうね。
011060,105
2009/08/27(木) 00:38:48私は、現在の実装ではどう記述したらよいか知りたいので(勉強中)、pbkdf2-ruby
ttp://github.com/tkyk/pbkdf2-ruby/tree/master
を使ってみることにしました。
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の実装も良くないかも
011160,105,110
2009/08/27(木) 00:40:11require '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"
0112デフォルトの名無しさん
2009/08/27(木) 00:44:02知識のある人ための道具箱であって、知識のない人はOpenSSLを使った
バカチョンなライブラリが用意されるのを待て。
とドキュメントの冒頭に書いておけば……。
0113デフォルトの名無しさん
2009/08/27(木) 00:57:00require 'open-uri'
URI('https://example.org/').read
0115デフォルトの名無しさん
2009/08/27(木) 22:49:450116デフォルトの名無しさん
2009/08/27(木) 23:02:00氏ね
0117デフォルトの名無しさん
2009/08/27(木) 23:21:13仕方ないとはいえ勘弁して欲しい
0118デフォルトの名無しさん
2009/08/28(金) 00:15:18CPUのクロックが上がらない今時では、画期的。
ただいま、Rの分布関数を移植中でありんす。(正規分布とかポアソンとか)
出来上がって公開できるかどうかは、あちらのライセンスの都合もあるので、わからねっす。
わっしは、ぶいぶい使うっす。
0119デフォルトの名無しさん
2009/08/28(金) 00:32:56落ちるみたいだね。まあこの辺は枯れてるか枯れてないかの問題だから
仕方ないけど
0120デフォルトの名無しさん
2009/08/28(金) 01:34:04ターミナルが応答しなくなった。make test は問題なかった。何が原因なのか
は分からないが、2回ためして2回とも発生したからちょっと怖い。
1.9.1 はヤメテ 1.8.7 を使い続けようか。
0121デフォルトの名無しさん
2009/08/28(金) 02:02:36おそらくスレッドだな
0122デフォルトの名無しさん
2009/08/28(金) 06:14:360123デフォルトの名無しさん
2009/08/28(金) 13:13:31Rubyでどれだけパフォーマンスでるのか楽しみ。
0124デフォルトの名無しさん
2009/08/28(金) 14:39:15test/drb/test_drb.rbとtest/drb/test_drbssl.rbで止まるっぽい
0125120
2009/08/28(金) 21:48:45コンパイラを変えてビルドしてみたら、ちょっと不思議だった。いつもは Xcode に付いている
Apple 謹製の gcc-4.0.1 を使うのだけど(>>120 のときも)、これを Fink で入れた gcc-4.3.1
に変えると parse.c のコンパイルで止まる。10分近く放置しても話が先に進んでないので何か
あったのだろうと推測する。でも何があったかは知らない。
Rails は使わないし、そもそもローカルでシェルスクリプトの替わり程度の使い方しかしていな
いので、イマイチ問題の解決に関心を持てない。
0126デフォルトの名無しさん
2009/08/29(土) 01:23:450127デフォルトの名無しさん
2009/08/29(土) 01:42:17うん。コンパイラを変えてみたら make で止まった(ように見える)というお話。別のコンパイラなら
make も make test も通るけど、make check で転けた。make check なんてしなくても良いだろうか
ら、そんなことキニシナイというのもアリだとは思う。
0128デフォルトの名無しさん
2009/08/29(土) 01:58:30あと、それはgcc-.4.3.2のバグということで決着がついてる。10分といわず
30分1時間放置してればparse.cのコンパイルは終わる。あるいは4.3.3を使えば直ってる
0129名無しさん@そうだ選挙に行こう
2009/08/30(日) 07:58:23/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からの機能?
0130名無しさん@そうだ選挙に行こう
2009/08/30(日) 10:20:25それで正解。
というかrefeって1.8用と1.9用で分かれてないのか……。
0131名無しさん@そうだ選挙に行こう
2009/08/30(日) 10:40:200132名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:27:57そうなってないっけ?
0133名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:30:150134名無しさん@そうだ選挙に行こう
2009/08/30(日) 16:06:130135名無しさん@そうだ選挙に行こう
2009/08/30(日) 17:59:34Firefoxみたいにダウンロード数=ユーザー数みたいに錯覚させるキャンペーンとかやればいいのに
0136名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:09:19思いつきは結構だけどれが誰によって配布されてるかもう少し下調べしたらどうだ?
0137名無しさん@そうだ選挙に行こう
2009/08/30(日) 18:54:12やるとしたら、1.9のダウンロード数と1.8を比べて1.9のアピールくらいかね。
まぁ、普通の人はActiveScriptRubyとかそれぞれのOSのパッケージマネージャ使うんだよな
0138デフォルトの名無しさん
2009/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でも直ってなかった。
0139デフォルトの名無しさん
2009/08/30(日) 22:02:31http://redmine.ruby-lang.org/projects/show/ruby
0140138
2009/08/30(日) 22:07:18n -= x.to_i if x < 0
もしくは
n += x.to_i.abs if x < 0
か、
確認したら、うちのは上になってた。
環境によると、
x.to_i
は
x.to_i(10)
とかしないとエラーになるかもね。
0141138
2009/08/30(日) 22:41:12あ、どうも。これは窓口の紹介なのですかね。
BigDecimalのpower2がずっと工事中のようで、
これは、
x ** y
の、yの部分がfloatの場合でも可能となるのかな、
と、ずっと待っておりました。
xをlogして掛け算してexpすりゃいいじゃん、
と気付いたのは、こないだなんですよ。
放置が永いので、他に何かあるのでしょうか。
とりあえず、BigDecimal/math.rb
を、ちょっと修正してCで書いて貰ったらすごくしあわせ。
0142デフォルトの名無しさん
2009/08/30(日) 23:09:14>>139のURLで、アカウント作ってチケットを新規に投げる。
0143デフォルトの名無しさん
2009/08/31(月) 00:57:12ERROR: 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 のバージョンを上げるしかないのでしょうか。
0144デフォルトの名無しさん
2009/08/31(月) 01:25:49俺らが半端に伝言ゲームするより>>139で
問題の所在と対処をわかっているお前さんが
ダイレクトにひっぱたくのが良いと思われる。
0145デフォルトの名無しさん
2009/08/31(月) 05:13:130146デフォルトの名無しさん
2009/08/31(月) 06:05:28○○しあわせ。
ぶつくさ言わずに行動起こせ。
〜かね。
〜しあわせ。
とかいうやつは、たいてい口だけのやつが多い。
0147デフォルトの名無しさん
2009/08/31(月) 06:14:030148デフォルトの名無しさん
2009/08/31(月) 06:18:17馬鹿が無料でソースまで公開してるソフトを使い回して、いかに自分の仕事を効率よく終わらせるかしか価値無いし。
そして自分のソースは公開しないのが手間がかからなくていい。
0149デフォルトの名無しさん
2009/08/31(月) 06:48:590150デフォルトの名無しさん
2009/08/31(月) 07:49:300151デフォルトの名無しさん
2009/08/31(月) 07:50:010152デフォルトの名無しさん
2009/08/31(月) 07:55:250153デフォルトの名無しさん
2009/08/31(月) 14:12:540154デフォルトの名無しさん
2009/08/31(月) 15:32:40>>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)>
0155デフォルトの名無しさん
2009/09/01(火) 00:24:29require '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
0156デフォルトの名無しさん
2009/09/01(火) 05:06:55BigDecimalのメンテナは多分ここ見てないんで、直接連絡を取るか、
他の人でもコミットできるくらい丁寧な説明を付けた上でパッチをRedmineに投げないとダメだよ。
>>155
Math.expはFloat
0157デフォルトの名無しさん
2009/09/01(火) 10:01:49追ってみたいものだわ。
0158デフォルトの名無しさん
2009/09/01(火) 10:07:140159デフォルトの名無しさん
2009/09/01(火) 10:12:41・コミッタ、メンテナは 2ch なんてみていない
・だが、ごくたまに、コミッタ、メンテナにとっても有益な情報が 2ch に書き込まれる
・だから 2ch の情報を ML にフォワードしてくれ(してくれる人が必要だ)
0160デフォルトの名無しさん
2009/09/01(火) 10:20:12あくまで例外だろう
もちろん、実は居るかもしれないが、
居ることを期待するべきではないと
yuguiさんだっけ?マメだなあ……
0161デフォルトの名無しさん
2009/09/01(火) 10:21:160162デフォルトの名無しさん
2009/09/01(火) 10:24:52「見てくれない」人のほうが多いぞ
見てても追随めんどくさそうなら一旦棚上げだ
一連の>>138を見ててもわかるが、試したくても傍目には必要な情報がないことのほうが多いから
Redmineは腐ってもバグトラッキングシステムなのでそのへんは頼れる
とっても暇か緊急性がありそうなら、自分の手元で再現しようと頑張るかもしれんけど
0163デフォルトの名無しさん
2009/09/01(火) 10:47:18自分の関わったソフト名でぐぐって見てみても驚くほど要領を得てない
誰かが労力割いてまとめてくれたから伝わってるんだよん
0164デフォルトの名無しさん
2009/09/01(火) 10:54:56いまのままじゃ、138がバグレポート書いても意味が通じなくて困るだけだろうに。
0165デフォルトの名無しさん
2009/09/01(火) 11:07:27バグってるコード書けば、それだけで伝わってるよ
0166デフォルトの名無しさん
2009/09/01(火) 11:09:24http://pc12.2ch.net/test/read.cgi/tech/1251029267/138
張ってこい。スレ荒らすな。
0167デフォルトの名無しさん
2009/09/01(火) 11:20:56優先度低くて手を着けてないわ。
MLかRedmineに書くとある意味強制的に
優先度が上がるとも言えるw
とりあえず
・発生した環境
・再現手順
・手順をやったらどうなったか
・本当はどうなって欲しいか
どうなって欲しいかが論理的に自明でないような場合は
・何故そうなって欲しいのか
あとはおまけで
・原因の推測(心当たり)
これはもしあれば、というレベル
これぐらいを箇条書きでいいんじゃない?
管理的には直ったかどうか確認して欲しいから
言い出した人の連絡先(メールとか)も欲しいかな
0168デフォルトの名無しさん
2009/09/01(火) 11:25:24SEGVで落ちるとかならそれでもいいだろうけどな
0169デフォルトの名無しさん
2009/09/01(火) 13:38:00今日初めてやってみた
なんかすげー簡単だなこれ
0170デフォルトの名無しさん
2009/09/01(火) 13:40:000171デフォルトの名無しさん
2009/09/01(火) 13:47:040172デフォルトの名無しさん
2009/09/01(火) 13:59:350173デフォルトの名無しさん
2009/09/01(火) 14:01:460174デフォルトの名無しさん
2009/09/01(火) 14:16:22Rails 6.0 くらいになったら普通のことはあらかたできるようになってると思う
0175デフォルトの名無しさん
2009/09/01(火) 14:38:48なわきゃない。
0176デフォルトの名無しさん
2009/09/01(火) 15:45:58具体的に教えてくれよ
0177デフォルトの名無しさん
2009/09/01(火) 16:08:330178デフォルトの名無しさん
2009/09/01(火) 16:22:300179デフォルトの名無しさん
2009/09/01(火) 16:33:01問題点はわかったが、それは単に精度が不十分なだけだろ
$ ./ruby -rbigdecimal/math -rbigdecimal -e'include BigMath; puts exp(BigDecimal("-40", 30), 30)'
0.4248354255324683608648171943427303514052094227261901826473689E-17
しかし、初めてBigMathをみてみたが、なんでmodule_functionになってないんだこれは。
0180デフォルトの名無しさん
2009/09/01(火) 21:30:14rubに関しては、環境とコード書けば十分じゃないの?
0181138
2009/09/01(火) 21:36:33exp(x) = 1/exp(-x)
なるものを見つけました。
修正は、
if x < 0
return one.div(exp(-x, prec), prec)
end
でokです。
最初から(不確かな)有効桁数を設定するより、こちらの方が、速くて安心。
oneはBigDecimalの1です。
コードを書いた方には、失礼しました。
情報弱者な年寄りには、何かの手続きの必要なものは面倒くさいのですよ。
>>179
xに-42送ると、戻り値がマイナスになります。
電卓なくても確認できます。若干の数学の知識があれば。
0182デフォルトの名無しさん
2009/09/01(火) 21:37:590183デフォルトの名無しさん
2009/09/01(火) 22:05:13そんなものは取り込めん
0184デフォルトの名無しさん
2009/09/01(火) 22:09:490185デフォルトの名無しさん
2009/09/02(水) 01:29:14だーかーらー、いまのまま138がRedmineに書いても、チケット受け取った側が混乱するだけだって。
慣れてるやつがたたき台を書いてやらないと。
0186デフォルトの名無しさん
2009/09/02(水) 06:15:280187デフォルトの名無しさん
2009/09/02(水) 10:13:330188デフォルトの名無しさん
2009/09/02(水) 12:28:08ボタンを押すと「アカウントが有効になりました。ログインできます。」
と表示されるが、これは嘘で、送られたメールのURLをクリックしないといけない
rubyらしくて、ほほえましく思った
0189デフォルトの名無しさん
2009/09/02(水) 12:32:01>送られたメールのURLをクリックしないといけない
これハマりかけたw
メール送られてきてるのに気づかなくて、パスワードまちがえたかなと
0190デフォルトの名無しさん
2009/09/02(水) 20:21:47バグを指摘されたくないから
名目上の器だけは用意しつつ
使えないようにしてます、って感じかw
0191デフォルトの名無しさん
2009/09/02(水) 23:04:320192デフォルトの名無しさん
2009/09/02(水) 23:07:170193デフォルトの名無しさん
2009/09/02(水) 23:19:56rubyらしくて、ほほえましく思った
0194デフォルトの名無しさん
2009/09/02(水) 23:26:220195デフォルトの名無しさん
2009/09/03(木) 08:18:35精度とか有効桁とか理論的なことはよくわかりませんが
>>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
0196デフォルトの名無しさん
2009/09/03(木) 14:15:320197デフォルトの名無しさん
2009/09/04(金) 14:45:16http://www.4gamer.net/games/017/G001762/20090904004/
0198デフォルトの名無しさん
2009/09/04(金) 19:29:17http://sourceforge.jp/magazine/09/09/04/0915236
0199デフォルトの名無しさん
2009/09/04(金) 19:50:24活用法としてはけっこう妥当なんじゃないかと思われる
よくわかんない会社が日立だからとよくわかんないまま買ってよくわかんないまんまわかった気になるんだろう
まあそれはそれでいろいろいいことなのではないかなと思ってみたり
0200デフォルトの名無しさん
2009/09/04(金) 19:58:39Javaで淘汰されたからとRailsを代わりに使おうとする糞SIは死滅の危機にあって非常に好ましい
0201デフォルトの名無しさん
2009/09/04(金) 20:24:44そもそもまともなスケールでRails使ってSIなんて聞いたことねえけど
それどれぐらいの規模の話よ?国内なんだよな?
0202デフォルトの名無しさん
2009/09/04(金) 20:34:33自社サービスを展開する企業が自分の責任で使う場合にこそ威力を発揮する。
自分で構築したシステムととことん付き合う覚悟がないとRailsはつらいよ
0203デフォルトの名無しさん
2009/09/04(金) 21:19:28向かないという理由は何なんだ?
ウォーターフォールがうんぬんとかどうでもいいぞ。
まともにウォーターフォールができてるSIなんてほとんどないだろうから。
0204デフォルトの名無しさん
2009/09/04(金) 21:28:12なかなか粋な言葉だなあと、最近改めて思う
0205デフォルトの名無しさん
2009/09/04(金) 21:41:27どっちかっていうと構築よりは保守の問題じゃね
大したことをするわけじゃないからJavaその他で作り込むのは
過剰品質なのに手作業というわけにもいかず
作るだけは作らなきゃいけない使い捨てのショボシステムを
でっちあげるのに向いた造りなわけだから、
リスクを自前でコントロールしきれない他人様のところで
しかも末永く使っていくのには明らかに向かないよな
そもそもSIer使うような客はその辺のリスクコントロールが難しいと
思ってるからSIerに金払って構築させるわけで、それがやれるんだったら
そもそもSIer呼ばないで自分で作るよなあ
0206デフォルトの名無しさん
2009/09/04(金) 22:05:400207デフォルトの名無しさん
2009/09/04(金) 22:21:28どうせ、直すなら >>181 で、
実行速度が速くて、しかも(理論的にも)安心。
数学の公式にあるみたいだから。
0208デフォルトの名無しさん
2009/09/04(金) 22:26:180209デフォルトの名無しさん
2009/09/04(金) 22:56:56Urabeさんが大好きです
0210デフォルトの名無しさん
2009/09/05(土) 02:23:01作るとこと使うとこが違うなら別のを使うのが得策
…てな感じでOK?
0211デフォルトの名無しさん
2009/09/05(土) 06:36:42ずっとベータ版で構わない、改装のしやすさが重要、というプロジェクトやプロダクトに最適
Ruby は直接金は産まないが莫大な富を産む
よくわかったベンチャーが内製ツールを Ruby で作るとものすごいことになるが、
同じ理屈で大企業が製品を Ruby で作ると別な意味でものすごいことになる
0212デフォルトの名無しさん
2009/09/05(土) 06:53:180213デフォルトの名無しさん
2009/09/05(土) 07:45:180214デフォルトの名無しさん
2009/09/05(土) 10:47:290215デフォルトの名無しさん
2009/09/06(日) 01:39:560216デフォルトの名無しさん
2009/09/06(日) 01:56:250217デフォルトの名無しさん
2009/09/06(日) 18:55:170218デフォルトの名無しさん
2009/09/08(火) 18:08:50他言語で書き直しかよ〜。
0219デフォルトの名無しさん
2009/09/08(火) 18:23:56これどっかに書いておいたほうがいいと思う
0220デフォルトの名無しさん
2009/09/08(火) 20:48:400221デフォルトの名無しさん
2009/09/08(火) 21:21:30他言語でリネームだけしてみるとかw
0222デフォルトの名無しさん
2009/09/08(火) 22:05:04http://sourceforge.jp/magazine/09/09/08/117211
0223デフォルトの名無しさん
2009/09/08(火) 22:58:18むせた
0224デフォルトの名無しさん
2009/09/08(火) 23:01:060225デフォルトの名無しさん
2009/09/08(火) 23:22:26あと何百年岡田事件を引っ張るんだよお前
0226デフォルトの名無しさん
2009/09/08(火) 23:34:59svn.rubyを漁るですが、見つからない。
どこかで蛇使いが、うちのはメルセンヌツイストだからと自慢しておりまして、
じゃぁ、と調べて見ても、見当たらないのです。
しょうがないので、出てきたものを比較してみました。
SFMTとXor128と24bitの線形とですね。
比較の方法は、長くなるので割愛します。
Rubyのrand()はSFMTと一番近いです。はっきり言うと私の方法では、区別できません。
他のは判別できますが、連続した百万個を100セットくらい必要です。
0227デフォルトの名無しさん
2009/09/08(火) 23:45:28random.c
0229デフォルトの名無しさん
2009/09/09(水) 00:23:340230226
2009/09/09(水) 00:45:03どうもご親切に。
それは、>>226で言うところの、SFMTです。
あとからのdSMFTはコードが長いので、今回は見送りました。
(Rubyへの移植を)
これで、晴れてRubyもメルセンヌを名乗って良いかな。
0231230
2009/09/09(水) 00:53:01/dSMFT/dSFMT/
だと思う。たぶん。
0232デフォルトの名無しさん
2009/09/09(水) 00:54:02企業でRubyを導入する場合、国からの援助があるという話を聞いたのですが
実際にそのような話があるのでしょうか。
また、あるとすれば具体的にどのような援助を受けられるのでしょうか。
ググってみても、島根県の県内企業向けの援助はありましたが
国からってのは見つかりませんでした。
実際、本当の話なのかどうかよく分かりません。
もしご存知の方がいましたらよろしくお願いします。
0233デフォルトの名無しさん
2009/09/09(水) 00:56:07とか、茶化しちゃいけないんだろうか
0234デフォルトの名無しさん
2009/09/09(水) 01:47:01個人的には、HaruPDFライブラリがUTF-8に対応して曲がりなりにも
完全版になってくれれば、10年は恩を感じられるんだが。
もちろん、Ruby方面でもなにか実績を作ってもらえればそれはそれで
素晴らしいんだけど
0235デフォルトの名無しさん
2009/09/09(水) 02:29:46何のために存在してんのこれ?
今となってはそそられるような何かは皆無だしな。
0236デフォルトの名無しさん
2009/09/09(水) 02:39:03実際使える(傲慢)かどうかは知らんが、
> そそられるような何かは皆無
ってのはアレだなあ
0237デフォルトの名無しさん
2009/09/09(水) 02:42:24創造的 or 建設的 or 実効的 、くらいかな。存在意義としては
0238デフォルトの名無しさん
2009/09/09(水) 03:10:45IPA が金を突っ込んだプロジェクトの話?
Ruby もそれなりにもらってるよ。
まず、まつもとさんが2000年にもらってて、array.c とかを見ると言及が残ってる、
array.c: Copyright (C) 2000 Information-technology Promotion Agency, Japan
http://www.ipa.go.jp/jinzai/esp/mitoipedia/seika/year/2000seika.html
笹田さんはYARVで未踏(ユース含む)から3年連続で貰ってるしね
http://www.atdot.net/~ko1/activities/#idx13
0239デフォルトの名無しさん
2009/09/09(水) 05:06:24> 企業でRubyを導入する場合、国からの援助がある
になったのかが気になる
0240デフォルトの名無しさん
2009/09/09(水) 11:24:140241デフォルトの名無しさん
2009/09/09(水) 11:48:45ひとりでやれんのか
やるならお前ひとりでやれ
0242デフォルトの名無しさん
2009/09/09(水) 12:59:26我々多数派はこれからも岡田を追及し続けるってことですね。わかります。
0243デフォルトの名無しさん
2009/09/09(水) 13:09:00メルセンヌツイストとかxor128とかは乱数生成のアルゴリズム名だったのか。知らなかった。
勉強になりました。ありがとうございます。
0244デフォルトの名無しさん
2009/09/09(水) 13:11:510245デフォルトの名無しさん
2009/09/09(水) 13:34:00BioRubyも2005年に未踏でついてるね。早くBioPerlに追いついてほしい。
0246デフォルトの名無しさん
2009/09/09(水) 14:04:05ある意味仕方なかったんだが
0247デフォルトの名無しさん
2009/09/09(水) 14:40:02> メルセンヌツイスト
正しくはメルセンヌツイスターだけどね。
0248デフォルトの名無しさん
2009/09/09(水) 14:42:38それを聞いたソースに尋ねてみたら?
0249デフォルトの名無しさん
2009/09/09(水) 16:29:13ttp://enterprise.watch.impress.co.jp/docs/news/20090909_314346.html
0250デフォルトの名無しさん
2009/09/09(水) 17:41:50標準化ってなにすることなんだっけ
0251デフォルトの名無しさん
2009/09/09(水) 18:01:49政治的駆け引きを繰り返し、
誰もが望まないけれど妥協点の機能を追加し続けること。
0252デフォルトの名無しさん
2009/09/09(水) 19:27:280253デフォルトの名無しさん
2009/09/09(水) 22:50:57ここである程度は合わせてもいいかも
0254デフォルトの名無しさん
2009/09/10(木) 07:40:090255デフォルトの名無しさん
2009/09/10(木) 07:47:40「1.9たいおうにするのめんどくさいから」
なので、1.9 サイコーということになればついてこざるを得ないとは思う
が、Encoding 関連のガイジンさん誰得っぷりが足を引っ張るかも
Latin-X を利用してる人なら恩恵あるんだけどなあ
0256デフォルトの名無しさん
2009/09/10(木) 08:07:06たいして速くないし、エンコードも英語だけ使ってるなら面倒が増えるだけだし。
1.8に比べて特に優れてるところがないんじゃ誰が以降すんだよ
0257デフォルトの名無しさん
2009/09/10(木) 08:28:461.9.6 くらいになればまた違うのではないかと
0258デフォルトの名無しさん
2009/09/10(木) 11:33:17なぜ外人の立場でものを言うのだお前は
0259デフォルトの名無しさん
2009/09/10(木) 11:49:19エラーが出た行を修正すればいいわけじゃないから
0260デフォルトの名無しさん
2009/09/10(木) 11:53:33日本人と限ったものでも
0261デフォルトの名無しさん
2009/09/10(木) 11:53:36海外サイトの方が圧倒的に情報が多いという事実を知らないんだなw
0262デフォルトの名無しさん
2009/09/10(木) 11:56:210263デフォルトの名無しさん
2009/09/10(木) 12:52:55ごめん。意味分からない。
おまえ頻繁に書き込んでると思うけど、ほんとに意味分からないよ。
0264デフォルトの名無しさん
2009/09/10(木) 13:04:34Ruby1.9 かどうかにかかわらず、Rails だから多いということなんでは
0265デフォルトの名無しさん
2009/09/10(木) 13:19:24なるほどね。ものすごく見当違いだから分からんかった。
やれば分かるが1.8系+Railsならそこまで海外サイトに頼らなくても支障はない。
日本のサイトでもヒットするし、書籍もかなりあるし。
1.9になると自分でソース見る以外はほとんど海外サイト頼み。
実際にやりもしない調べもしないやつはこれだから。
0266デフォルトの名無しさん
2009/09/10(木) 13:25:13海外のほうが情報が多いということに気づけなかったのだろ
1.8系列のRailsの情報を海外に求めていれば莫大だと気づけたはず
恥かいてから言い訳とか恥ずかしすぎる
0267デフォルトの名無しさん
2009/09/10(木) 13:36:09というだけの話じゃないのか?
いったい何を言い争ってるんだ
0268デフォルトの名無しさん
2009/09/10(木) 13:54:57彼らが本当に交換しているのは
情報ではなく自尊心なんです。
0269デフォルトの名無しさん
2009/09/10(木) 14:30:310270デフォルトの名無しさん
2009/09/11(金) 03:37:240271デフォルトの名無しさん
2009/09/11(金) 06:57:120272デフォルトの名無しさん
2009/09/11(金) 15:45:030273デフォルトの名無しさん
2009/09/13(日) 00:01:440274デフォルトの名無しさん
2009/09/13(日) 02:47:18ふと思いついたんだが
Tempfile.new("foo"..".rb")
というのは…やっぱりダメだな
0275デフォルトの名無しさん
2009/09/14(月) 16:05:49Ruby1.9.1ではめんどくさいことが防波堤になるという話
まあ実際では正規表現が動かない
から
BINARYにforce_encodingしてからスクリプトで扱ってたりするんですけどね外人爆発しろ
0276デフォルトの名無しさん
2009/09/15(火) 21:53:44http://redmine.ruby-lang.org/issues/show/2101
GJだが、なんで英語?
0277デフォルトの名無しさん
2009/09/16(水) 06:04:56ruby-coreからの転記だからじゃね?
じゃあなんでruby-coreよ?
という疑問は残るけど、英語の方が着目してくれる人数は多そうな気がしなくはない。
0278デフォルトの名無しさん
2009/09/16(水) 06:12:500279デフォルトの名無しさん
2009/09/16(水) 06:27:16ttp://redmine.ruby-lang.org/issues/show/2060
の
>DLをCからRubyに変換する事を勧めます
>DLをCからRubyに変換すれば良いと思ったので、変換しました。CからRubyに変換後のパッチとそのテストを送ります。
>このパッチを受け入れてもらえるのなら、これからもっとCからRubyに変換をするつもりです。
>宜しくお願いします。
ってのをAaronタンがやってるけど、どういう趣旨なんだろ。
移植性の改善とか?
0280デフォルトの名無しさん
2009/09/16(水) 08:12:580281デフォルトの名無しさん
2009/09/16(水) 09:34:08その辺をやっているのは日本人だな。
まぁ、自動設定できるほど甘くはないのがその領域なんだが。
0282デフォルトの名無しさん
2009/09/16(水) 10:33:49DLじゃできないことがあったそうだが、もうわからんらしい.
まぁDLにはいろいろと問題も多いのでFFIに置き換えること自体は賛成.
あとはFFIの完成度だな.
0283デフォルトの名無しさん
2009/09/16(水) 10:53:06ググって勉強してみたいので教えて下さい
0284デフォルトの名無しさん
2009/09/16(水) 10:57:23DL … ダウンロード
FFI … ファイナルファンタジー1
のことのようだ
0285283
2009/09/16(水) 11:02:29http://www.ruby-lang.org/ja/man/html/dl.html
そういえば、Nokogiri を、Linux 版 Ruby、Windows 版Ruby、JRuby で
ためしていて、FFI のところまでいって、Nokogiri は
・Linux 版だと libxml2 の so(?) を開こうとする
・Windows 版だと libxml2 の dll を開こうとする
・JRuby 環境で gem install した Nokogiri だと、落ちた(Java 環境だと、DL 対象がみつからない?定義されていない?)
ということをやりつつソースまで追いかけたんだけど、
キーワードの目の付け所はあってますか??
0287デフォルトの名無しさん
2009/09/16(水) 12:06:09「ruby-coreからの転記」じゃなくてチケット作成のときに英語を選んだから
ruby-coreに行ってるんだよ。
0288デフォルトの名無しさん
2009/09/16(水) 15:14:17ああ、そういう流れになってるのか。得心したわ。
>>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が固まり切ってないという課題があって、
標準添付は課題解決を待ってから、というのが大まかな流れというところ。
0289デフォルトの名無しさん
2009/09/16(水) 19:36:560290デフォルトの名無しさん
2009/09/16(水) 21:17:47ライブラリ管理者氏のDLに対する過大評価と過小評価があったのかな、と
DLを代替できるようなライブラリは出現しないだろう(そんな面倒なことは誰もしないだろう)という
「DL自体への過大評価」と
DLなんて実際のところ大して使われていないだろう(だから救済措置なしに互換性を捨てても移行コストは低いだろう)という
DLやFFIその他の「こういうことをするライブラリのニーズへの過小評価」という
この辺が移行措置なしでいきなり変えちゃった背景なのかな、と
いうところまで書いたところで念のため、アーカイブを確認してみたら、
ライブラリ管理者氏は当初DLとDL2の共存案を提案してますな
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25486
>まだ先の話ですが、Ruby/DL2 がある程度使えるレベルになったら、現行の ruby-1.9 に
>マージすることを考えています。同時に、旧 ruby-dl はしばらく残しておいて、ruby-1.9
>をベースにした安定版のマイナーバージョンアップが2,3回あってから削除しようと考えて
>います。
むしろDL2をDLにしちゃえ案はmatzの提案だったという
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25487
>どうしてもそうしたいというなら別ですが、1.9は「不連続」で
>「非互換」を許容する「2.0のプロトタイプ」という性質がありま
>すから、いっきにdlを置き換えてもあまり問題ないと思いますよ。
まあ2005年頃の状況(Railsが席巻しておらず、1.9移行も早々に行われると見られていた)からすると
当時は妥当な判断だったのかなあ
結果論としては失着でFFIが取って代わることになったけれども
0291デフォルトの名無しさん
2009/09/16(水) 21:18:48なんか変だという気がしてたのが解決した。
0292285
2009/09/16(水) 21:58:56詳細な説明どうもありがとうございます。
DL とは Unix の dlopen() を裏で呼び出すと思うのですが、
Nokogiri のソースの FFI を呼び出すところまで見て、
JRuby 環境だったら、libxml2 の so や DLL を呼び出さずに、
xerces の jar か何かのメソッドを呼び出すようにすれば、
プラットフォームに依存しない Nokogiri 環境が出来るかな、とちょっと妄想していました。
(libxml2 と xerces は API のシグネチャが違うと思うので、実際には簡単にはできないだろうけど)
0293デフォルトの名無しさん
2009/09/16(水) 23:41:08が、何処にも報告してないのでいまだにそのままのはず
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版になったら、困る人も出てくるのしょうか?
0294デフォルトの名無しさん
2009/09/16(水) 23:42:10昔のVBのようにアジャイル用教育言語の香りがしてくるんですが
その辺どうなんでしょう先輩方
0295デフォルトの名無しさん
2009/09/17(木) 05:00:42Practical Extraction and Report Language
作り直しまくる内製のプログラムをやるのに最適という点でVBに似ていなくもない
Rubyプログラム自体を「ハードなウェア」として外部提供したり販売したりするのは於大臣の仕事
それで双方満足してるなら駄目じゃないが、他にやりようもあるよね
0296デフォルトの名無しさん
2009/09/17(木) 06:04:55でもGUI作るならVBのほうがずっと楽。
0297デフォルトの名無しさん
2009/09/17(木) 08:13:24FFIはJRubyの場合にはJNI(Java自身のダイナミックライブラリ呼び出し機構)他を使って
同じように呼び出し出来るようにしてるはず。
その辺がFFIのウリだよね。
>>293
Cygwinでも同様みたいだね
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/188636
でもWindowハンドル列挙って呼び方次第で普通に落ちた気がする
ループ回してるあいだにWindowが増減した場合とかで。
0298デフォルトの名無しさん
2009/09/17(木) 10:08:53http://pc12.2ch.net/test/read.cgi/tech/1249687283/
の次スレたててください。
おながいします。
0299デフォルトの名無しさん
2009/09/17(木) 13:11:32どれが最新版なんだよ
0300デフォルトの名無しさん
2009/09/17(木) 13:15:27(で、 github を gem のsource に指定済みの場合)
gem install hogehoge でインストールされるものが hogehoge 最新安定版
gem install AUTHOR-hogehoge でインストールされるものが hogehoge 開発最新版
git clone git://hogehoge... 等の git コマンドで手元にコピーされるものが hogehoge 開発先端版
と考えていいと思う
gem install hogehoge でいいんじゃね
0301デフォルトの名無しさん
2009/09/17(木) 13:17:53全く知識のないクラスの全く動作が読み解けないメソッドで
nil に対する NoMethodError が出た
もう知らん
今日は休み
0302デフォルトの名無しさん
2009/09/17(木) 13:20:49先端と最新の違いがわかんないけどとにかく gem 使って github をソースに追加しておけばいいんだな
ありがとう
0303デフォルトの名無しさん
2009/09/17(木) 13:29:42勉強くらいしろよ
0304デフォルトの名無しさん
2009/09/17(木) 14:34:00その出力した行から、特定の文字を出力するにはどうすればいいですか?
0305デフォルトの名無しさん
2009/09/17(木) 14:58:51each で書きにくくなってから他の使え
複雑なの使ってからだと each 使えなくなるぞ
特定の文字の特定のしかたによるんではないかと
正規表現で済むなら scan するか if でマッチさせて数値参照読むのが普通
0306デフォルトの名無しさん
2009/09/17(木) 14:59:06grep したやつに sed
0307デフォルトの名無しさん
2009/09/17(木) 16:40:40んーその説明じゃ「特定の文字」がなんなのかわからないかな。
パターンにマッチした文字列のことを指しているんだとエスパーしてみる。
File.open(filename).each do |line| if line =~ /(¥w+)¥.(¥d+)/
puts "#{$1}, #{$2}"
end
end
0308デフォルトの名無しさん
2009/09/17(木) 16:45:07>>298
>Ruby 初心者スレッド Part 30
>http://pc12.2ch.net/test/read.cgi/tech/1249687283/
>
>の次スレたててください。
>おながいします。
0309デフォルトの名無しさん
2009/09/17(木) 16:52:05規制されてて建てられませんでした。ごめんなさい。
0310デフォルトの名無しさん
2009/09/17(木) 17:29:44わかった。俺が立てる。
0311310
2009/09/17(木) 17:41:11Ruby 初心者スレッド Part 31
http://pc12.2ch.net/test/read.cgi/tech/1253176267/
0312デフォルトの名無しさん
2009/09/18(金) 05:06:39http://www.nicovideo.jp/mylist/14722636
0313デフォルトの名無しさん
2009/09/18(金) 16:27:460314デフォルトの名無しさん
2009/09/18(金) 16:56:171.8のdlはstdcallに対応してない。
スタック後処理次第でたまたまうまく行くこともある。
0315デフォルトの名無しさん
2009/09/18(金) 17:55:53rspec 特有の機能を何も使ってない単純なテストだけだということに気がついた
test/unit に書き換え中
0316デフォルトの名無しさん
2009/09/18(金) 18:39:02そんな君には Shoulda がオススメ
0317デフォルトの名無しさん
2009/09/18(金) 18:42:540318デフォルトの名無しさん
2009/09/18(金) 19:34:140319デフォルトの名無しさん
2009/09/18(金) 21:45:02マジで?
じゃあ当然WINAPIとか(あるべき論としては)全滅なわけだけど、
大概のDLのサンプルコードってWIN32APIキックしてMessageBoxを出してみる、
とかなんだよねえ……。
初心者は自動的に地獄に引き摺り込まれているわけかw
0320デフォルトの名無しさん
2009/09/18(金) 21:49:500321デフォルトの名無しさん
2009/09/18(金) 22:32:07そうだったのか〜
でも、なぜMswin版rubyだと落ちないのでしょうか
Win32API呼び出しが一回や二回ならスタックが元に戻ることが多いけど(で、たまたまうまく動く)
連続してコールバックで呼び出されるとスタックが正常に戻る機会が無く
ドンドンずれていってメモリ破壊が起こるってことでしょうか?
普通だったらWin32APIを使うところですが
コールバックできないのでdlを使いました
ググったら dlを使ったサンプルがあったので
1.9のdl(dl2)では 呼び出し規約の指定も出来て
Win32APIは単なるdlのラッパーになってますね
0322デフォルトの名無しさん
2009/09/18(金) 23:34:520323デフォルトの名無しさん
2009/09/19(土) 01:01:23> でも、なぜMswin版rubyだと落ちないのでしょうか
知らん。アセンブラ吐かせて確認してみな。
0324デフォルトの名無しさん
2009/09/19(土) 03:29:030325デフォルトの名無しさん
2009/09/19(土) 04:12:16簡単だからソース読んでみ
0326デフォルトの名無しさん
2009/09/19(土) 05:48:16Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby)
http://www.amazon.com/dp/1934356085/
0327デフォルトの名無しさん
2009/09/19(土) 08:29:141 秒とかに設定すればひょっとしたらご利益はあるかもしれないが
0328デフォルトの名無しさん
2009/09/19(土) 21:21:26導入予定って1.8.6系だけ?
0329デフォルトの名無しさん
2009/09/19(土) 22:06:03ttp://qwik.jp/asakusarb/013_log.html
ttp://qwik.jp/asakusarb/63.html
ただし大物のCopyOnWriteがまだっぽい
0330デフォルトの名無しさん
2009/09/20(日) 17:43:24入るなら1.8.8だが、個別のパッチで出てこない限りマージしようがない。
あれはマージさせたくないとしか。
0331ブグ☆2101を書いたガイ
2009/09/20(日) 19:20:51英語で書いたせいでロスト・イン・トランスレーション気味みていだ。
なおるまで110にちかかったブグ☆1531を見てら、おしっこちびっちゃったでよ。
ジャパニイズ・訳をruby-devにドロップしてら読んでやらなくもねい、っていう人はいるますかね?
0332デフォルトの名無しさん
2009/09/20(日) 19:36:330333デフォルトの名無しさん
2009/09/20(日) 19:49:09のことであろうとエスパーしつつコメントすると、
まだ4日なんだから気長に待つが吉。
目先の回避としてはrubyは原則いつでもメソッドの中身を差し替えられるから
該当するメソッドをとりあえず差し替えてしまえばOK。
0334デフォルトの名無しさん
2009/09/20(日) 20:33:32sinとcosのほうは
x %= two * BigMath.PI(prec)
でいいんじゃないかと思うんだが、加減算のほうが速い?
あとテストが欲しい。
0335331
2009/09/20(日) 21:03:33$ 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っとやられたり
しねいてすかね?
0336デフォルトの名無しさん
2009/09/20(日) 21:28:30どこか、()とかをを省略してないでしょうか。
logはふたつに分けた方が速いような気がします。
計測してませんので、なんともですが。
>>331
前の方に回避方法があります。
本体をいじるのが嫌な人はこっちでひらって調整後、あちらを呼んでください。
flgを立てて、returnのところで調整するのが本当かもしれませんが、
他人のコードをあんまりいじりたくないので。
あれだったら、行を挿入するだけです。
1行で書けるけど、目立つので3行にしました。
>>334
何故か、BigDecimalで%を使う発想がなかったので、私は違うやり方で修正しました。
そっちの方が良いかも。
0337331
2009/09/20(日) 21:50:58だよ。みつけたのはおいらじゃなくてオイラーさんというひとです。
http://mathworld.wolfram.com/InverseTangent.html
とかにあるから探してね。
0338336
2009/09/20(日) 22:16:37どうも、ありがとう。
この手は慣れているつもりだったけど、ちょっとどこかでコーディングミスしているみたい。
あそこの式だと、左がn、右はxで良いのね。
で、左と右を掛け算する。
連休のうちになんとかなるでしょう。
ついでに、asin()も書くつもりだけど、公開できるかどうかは微妙。
色んな意味で。
0339デフォルトの名無しさん
2009/09/20(日) 22:37:40> 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
0340336
2009/09/20(日) 23:03:30>181は確かに、私のレスですね。
>338で言うところの
>色んな意味で
と、言うのは、私に数学的な素養が少ない。
と、言うことも含まれます。
専ら、電気通信の関係で、飯食ってます。
今夜は、炭素と水素の化合物で頭がクルクルなので、明日ゆっくり拝見します。
0341,,・´∀`・,,)っ-○○○
2009/09/20(日) 23:38:470342デフォルトの名無しさん
2009/09/21(月) 00:09:05atanは再提出。
0343デフォルトの名無しさん
2009/09/21(月) 12:56:170344,,・´∀`・,,)っ-○○○
2009/09/21(月) 14:01:12IronRubyがもう少しまともなら・・・
0345デフォルトの名無しさん
2009/09/21(月) 14:50:320346デフォルトの名無しさん
2009/09/21(月) 22:02:20有効桁数を100取って、xを0.001から0.999まで変えながら、
オリジナルと比較してみましたが、問題ないみたいです。
xが1.0以上でもちゃんと計算できますし(ここ重要)、速度も速いです。
リクエストがあれば、私の書いた部分だけ公開します。
実は、あれ以降ある種の罪悪感を感じておりまして、
道を歩いていたら、犬の糞を踏んづけてしまった気分だったのですよ。
でも、今日ふと思ったのですが、
あれは、数学のライブラリーとしては、とても貧弱ですよね。
sin()とcos()はあるのに、tan()はないとか。
tan()=sin()/cos() は中学校で習うのかな。
atan()があれば少しのちょこちょこで、asin()もacos()もできるみたいです。
作者は、いつ何処で誰が指摘するかニタニタしながら待っていたのかもしれません。
(と言うか、とりあえず用意したから、必要な人は勝手に拡張してちょうだいみたいな)
そう考えてみると、犬の糞ではなくて、百円玉拾った気分になって、今夜は終わりにします。
asin()はもう少しです(たぶん)。分母と分子に!のある式でやっております。
atan()からのチョメチョメでも良いのですが、出てきた値の正当性を確認するためには、
複数のものが必要だし、まぁ遊びですから。
0347346
2009/09/22(火) 21:14:17本意は別のところにあるのですが、文章がへたなのと、表現が不適切なところもあって、
変な具合になりました。
そもそも、exp()の不具合は私が最初の発見者では無いと思います。
見切りをつけて、よそに行くひと。
黙ってじっと待っているひと。
知らないで使っているひと。
私はたまたま回避方法を発見したので、発表させて頂きました。
不愉快な思いをされた方には、お詫びを申しあげて、私は退場します。
どうもすみませんでした。
0348デフォルトの名無しさん
2009/09/22(火) 22:01:330349デフォルトの名無しさん
2009/09/23(水) 00:04:530350デフォルトの名無しさん
2009/09/23(水) 00:05:560351デフォルトの名無しさん
2009/09/23(水) 00:43:410352デフォルトの名無しさん
2009/09/23(水) 07:57:580353デフォルトの名無しさん
2009/09/23(水) 08:11:45Smalltalkにしとけ。
0354デフォルトの名無しさん
2009/09/23(水) 10:19:45目新しい考え方を学ぶのにHaskellかってかんじかな。いずれにせよぜんぶやっておk。
0355デフォルトの名無しさん
2009/09/23(水) 10:31:580356デフォルトの名無しさん
2009/09/23(水) 10:33:14ありがとうございました。他の糞ゴミ言語で時間を潰さなくてすみました。
0357デフォルトの名無しさん
2009/09/23(水) 12:58:220358デフォルトの名無しさん
2009/09/23(水) 13:00:140359デフォルトの名無しさん
2009/09/23(水) 19:07:440360デフォルトの名無しさん
2009/09/24(木) 02:31:22積ん読してあるソフトウェアデザイン4月号の Haskell の特集を読んでみたが、
ほとんど理解できなかった
関数型言語は難しい。
Ruby などの、
・クロージャ
・メソッドの引数にブロックを渡せる
というのは理解できているつもりなんだけど
0361デフォルトの名無しさん
2009/09/24(木) 04:23:530362デフォルトの名無しさん
2009/09/24(木) 09:01:44信頼できない入力を inspect して eval して戻しても安全?
0363デフォルトの名無しさん
2009/09/24(木) 09:13:06まめちしき
0364デフォルトの名無しさん
2009/09/24(木) 09:16:52eval(str.dump) は何も起こらないことが保証されてるんだっけ?
このへんあんま気遣ってないんだっけか、太古どっかでなんか聞いた気がする
0365デフォルトの名無しさん
2009/09/24(木) 17:49:12eval(obj.inspect) は何がおきるかわからない
0366デフォルトの名無しさん
2009/09/24(木) 17:57:19あれわざわざオリジナルなの?
0367デフォルトの名無しさん
2009/09/24(木) 18:02:580368デフォルトの名無しさん
2009/09/25(金) 06:21:04それは1.9のみの話? 1.8ではasciiかどうかなんて意識してなかったと思うけど、どうでしょう?
0369デフォルトの名無しさん
2009/09/25(金) 08:18:01ruby 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"
0370369
2009/09/25(金) 08:21:140371デフォルトの名無しさん
2009/09/25(金) 08:56:00それは君が Mac を使ってるからだよ
0372デフォルトの名無しさん
2009/09/25(金) 15:13:24エラーメッセージを生成するためにinspect呼び出してるせいみたいだけど、これタイムアウトか何か設けて欲しいわ
0373デフォルトの名無しさん
2009/09/25(金) 15:22:12インスタンス変数がめっちゃやたらあるとか、
ギガバイトサイズの文字列とか?
0374デフォルトの名無しさん
2009/09/25(金) 15:32:39頂点をあらわすオブジェクトが50個、辺を表すオブジェクトが200個くらいのグラフなんだけど
(辺はそれぞれ長さ1の文字列と頂点一つ、頂点は長さ10〜20の整数と辺の配列をもってる)
普通にプログラミングしてたら作られ得る規模だよね、これ
CPUはE8500だし言うほど古くないと思うんだけど、、、
0375デフォルトの名無しさん
2009/09/25(金) 15:37:550376デフォルトの名無しさん
2009/09/25(金) 16:00:310377デフォルトの名無しさん
2009/09/25(金) 16:04:330378デフォルトの名無しさん
2009/09/25(金) 16:06:16> 頂点をあらわすオブジェクトが50個、辺を表すオブジェクトが200個くらいのグラフなんだけど
> (辺はそれぞれ長さ1の文字列と頂点一つ、頂点は長さ10〜20の整数と辺の配列をもってる)
再帰してんのか?
0379デフォルトの名無しさん
2009/09/25(金) 16:14:45large_string = '巨大文字列' * 20 # 例えば*10000なんかだと表示が大変なことに
p large_string
def large_string.inspect
"#<巨大文字列 #<object_id:0x#{self.object_id.to_s(16)}> size=#{self.size}>"
end
large_string.foobar # => undefined method `foobar' for #<巨大文字列 #<object_id:0x156ad40> size=200> (NoMethodError)
0380デフォルトの名無しさん
2009/09/25(金) 16:22:30こういうオブジェクト作るたびに、エラーメッセージ対策のためにinspectオーバーライドするのはなんかなぁ・・・と
ちなみに、ある程度inspectの結果が巨大になると、かってに#<[クラス名]:16進数文字列>に直してくれるみたいだけど、
それならいっそのこと、inspectに時間がかかるケースも想定して欲しかった、と
class A; def inspect;"A"*10 end end
A.new.hoge ==> NoMethodError: undefined method `hoge' for AAAAAAAAAA:A
class A; def inspect;"A"*10000 end end
A.new.hoge ==> NoMethodError: undefined method `hoge' for #<A:0xcc8594>
0381デフォルトの名無しさん
2009/09/25(金) 16:34:21グラフにループがあるとしたら、何も考えずに頂点と辺の関係をたどってたら無限ループ突入だろ
0382デフォルトの名無しさん
2009/09/25(金) 16:41:34ビルトインのinspectって循環参照考慮してる筈だよね
380で言った「inspectのオーバーライドはしたけど」っていうのは、ビルトインのinspectのせいで止まるから
仕方なく自前で用意した処理の軽いinspectに置換したってこと
0383デフォルトの名無しさん
2009/09/25(金) 16:53:34インスタンス変数がアホみたいに莫大だった場合はボトルネックになる
0384デフォルトの名無しさん
2009/09/26(土) 00:32:45単なるinspect向けにそういうのはないの?
0385デフォルトの名無しさん
2009/09/26(土) 11:10:14あるいは
module Inspector
def inspect_member(name)
...
end
end
class LargeObject
extend Inspector
inspect_member :lines
end
とか
0386デフォルトの名無しさん
2009/09/26(土) 12:51:38速いマシンと遅いマシンとでinspectの結果やら
p の出力が変わったりするとそれはそれで地雷かもなあ
0387デフォルトの名無しさん
2009/09/26(土) 20:52:140388デフォルトの名無しさん
2009/09/26(土) 22:45:12Ruby会議でその話になったときはTwitter見てっていってた。
0389デフォルトの名無しさん
2009/09/26(土) 23:07:24それで更新したらいいのに
0390デフォルトの名無しさん
2009/09/26(土) 23:11:540391デフォルトの名無しさん
2009/09/27(日) 09:18:310392デフォルトの名無しさん
2009/09/27(日) 10:02:00「CloudCrowd 0.1.0」リリース
http://codezine.jp/article/detail/4417
0393デフォルトの名無しさん
2009/09/27(日) 13:27:33twitter見てみたけど、便所の落書きみたいなことしか書いてなかった・・・
blogにもどってくれよん
0394デフォルトの名無しさん
2009/09/27(日) 13:42:49blogとは違ったものだしな
「Matzはblogの更新をやめた」と考えた方がいい
0395デフォルトの名無しさん
2009/09/27(日) 13:48:34Twitterってかなり一般的になってきたけど気が散って生産性落ちたりしないのかな
0396デフォルトの名無しさん
2009/09/27(日) 13:53:02同じようなご利益しかないとも言えます
同じような弊害があるとも言えるわけですが
0397デフォルトの名無しさん
2009/09/27(日) 14:25:25手を出すと集中して本読んだりコード書けなくなる自信がある
0398デフォルトの名無しさん
2009/09/27(日) 19:26:240399デフォルトの名無しさん
2009/09/27(日) 19:33:50>「ログが長期間残らない」
いや、残るけど?
0400デフォルトの名無しさん
2009/09/27(日) 19:36:220401デフォルトの名無しさん
2009/09/27(日) 19:40:00元祖便所の落書きとしては是非invitationを
0402メカMatz
2009/09/27(日) 19:40:130403デフォルトの名無しさん
2009/09/27(日) 20:08:43Twitterのログは途中で消えるよ
いやサーバに残ってるのかどうかは知らんけど、少なくともWeb上から見えなくなる
0404デフォルトの名無しさん
2009/09/27(日) 20:16:36loop
end
でいいやん
0405デフォルトの名無しさん
2009/09/27(日) 20:18:460406デフォルトの名無しさん
2009/09/27(日) 20:24:11お前は黙って無限ループだけしてりゃいいんだよというのを黙々とこなす loop
0407デフォルトの名無しさん
2009/09/27(日) 20:38:19制御構文になったら違ってくるのかもしれないけど
0408デフォルトの名無しさん
2009/09/27(日) 20:45:42Web上からも見えるよ
一覧上からたどれなくなるだけで
個別のエントリのURLを控えておけばいつでも参照可能。
0409デフォルトの名無しさん
2009/09/27(日) 21:29:44そうなん?
ここに書いたらまたlength/sizeのときみたいに笹田さんが直してくれそうだな
0410デフォルトの名無しさん
2009/09/27(日) 21:31:55放っておいてもいつか速くなると思われる
0411デフォルトの名無しさん
2009/09/27(日) 21:35:53最適化が本格化すると、loopをバイトコードレベルで
無限ループに書き換えるくらいはやってくれるだろう
0412デフォルトの名無しさん
2009/09/27(日) 21:36:010413デフォルトの名無しさん
2009/09/27(日) 21:36:270414デフォルトの名無しさん
2009/09/27(日) 21:41:530415デフォルトの名無しさん
2009/09/27(日) 21:42:32Rubyのソースコード書き変えて再コンパイルしれ
たぶんいちばん早い
0416デフォルトの名無しさん
2009/09/27(日) 21:48:40本人降臨したの?
0417デフォルトの名無しさん
2009/09/27(日) 22:02:53切実に速くしたかったらCで書くだろJK
せっかく超高級言語つかってんだし、loop do endって書くキモチを
大事にしたいんだもん
0418デフォルトの名無しさん
2009/09/27(日) 22:19:410419デフォルトの名無しさん
2009/09/27(日) 23:03:270420デフォルトの名無しさん
2009/09/28(月) 06:44:34str.force_encoding(::Encoding::ASCII_8BIT)
end
について本スレで何かコメントでもあれば
0421デフォルトの名無しさん
2009/09/28(月) 07:01:520422デフォルトの名無しさん
2009/09/28(月) 08:01:530423デフォルトの名無しさん
2009/09/28(月) 08:05:400424デフォルトの名無しさん
2009/09/28(月) 08:07:52てめえちょっと表出ろ
0425デフォルトの名無しさん
2009/09/28(月) 08:10:260426デフォルトの名無しさん
2009/09/28(月) 08:22:330427デフォルトの名無しさん
2009/09/28(月) 08:25:15ト
ン
セ
|
パ
0
2
り
残
た
よかっ
0428デフォルトの名無しさん
2009/09/28(月) 08:34:260429デフォルトの名無しさん
2009/09/28(月) 11:29:54A-Zで登録アプリを26^2個呼び出せる
CUIなランチャ作ったけど起動が重いな。
Lightspeed Languageの登場が望まれる。
0430デフォルトの名無しさん
2009/09/28(月) 11:50:50SafariというかWebkitの人が直してくれないから
https://bugs.webkit.org/show_bug.cgi?id=24906
0431デフォルトの名無しさん
2009/09/28(月) 11:53:41RUBY_VERSIONじゃなくて、>>428の言うとおりforce_encodingかEncoding見てください。
なお、勝手に俺バージョンのforce_encodingやEncodingを1.8で定義しないように。
その辺を見て分岐することが推奨されているので、MRI以外で死にます。
0432デフォルトの名無しさん
2009/09/28(月) 11:55:47文字列リテラル使うとオブジェクトが増える。
0433デフォルトの名無しさん
2009/09/28(月) 11:58:190434デフォルトの名無しさん
2009/09/28(月) 12:34:09> 勝手に俺バージョンのforce_encodingやEncodingを1.8で定義しないように。
Javaでも使っとれ
0435デフォルトの名無しさん
2009/09/28(月) 12:40:57Ruby 1.9 の Encoding が動作してくれないと困るのであるなら、そのように記述するべき
我々は実際には Ruby のメジャーバージョンを考慮しているのである以上、
スクリプトとしての記述もバージョンで分岐させるように書か「なければならない」
0436デフォルトの名無しさん
2009/09/28(月) 12:50:23どっちかというと文字列から Encoding の特定の定数を決定する処理の負担のほうが嫌気されるのでは
毎回いちいち探させるくらいなら定数として最初から書いておいたほうがプログラム的に親切
.encode('utf8') や encode('sjis') って動作したっけ、encode('EUC-JP-MS') って使えるのか、とか悩む必要もなし
定数だった場合は間違ってれば Ruby が uninitialized constant で教えてくれる
0437デフォルトの名無しさん
2009/09/28(月) 12:52:46if str.respond_to?(:force_encoding) && defined?(::Encoding::ASCII_8BIT) &&
str.respond_to?(:encode) && str.respond_to?(:encoding) &&
defined?(::Encoding::UTF_8) && str.class.new.encode(::Encoding::UTF_8).encoding == ::Encoding::UTF_8 &&
(_ = str.class.new.encode(::Encoding::UTF_8).force_encoding(::Encoding::ASCII_8BIT); _.encoding == ::Encoding::ASCII_8BIT) then
str.force_encoding(::Encoding::ASCII_8BIT)
end
0438デフォルトの名無しさん
2009/09/28(月) 13:06:30「標準のStringがforce_encodingを持ってるなら」とか
そういう指定の仕方ができないんだよね
それを唯一担保するのがRubyのメジャーバージョンなんだから仕方ないわ
0439デフォルトの名無しさん
2009/09/28(月) 13:10:190440デフォルトの名無しさん
2009/09/28(月) 13:11:34MRI以外のこと忘れてない?
0441デフォルトの名無しさん
2009/09/28(月) 13:17:37respond_to? を通っても別のどっかで齟齬の例外が出てそもそも動かないことが逆に期待されるから別にいいじゃん(素
バージョン併用スクリプトの書き方のガイドは特急で作ったほうがいいかも
0442デフォルトの名無しさん
2009/09/28(月) 13:20:58だからそれが>>428だろ
0443デフォルトの名無しさん
2009/09/28(月) 13:23:310444デフォルトの名無しさん
2009/09/28(月) 13:25:17よし解決
皆の者我に続け
0445デフォルトの名無しさん
2009/09/28(月) 13:26:172.0までにPython同様内部文字コードに変換する作りにしといてね。
0446デフォルトの名無しさん
2009/09/28(月) 13:38:28String のエンコーディング関連は Encode のメソッドからしか操作参照できないようにしておけばあるいは
0447デフォルトの名無しさん
2009/09/28(月) 13:58:21Pythonのucs2/ucs4絡みとかUnicodeString絡みとか見ておいで
0448デフォルトの名無しさん
2009/09/28(月) 14:13:51いや、1.8互換ってのが茨の道なんだと思うけど。
> String のエンコーディング関連は Encode のメソッドからしか操作参照できないようにしておけばあるいは
他の言語ならそうしたかもね。
0449デフォルトの名無しさん
2009/09/28(月) 17:09:38はじめから 32bit ぐらいの幅にして、世の中の全種類の文字を一意に判定、
かつ少しぐらい文字が増えてもいいようなテーブル作っておけばよかったんだ
0450デフォルトの名無しさん
2009/09/28(月) 17:10:030451デフォルトの名無しさん
2009/09/28(月) 17:15:270452デフォルトの名無しさん
2009/09/28(月) 17:15:34UTF-8はUnicodeのエンコーディング方法の1つでしかない。
0453デフォルトの名無しさん
2009/09/28(月) 17:21:34UTF-8以外のUnicodeや広域文字実装を実質全く見ないのがその証拠
どんなに理想的でも、利用されないと意味がない
そういう意味で大変戦略的な「とてもマシ」な代物
0454デフォルトの名無しさん
2009/09/28(月) 17:23:160455デフォルトの名無しさん
2009/09/28(月) 17:23:18「1.8」なんて存在しないだろ
あるのはオブジェクトがrespondするかどうかだろ
0456デフォルトの名無しさん
2009/09/28(月) 17:31:18まあ、これまでの理屈で言えばそうだな
1.8用や1.9用というバージョン分けの理由はないはず
0457デフォルトの名無しさん
2009/09/28(月) 17:32:480458449
2009/09/28(月) 17:38:33もしかして違うの?
たしかに UTF-16 とか UTF-32 とか、UCS2 とか UCS4 という単語は聞いたことがあって、
どう違うのかはわかっていなかったけど
>>457
はげどう
でも ASCII オンリーな環境の時は、だいぶ無駄になっちゃうね
0459デフォルトの名無しさん
2009/09/28(月) 17:45:44語弊を恐れず一言で言えば概念と実装
0460デフォルトの名無しさん
2009/09/28(月) 17:46:37Unicodeってのは、規格群の総称のような感じで、
UTF-*は文字符号化形式及び文字符号化スキーム
UCS-*は符号化文字集合
0461デフォルトの名無しさん
2009/09/28(月) 17:55:38そのUnicodeをバイト列表現する(エンコードする)やり方が何種類かあってそれがUTF-*
って理解をしているんだけど
0462デフォルトの名無しさん
2009/09/28(月) 18:25:10前に書いた記事を読んでください、わからないところがあれば答えます。
http://gihyo.jp/dev/serial/01/ruby/0004?page=2
>>459
UnicodeはUTF-8を含むので違う。(ISO 10646はおいておいて)
>>460
おおむね正しいんだけど、UCS-2とUCS-4も文字符号化表現なんだよね。
http://d.hatena.ne.jp/nurse/20090325#1237964260
>>461
基本的に正しい。
世界中の文字を集め、Unicode scalar valueという数字を割り振り、
さらにその他文字を扱うのに必要な規格を定義しているのがUnicode。
その他の規格っていうのは、例えば「だいたいこれとこれは同じ意味の文字」
って処理をするための「Unicode正規化」とか、大文字小文字変換とか。
この辺まで定義しているのがUnicodeの凄いところ。
http://www.unicode.org/versions/Unicode5.1.0/
先述の通り、UTF-*だけじゃなくて、UCS-2とUCS-4もバイト列表現するためのやり方。
0463デフォルトの名無しさん
2009/09/28(月) 18:43:33じゃあバージョンとか本当はいらないんじゃね?
0464デフォルトの名無しさん
2009/09/28(月) 18:52:08スクリプトの実行者はスクリプトが実行されているシステムのこともRubyのことも知っていて
スクリプトを適宜修正可能であるというモデルを暗黙に設定してるのは確か
“お客様”であるという前提はあまりしてないはず
0466デフォルトの名無しさん
2009/09/28(月) 18:59:56概念は実装を含むと思うけど
仕様と実装のほうがよかった?
たとえばRubyと言えばMRIを含む(指す)ように
まあ一言なんて所詮はたとえ話みたいなもんだw
0467デフォルトの名無しさん
2009/09/28(月) 19:04:05例外出たら自分の環境に合わせて修正してもらえればいいんじゃね、というスタンスではある
rescue もいわゆるバージョン差異を埋めるために使うものじゃないわけでさ
0468デフォルトの名無しさん
2009/09/28(月) 19:04:410469デフォルトの名無しさん
2009/09/28(月) 20:24:45バグ報告対応で使います。
>>465
http://dsas.blog.klab.org/archives/51322951.html
この辺とか。
まぁ、言語を実装する側にとってもUCS正規化の方が楽だけどね。
>>466
なんか「抽象」は「具体」を含むと言っているように聞こえるんですが
0470デフォルトの名無しさん
2009/09/28(月) 21:38:09概 念 は 実 装 を 含 む
0471デフォルトの名無しさん
2009/09/28(月) 22:58:07http://jibun.atmarkit.co.jp/ljibun01/rensai/leader/33/01.html
Yuguiさんかっけええええええええ
0472デフォルトの名無しさん
2009/09/28(月) 23:12:180473デフォルトの名無しさん
2009/09/29(火) 22:51:18足りねえぞおい
0474デフォルトの名無しさん
2009/09/29(火) 22:55:220475デフォルトの名無しさん
2009/09/29(火) 22:58:04さんかっけー
(ボケだったらスルーしてくれ)
しかしいい写真だな
0476デフォルトの名無しさん
2009/09/29(火) 23:00:550477デフォルトの名無しさん
2009/09/29(火) 23:08:00RubyWorld conf での議論を受けて、スケジュール切り直し。
後日開発者会議で決定。
RubySpec全パスを目指すみたい。[ruby-core 25707]
上のメールで触れられている開発者会議は10月13日にダイビルで開催。
[ruby-dev:39404][ruby-core:25841]
0478デフォルトの名無しさん
2009/09/30(水) 00:57:050479デフォルトの名無しさん
2009/09/30(水) 08:16:38自分の妄想に正面から向き合う勇気を持てよ
0480デフォルトの名無しさん
2009/09/30(水) 09:23:06関連記事で気づいたんだが、富田倫生の「パソコン創世記」
@itが連載形式で掲載してたんだな。
全文、青空文庫で読めるわけだが。
0481デフォルトの名無しさん
2009/09/30(水) 09:56:09【島根】 プログラミング言語「Ruby」開発者ら3人を松江市名誉市民に
ttp://tsushima.2ch.net/test/read.cgi/newsplus/1254271871/
0482デフォルトの名無しさん
2009/09/30(水) 10:04:430483デフォルトの名無しさん
2009/09/30(水) 15:59:070484デフォルトの名無しさん
2009/09/30(水) 16:25:200485デフォルトの名無しさん
2009/09/30(水) 19:37:110486デフォルトの名無しさん
2009/10/01(木) 00:02:020487デフォルトの名無しさん
2009/10/01(木) 00:04:420488デフォルトの名無しさん
2009/10/01(木) 00:09:23http://tsushima.2ch.net/test/read.cgi/newsplus/1254271871/
0489デフォルトの名無しさん
2009/10/01(木) 00:55:13過疎で悩んでる地域はIT会社の誘致とかしろよ
ほとんどオンラインで出来るから場所は関係ないしな
0490デフォルトの名無しさん
2009/10/01(木) 03:10:02これまめちしきな
0491デフォルトの名無しさん
2009/10/01(木) 03:54:340492デフォルトの名無しさん
2009/10/01(木) 04:01:39お前都会でしかネット使ったことないだろ
0493デフォルトの名無しさん
2009/10/01(木) 04:11:43田舎は下手すりゃISDNだったりするからある程度都会だったほうがいいのは事実
社員集まれと言ったときにJRの駅がないとか非常に困る
0494デフォルトの名無しさん
2009/10/01(木) 04:23:10別に松江でいいじゃん。
0495デフォルトの名無しさん
2009/10/01(木) 04:34:560496デフォルトの名無しさん
2009/10/01(木) 05:42:21旅行でビジネスホテル使ってもかなりブロードバンド引いてあるし
家の中にばっかいないで外に出ろよ
0497デフォルトの名無しさん
2009/10/01(木) 07:54:320498デフォルトの名無しさん
2009/10/01(木) 08:25:59お前こそJRをどういう意味で使ってるんだ
駅だぞ? ブロードバンドが引いてあろうが何だろうが
交通手段が無いところでIT会社が成長するのは難しすぎる
0499デフォルトの名無しさん
2009/10/01(木) 08:34:100500デフォルトの名無しさん
2009/10/01(木) 08:36:45JRの駅くらいしかない。
0501デフォルトの名無しさん
2009/10/01(木) 08:38:230502デフォルトの名無しさん
2009/10/01(木) 08:46:170503デフォルトの名無しさん
2009/10/01(木) 09:11:31初めから会話が成り立ってないな
0504デフォルトの名無しさん
2009/10/01(木) 09:19:550505デフォルトの名無しさん
2009/10/01(木) 09:23:210506デフォルトの名無しさん
2009/10/01(木) 11:54:31と思ったら、那覇があったか。
0507デフォルトの名無しさん
2009/10/01(木) 13:26:38確かに>>490は「都会」とは言ってるが「首都圏」とまでは言ってないからな
0508デフォルトの名無しさん
2009/10/01(木) 15:56:30Ruby1.8 と Ruby1.9 で併用するスクリプトで文字列のエンコーディングの変換をしたいんだけども
Ruby1.9 では String#encode を使ったほうがいい?
共通で使えるから Iconv.conv でいいやーとかはダメ?
0509デフォルトの名無しさん
2009/10/01(木) 17:57:42距離は微妙だな。
客は大都市圏のほうが多いから、営業と打ち合わせは大都市に事務所無いとコスト掛かるな。
0510デフォルトの名無しさん
2009/10/01(木) 18:02:18併用かつ常に同じiconv実装を使える保証があるならIconvでいいと思う。
保証が無くて、CP932やCP51932くらいしか使わないのだったらNKFの方がよい。
どちらでもないなら場合によるかなぁ。
0511デフォルトの名無しさん
2009/10/01(木) 20:21:070512デフォルトの名無しさん
2009/10/01(木) 20:44:52そういえば1.8の$KCODEって
sはCP932,eはCP51932を期待していいもんなんだろうか
なんとなくWindowsは期待していい気がするけど他OSだと微妙な気がしてきた
0513デフォルトの名無しさん
2009/10/02(金) 11:34:22Ruby1.8 の時より退化してるような気がしなくもないんだが、なんか超賢い irb の設定とかある?
0514デフォルトの名無しさん
2009/10/02(金) 11:43:54$ irb1.9
irb> p "うんこ".encode('UTF-8')
"うんこ"
irb> p "うんこ".encode('Shift_JIS')
"????"
irb> p "うんこ".encode('EUC-JP')
"????"
$
$ irb1.9 -Eutf-8
irb> p "うんこ".encode('UTF-8')
"うんこ"
irb> p "うんこ".encode('Shift_JIS')
"うんこ"
irb> p "うんこ".encode('EUC-JP')
"うんこ"
$stdout の external encoding を irb 内で直接切り替えてもよさそうだが方法がよくわからんかった
0515デフォルトの名無しさん
2009/10/02(金) 12:57:370516デフォルトの名無しさん
2009/10/02(金) 13:09:20irb で実行されたファイル保存なんかが UTF-8 に切り替わる危険性はあるが
0517デフォルトの名無しさん
2009/10/02(金) 15:51:25$stdout.set_encoding("locale", undef: :replace, invalid: :replace)
$stderr.set_encoding("locale", undef: :replace, invalid: :replace)
0518デフォルトの名無しさん
2009/10/02(金) 16:40:11メソッド名変えないと
0519デフォルトの名無しさん
2009/10/02(金) 16:54:49begin ... end で括っただけでやや重いとかそういうことってある?
0520デフォルトの名無しさん
2009/10/02(金) 17:02:35たぶん、その重さが気になる状況ならRuby自体やめろっていう程度だと思う
0521デフォルトの名無しさん
2009/10/02(金) 17:15:25自作メソッドが微妙に似た機能で全く同じ名前だと困るよね
0522デフォルトの名無しさん
2009/10/02(金) 17:17:460523デフォルトの名無しさん
2009/10/02(金) 17:19:59もう出てたりする?
0524デフォルトの名無しさん
2009/10/02(金) 17:23:51定数(マジックナンバー的な意味での)も同様
camelCaseは使わん
0525デフォルトの名無しさん
2009/10/02(金) 18:18:06クラス・モジュールはUpperCamel
それ以外の定数は大文字でアンダースコア区切り
例外はString()とかInteger()とか
0526デフォルトの名無しさん
2009/10/02(金) 19:45:08ホットスポットをCモジュールに切り出せ、以上、で終わってしまうので、
そういう本は出ない。てかEffectiveじゃなくてEfficient?
0527デフォルトの名無しさん
2009/10/02(金) 19:48:160528デフォルトの名無しさん
2009/10/02(金) 19:57:57アプリケーションレベルでの高速化(キャッシュとか並列化とか)はよく聞くけど
Rubyプログラムの高速化はあんまり聞かないなあ。
「Ruby 速い」でぐぐったらるびまの記事とかあったけど、求めるものとは違うかも。
ttp://jp.rubyist.net/magazine/?0022-FasterThanC
0529デフォルトの名無しさん
2009/10/02(金) 20:54:020530デフォルトの名無しさん
2009/10/02(金) 20:58:295冊も参考書買ったのに
0531デフォルトの名無しさん
2009/10/02(金) 21:06:03Rubyの標準添付ライブラリを見てくれていれば
- (ハイフン)が標準だということは分かっただろうに・・・
wx_sugar、お前のことだ
0532デフォルトの名無しさん
2009/10/02(金) 21:42:52ライブラリ名も命名されてる方が一貫性があって好み
というわけで、最近書くRubyライブラリ名はみなアンダースコア
区切りに統一した
0533デフォルトの名無しさん
2009/10/02(金) 21:55:20頼むからやめてくれ
もうこれ以上、require書くときに「ハイフンだっけアンダースコアだっけ」とか悩みたくない
0534デフォルトの名無しさん
2009/10/02(金) 21:55:560535デフォルトの名無しさん
2009/10/02(金) 21:57:25まっとうな判断だと思う
どうせクラス名・メソッド名になればハイフンは使えないんだし、無意味な脳内変換が必要になるだけ
0536デフォルトの名無しさん
2009/10/02(金) 22:03:22空気呼んでくれ
0537デフォルトの名無しさん
2009/10/02(金) 22:46:530538デフォルトの名無しさん
2009/10/02(金) 22:57:200539デフォルトの名無しさん
2009/10/02(金) 23:14:43アンダースコアを使う。
const_missing 時に Foo::BarBaz → foo/bar_baz と変換した
名前で require する機構がある。
0540デフォルトの名無しさん
2009/10/03(土) 04:57:110541デフォルトの名無しさん
2009/10/03(土) 05:07:53・ ActiveSupport はハイフンに変換すべき
・ 必要なのはファイルではなくクラスやモジュールである以上ファイル名に依存するのが糞
・ マニュアル読まずにライブラリ使おうとすること自体が間違い
どれか選ぶよろし
0542デフォルトの名無しさん
2009/10/03(土) 05:14:43候補を表示するサポートがあってもいいかな、と思うことはちらっとある
0543デフォルトの名無しさん
2009/10/03(土) 05:29:39ttp://shugo.net/ruby-codeconv/codeconv.html
0544デフォルトの名無しさん
2009/10/03(土) 05:33:53その中からRubyはハイフンを選んだわけで
娘を人質にとられてるとかそういう事情があるのでない限り
利便性を捨てる理由がないのならハイフンにするのが無難
0545デフォルトの名無しさん
2009/10/03(土) 05:57:450546デフォルトの名無しさん
2009/10/03(土) 07:32:06all_load_paths-c.yaml
0547デフォルトの名無しさん
2009/10/03(土) 09:22:010548デフォルトの名無しさん
2009/10/03(土) 09:40:280549デフォルトの名無しさん
2009/10/03(土) 09:44:36全然進歩がない。それで困ってないといえば困ってないんだけど。
開くたびに違うTIPSや小ネタ表示してくれるサイトとかってないですか?
0550デフォルトの名無しさん
2009/10/03(土) 09:59:50困るような問題が無いならそれでいいじゃないか
以上
0551デフォルトの名無しさん
2009/10/03(土) 11:33:13レシピブックをひととおり読んでみるとか
0552デフォルトの名無しさん
2009/10/03(土) 12:03:33どのレシピブック?
0553デフォルトの名無しさん
2009/10/03(土) 14:32:53これ初心者に役立つのか?とは思いつつも盲点をつかれたような回答がついたりと
為になることもままある
さっぱりなときも多いけどw
それはともかく他人のコード読みまくるのが一番だと思うよ
0554デフォルトの名無しさん
2009/10/03(土) 14:37:060555デフォルトの名無しさん
2009/10/03(土) 14:39:55それもブラックボックスで困らないというなら、その程度で身の丈に合ってるんじゃね
0556デフォルトの名無しさん
2009/10/03(土) 14:51:08ぐちゃぐちゃのhtml渡してもパースエラー吐かずにがんばってくれるのがいいです
0557デフォルトの名無しさん
2009/10/03(土) 15:07:14それすらできんのでは成功はない
0558デフォルトの名無しさん
2009/10/03(土) 16:27:53方言を標準語に直して字句解析すればおk。
0559デフォルトの名無しさん
2009/10/03(土) 16:49:460560デフォルトの名無しさん
2009/10/03(土) 23:01:42htmlsplit
>>557
ライブラリに関しては、探しても見つけられない
(or 良くないものを見つけて満足してしまう)
ことがよくあるので、人に聞くべきだと思う
0561デフォルトの名無しさん
2009/10/03(土) 23:25:46まあ、分かっちゃいたけど下手したらさらに1年後くらいになりそうだな
0562デフォルトの名無しさん
2009/10/04(日) 00:39:110563デフォルトの名無しさん
2009/10/04(日) 00:46:43延期というかリスケ。[ruby-core:25707]
決まるのは10/13の会合で。[ruby-core:25841]
0564デフォルトの名無しさん
2009/10/04(日) 14:33:480565デフォルトの名無しさん
2009/10/04(日) 14:40:58正式版でうんこは臭うからやめてくれ
0566デフォルトの名無しさん
2009/10/04(日) 14:42:00リリースが質を高めるモチベーションになってるからさ
0567デフォルトの名無しさん
2009/10/04(日) 14:43:350568デフォルトの名無しさん
2009/10/04(日) 16:09:141.9.2はなるべく早く出して欲しいなぁ
0569デフォルトの名無しさん
2009/10/04(日) 16:45:42「それ」はおそらく1.9.1でも充分に行えるはずだし、そうしておくべき
あと RUBY_VERSION >= '1.9.0' の問題は公式にコメントなりガイドなりあったほうがええぞ
0570デフォルトの名無しさん
2009/10/04(日) 16:49:24ここに書いて解決する可能性は低いと思う
0571デフォルトの名無しさん
2009/10/04(日) 16:54:56どうにかなるんだよMerbユーザにとっては
1.9.2を待ってる人は相当多いと思う
0572デフォルトの名無しさん
2009/10/04(日) 17:20:29alias _old_hoge hoge
def hoge
old = _old_hoge
...
end
だとまずい、みたいな
0573デフォルトの名無しさん
2009/10/04(日) 17:25:55「提供されてるそのまんまのはずの機能を使ってごく素直に記述して“きちんと動作する”のに怒られる」
という点では似ていなくもない
0574デフォルトの名無しさん
2009/10/04(日) 17:29:01結局「バージョン番号分岐でもdefined?でもどっちでもいい」って方向で
まとまったんじゃなかったけ
0575デフォルトの名無しさん
2009/10/04(日) 17:31:040576デフォルトの名無しさん
2009/10/04(日) 17:32:050577デフォルトの名無しさん
2009/10/04(日) 17:44:28各々で動作しない場合の理由の例示というのはあってもいいかな、と思う
動作しない場合を踏まえた上で利用するのは全く問題あんめえ
defined?(Encoding) は Module::Encoding が include されてると誤爆するから defined?(::Encoding) と書け、とか
str.respond.to?(:force_encoding) は ::Encoding の存在を保証しないから defined?(::Encoding) にしとけ、みたいな
RUBY_VERSION が駄目な理由は結局明示されなかったが
0578デフォルトの名無しさん
2009/10/04(日) 17:52:510579デフォルトの名無しさん
2009/10/04(日) 18:14:40スクリプト作者が考慮することじゃない気がしてならない
そのプラットフォームで Ruby を使用する利用者側が、各々の環境における代替手段を追記すべき
0580デフォルトの名無しさん
2009/10/04(日) 19:10:24例えば1.8系にコンパチの機能がついて要件を満たした時に、無駄に1.9系を要求することになるから微妙だという話じゃなかったっけ
あとはMRI以外の実装がバージョン番号と機能が一致しないんじゃないかって話とか
そのへんは事情がよくわかんないけど
0581デフォルトの名無しさん
2009/10/04(日) 19:14:40「1.8.8.ではどうなるかわからないだろ」なんてのは今議論されてもそいつが困るだけのはずなのに
0582デフォルトの名無しさん
2009/10/04(日) 19:31:20機能 A は存在するが機能 B は存在しない、というような複雑な状況を無視できる
本当に respod_to? と defined? を使っていったら可読性は限界まで下がるぞ
0583デフォルトの名無しさん
2009/10/04(日) 19:34:010584デフォルトの名無しさん
2009/10/04(日) 19:37:351. >>580
2. 「Encodingが必要だ」という意図が分かりやすい
の二つが今まで挙がってたはず
両方とも一長一短あるし、俺はどっちでもいいと思うよ
>>582
Encoding関連以外に、if文で分岐しないといけないような機能ってないのでは
0585デフォルトの名無しさん
2009/10/04(日) 19:45:25なおかつ iconv とかも必要として実装依存だから例外中の例外とも言える
でも使用前に返り値が Enumerable かどうか確かめるとかいうのはめんどいぬ
0586デフォルトの名無しさん
2009/10/04(日) 19:49:180587デフォルトの名無しさん
2009/10/04(日) 19:56:44そういうのは例外で動作止まるのを期待してノーチェックでいいだろ
0588デフォルトの名無しさん
2009/10/04(日) 20:00:40tap程度なら、ない環境を検出したら自前の定義を提供すればいい。
0589デフォルトの名無しさん
2009/10/04(日) 20:05:28require '1.9/main.rb'
else
require '1.8/main.rb'
end
これが許されざるよなのが辛い
実質2バージョンを並行管理しないといけないのも辛いが
0590デフォルトの名無しさん
2009/10/04(日) 20:11:40文字列とIOだけは別途処理しないとどうにもならないが
0591デフォルトの名無しさん
2009/10/05(月) 08:16:44だね。どんなフューチャーがサポートされてるか、って観点だとそれが一番きれい。
当面はそういうgemを作って凌ぐとして、
次の1.9系、1.8系リリースで入らんもんかね。
0592デフォルトの名無しさん
2009/10/05(月) 08:33:16今入っても、もう遅いだろう
動く環境と動かない環境があるのでは……
というか、もし1.9.1の時点でhas_encoding?が入っていたとしても
そのメソッドは1.8.0や1.6.xでは動かないのだから
どちらにしても、あまり役に立たないと思う
0593デフォルトの名無しさん
2009/10/05(月) 08:34:170594デフォルトの名無しさん
2009/10/05(月) 08:52:200595デフォルトの名無しさん
2009/10/05(月) 08:53:060596デフォルトの名無しさん
2009/10/05(月) 08:53:17バージョンチェック部分の記述だけで10バージョンぐらい比較してたりしてw
0597デフォルトの名無しさん
2009/10/05(月) 08:58:180598デフォルトの名無しさん
2009/10/05(月) 09:02:21なんだかかっこいいな。
0599デフォルトの名無しさん
2009/10/05(月) 09:03:18期待どおりの動作をするか(エラーが出ず、出力も想定どおりか)
チェックしてたりするな。
0600デフォルトの名無しさん
2009/10/05(月) 09:48:451.8 と 1.9 ではインストールされるファイルが違うという rubygem は前どっかで見た
面倒だからほとんど行われてないけど
まあこのスレの論理で言うとバージョンでの分岐や
ライブラリインストール時の環境固定でチェックするなんてことは
あってはならないわけだが(w
あくまで実行時にすべてがチェックされるべきであり
0601デフォルトの名無しさん
2009/10/05(月) 10:31:45「メソッドの存在は一緒だし返り値のクラスも同じなのだが返り値の具体値が 1.9 と 1.8 では違う」
というような場合に、非 RUBY_VERSION 派はどう書くのか知りたい
0602デフォルトの名無しさん
2009/10/05(月) 10:38:410603デフォルトの名無しさん
2009/10/05(月) 10:45:22String#inspect あたりは違うかもしれん
defind?(::Encoding) の範疇かどうかがちと微妙
0604591
2009/10/05(月) 11:35:02あばばばば
W-ZERO3から入力したから!!入力補完とバック・トゥ・ザ・フューチャーが悪いんや!!!
(顔を真っ赤にしながら)
で、gemについては
・どうにかしてある機能が実行環境下で存在するか判定
・機能の有無をFeature.has?(Synbol)とかそんな感じでチェックできるように
なんてgemを作っておいて、機能の有無で処理を切り分けたい側は
このgemに依存関係を与えておくと。
とはいえ、俺も文字コード関連のほかにはFiberぐらいしか
嬉しいところが思いつかないけどね。
0605デフォルトの名無しさん
2009/10/05(月) 11:46:490606デフォルトの名無しさん
2009/10/05(月) 12:09:36Class#name。
[1.8] Class.new.name # => ""
[1.9] Class.new.name # => nil
0607デフォルトの名無しさん
2009/10/05(月) 12:37:02そこでdefine?使う理由がないし、>>603三行目はdefine?派の主張ねじまがってないか?w
ただライブラリなりアプリなりのユーザが制御する方法を用意すれば
判定方法にこだわる必要なくなるんじゃないかとずっと考えてた
# 1.9の場合
require 'hogelib'
# 1.8の場合
require 'hogelib/compat-1.8'
require 'hogelib'
1.9指定もなにかrequireさせて、単体呼び出しは自動判定というインターフェイスのほうがいいのかな?
「自動判定手段に納得いかないなら手動ないし自作コードで判定しろよ」と言えるようになる
requireするファイルの中身は依存コードをモジュール化して切り出す方が理想っぽいけど
めんどくさいしフラグ立てておけば十分だろうw
COMPAT_1.8 = true
0608デフォルトの名無しさん
2009/10/05(月) 12:45:450609デフォルトの名無しさん
2009/10/05(月) 12:57:25>>455
0610デフォルトの名無しさん
2009/10/05(月) 14:56:481.8はもうダメだ。終わった。
1.9で動かないrubyプログラムは捨てろ。書き直せ。
0611デフォルトの名無しさん
2009/10/05(月) 19:54:360612デフォルトの名無しさん
2009/10/05(月) 19:58:200613デフォルトの名無しさん
2009/10/05(月) 20:04:48最近始めたんだけど、そんなに違うの?
0614デフォルトの名無しさん
2009/10/05(月) 20:12:59文字列の文字エンコードとファイルIOが、互換性保ちつつ書くのがとてもめんどくさいレベル
1.8のほうが普段遣いの範囲では直感的なので、1.8で慣れてから1.9に移行するのがベスト
0615デフォルトの名無しさん
2009/10/05(月) 20:17:410616デフォルトの名無しさん
2009/10/05(月) 20:19:25> # 1.8の場合
> require 'hogelib/compat-1.8'
こんなマネをするくらいなら、ということだよ。
0617デフォルトの名無しさん
2009/10/05(月) 20:21:58ところでjava, c#とおなじで、文字列用クラスで内部エンコードがutf16のクラスってのはいつ組み込みクラスになるんですか?
0618デフォルトの名無しさん
2009/10/05(月) 20:29:13エンコーディング情報を文字列オブジェクトごとに保持してる
Shift_JISの文字列 + UTF-8の文字列 はエラー
/Shift_JISの日本語/ =~ UTF-8の文字列 もエラー
0619デフォルトの名無しさん
2009/10/05(月) 20:42:02他言語対応には大きく2通りのアプローチがあって、
・巨大な文字集合を扱える一つの内部表現方式を抱えて
外部表現との入出力は都度変換/逆変換する
(内部表現は普通unicode系の何か)
・ある文字コードの取り扱い(文字の区切りとかマッチングとか)を
文字コードごとに用意しておいてそのとき扱ってる文字コードで
処理を切り替える
という感じ。
それぞれに一長一短があり、
前者だとJavaやWindows
後者だと主に昔からのUNIXが採用している。
Ruby1.9は後者を採用した。
0620デフォルトの名無しさん
2009/10/05(月) 21:16:59エンコードを持つ方式なんですか。
rubyはもともとregexpが主要機能なんで、内部はutf8で統一の方がいいと思いますけど、なんか事情があるんでしょうね。
それと文字処理するなら、メモリなどから見て非効率でもエンコードを統一しないと出来ませんよ。
処理とはあまり関係ないところについて時間をかけて無駄に脳みそ使いたくないでしょ。
0621デフォルトの名無しさん
2009/10/05(月) 21:19:30言語上、ライブラリでスレッドやパイプ、IOを持ってて、POSIXレベルまで充実しているってことです。
0622デフォルトの名無しさん
2009/10/05(月) 21:27:54だから他の言語にこないでね。
0623デフォルトの名無しさん
2009/10/05(月) 21:33:17POSIXという単語を知っててCSIを知らないのがよくわからないけど。
ある文字コードでの文字列処理関連のプリミティブな処理を自力で実装して
処理系に教えてやれば、どんどん対応文字コードを増やしていけるのがCSI。
この場合実装のために汗を流す人間と受益者がたいてい一致し、
余所に迷惑をかけることなく目的を達成できたので
昔はこの方法が主流だった。
0624デフォルトの名無しさん
2009/10/05(月) 21:36:05昔rubyを触ったときにあるブログで聞いたんですけど、rubyは(処理が遅くても)もともともposix互換あたりを目標に作ってたんじゃないですか?
実際現在では、OSという概念が既にハードから分離されてますし・・・・
0625デフォルトの名無しさん
2009/10/05(月) 21:38:24(UNIX-like OSのシステムコールについてならわかるのだが)
「POSIX互換」てなんのことだか説明してくれ。
0626デフォルトの名無しさん
2009/10/05(月) 21:45:36というよりも、普通にjavaとかjsとか使えるんでどうでもいいですけど。
ただそれらは電卓代わりとかちょっと数値計算(四元数とかほかでサポートがあまりないもの)で使うとなるとちょっと面倒なんで。
もともとCに慣れてるからやはりmaximaとかmathematicaとか構造化言語か純粋OOPに基づいた設計じゃない言語は扱いにくく、あんまりです。
perlも取って付けた無駄が多くてあんまり。
0627デフォルトの名無しさん
2009/10/05(月) 21:47:26言語上、ライブラリでスレッドやパイプ、IOを持ってて、POSIXレベルまで充実しているってことです。
実際現在では、OSという概念が既にハードから分離されてますし・・・・
0628デフォルトの名無しさん
2009/10/05(月) 21:48:56もう少し脳みををやわらかくしたほうがいいですよ。
あなたは未だに「Web 0.91」ですか?w
0629デフォルトの名無しさん
2009/10/05(月) 21:52:200630デフォルトの名無しさん
2009/10/05(月) 21:52:33Rubyはライブラリでスレッドやパイプ、IOを持ってて、POSIXレベルまで充実していてうらやましいな
PerlやPythonはスレッドという概念が存在せずプロセス一辺倒だし
IPCは全部メッセージングだ
しかも作者がUNIX嫌いでWindowsに傾倒してしまっている
ここらへんはDebian使いのMatz(Rubyの作者)とは大きな違いだ
だから悪いことは言わない。Rubyにしとけ
0631デフォルトの名無しさん
2009/10/05(月) 22:03:44まあ簡単には調べてみたんですけど、やっぱりrubyしかないんですね・・・
あとはjava, dotnetのVMものですけど。
まっつさんはもともとPOSIX(と機能上)互換を目指してライブラリを充実していったという話しなんですけど。
ルビーですけど、個人的にはパイソンのタプル型(イミュータブル型)があれば言うことないと思います。
いま大黒なんとかのPDFを読み返しているんですが、彼の文章は非常に読み難いので他によいガイドというか言語解説レファレンスないですか?
ruby-doc.orgも使ってますが日本語がいいです。
0632デフォルトの名無しさん
2009/10/05(月) 22:18:300633デフォルトの名無しさん
2009/10/05(月) 22:20:290634デフォルトの名無しさん
2009/10/05(月) 22:30:58. , -―― メ/_´⌒ヽ
/ / ̄ ´ヽ ヽ
. / , /// ト. ! 、 丶ヽ
l / /(((リ从 リノ)) '
| i l . ヽノ .V l
l ,=! l /// ///l l ねんがんのキリン本をてにいれたぞ!
l ヾ! ', l ヽ_フ l l
| ヽヽヽ //
l ヾ≧ , __ , イ〃
li (´`)l {ニ0ニ}、 |_"____
li /l, l└ タl」/l´ `l
リヽ/ l l__ ./ |_________|
,/ L__[]っ / / ::::::::/
ヽ、 :: ::: ::: :::::::::::::::::::::::::::::::::
:::::/ lハ ::: : :: :::::::::: :::::::::::::::::::::::::::::
::::l l /ノリ ::: : :: ::::::::::: :::::::::::::::::::::::::::::
:::| /) / ::: : :: ::::::::: :::::::::::::::::::::::::::::
::l /イ/| . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
/ / ||/ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 7l::::::::::::::::::::
i /_,/i!/ Learning Ruby / l::::::::::::::::
l 人 / Michael Fitzgerald / /::::::::::::::::
l / /⌒ヽ ハ,,ハ / /::::::::::::::::
l /il | ) ( ゚ω゚ ) / /::::::::::::::::
ll l i! `ー、\___ n__/_/::::::::::::::::
lヽ l |\. \ /⌒〉::::::::::::::
0635デフォルトの名無しさん
2009/10/05(月) 22:48:04rubyは他の言語と文法・リテラルが結構似ていて、突飛なruby独自の概念があるわけではないので
実際は充実したクラスAPIのレファレンスがあればいいんですけど。
もともと他の言語を使えるわけで、下らない解説とか主義思想・小話なんかよりも各APIの典型的な使い方だけでいいですよ。
その点JAVA(英語サイト)の方が勉強しやすいし、習得も早いんじゃないですか。
英語でしたがやっぱりruby-docで我慢します。
0636デフォルトの名無しさん
2009/10/05(月) 22:54:07こういうのを小賢しいって言うんだろうか?
http://doc.okkez.net/
0637デフォルトの名無しさん
2009/10/05(月) 23:23:09あばばばばー乙
0638619,623
2009/10/06(火) 00:07:56具体的に言うと
ttp://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%B0%E3%83%80%E3%83%8E%E3%83%95%E4%BA%8B%E4%BB%B6
の劣化コピー。さらにこれの元ネタとされるソーカル事件が1994年だからそこから数えると15年ほど周回遅れと思われる。
おまけのネタ
ttp://ja.uncyclomedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%AB%E3%83%AB%E4%BA%8B%E4%BB%B6
あえてやるならこれぐらいのヒネリは欲しいところ。
0639デフォルトの名無しさん
2009/10/06(火) 00:27:21ソーカル事件とは根本的に違うだろう
0640デフォルトの名無しさん
2009/10/06(火) 03:16:00だからあえてボグダノフ事件の方を貼ってるのでは
0641デフォルトの名無しさん
2009/10/06(火) 10:10:120642デフォルトの名無しさん
2009/10/06(火) 10:50:06. 2. PHP で検索した結果 1〜10件目 / 約2,970,000,000件
. 3. Java...... で検索した結果 1〜10件目 / 約 835,000,000件
. 4. Forth. で検索した結果 1〜10件目 / 約 323,000,000件
. 5. Ruby.. で検索した結果 1〜10件目 / 約 275,000,000件
. 6. perl..... で検索した結果 1〜10件目 / 約 245,000,000件
. 7. Python... で検索した結果 1〜10件目 / 約 204,000,000件
. 8. pascal... で検索した結果 1〜10件目 / 約 170,000,000件
. 9. Delphi で検索した結果 1〜10件目 / 約 127,000,000件
10. VisualBasic...で検索した結果 1〜10件目 / 約 121,000,000件
11. lisp... で検索した結果 1〜10件目 / 約. 26,700,000件
12. fortran で検索した結果 1〜10件目 / 約. 21,300,000件
13. COBOL で検索した結果 1〜10件目 / 約. 18,500,000件
14. HSP で検索した結果 1〜10件目 / 約. 12,300,000件
15. FreeBasic.. で検索した結果 1〜10件目 / 約 6,320,000件
16. Tcl/Tk. で検索した結果 1〜10件目 / 約 4,940,000件
17. QBasic で検索した結果 1〜10件目 / 約 4,190,000件
18. VisualC.... で検索した結果 1〜10件目 / 約 1,360,000件
19. DarkBASIC. で検索した結果 1〜10件目 / 約 1,320,000件
20. BasicStudio で検索した結果 1〜10件目 / 約 304,000件
21. N88basic. で検索した結果 1〜10件目 / 約 215,000件
22. f-basic で検索した結果 1〜10件目 / 約 109,000件
23. ActiveBasic で検索した結果 1〜10件目 / 約. 89,800件
24. 99BASIC.... で検索した結果 1〜10件目 / 約. 11,500件
3Dprogramming で検索した結果 1〜10件目 / 約794,000件
2Dprogramming で検索した結果 1〜10件目 / 約. 57,400件
intel で検索した結果 1〜10件目 / 約729,000,000件
amd で検索した結果 1〜10件目 / 約355,000,000件
0643デフォルトの名無しさん
2009/10/06(火) 11:44:53Chuck Mooreは偉大だわ
http://www.simple-talk.com/content/article.aspx?article=775
0644デフォルトの名無しさん
2009/10/06(火) 11:50:420645デフォルトの名無しさん
2009/10/06(火) 11:56:500646デフォルトの名無しさん
2009/10/06(火) 12:06:51一番検索しづらいのはC
0647デフォルトの名無しさん
2009/10/06(火) 12:14:52「プログラミング言語のほうのC」「プログラミング言語のほうのRuby」と指定して
プログラミング言語のほうの結果だけを返さない検索エンジンのほうが一方的に悪い
どうやって実現するのかまでは知らん
0648デフォルトの名無しさん
2009/10/06(火) 13:05:100649デフォルトの名無しさん
2009/10/06(火) 13:19:310650デフォルトの名無しさん
2009/10/06(火) 13:31:280651デフォルトの名無しさん
2009/10/06(火) 13:40:000652デフォルトの名無しさん
2009/10/06(火) 15:07:060653デフォルトの名無しさん
2009/10/06(火) 15:30:490654デフォルトの名無しさん
2009/10/06(火) 16:11:52既に Pearl という言語があったんで、仕方なく Perl にしただけ
唯一性の意図があったわけでは全くない
時々勘違いして痛いこと言う人がいるのがたいへん味わい深い
0655デフォルトの名無しさん
2009/10/06(火) 17:03:480656デフォルトの名無しさん
2009/10/07(水) 05:37:29昨夜(おとといの夜)読んでて途中で見れなくなったんだけど、
30時間ちかくたった今もまだ。
頼みの綱のつもりでいた記事あったから、非常に今あせってるw
0657デフォルトの名無しさん
2009/10/07(水) 05:43:12鯖代捻出方法の案があれば教えてあげるとみんなよろコンブ
0658デフォルトの名無しさん
2009/10/07(水) 05:55:23せめてブラウザのキャッシュされるようになってれば・・・
0659デフォルトの名無しさん
2009/10/07(水) 06:02:05確かに訂正前の不正確情報が残ると不便だが、
ぶっちゃけそんな事後更新されてるわけでもないだろうに
オフラインモードで読めないことのほうが遥かに面倒
0660デフォルトの名無しさん
2009/10/07(水) 07:51:350661デフォルトの名無しさん
2009/10/07(水) 08:44:58ググルアフィぐらいじゃマイナー過ぎて儲からないだろうけど。
0662デフォルトの名無しさん
2009/10/07(水) 11:35:540663デフォルトの名無しさん
2009/10/07(水) 12:09:350664デフォルトの名無しさん
2009/10/07(水) 12:12:470665デフォルトの名無しさん
2009/10/07(水) 13:28:260666デフォルトの名無しさん
2009/10/07(水) 13:29:380667デフォルトの名無しさん
2009/10/07(水) 13:42:35罵倒の際に「相手が言われていやだと思うこと」ではなく、
「自分が言われていやなこと」をベースに罵倒文句を考えるので
結果として自分自身のコンプレックスを大声で宣伝することになってしまうらしい。
これがいわゆる「馬鹿の罵倒は自己紹介」のメカニズムなんだとか。
0668デフォルトの名無しさん
2009/10/07(水) 13:46:560669デフォルトの名無しさん
2009/10/07(水) 13:47:460670デフォルトの名無しさん
2009/10/07(水) 13:54:070671デフォルトの名無しさん
2009/10/07(水) 13:55:130672デフォルトの名無しさん
2009/10/07(水) 16:17:32ルビー開発者のまつもと氏を松江名誉市民に
http://www.nikkei.co.jp/news/retto/20091006c6b0601w06.html
0673デフォルトの名無しさん
2009/10/07(水) 17:01:420674デフォルトの名無しさん
2009/10/07(水) 17:22:110675デフォルトの名無しさん
2009/10/08(木) 17:17:52無名キャプチャと名前つきキャプチャが同時に使用できないのは使いにくいと思う
名前つきキャプチャが使われると、無名キャプチャは無効になってしまう
/(1)(2)(3)4/.match "1234" # => #<MatchData "1234" 1:"1" 2:"2" 3:"3">
/(1)(2)(3)(?<four>4)/.match "1234" # => #<MatchData "1234" four:"4">
Perlみたいに同時使用できた方がいいのに
>perl -e "'1234' =~ /(1)(2)(3)(?<four>4)/;print qq!$1 $2 $3 $4 $+{four}!"
1 2 3 4 4
よく知らないが PythonもPerlと同じで同時に使用できるっぽい
鬼車はオプション選択でどちらの動作でも可能みたい
0676デフォルトの名無しさん
2009/10/08(木) 19:25:310677デフォルトの名無しさん
2009/10/08(木) 20:26:580678デフォルトの名無しさん
2009/10/08(木) 21:07:340679デフォルトの名無しさん
2009/10/08(木) 21:56:41ただでさえ可読性が高いとは言えない正規表現がさらに膨張するわけだし、それなら括弧を一つずつ数えてもいいかなと
直らなくてもいいや
0680デフォルトの名無しさん
2009/10/08(木) 22:06:14ruby-talk見ても、議論してるのは分かるんだけど
最終的にどうなったのか全く分からん
そもそもまだ結論が出てない?
あと、るりま(新リファレンス)のライセンスも気になる
0681デフォルトの名無しさん
2009/10/08(木) 22:18:4112月が目処だと。
0682デフォルトの名無しさん
2009/10/09(金) 00:04:03http://tsushima.2ch.net/test/read.cgi/newsplus/1254874530/
0683デフォルトの名無しさん
2009/10/09(金) 13:46:36何、ruby-talkでやってんの?
リンクきぼん
0684デフォルトの名無しさん
2009/10/10(土) 12:13:20\bとかもそうだけど、とくにperlがgnuのころからあったフォーマットをセンスもなく勝手拡張したせいでもう取り返しがつかないからね。
0685デフォルトの名無しさん
2009/10/10(土) 12:22:560686デフォルトの名無しさん
2009/10/10(土) 12:37:48javaから見ると、そもそも 1 .+ 2 .* 3 なんかできるのはかなり嫌われるんだけど、そういうのと同じだろうと思う。
$てのはパールとの下位互換として認めて、もう必要な人用ってことで諦めたほうがいいよ。
0687デフォルトの名無しさん
2009/10/10(土) 14:35:06ググったら .NET の正規表現も 同時使用できるっぽい
どうも、同時使用できるのが主流なような
というか、Rubyが異端?
>>678
正規表現のどこかに (?<x>) とか入れれば ( ) はキャプチャしなくなるね
念のために 予約語にしておくと
/(?<xxx>)/ =~ 'foobar' とかやって ローカル変数 xxx が定義されたり、変更されてしまうのを防げる
/(?<end>)/ =~ 'foobar' だとendは予約語なので変数としては定義できずに無視される
0688,,・´∀`・,,)っ-○○○
2009/10/10(土) 17:05:56それを言うならRubyはHTMLタグ(ry
0689デフォルトの名無しさん
2009/10/11(日) 09:27:01LLVMベース、Snow LeopardのGCDサポート
Rubyのコンパイルや並列処理対応、MacRuby最新ベータ登場
http://www.atmarkit.co.jp/news/200910/08/macruby.html
□YARV→LLVM
Sansonetti氏は、ネイティブコードへのコンパイル機能がないことと、
GIL(Global Interpreter Lock)の存在によって、マルチコアを生かすような
真の並列処理が難しいことを挙げている。
□並列処理
GCDは多量のタスクをキューに入れ、それを1つずつ取り出してスレッドプールで処理する
という処理モデルを抽象化したAPIを提供する。 C/C++/Objective-C向けには、ブロック
と呼ぶクロージャ風の独自文法を導入してタスクのキューイングを行う形だったが、
MacRubyではRubyのブロックが使える。
□実行時最適化のJIT(Just-in-Time)と、
事前コンパイルのAOT(Ahead-of-Time)の双方をサポート
AppleがGCとBlockをC1Xに提案
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1370.pdf
0690デフォルトの名無しさん
2009/10/11(日) 18:41:200691デフォルトの名無しさん
2009/10/11(日) 18:47:11でもある(訳: だからライブラリ作者は将来の変更を心配せず対応を始めろ)
ので、ドラスティックな変更は入らないと思う。
# 100年後くらいに2.0が本当に出る段になったらそりゃ変るだろうけど。
0692デフォルトの名無しさん
2009/10/12(月) 00:07:340693デフォルトの名無しさん
2009/10/12(月) 12:04:25dbiのソースをgrepしても見つかりません。どこに定義があるのかどうやれば分かるでしょうか?
dbd-pg-0.3.8/lib/dbd/pg/database.rb: @connection = PGconn.new(hash['host'], hash['port'],
こんな感じで急に出てきます。
0694デフォルトの名無しさん
2009/10/12(月) 12:20:05lib/ruby以下をgrepしてごらん
0695デフォルトの名無しさん
2009/10/12(月) 14:31:15超ウケル!
0696デフォルトの名無しさん
2009/10/12(月) 14:40:19いま rubinius とかどうなってん?
0697デフォルトの名無しさん
2009/10/12(月) 16:05:200698デフォルトの名無しさん
2009/10/12(月) 19:08:24readってやると止まってしまいます。eachで"\r\n"を終点に読み出すと大丈夫ですがあまりスマートではないので・・・
0699デフォルトの名無しさん
2009/10/12(月) 19:15:58またまたご冗談を…
0700デフォルトの名無しさん
2009/10/12(月) 20:39:24IO#read_nonblock
0701デフォルトの名無しさん
2009/10/12(月) 21:29:20http://satoshi.blogs.com/life/2009/10/rails_mvc.html
0702デフォルトの名無しさん
2009/10/12(月) 21:41:31考えてやってる人は出来るだけモデル側にロジックを書くから、
問題はRailsやりはじめるまでMVCを知らなかったような人かな。
0703デフォルトの名無しさん
2009/10/12(月) 23:16:46Railsそのものの批判は的外れ的な。書き手の問題だろう。
そもそもruby自体がopen classだからほぼやりたい放題だし。
世界がガチガチのMVCで出来てるならJavaでもC++ででも書けばいい。
問題はそうじゃないことが沢山あるから、Rapid Prototypingとして
Railsがもてはやされたのだと思う。まあ、あくまでRapidだから
軌道にのったら捨てられちゃうんだけどね。
0704デフォルトの名無しさん
2009/10/12(月) 23:21:57ありがとうございます。grepしてみましたが、定義がないように見えます。
この中のどれかなんでしょうか?
$ find /usr/local/lib/ruby/ -type f | xargs grep PGconn
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/statement.rb: oid = @db.__blob_create(PGconn::INV_WRITE)
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/database.rb: @connection = PGconn.new(hash['host'], hash['port'], hash['options'], hash['tty'],
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/database.rb: def __blob_create(mode=PGconn::INV_READ)
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/database.rb: def __blob_open(oid, mode=PGconn::INV_READ)
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/database.rb: blob = @connection.lo_open(oid.to_i, PGconn::INV_READ)
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/database.rb: blob = @connection.lo_open(oid.to_i, PGconn::INV_WRITE)
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/type.rb: PGconn.escape_bytea(str)
/usr/local/lib/ruby/site_ruby/1.9.1/dbd/pg/type.rb: ret = PGconn.unescape_bytea(obj)
0705デフォルトの名無しさん
2009/10/12(月) 23:49:05コードを読んでいる環境ってdbi動作しない環境だったりしない?
pgのアダプタをgemから入れてごらんよ
もしくはPGconnでぐぐってみるとかさ
0706デフォルトの名無しさん
2009/10/13(火) 03:40:34元MSの設計者がSmalltalk的MVCを力説し
ルビ厨が堕落したWebアプリ的MVCでもって反論するという
なんとも変な話になってますなw
0707デフォルトの名無しさん
2009/10/13(火) 08:37:330708デフォルトの名無しさん
2009/10/13(火) 08:39:460709デフォルトの名無しさん
2009/10/13(火) 14:41:15コントローラーにロジックをがしがし書くのはアプリ制作者の問題なのに、
フレームワークに原因を求めようとしてるんだな。
1. 「手持ちの現金の増減」を記録するテーブルに「現金100円の増加」を記録
2. 「売り上げ」を記録するテーブルに「100円の売り上げ」を記録
3. 「在庫の増減」を記録するテーブルに「リンゴ1つ減少」を記録
4. 「経費の計上」を記録するテーブルに「仕入れ値60円の経費計上」を記録
これもめちゃくちゃw
なんで売った時点で仕入れデータを計上するんだよ
商品在庫に至っては会計と直接関係ないし。
この人、なんでも問題をごちゃまぜにする人なんだな。
0710デフォルトの名無しさん
2009/10/13(火) 14:44:380711デフォルトの名無しさん
2009/10/13(火) 14:46:020712デフォルトの名無しさん
2009/10/13(火) 15:02:07何とも残酷な結果が出てしまったな
0713デフォルトの名無しさん
2009/10/13(火) 16:16:21何から?
0714デフォルトの名無しさん
2009/10/13(火) 16:39:35徒党組んで声だけでかい馬鹿の集まり=ギーク(笑
0715デフォルトの名無しさん
2009/10/13(火) 19:37:53http://d.hatena.ne.jp/higayasuo/20091013/1255408723
ひがさんも加わりました
0716デフォルトの名無しさん
2009/10/13(火) 22:15:12なんかどのサイトの説明見ても、微妙に違う気がする。
MMVCとPMVCの違いもよく分からんし、そもそも
今の言語ってどれもGUIと入力部分が結びついてるから
ViewとControllerを完全に分離出来ないし
0717デフォルトの名無しさん
2009/10/13(火) 22:45:11それのServiceってのはRoRの機能?
それともデザパタの用語?
0718デフォルトの名無しさん
2009/10/13(火) 22:46:52> ViewとControllerを完全に分離出来ないし
意味わからん
0719デフォルトの名無しさん
2009/10/13(火) 22:48:01分離付加ってことなら意味わかるが
0720デフォルトの名無しさん
2009/10/13(火) 23:44:08ああ、馬鹿なんですね
0721デフォルトの名無しさん
2009/10/14(水) 00:53:55そうかもね
0722デフォルトの名無しさん
2009/10/14(水) 01:01:570723デフォルトの名無しさん
2009/10/14(水) 01:04:280724デフォルトの名無しさん
2009/10/14(水) 01:41:570725デフォルトの名無しさん
2009/10/14(水) 01:46:55こういう馬鹿どもが基幹系のリプレースして
COBOLどころじゃないスパゲッティを残すんだろう
0726デフォルトの名無しさん
2009/10/14(水) 01:51:570727デフォルトの名無しさん
2009/10/14(水) 02:01:49これが正しかったらRubyは完璧じゃないかwww
0728デフォルトの名無しさん
2009/10/14(水) 03:08:56とかいってる人の台詞が
>今の言語ってどれもGUIと入力部分が結びついてるから
>ViewとControllerを完全に分離出来ないし
なんだからよくわかってないだけでしょ。
VBや初期のSmalltalkみたいにデフォルトのGUI系APIと言語のコンセプトが
密接に絡みついてるとかならともかく普通はGUIと言語は独立なわけだし
OSとかが標準として提供するGUIのコンポーネントで見た目と入力部分が云々、
と読み替えてあげても入力イベントに対するリアクションとかが
ViewであるGUIコンポーネント上に取り込まれることがある、程度の指摘にしかならないし。
0729デフォルトの名無しさん
2009/10/14(水) 09:02:54複数テーブルのデータをいじる場合は、ActiveRecordのモデルの上に更にモデルを作るっていうのは賛成だけど、やったことがない。
0730デフォルトの名無しさん
2009/10/14(水) 09:18:46だから、その複合的なクラスをモデルと呼べって話じゃないのか?
0731デフォルトの名無しさん
2009/10/14(水) 11:19:19C -> Logic -> M
でロジックはモデルに属する、と
0732デフォルトの名無しさん
2009/10/14(水) 11:23:43ああ、やっぱり馬鹿だったんだねw
0733デフォルトの名無しさん
2009/10/14(水) 12:04:510734デフォルトの名無しさん
2009/10/14(水) 12:10:49初期のSmalltalkと今のSmalltalkの違いが分からないので教えてください。
0735デフォルトの名無しさん
2009/10/14(水) 12:12:30お前本当に馬鹿なんじゃないか?
>ViewであるGUIコンポーネント上に取り込まれることがある、程度の指摘にしかならないし。
それで十分結びつきが強いことの証明になってるじゃん
自分で何を言ってるかさえ理解できてないのか・・・
0736デフォルトの名無しさん
2009/10/14(水) 13:07:32さっそくRals捨ててASP.NETに乗り換えるところが出始めてるみたいだな。
0737デフォルトの名無しさん
2009/10/14(水) 13:11:01あほか
0738デフォルトの名無しさん
2009/10/14(水) 14:34:24Viewに取り込まれる程度のイベントが本当に分割して
管理しなきゃいけないものなのかって話でしょ。
インプットボックス上でキーボード上の「1」を押したとして
インプットボックス上に「1」が表示されるぐらいまでは
今時のコンポーネントは普通に行うけどそれをもって
結びつきが強いとか言ったらアホなわけで。
0739デフォルトの名無しさん
2009/10/14(水) 15:20:23はぁ?こりゃ真性のキチガイだな
>Viewに取り込まれる程度のイベントが本当に分割して
>管理しなきゃいけないものなのかって話でしょ。
この発言でお前がMVCを全く理解してないが分かったわ
>今時のコンポーネントは普通に行うけどそれをもって
>結びつきが強いとか言ったらアホなわけで。
これでさらに日本語さえ理解できてないレベルの馬鹿だと
はっきり分かった
今時のコンポーネントが普通に行っているからといって
それが結びつきの強さと何の関係がある?
今時も何も関係なく、結びつきが強いという事実がそこにあるだけ
自分の間違いを指摘されたからといってファビョッちゃった典型例だな
0740デフォルトの名無しさん
2009/10/14(水) 15:22:500741デフォルトの名無しさん
2009/10/14(水) 15:23:53>インプットボックス上でキーボード上の「1」を押したとして
>インプットボックス上に「1」が表示されるぐらいまでは
こんな事書いてる時点でこいつ何も分かってない気がする
0742デフォルトの名無しさん
2009/10/14(水) 15:27:12えーと、初期のSmalltalkと今のSmalltalkの違いは何ですかね結局
0743デフォルトの名無しさん
2009/10/14(水) 15:40:37間違ってるのはあっちだが、よりファビョってるのはお前だな。どういうわけか。
0744デフォルトの名無しさん
2009/10/14(水) 15:43:54自作自演乙っす
不利な状況になったら他人の振りっすか?www
0745デフォルトの名無しさん
2009/10/14(水) 16:04:490746デフォルトの名無しさん
2009/10/14(水) 16:10:57> 不利な状況になったら他人の振りっすか?www
そんなに面白いダジャレじゃないだろこれ。
0747デフォルトの名無しさん
2009/10/14(水) 16:12:080748デフォルトの名無しさん
2009/10/14(水) 16:35:25SELFからMorphicが入ってくる以前と以後じゃね
この辺でコントローラに期待される仕事ぶりが変化してるし
0749デフォルトの名無しさん
2009/10/14(水) 17:20:080750デフォルトの名無しさん
2009/10/14(水) 19:54:06コントローラそんなに変わってるか?
それよりモデルの方が変わってるような
0751デフォルトの名無しさん
2009/10/14(水) 19:59:05Ruby on RailsのMVCは「えせMVC」? - スラッシュドット・ジャパン
http://slashdot.jp/developers/09/10/14/085237.shtml
0752デフォルトの名無しさん
2009/10/14(水) 21:09:470753デフォルトの名無しさん
2009/10/14(水) 21:20:18Djangoを見習えば解決
0754721
2009/10/14(水) 23:20:25トランザクションを知らないか使ったことないってことか?
それでモデルを論じるのはどうかと思うぞ
GUIがなんとかってのは結局なにいってるんだがさっぱり
プログラムソースだせよ。短いのでいいからさ。
>>716で「今の言語〜」とあるが、そもそもRubyのGUIってなんだよ。
RailsとMVCが話の流れなのにRuby/Tkってことはないだろうな。
ソース出せないでレスいらないから
ちなみに>>721以降のレスはこれが初めてな
0755デフォルトの名無しさん
2009/10/14(水) 23:38:53今のSmalltalkってったらVisualWorksだろjk
Squeakしかしらんのかね
0756デフォルトの名無しさん
2009/10/15(木) 00:23:31余計に別物じゃんw
シンコムは黙って勉強会の場所提供だけしてりゃあいいんだよ!!
0757デフォルトの名無しさん
2009/10/15(木) 00:59:53ソースとか関係ないだろ馬鹿
お前の理解力の無さを他人のせいにするな
そもそも意味がわかんねーならレスしなくていいから
0758デフォルトの名無しさん
2009/10/15(木) 01:00:35つまりARはMVCのMではない
これ豆な
0759デフォルトの名無しさん
2009/10/15(木) 01:05:52最近のソースだとちゃんとアプリケーションモデルと
ドメインモデルに分けて書いてるみたいだぜ
それ以前はプラガブルで、さらに以前は
全部詰め込んだ単一のモデルだったみたいだが
0760デフォルトの名無しさん
2009/10/15(木) 01:06:52つーか、わざわざ終わった話を蒸し返すのはよせ
それともわざと荒らしたいのか?
0761デフォルトの名無しさん
2009/10/15(木) 01:07:20あまりにもおかしいからすぐ分かるな
0762デフォルトの名無しさん
2009/10/15(木) 01:10:28だからドメインモデルはMVCのMじゃないし、MVCとは関係ないってこと
同じくARはMVCのMじゃないし、MVCとは関係ないってこと
0763デフォルトの名無しさん
2009/10/15(木) 01:17:16あーはいはい、プレゼンテーションモデルってやつでしょ?
違うかな、俺も正直その辺の理解が曖昧だ
0764デフォルトの名無しさん
2009/10/15(木) 01:22:09そう
VisualWorksではアプリケーションモデルと呼んでいて、そういう名前のクラスも
ライブラリに含まれてるが、一般的な認識としてはプレゼンテーションモデルと
呼んだ方がふさわしい。MVCはMも含めてプレゼンテーションレイヤのパターン
satoshiはそこをわかってない。やつの理解こそえせMVCなんだよ
0765デフォルトの名無しさん
2009/10/15(木) 02:18:08いわゆるデータベースのテーブルのエンティティクラスは、どちら?
このふたつの言葉は Smalltalk から出てきたようだけど、
「web + DB アプリではどうなるか」と置き換えようとするのがそもそもナンセンスなのかな
0766デフォルトの名無しさん
2009/10/15(木) 02:25:57ビジネスロジックにオブジェクト指向なんか不要
0767デフォルトの名無しさん
2009/10/15(木) 04:24:48エンティティクラスというのがDBのレコードの写像程度で賢いインターフェースを持っていない
クラスのことなのであれば、どっちでもない。
初期のMVCの際の問題点として、M相当のオブジェクトが
ただのデータストア相当になっててあまり賢くない、というものがあって
RailsのARで今モデルを作るときにはARのクラス上に実装するような処理も
全部Controllerに書いてて結果として見通しが悪かった、という経緯がある。
加えてView側で発生したイベントを何から何までController上で捌いてたりすると
より寒いことになりがちだったと。
で、その後View側でControllerとのメッセージのインターフェースを考えたときに、
View側として本当にController側に伝えたいイベント以外はView側で隠蔽というか
内々に処理するようになり、ModelについてもModel内で閉じるような処理は
Model中でやるようになったので相対的にController側の責務は減っていった、という流れ。
0768デフォルトの名無しさん
2009/10/15(木) 05:37:13http://www.nicovideo.jp/mylist/14722636
RubyKaigi 2009 Sessions(2nd day)
http://www.nicovideo.jp/mylist/14733712
0769デフォルトの名無しさん
2009/10/15(木) 23:18:050770デフォルトの名無しさん
2009/10/16(金) 15:39:54http://itpro.nikkeibp.co.jp/article/NEWS/20091016/338915/
0771デフォルトの名無しさん
2009/10/16(金) 15:41:15http://itpro.nikkeibp.co.jp/article/NEWS/20091015/338868/
0772デフォルトの名無しさん
2009/10/16(金) 15:46:240773デフォルトの名無しさん
2009/10/16(金) 16:32:560774デフォルトの名無しさん
2009/10/16(金) 19:09:00ttp://route477.net/d/?date=20091016
0775デフォルトの名無しさん
2009/10/16(金) 19:23:410776デフォルトの名無しさん
2009/10/16(金) 19:26:12懐かしいなあ
0777デフォルトの名無しさん
2009/10/16(金) 22:32:59http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/46456
この流れで、はじめてML見ててわらったよw
0778デフォルトの名無しさん
2009/10/16(金) 22:45:34とりあえずRubyから始めることにした
変数宣言いらんわ、初期化いらんわで気持ち悪い言語だ・・・
0779デフォルトの名無しさん
2009/10/16(金) 23:03:16宣言や初期化が無いわけじゃない
0780デフォルトの名無しさん
2009/10/16(金) 23:05:380781デフォルトの名無しさん
2009/10/16(金) 23:06:250782778
2009/10/16(金) 23:11:14世間一般ではこういう仕様が喜ばれるのか・・・
俺みたいに名前付けが苦手だと苦労しそうな仕様だ
0783デフォルトの名無しさん
2009/10/16(金) 23:13:520784デフォルトの名無しさん
2009/10/16(金) 23:17:37あなたの不安は間違ってはないよ
言語によって、どう楽をするかではなく、どうがんばるかなんだよ
0785デフォルトの名無しさん
2009/10/16(金) 23:18:24var n = 3.14;
みたいになりつつあるからな。Rubyだけが特別変態仕様ってこともない。
0786778
2009/10/16(金) 23:23:45普段はC#メインで使ってるけどC#のそれは宣言と初期化を一行にしてるだけで
Rubyみたいに明示しないのとは全然ちがうと思う
まあ、先走ってRubyとRailsの本4冊も買っちゃったから何か作れるレベルまでは
やってみようと思うけど
0787デフォルトの名無しさん
2009/10/16(金) 23:27:59=
0788デフォルトの名無しさん
2009/10/16(金) 23:33:540789デフォルトの名無しさん
2009/10/16(金) 23:35:54おまえのことだよjavascript
typoするとグローバル変数として収まるとかもうね
0790デフォルトの名無しさん
2009/10/16(金) 23:53:370791デフォルトの名無しさん
2009/10/17(土) 00:00:17修造かよ
0792デフォルトの名無しさん
2009/10/17(土) 00:01:23Rubyも明示してますよ
0793デフォルトの名無しさん
2009/10/17(土) 00:36:54(´∀`*// < RUby買ってきたぞーい
⊂二 / \_________
| ) /
【ひろゆき】/  ̄)
( <⌒<.<
>/
0794デフォルトの名無しさん
2009/10/17(土) 01:08:20やっぱ型推論と動的型付けの区別つかないやつって多いんだろうな。
0795デフォルトの名無しさん
2009/10/17(土) 01:33:010796デフォルトの名無しさん
2009/10/17(土) 06:06:000797デフォルトの名無しさん
2009/10/17(土) 06:16:510798デフォルトの名無しさん
2009/10/17(土) 10:04:550799デフォルトの名無しさん
2009/10/17(土) 10:05:250800デフォルトの名無しさん
2009/10/17(土) 10:11:21って、そうじゃないのか。
>>786
> 俺みたいに名前付けが苦手だと苦労しそうな仕様だ
この人のコードはとにかくスコープが広すぎるんじゃないかと
0801デフォルトの名無しさん
2009/10/17(土) 10:20:41言語自体に興味がある人以外は、
表層的な文法と動作しか気にしないからねぇ。
0802デフォルトの名無しさん
2009/10/17(土) 10:29:16そういうのを一般ユーザーが気にしないで使えるのがいい言語仕様
問題はその知識で深部仕様に突っかかってくることだが
0803デフォルトの名無しさん
2009/10/17(土) 10:30:200804デフォルトの名無しさん
2009/10/17(土) 10:42:35Rubyのいい面でもあるが、そうでない面でもあるでしょ
0805デフォルトの名無しさん
2009/10/17(土) 11:01:35延期になった事が決まっただけで、具体的な予定は無いの?
0806デフォルトの名無しさん
2009/10/17(土) 11:03:56ないです。
0807デフォルトの名無しさん
2009/10/17(土) 11:07:59ただ、粛々と――
1.9.1対応を進めるのみ――
0808デフォルトの名無しさん
2009/10/17(土) 11:09:26RUBY_VERSIONで比較すると涎たらしながら否定して射精する人の対策はどうなりましたか
0809デフォルトの名無しさん
2009/10/17(土) 11:14:36RUBY_VERSION で 1.9 かどうか比較して駄目な場合の例がさっぱし出てこないから許可
0810デフォルトの名無しさん
2009/10/17(土) 11:18:31ないのか・・・こりゃずるずるいきそうなパターンだなぁ
0811デフォルトの名無しさん
2009/10/17(土) 11:20:490812デフォルトの名無しさん
2009/10/17(土) 12:10:58typoを防ぐための仕組みがあればいいなあとは思う
現状だと -w オプションなしでは、まともに見つけられないし
でもRubyの良いところを残しつつ、typoを防げる仕組みなんてあるの?
0813デフォルトの名無しさん
2009/10/17(土) 12:16:23>>584
0814デフォルトの名無しさん
2009/10/17(土) 12:19:350815デフォルトの名無しさん
2009/10/17(土) 12:21:19防ぐわけではないけど、変数の名前と使用回数の一覧が出せたらいいなぁとは思う
0816デフォルトの名無しさん
2009/10/17(土) 12:22:06perlのuse strict; my = …; みたいの入れればいいんじゃね?
0817デフォルトの名無しさん
2009/10/17(土) 12:22:15誰がそんなものあると言ってんだ?
0818デフォルトの名無しさん
2009/10/17(土) 12:23:070819デフォルトの名無しさん
2009/10/17(土) 12:27:42あるんだろうけどさ
テストは通ったけどtypo残ってたというのは恥ずかしいの
0820デフォルトの名無しさん
2009/10/17(土) 12:29:56closed stream兄貴オッスオッス
0821デフォルトの名無しさん
2009/10/17(土) 12:42:37Rubyでそれを入れるとすると
1. strict メソッドを呼ぶ
2. そのファイル内で、インスタンス変数・クラス変数が未定義のまま参照されたら
警告ではなく例外を出す
という感じになるのかな
0822デフォルトの名無しさん
2009/10/17(土) 12:45:460823デフォルトの名無しさん
2009/10/17(土) 12:47:23それとは対照的に未定義のクラス変数が例外出すのはなんで?
0824デフォルトの名無しさん
2009/10/17(土) 15:25:590825デフォルトの名無しさん
2009/10/17(土) 23:58:05オブジェクト指向!
ガーベジコレクション!
教祖への妄信!
それから素敵な赤い色!
……テンポ悪いな。
0826デフォルトの名無しさん
2009/10/18(日) 00:04:30... nobody expects the Spanish Inquisition!
0827デフォルトの名無しさん
2009/10/18(日) 00:08:550828デフォルトの名無しさん
2009/10/18(日) 02:14:490829デフォルトの名無しさん
2009/10/18(日) 02:34:57マルクス => RMS
レーニン => ケイ
チェ => PG
毛沢東 => Matz
とかでサッカーネタ => M$ APIネタ にすればいろいろ遊べそう。
0830デフォルトの名無しさん
2009/10/18(日) 03:22:40先頭YuguiさんYuguiさん、一馬身遅れてYuguiさん、続いてYuguiさん、
追い上げるYuguiさん、とかそういう
0831デフォルトの名無しさん
2009/10/19(月) 14:51:460832デフォルトの名無しさん
2009/10/19(月) 22:07:250833デフォルトの名無しさん
2009/10/19(月) 22:14:44Audley
0834デフォルトの名無しさん
2009/10/19(月) 22:18:57http://twitter.com/yugui
0835デフォルトの名無しさん
2009/10/19(月) 22:26:51聞かなきゃわからないってことはお前ここは初めてか?力抜けよ
0836デフォルトの名無しさん
2009/10/19(月) 22:27:110837デフォルトの名無しさん
2009/10/19(月) 22:28:49そのお方。
1.9 系リリースマネージャ(*1)。 Ruby 界のロッテンマイヤーさん(*2)
*1) http://jibun.atmarkit.co.jp/ljibun01/rensai/leader/33/01.html
*2) http://yugui.jp/articles/766
0838デフォルトの名無しさん
2009/10/19(月) 23:02:47ネカマだと思ってた。
0839デフォルトの名無しさん
2009/10/19(月) 23:06:160840デフォルトの名無しさん
2009/10/19(月) 23:21:010841デフォルトの名無しさん
2009/10/19(月) 23:22:120842デフォルトの名無しさん
2009/10/19(月) 23:23:500843デフォルトの名無しさん
2009/10/19(月) 23:49:070844デフォルトの名無しさん
2009/10/20(火) 00:24:23「MtF-TSです」としか言えない
0845デフォルトの名無しさん
2009/10/20(火) 00:30:050846デフォルトの名無しさん
2009/10/20(火) 00:38:450847デフォルトの名無しさん
2009/10/20(火) 00:48:23掘られてもいい:男が男相手に
>>846よ、お前もかw
男が女相手に受け身でってなんて言えばいいんだろうな
0848デフォルトの名無しさん
2009/10/20(火) 00:48:590849デフォルトの名無しさん
2009/10/20(火) 01:10:48人間的にもクソが多いようだな
0850デフォルトの名無しさん
2009/10/20(火) 01:14:570851デフォルトの名無しさん
2009/10/20(火) 01:32:19こんなクソの吹きだまりより遥かにためになるから。
0852デフォルトの名無しさん
2009/10/20(火) 03:30:09いやそんなネタ詳細不明の他人にそもそも振るなという話ではあるんだが
0853デフォルトの名無しさん
2009/10/20(火) 05:44:410854デフォルトの名無しさん
2009/10/20(火) 07:46:07この話題でそういう反応になるってこと自体が
おまえさんの中の差別心の吐露になってることに気づけないの?
0855デフォルトの名無しさん
2009/10/20(火) 08:57:170856デフォルトの名無しさん
2009/10/20(火) 08:58:180857デフォルトの名無しさん
2009/10/20(火) 09:10:070858デフォルトの名無しさん
2009/10/20(火) 09:52:48クソの吹き溜まりで何言っちゃってんの?w
0859デフォルトの名無しさん
2009/10/20(火) 09:59:32def fibgen():
x, y = 0, 1
while True:
x, y = y, x + y
yield x
g = fibgen()
while True:
print g.next() # 永久にフィボナッチ数列を出力し続ける
0860デフォルトの名無しさん
2009/10/20(火) 10:31:35=> "ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]"
def fib; x, y = 0, 1; loop { x, y = y, x +y; yield x } end
g = enum_for(:fib)
puts g.next() while true
0861デフォルトの名無しさん
2009/10/20(火) 17:00:16ちょーさんくす
これってすごくね?
0862デフォルトの名無しさん
2009/10/20(火) 17:20:460863デフォルトの名無しさん
2009/10/20(火) 17:33:510864デフォルトの名無しさん
2009/10/20(火) 17:58:330865デフォルトの名無しさん
2009/10/20(火) 20:00:49irb -r irb/completion
のように補完を効かせて、R tabキー とかやると、他にも色々あるのが判る。
0866デフォルトの名無しさん
2009/10/21(水) 13:28:22IRBを立ち上げっぱなしにしているけどいまいち使い道がない。
電卓以外に何か有効な使い方ない?
0867デフォルトの名無しさん
2009/10/21(水) 13:36:470868デフォルトの名無しさん
2009/10/21(水) 14:44:08=> nil
irb> ls '-a'
. ..
=> nil
irb>
たぶん実用性はないと思う。
0869デフォルトの名無しさん
2009/10/21(水) 17:05:470870デフォルトの名無しさん
2009/10/21(水) 17:39:58それもシェルで十分だが
0871デフォルトの名無しさん
2009/10/21(水) 20:58:17http://www.infoq.com/jp/ruby
0872デフォルトの名無しさん
2009/10/21(水) 21:09:12公式ロゴをほとんど見る機会がないのが悲しい
にもかかわらず、VisualIdentityTeamのアイコンの方は
未だにいろいろなところで見るのがさらに悲しい
0873デフォルトの名無しさん
2009/10/21(水) 21:12:45Ruby ユーザーの大多数は、ロゴなんてどうでもいいし、アイコンなんて使ってない
そんだけだと思う
0874デフォルトの名無しさん
2009/10/21(水) 23:19:151.9なら 直接Enumeratorを作ってみたり
g = Enumerator.new{|e| x,y = 0,1; loop{x,y=y,x+y;e.yield x}}
puts g.next while true
1.8でも Generatorを使って同様に
require 'generator'
g = Generator.new{|e| x,y = 0,1; loop{x,y=y,x+y;e.yield x}}
puts g.next while true
微妙に互換性ないなあ
0875デフォルトの名無しさん
2009/10/21(水) 23:25:08内部ではGeneratorが作られるよ
Generatorは継続で実装されてるのでちょっと重たいね
p RUBY_DESCRIPTION # => "ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mingw32]"
def fib; x, y = 0, 1; loop { x, y = y, x +y; yield x } end
p g = enum_for(:fib) # => #<Enumerable::Enumerator:0x2ad57f8>
p $" # => ["enumerator.so"]
puts g.next # => 1
p $" # => ["enumerator.so", "generator.rb"]
と、nextメソッドを使った時点でgenerator.rbをrequireしてる
0876デフォルトの名無しさん
2009/10/21(水) 23:26:55にしては、アイコンが使われてるのをよく見る
0877デフォルトの名無しさん
2009/10/22(木) 00:29:49区別さえできればデフォルトアイコンで別にどうでもいいと思ってるってことだろ
アイコンをこまめに変えるような層とRubyユーザーは被ってなかったってことだな
0878デフォルトの名無しさん
2009/10/22(木) 06:32:46良いデザインのものがあるならおせーて。
0879デフォルトの名無しさん
2009/10/22(木) 08:01:530880デフォルトの名無しさん
2009/10/22(木) 08:19:12ファイルに関連づけるためのアイコンではないけど
ttp://rubyidentity.org/
0881デフォルトの名無しさん
2009/10/22(木) 08:21:03たとえばPythonやPerlだってロゴ見ないだろ
注文があったのはアイコンなのだが、公式の誰か使ってるのかね
いやまあVITのやつのほうがマシだという話もなもないのだが
0882デフォルトの名無しさん
2009/10/22(木) 21:43:12え、VIT以外に公式のアイコンがあったの?
もしかしてActiveScriptRubyで見るアレ?
でもあのアイコン、未だにどこで配布されてるのか分からない
0883デフォルトの名無しさん
2009/10/24(土) 11:01:33こんなエラーで起動しません。スクリプトの先頭には
>#! ruby -ks
># -*- coding: Windows-31J -*-
のような指定だけです。Rubyのバージョンは1.8.7です。
1.9.1だと動くようですがRubyのバグでしょうか?
0884デフォルトの名無しさん
2009/10/24(土) 11:04:28-kじゃなく-K(大文字)が正しいかと。
つか誰だよそのスクリプト書いたの。
0885デフォルトの名無しさん
2009/10/24(土) 11:05:490886デフォルトの名無しさん
2009/10/24(土) 11:09:36>>884 の理由で、1.9.2dev でも動かないんだが、ほんとに1.9.1で動いてるの?
0887デフォルトの名無しさん
2009/10/24(土) 11:13:39複数行コメントなら既にある。
/* */ でないと嫌ならプリプロセッサでも通してくれ。
0888デフォルトの名無しさん
2009/10/24(土) 11:14:58動きませんでした。失礼しました。
0889デフォルトの名無しさん
2009/10/24(土) 13:34:25server = WEBrick::HTTPServer.new(config)
この状態でWEBrickを起動するとポートが80番に固定されてしまうんですが
Windowsの問題でしょうか?
0890デフォルトの名無しさん
2009/10/24(土) 13:37:17portでなくPortが正しいとかいうオチじゃまいか
0891デフォルトの名無しさん
2009/10/24(土) 13:38:49その通りでした・・・何度も申し訳ありませぬ
0892デフォルトの名無しさん
2009/10/24(土) 13:42:44WEBrickは
キモい
な
0893デフォルトの名無しさん
2009/10/24(土) 20:15:48もうちょっとマシな状態にしてからにしろ
0894デフォルトの名無しさん
2009/10/24(土) 20:21:060895デフォルトの名無しさん
2009/10/24(土) 20:31:21休日に速報でニュース出してるけど、ちょっとでも中身見たのかね?
0896デフォルトの名無しさん
2009/10/24(土) 20:36:240897デフォルトの名無しさん
2009/10/24(土) 20:42:01昔のRubyスレを思いだすわ
0898デフォルトの名無しさん
2009/10/24(土) 20:44:30どうせ改変するやつなんて超一握りなんだから
信頼性とか機能、性能の方がはるかに重要だろ
0899デフォルトの名無しさん
2009/10/24(土) 20:45:26end # module Roma
みたいな所に。
0900デフォルトの名無しさん
2009/10/24(土) 20:48:04じゃあ中身ってのはいいや。
ちょっとでも動かしてみたのかね?
0901デフォルトの名無しさん
2009/10/24(土) 20:48:39みんながすごいって言ってるんだから自分で動かす必要ないじゃん
0902デフォルトの名無しさん
2009/10/24(土) 21:22:220903デフォルトの名無しさん
2009/10/24(土) 21:31:44のやる気のなさといったら
== client
で終わりだったりするんだぜ
使えねーおおっと、仕えねー
0904デフォルトの名無しさん
2009/10/24(土) 21:35:39そんなのささいなことだ
それ以前に…
0905デフォルトの名無しさん
2009/10/24(土) 22:34:25> If you want to shutdown your ROMA, you have only to type "balse".
…ば…る…す…?
0906デフォルトの名無しさん
2009/10/24(土) 23:05:552ちゃんねらー>>>(越えられない壁)>>>>>>>>>Twitter住人
てことが証明されたな
0907デフォルトの名無しさん
2009/10/24(土) 23:19:560908デフォルトの名無しさん
2009/10/25(日) 00:44:360909デフォルトの名無しさん
2009/10/25(日) 01:45:03スケーラビリティを高めるという面が大きいんだろう。
そうでなければmemcachedで十分だ。
個人で試してみても本当にいいかどうかは分からんから、
どこか負荷の高そうなところが採用して評価するのを待つしかないな。
0910デフォルトの名無しさん
2009/10/25(日) 06:40:040911デフォルトの名無しさん
2009/10/25(日) 07:32:26objective-c以外に何かあったりしますか?
構文のアイデアだけでもいいので知っていたら教えてください。
void eachint(int *arr, size_t ct, void(^block)(int))
{
for(int i=0; i<ct; i++) block(arr[ct]);
}
main()
{
int n[] = {1,2,3};
eachint(n, 3, ^(int it){ printf("%d\n", it); }
}
0912デフォルトの名無しさん
2009/10/25(日) 08:47:28C++0xのlambda式とか。
ttp://codezine.jp/article/detail/4035?p=2
0913デフォルトの名無しさん
2009/10/25(日) 10:18:12まだ試してないけど、CGI動作バグが直ってることに期待したい
0914デフォルトの名無しさん
2009/10/25(日) 10:28:280915デフォルトの名無しさん
2009/10/25(日) 12:36:51gem の test-sepc ライブラリが提供するコマンド
spec コマンドと Ruby スクリプトの駆使で代用できるので認知度は極めて低い
0916デフォルトの名無しさん
2009/10/25(日) 13:02:10やっぱり
C++は
変態だ
な
0917デフォルトの名無しさん
2009/10/25(日) 13:25:58ありがとう。参考になりました。
0918デフォルトの名無しさん
2009/10/26(月) 12:33:57IPA のプレスリリースによると、2009 年度 日本 OSS 貢献者賞と日本 OSS 奨励賞が発表された。
「2009年度 日本 OSS 貢献者賞 」受賞者 (4 名、五十音順)
* 小崎 資広 氏 (@IT の Kernel Watch の人, Linux Kernel 開発者)
* 瀧田 佐登子 氏 (Mozilla Japan 代表理事)
* フェルナンド ルイス・バスケス カオ氏 (Linux Kernel 開発者)
* 本田 茂弘 氏 (PostgreSQL 等の日本語ドキュメント整備)
受賞内容の詳細はプレスリリース本文 (PDF) の別紙 1 を参照。
「2009 年度 日本 OSS 奨励賞」受賞者 (6 名、2 団体 五十音順)
* 個人
o 新井 紀子 氏 (NetCommons)
o 安藤 祐介 氏 (CakePHP)
o 進藤 愛大 氏 (Spark project)
o 高木 正弘 氏 (PHP 関連の日本語ドキュメント整備)
o 寺島 広大 氏 (ZABBIX-JP)
o 林 拓人 氏 (プログラミング言語 Cyan)
* 団体
o 山形県寒河江工業高校・情報技術科
o 一般社団法人 LOCAL
0919デフォルトの名無しさん
2009/10/26(月) 12:41:370920デフォルトの名無しさん
2009/10/26(月) 21:32:22Pythonで聞いたことがあった気もするが
ttp://mg1live.net/up-z/s/zoo1256547146414.jpg
0921デフォルトの名無しさん
2009/10/26(月) 22:05:120922デフォルトの名無しさん
2009/10/26(月) 22:41:440923デフォルトの名無しさん
2009/10/26(月) 22:51:540924デフォルトの名無しさん
2009/10/27(火) 19:58:47http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/05/03.html
写真はまあ相変わらずだけど、エリートって大変そうだな。。
0925デフォルトの名無しさん
2009/10/27(火) 20:22:390926デフォルトの名無しさん
2009/10/27(火) 20:51:12http://tsushima.2ch.net/test/read.cgi/news/1256642703/
0927デフォルトの名無しさん
2009/10/27(火) 20:53:51オカ板でやれ
0928デフォルトの名無しさん
2009/10/27(火) 22:54:340929デフォルトの名無しさん
2009/10/28(水) 10:09:19yuguiさんのプロフィール -OKWave
http://okwave.jp/user.php3?u=1578062
0930デフォルトの名無しさん
2009/10/28(水) 11:10:550931デフォルトの名無しさん
2009/10/28(水) 11:14:200932デフォルトの名無しさん
2009/10/28(水) 11:26:51どんなにレベルの低い大学でも灘・開成の生徒よりも高学歴だよ
0933デフォルトの名無しさん
2009/10/28(水) 11:28:230934デフォルトの名無しさん
2009/10/28(水) 11:35:230935デフォルトの名無しさん
2009/10/28(水) 12:22:31じゃね?
0936デフォルトの名無しさん
2009/10/28(水) 22:53:52フィボナッチ数列を使うことってあるのか?
0937デフォルトの名無しさん
2009/10/28(水) 23:18:11集中的に使うベンチマークが欲しかっただけでは
再帰の竹内関数とかと同じ
0938デフォルトの名無しさん
2009/10/29(木) 01:56:260939デフォルトの名無しさん
2009/10/29(木) 02:21:50中身は1.9の省メモリ化によって増加した処理量の軽減が主だったと思う
0940デフォルトの名無しさん
2009/10/29(木) 07:38:51情熱すげー若いっていーいーなーいいーなーという話
いろんなことできる人のようだから、先鋭化して腐るようなことはないだろう
0941デフォルトの名無しさん
2009/10/29(木) 08:19:150942デフォルトの名無しさん
2009/10/30(金) 23:31:33こういう天才はさっさと大学行かせて高等教育受けさせろ
スレチスマン
0943デフォルトの名無しさん
2009/10/30(金) 23:53:59> 具体的には、array型などが実装されているソースコード
> 、array.c、string.c、struct.cそれぞれから、問題となり得るマクロ、
>
> ・RARRAY_PTR,RARRAY_LEN
> ・RSTRING_PTR,RSTRING_LEN
> ・RSTRUCT_PTR,RSTRUCT_LEN
>
> を探し、文脈を確認しながら、高速化するという作業
> (マクロの値がループ内で不変でループの外に出せるものをループ外に出す)です。
を見るに、中学生にもできそうな事に見えるんだが。
0944デフォルトの名無しさん
2009/10/31(土) 00:16:12ってことは、Rubyの組み込み型を実装してるコードの流れを完全に把握して、
いじっても問題ないかどうかを判断しなきゃならない。
インタプリタからスクリプトに制御が戻るタイミングがあったりすると、
そこで思わぬこと(例外とかcallccとか)入るかもしれないし、聞いた感じほど
簡単な作業ではない。
0945デフォルトの名無しさん
2009/10/31(土) 04:31:32普通の人生歩んで潰れるくらいの才能なら、その程度な気がする。
自分で東大卒に成れる程度に成長出来ないと意味が無い。
これって汎用なのかねえ?
例外だと従来の遅いままだったりしてw
デバッカで眺めていれば弄りたく成るレベルだな。ruby世界の宗主の教祖様がこの問題に手を付けなかった辺りがアレだがw
0946デフォルトの名無しさん
2009/10/31(土) 04:49:020947デフォルトの名無しさん
2009/10/31(土) 06:26:160948デフォルトの名無しさん
2009/10/31(土) 06:37:38一回で全部完璧にこなしたならそうだろうけど、
実際本人の気付かないところでSEGV起こして修正したらしいし
トライアンドエラーしながらなら中学生でもできると思う。
0949デフォルトの名無しさん
2009/10/31(土) 08:34:53というか、C言語ってみんな中学生の頃から触ってたものなのか?
俺は中学生の頃と言えば、BASIC言語で
単純なおこづかい計算プログラムを書いて一喜一憂してた頃なんだが
0950デフォルトの名無しさん
2009/10/31(土) 08:38:150952デフォルトの名無しさん
2009/10/31(土) 09:12:210953デフォルトの名無しさん
2009/10/31(土) 10:30:300954デフォルトの名無しさん
2009/10/31(土) 10:36:35「俺の中学時代」で括ることには何の意味もない
集めたら戦後あたりから1秒前まで分布してるはずだ
0955デフォルトの名無しさん
2009/10/31(土) 10:51:231秒前に中学時代が終わった奴がいるのか
0956デフォルトの名無しさん
2009/10/31(土) 10:52:37どんな田舎だよw
0957デフォルトの名無しさん
2009/10/31(土) 10:58:530958デフォルトの名無しさん
2009/10/31(土) 11:10:37コンピュータが日本に持ち込まれる前の時代の想像はできない?
0959デフォルトの名無しさん
2009/10/31(土) 11:19:18リース期間が終了したミニコンを個人所有したりとかしてた人が存在してたらしいが。
70年代前半かな。
0960デフォルトの名無しさん
2009/10/31(土) 12:38:21ぶっちゃけ高速化の内容が>>943だけならトライアンドエラーだけでできるよ。
・ループの中でマクロを使ってる箇所を探して、それをループの外に追い出す
・make, test してみて、失敗したら元に戻す、成功したらそのまま
を繰り替えしゃいいだけ。
0961デフォルトの名無しさん
2009/10/31(土) 12:39:500962デフォルトの名無しさん
2009/10/31(土) 12:44:29ループの外側にもってけば普通は高速化する。
速度計測する必要なんかないと思うが。
0963デフォルトの名無しさん
2009/10/31(土) 13:13:490964デフォルトの名無しさん
2009/10/31(土) 13:43:390965デフォルトの名無しさん
2009/10/31(土) 13:48:290966デフォルトの名無しさん
2009/10/31(土) 13:56:10そもそも完璧なテストなんか作れんのだから、
ある程度自動でテストできれば後は人柱にテストさせりゃいいでしょ。
0967デフォルトの名無しさん
2009/10/31(土) 13:59:08ぐだぐだみっともない
0968デフォルトの名無しさん
2009/10/31(土) 14:05:33いえっさー
自分に関係のないテストは書き換えたらいかんぜよ
0969デフォルトの名無しさん
2009/10/31(土) 14:14:14自分のしみったれた人生のことばかり考えてるとミジメになってくるから、
たまには遥か遠い次元の人物の話をして心の洗濯してみたいのでは。
0970デフォルトの名無しさん
2009/10/31(土) 14:17:16都合の良いベンチじゃなくてさ、実際的なアプリで。
0971デフォルトの名無しさん
2009/10/31(土) 14:24:320972デフォルトの名無しさん
2009/10/31(土) 14:33:18実際に当たった変更はこれかな
ttp://old.nabble.com/-ruby-dev:39385--Removing-constant-able-macros-inside-of-the-loop.-td25634576.html
この件の本人の記事
ttp://d.hatena.ne.jp/CanI/20090921/1253549503
0973デフォルトの名無しさん
2009/10/31(土) 14:35:29たとえ大人であっても一定の賞賛は得られたろうに
0974デフォルトの名無しさん
2009/10/31(土) 14:35:33Struct#==が60%だっけ?速くなりました。
…といわれてもこんなメソッドが実際に良く使われているか?ってこと。
0975デフォルトの名無しさん
2009/10/31(土) 15:00:54彷彿とさせますなw
0976デフォルトの名無しさん
2009/10/31(土) 15:06:540977デフォルトの名無しさん
2009/10/31(土) 15:08:550978デフォルトの名無しさん
2009/10/31(土) 15:09:53全体的にも5%速くなったって話じゃなかったか
5%も早くなれば十分すごいと思う
0979デフォルトの名無しさん
2009/10/31(土) 15:28:320980デフォルトの名無しさん
2009/10/31(土) 16:04:31ソースだと8%って書いてあるけど
8から63%って波が激しいな
0981デフォルトの名無しさん
2009/10/31(土) 16:12:36最近は学校で平均とか教えないらしいな
よくわかるよ
0982デフォルトの名無しさん
2009/10/31(土) 16:12:45改善された箇所がどれだけ呼ばれるかにかかってるからな。
今回のポイントはArray、String、Structあたりの比較的よく使われるところを改善できた点なわけで
0983デフォルトの名無しさん
2009/10/31(土) 16:18:09平均って、あんた……
0984デフォルトの名無しさん
2009/10/31(土) 16:20:380985デフォルトの名無しさん
2009/10/31(土) 17:07:32何か学者チックな誇大成果主張な気がしないでもない。
0986デフォルトの名無しさん
2009/11/01(日) 14:01:060987デフォルトの名無しさん
2009/11/01(日) 15:11:380988デフォルトの名無しさん
2009/11/01(日) 15:32:44木目に沿って斧を入れればパカッと割れる程度の話だ。
0989デフォルトの名無しさん
2009/11/01(日) 15:50:25中学生がさくさくとやってしまったとこに注目すべき点がある
0990デフォルトの名無しさん
2009/11/01(日) 15:54:200991デフォルトの名無しさん
2009/11/01(日) 15:57:230992デフォルトの名無しさん
2009/11/01(日) 16:58:150993デフォルトの名無しさん
2009/11/01(日) 17:31:210994デフォルトの名無しさん
2009/11/01(日) 18:20:31それは開発環境の充実やコミュニティの敷居が下がってきたみたいな意味で?
0995デフォルトの名無しさん
2009/11/01(日) 18:28:02普通に考えてそうあるべきだろ?
0996デフォルトの名無しさん
2009/11/01(日) 19:50:06まあ今までそんなネタ出てこなかったって事は関心持たれてなかった証だしなあ。
実際、金に成る訳でもないし。
0997デフォルトの名無しさん
2009/11/01(日) 20:00:12外部で中学生であるということがフィーチャーされてしまったのが運の悪かったとこだな
0998デフォルトの名無しさん
2009/11/01(日) 20:08:550999デフォルトの名無しさん
2009/11/01(日) 20:22:101000デフォルトの名無しさん
2009/11/01(日) 20:23:16http://pc12.2ch.net/test/read.cgi/tech/1251029267/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。