トップページ > プログラム > 2014年03月18日 > Gqc7z8M9

書き込み順位&時間帯一覧

7 位/225 ID中時間01234567891011121314151617181920212223Total
書き込み数1000000000000000000002216



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
473
Rubyについて Part49
プログラム板 強制ID導入議論スレッド
C言語なら俺に聞け(入門編)Part 125

書き込みレス一覧

Rubyについて Part49
473 :デフォルトの名無しさん[sage]:2014/03/18(火) 00:11:34.84 ID:Gqc7z8M9
>>471
応用しだいで変わるよ

mrubyは組込み用途向けに設計された軽量インタプリタ実装だから、
最も単純な応用であれば、アプリケーションを実装した
1個のファイルを読み込むだけで済む
Rubyについて Part49
481 :473[sage]:2014/03/18(火) 21:32:39.80 ID:Gqc7z8M9
>>477
まず、Rubyには(CやJavaのような)分割コンパイル機能は存在しない
もしやるとしたら、複数ファイルをロードしてから定義されている
(モジュールやクラスといった)オブジェクトをシリアライズして
ファイルへ保存することで実現できるかもしれないけど、
(自分は)実際にやったことは無いし、類似の技術情報を(自分は)知らない

というか、現実にコードファイルの読み込み性能が重要となるケースが想像できない
一般にはアプリケーションの起動時(あるいは必要になった最初の1回)に実行されるから、
多くの応用、特にmrubyのようなアプリケーション組み込み用途だと、
コードファイルの読み込み時間は、システム性能の観点では無視できるはず

もし重要になるケースがあるとすればHTTPリクエスト単位にアプリケーションが
起動されるCGIのケースだけど、mrubyならFastCGIを使えるから問題にならない
普通のRubyによるCGIの場合、CGIKit というHTMLテンプレートでは
複数のコードファイルを単純に結合することで読み込みの高速化を図っている
もし興味があれば、CGIKitのパッケージをダウンロードして自分で調べてもらいたい
プログラム板 強制ID導入議論スレッド
865 :デフォルトの名無しさん[]:2014/03/18(火) 21:44:45.40 ID:Gqc7z8M9
強制ID導入が刺激というかパワーの源になって
ハッスルしているだけのリアル厨房ならば、
そのうち飽きるだろうと思う
これが、もしも現状が長く続くようであれば、
レス単価なバイトで雇われた意図的な荒らしかもしれない

いずれにしても、煽りカキコへのレスは刺激の注入になるだけだから、
スレ住人達がスルー耐性を身につけることを学ぶしかないと思われ
プログラム板 強制ID導入議論スレッド
869 :デフォルトの名無しさん[]:2014/03/18(火) 22:27:30.14 ID:Gqc7z8M9
荒らし君は連日多くのスレへ煽りカキコしているけど、
この板でよく知られている言語の中で、
まったく煽りを入れていない言語スレがある
さーて、それはなんでそふか?
C言語なら俺に聞け(入門編)Part 125
558 :デフォルトの名無しさん[sage]:2014/03/18(火) 22:55:44.93 ID:Gqc7z8M9
>>548
一言でいえば、(C言語のような)静的型付け言語で動的型付けを実現する手法

そのコードであれば、データ型 A はコンパイル時に(=静的に)決定するけど、
実際の型である「整数 または 文字列」は実行時に(=動的に)決まる
そして実行時には変数 type の値によって実際の型を判別する
おそらくそのコードの周辺では、以下のような変数 type へ代入される
定数の一覧が定義されているはず
 const int NUM = 1; const int STRING = 2;
ここで、「X または Y」を実現するために共用体 union が使われ、
その共用体と型判別変数とを組み立てるために構造体 struct が使われる

なお、>>548のコードだと型判別変数はint型で宣言されているけど、
もし可能であるなら、以下のように列挙型で宣言することが望ましい
 enum type_t { NUM =1, STRING = 2 };
 struct A { .... ; type_t type };

また、この手法はPascalやAdaといった言語では「可変レコード型(variant record
type」として言語仕様の一部となっており、このC言語の手法を直接的に定義できる
さらに、完全なデータ型システムを備えたMLやHaskellといった言語では、
可変レコード型よりも表現力が豊かでかつ型安全な仕掛けが提供されている
Rubyについて Part49
485 :473[sage]:2014/03/18(火) 23:35:58.60 ID:Gqc7z8M9
>>483
>>477の複数ファイルを1つにまとめる手法は
ファイルのオープン性能(=ファイルの検索性能)が低い環境では
効果があるけど、>>483が想定する読み込み性能そのものが
絶対的に低い環境では、さほど効果があるとは思えない

もし>>483の環境下でコードファイルの読み込み性能を改善するなら、
コードファイルの圧縮が効果的ではないかと思う
たとえば、拡張子が .rbz であればZIP圧縮されたRubyスクリプトであると
解釈する特殊な requireメソッドを拡張ライブラリとして実装するとか....

で、ちょいと「ruby zip require」でググってみたら、こんな記事を見つけた
・Ruby/zipからrequireする方法 - TOBY SOFT wiki
 http://tobysoft.net/wiki/index.php?Ruby%2Fzip%A4%AB%A4%E9require%A4%B9%A4%EB%CA%FD%CB%A1
参考になるかな?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。