Rubyについて Part48
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/09/20(木) 08:04:39.36= 前スレ
Rubyについて Part 47
http://toro.2ch.net/test/read.cgi/tech/1326687331/
0488デフォルトの名無しさん
2013/03/16(土) 21:12:26.37大規模だとぜったいそっちのほうがいい
Rubyなんだから後方互換とか捨ててもいいでしょ
0489デフォルトの名無しさん
2013/03/16(土) 21:15:53.93大規模じゃない場合は?
0490デフォルトの名無しさん
2013/03/16(土) 21:31:30.06ただ人のものパクってばっかりで
0491デフォルトの名無しさん
2013/03/16(土) 21:32:40.230492デフォルトの名無しさん
2013/03/16(土) 22:06:17.280493デフォルトの名無しさん
2013/03/16(土) 22:18:38.45机上の勉強だけしてSilver取れたなら同じ様な勉強だけで取れるレベル?
勉強して実際あれこれいじくりまわして経験つまないと無理なレベル?
0494デフォルトの名無しさん
2013/03/16(土) 22:21:22.40わかってるじゃないかw
0495デフォルトの名無しさん
2013/03/16(土) 22:26:08.96最近Goldに合格したけど、結構難しかった。
Silverで役に立った公式の練習問題がほとんど役に立たなかった。
0496デフォルトの名無しさん
2013/03/16(土) 22:26:34.43つまり後者って事かthx
サファイヤに比べると全然ティンと来る比較出てないから
簡単に取れるならとりあえずGoldを、そうでもないなら一気にサファイヤ目指そうかと考えてる
資格で物は作れないが物を作る事を任せてもらう為には重要だからな
0497デフォルトの名無しさん
2013/03/16(土) 22:29:12.40実体験報告ありがとう
つまり新規に勉強しなおす覚悟が必要な程度には難しいのね・・・
うーん、Goldスルーしてサファイヤ目指すかな
基本的に兼ねてるんだろうしベンダ系は高いからなぁ
0498デフォルトの名無しさん
2013/03/16(土) 22:30:17.090499デフォルトの名無しさん
2013/03/16(土) 22:40:45.06サファイヤってのはよく知らないけど、
Goldに関しては、Silverを兼ねているというものではなく、
SilverとGoldの両方に合格して、はじめてRuby認定技術者Goldとして認定されるよ。
0500デフォルトの名無しさん
2013/03/16(土) 22:41:59.30ベンダだって自分とこの社長や人売り営業の考え次第では、自分を売り込む効果があったりするんだ
資格も糞も問わねーから奴隷売ってくれー!ってな底辺地獄に売られる危険は減る
0501デフォルトの名無しさん
2013/03/16(土) 22:52:57.46ゆるキャラ検定のほうがマシなレベルw
0502デフォルトの名無しさん
2013/03/16(土) 23:15:13.680503デフォルトの名無しさん
2013/03/16(土) 23:20:02.160504デフォルトの名無しさん
2013/03/16(土) 23:31:12.00Ruby資格を馬鹿にする奴はいるが嫉妬する奴は存在しない
0505デフォルトの名無しさん
2013/03/16(土) 23:31:23.51http://melborne.github.com/2012/04/20/ruby-reference-index-is-renewed/
それともプラチナのこと?
Ruby Association Certified Ruby Programmer Platinum (仮称):
策定中
http://www.ruby.or.jp/ja/certification/examination/
俺もGoldは腕試しで合格したが、Silver受けてないから認定は貰えてない。
0506デフォルトの名無しさん
2013/03/16(土) 23:32:15.230507デフォルトの名無しさん
2013/03/16(土) 23:40:49.280508デフォルトの名無しさん
2013/03/16(土) 23:47:51.93Silverは受けてない。
Goldの後にSilverを受けて何か得るものがあるのかな?
なぜ両方合格しないと認定されないのか不思議でしかたがない。
0509デフォルトの名無しさん
2013/03/16(土) 23:53:53.860510デフォルトの名無しさん
2013/03/16(土) 23:56:20.310511デフォルトの名無しさん
2013/03/17(日) 01:04:15.97役に立たない言語を必死で覚えて
0512デフォルトの名無しさん
2013/03/17(日) 05:39:36.580513デフォルトの名無しさん
2013/03/17(日) 07:37:31.73大規模じゃなくてもrefine指定したもののみ変更可能ってしたほうが良いよ
0514デフォルトの名無しさん
2013/03/17(日) 07:56:57.67なんも分かってないっていうかアホ
0515デフォルトの名無しさん
2013/03/17(日) 17:02:18.190516デフォルトの名無しさん
2013/03/17(日) 18:07:33.72これいれるくらいならオープンクラス辞めろって話
矛盾した機能だ
0517デフォルトの名無しさん
2013/03/17(日) 20:17:41.53設計が悪すぎて、たいして使い処がない上に、
ただでさえ遅いRubyの足を引っ張ることしかしてない。
0518デフォルトの名無しさん
2013/03/17(日) 20:33:54.89オープンクラスは超強力ですがその分リスクもあります。
それを refinement によって制御し、リスクを下げようとしているのであり、
矛盾はしていないと思います。
これによって今まで共存させられなかったライブラリを共存させられるように
なったら、素敵だと思います。
0519デフォルトの名無しさん
2013/03/17(日) 22:16:46.55Rubyの設計や実装が悪いのは今に始まったことじゃないが?
0520デフォルトの名無しさん
2013/03/18(月) 02:35:08.560521デフォルトの名無しさん
2013/03/18(月) 02:41:17.74http://htn.to/9GrwNV
0522デフォルトの名無しさん
2013/03/18(月) 06:38:49.86マジで言ってる?
同じ名前のメソッドがあるが実装が違うっていう状態が起きまくってバグ多発の予感しかしない
0523デフォルトの名無しさん
2013/03/18(月) 07:13:16.49いちいち配列作るのは無駄だとおもうんだけど
0524デフォルトの名無しさん
2013/03/18(月) 08:05:34.12「配列を作る」の意味がよく解らんかったが、
複数の数の中の最大値を求めるメソッドか。
※ 最初、Bignumがあるのに上限値があるわきゃねーじゃん、と思った。
単一の数でmaxもminもないだろ、という以上の答えはないと思うので、
不満ならmatzを説得してください。
0525デフォルトの名無しさん
2013/03/18(月) 08:44:39.23用法・用量によってくると思います。
一つのプロジェクトの中で場所によって using 対象が頻繁に異なっていたら混乱しそうですね。
その点に注意して using を利用すれば、メリットだけ享受できるのではないでしょうか?
0526523
2013/03/18(月) 09:20:34.33なんでもかんでも機能つめこんでる言語だから無いのに違和感ある
0527デフォルトの名無しさん
2013/03/18(月) 09:34:42.25言語で遊ぶのが目的化してるから
自分でmax実装するのが楽しい人向け
0528デフォルトの名無しさん
2013/03/18(月) 09:59:25.05Math.max(a, b)に拘るって、2つの数値しか比較したくないんですかと
0529デフォルトの名無しさん
2013/03/18(月) 10:01:12.64強めの型付けでバグも防げるナイスな言語
0530デフォルトの名無しさん
2013/03/18(月) 10:12:19.73いやだから2つの値を比べたい場合にわざわざ配列つくって比較するのが無駄じゃねといいたいんだけど
0531デフォルトの名無しさん
2013/03/18(月) 10:19:22.64と
puts max(a , b)
がそんなに違うのか?
0532デフォルトの名無しさん
2013/03/18(月) 10:30:04.04Math.て頭につけるのは「理にかなった」ことなのか?「何度でも書かせていただきます」とでも?
0533デフォルトの名無しさん
2013/03/18(月) 11:05:03.03Mathへのアクセスと、無駄な配列生成とどっちがコスト高かわからんとかバカか?
ただでさえ糞遅いRubyをどうしてさらに負荷をかけて使いたがるのかわからん。
0534デフォルトの名無しさん
2013/03/18(月) 11:10:57.720535デフォルトの名無しさん
2013/03/18(月) 13:54:56.64a < b ? b : a
と書けば max メソッドを呼び出すコストもなくなるのでより速いかと。
>>533
Rubyはそんなに遅いですか?
CやC++と比べたら大きな差があると思いますが、スクリプト言語なので
ある程度は仕方がないのでは?
状況に応じて適切な言語を選択すれば良いと思います。
0536デフォルトの名無しさん
2013/03/18(月) 14:37:47.85爆速なのはトップレベルだけで、クラスやモジュールがネストされるほど遅くなる
配列リテラル書いて付属のインスタンスメソッド呼ぶほうが速いというか、Math.maxでやることはたぶん配列生成とメソッド呼び出しで、ある意味二度手間
0537デフォルトの名無しさん
2013/03/18(月) 15:10:30.040538デフォルトの名無しさん
2013/03/18(月) 15:10:54.530539デフォルトの名無しさん
2013/03/18(月) 15:13:05.82なんかスレ荒れすぎててちゃんと読まず、パッと単語を拾って反応してしまった。謝ります。
0540デフォルトの名無しさん
2013/03/18(月) 16:21:44.90Ruby が糞遅いのは動的だからじゃなくて単に実装がタコだからってだけなんで
Ruby よりはるかに動的なのに爆速な v8 さんとかに謝れ!
0541デフォルトの名無しさん
2013/03/18(月) 18:47:50.890542デフォルトの名無しさん
2013/03/18(月) 20:20:07.220543デフォルトの名無しさん
2013/03/18(月) 20:32:40.41それをやるとbかaで計算してる場合に2度計算するのは無駄だから一時的に変数に代入しなきゃいけなくなるだろ
だからa.max(b)があれば便利なのにって言ってんの
0544デフォルトの名無しさん
2013/03/18(月) 20:42:16.14お前には無理
0545デフォルトの名無しさん
2013/03/18(月) 21:36:36.30「糞遅い」と言う根拠が依然としてわかりませんが、
Rubyはまだまだ速くなる可能性を秘めているということですよね。
だとしたら素晴らしいですね。
良い情報をありがとうございます。
>>543
確かに配列オブジェクトを生成しなくて済む分 [a, b].max と書くよりも
速いですし、一時的に(明示的に)代入する手間も省けますね。
ですがもし速度を求めるのであれば、一時的に変数に代入をしてでも
>>535 の様に書いた方が速いはずです。
また、a と b しか登場しないのに max というメソッド名なのは、
ちょっと変な気がします。
とりあえず、自分で Comparable モジュールに定義しておくと便利かもしれませんね。
0546デフォルトの名無しさん
2013/03/19(火) 05:05:44.88それだとギリギリ許容できるかな
やはりrefineを使う場合はオープンクラスを禁止するのを同時にやらないと破綻すると思う
0547デフォルトの名無しさん
2013/03/19(火) 11:25:15.56やっとモンキーパッチが絶滅するのか…長かった
0548デフォルトの名無しさん
2013/03/19(火) 15:58:52.45RSpecとかあってもDeveloperがちゃんと書かないと意味ない
0549デフォルトの名無しさん
2013/03/19(火) 22:14:36.38最近、specディレクトリはあるけどほとんど空っての多いよね
gemのテストで参考になるやつ教えてください
0550デフォルトの名無しさん
2013/03/20(水) 00:09:39.46そもそもその程度のオーバーヘッド気になるならCで書き直すかな
Rubyは遅いのを承知の上で、書き下す楽さを優先する時に選ぶってのが基本かと
頭の中を整理するために、そんなアホな書き方許容する言語ねーよw…な擬似言語でコード書いたら
あれれそれが動いちゃうよ、マジで?みたいな言語がRubyだと思うの
0551デフォルトの名無しさん
2013/03/20(水) 01:12:51.99自分が参考にしたのはrackかな
Webのローレイヤーの勉強にもなるし、オススメ
0552デフォルトの名無しさん
2013/03/20(水) 01:40:30.140553デフォルトの名無しさん
2013/03/20(水) 02:03:02.75誰が言い出したんだろうね。
もはやRubyのステレオタイプだわ。
0554デフォルトの名無しさん
2013/03/20(水) 02:19:59.55作者がそう公言してるのに、誰が?ってことはないだろ。
0555デフォルトの名無しさん
2013/03/20(水) 02:30:05.95だからといってJava使うかという話
0556デフォルトの名無しさん
2013/03/20(水) 02:56:43.50ほとんどの場面で現状ほぼ最高最速なものを作ることができる(目の前のあなたにそれが可能かどうかは知らない)
実行時の速度とCPU/メモリ効率の良さが別に重要でないのなら、"Cのコードを生成・再利用"する二次的プログラム言語で書くといい
つまりスクリプト言語だ
0557デフォルトの名無しさん
2013/03/20(水) 03:15:42.90混在する場合も多い。
そうした場合、一部をスクリプトで、一部をC/C++で書く。
Rubyの弱点はランタイムと言語仕様の複雑さであり、
そこらへんでシンプルイズベストなPythonやLuaに対して
C/C++との連携が悪い。mrubyも大きいと感じる。
0558デフォルトの名無しさん
2013/03/20(水) 03:42:45.96そんなもんとっくにやってる
一番問題なのは並列性能とIOの性能でしょ
まあ、それでもJRubyとPumaでよいと思う
0559デフォルトの名無しさん
2013/03/20(水) 03:57:33.31普通のWebサーバやデスクトップ用途ではJVM出しっぱは現実的ではないので
JRubyをコマンドラインから起動して遅いとか文句言わないこと
0560デフォルトの名無しさん
2013/03/20(水) 05:50:23.18なるほどrackか
読んでみる
0561デフォルトの名無しさん
2013/03/20(水) 16:18:15.68でも書かなきゃいけないでござる
面倒でござる
0562デフォルトの名無しさん
2013/03/20(水) 18:23:41.35今から1.9覚えるのに10年かかるでござる
そしてこうですかわかりません><
0563デフォルトの名無しさん
2013/03/20(水) 18:29:13.500564デフォルトの名無しさん
2013/03/20(水) 18:32:12.280565デフォルトの名無しさん
2013/03/20(水) 22:04:17.38お前Ruby習得すんのに何年かかったんだw
0566デフォルトの名無しさん
2013/03/20(水) 22:05:42.34使うだけなら誰でもできるし、Rubyで使えるライブラリー書いてる人、
コミッタ以外でいないよね
0567デフォルトの名無しさん
2013/03/20(水) 22:12:26.41>コミッタ以外でいないよね
いや、別に?
0568デフォルトの名無しさん
2013/03/20(水) 22:20:33.33努力したがどういう主張か理解できない
0569デフォルトの名無しさん
2013/03/20(水) 22:33:46.03gemってオレサマシステムがぶち壊しか
0570デフォルトの名無しさん
2013/03/20(水) 22:34:15.52文字列とIO周りさえ押さえれば、だいたい何とかなるんじゃない?
1.8→1.9最大の破壊的変更はM17N対応だから
0571デフォルトの名無しさん
2013/03/20(水) 23:32:28.03言語ごとに独自のパッケージングシステムやビルドシステムを用意する最近の傾向は誰が流行らせたんだろうね。
PerlのCPANは昔からだけど、Rubyのgemとrake、Javaのantやmaven、Pythonのeasy_install、scalaのsbazとsbt。。。
ほんとうっとうしい
0572デフォルトの名無しさん
2013/03/20(水) 23:33:36.08エンコーディングまわりも異なるエンコーディングが混在してなければ問題ないはずだし
0573デフォルトの名無しさん
2013/03/21(木) 03:55:48.27言語ごとにあるのは別にうっとうしくないし、理にかなってると思うけど。
JavaのMavenは糞でゴミで産廃でポンコツで無能で無意味で無価値だけど。
0574デフォルトの名無しさん
2013/03/21(木) 04:49:57.20Lucas Nussbaum乙
0575デフォルトの名無しさん
2013/03/21(木) 06:11:51.330576デフォルトの名無しさん
2013/03/21(木) 11:03:40.82自分で、gem をも apt, yum の管理下におけばよいではないか?
0577デフォルトの名無しさん
2013/03/21(木) 11:47:40.59公式サイトで最新バージョンがリリースた直後に
すぐに入れられるならそうしてるさ。
あと最近では複数バージョンの同居も求められてるな。
0578デフォルトの名無しさん
2013/03/21(木) 12:40:40.75言語ごとのユーザにはいいんだろうけどね。
ツール使いたいだけのユーザには「easy_installでインストールしろ」「sconsをインストールしろ」は面倒でかなわん。
Rubyはgemやrakeが公式パッケージに含まれてるだけマシな方かもしれない。
aptやyumがLinux以外に使えて、かつもっと気楽ならいいのにね。
リポジトリを公開するのも、sources.listとかにリポジトリを追加するのも、心理的障壁がありすぎる。
0579デフォルトの名無しさん
2013/03/21(木) 12:57:23.28node.jsおぬぬめ
0580デフォルトの名無しさん
2013/03/21(木) 13:26:24.10正確にはnode.jsのバージョンの上がり方が
早すぎるといったほうがいいんだが
安定性など正当な理由があるために
ディストリのメジャーアップデート時以外では
新しいバージョンに入れ替えないだろう?
それはそれで正しいと思うから、
だからこそディストリに文句は言わず、
ディストリ標準のパッケージ管理システムを使わないんだよ。
これがディストリビューターも開発者も
両方が満足する方法じゃん。
0581デフォルトの名無しさん
2013/03/21(木) 13:33:49.72> aptやyumがLinux以外に使えて、かつもっと気楽ならいいのにね。
それ以前に方針が全く違う。
aptやyumはあくまで今使ってるシステムをメンテナンスするもの。
言語のライブラリを管理するものになっていない。
aptやyumを使うと、システムが変わってしまう。
そしてその方針はディストリの考え方に限定されてしまう。
システムの安定性のために必要なことだが、
アプリ開発にとってはただの制限でしかない。
Redhat系、Debian系、(ついでにWindows)などのシステムに依存しない
どの言語でも使える汎用の開発用ライブラリ管理ツールがあればいいとは思う。
でもシステムと開発アプリは別々に管理したい。
つまりこういうことさ。
プログラム言語系はディストリから外すべきなのでは
http://engawa.2ch.net/test/read.cgi/linux/1358608765/
0582デフォルトの名無しさん
2013/03/21(木) 15:52:25.34OSと言語のモジュールを密結合させてどうするの
0583デフォルトの名無しさん
2013/03/21(木) 16:17:21.10OSの機能は使うけど必要最小限で
プログラムが使用するライブラリは実行ファイルと
同じディレクトリに格納するのが基本
あとはどのディレクトリに入れても動く。
WindowsはインストーラがGUIで操作することしか
考慮してないという問題があるけどね。
0584デフォルトの名無しさん
2013/03/21(木) 16:24:50.57モジュールっていうのは、アプリごとに管理したいでしょ
systemのrubyつかってればいいsysadminは、自分でRPMパッケージ作ればいいんでは
0585デフォルトの名無しさん
2013/03/21(木) 16:30:36.65OSとアプリは、どの組み合わせでも動くようにする。
0586はちみつ餃子 ◆8X2XSCHEME
2013/03/21(木) 16:39:03.30Windows は別のソフトと依存関係がある場合に配布が面倒だよ。 簡単に解決しようとするとバンドルするしかない。
Raspberry Perl とか Haskell Platform なんか gcc がまるっと入ってるから両方にパスを通すとえらいことになる。
個別に入れる選択肢をとれないわけじゃないからそういうときは手間をかければいいだけではあるんだけどさ。
0587デフォルトの名無しさん
2013/03/21(木) 16:39:28.44だからそれでいいと。
■ このスレッドは過去ログ倉庫に格納されています