9件ヒット
[1-9件を表示]
(0.021秒)
別のキーワード
キーワード
- Application (1)
- Extension (1)
- InstructionSequence (1)
- Location (1)
- Rational (1)
- Session (1)
- SignalException (1)
- Thread (1)
検索結果
-
IO (115426.0)
-
基本的な入出力機能のためのクラスです。
基本的な入出力機能のためのクラスです。
File::Constants は、File から IO へ移動しました。
===[a:m17n] 多言語化と IO のエンコーディング
IO オブジェクトはエンコーディングを持ちます。
エンコーディングの影響を受けるメソッドと受けないメソッドがあります。
影響を受けるメソッドでは、IO のエンコーディングに従い読み込まれた文字列のエンコーディングが決定されます。
また IO のエンコーディングを適切に設定することにより、読み込み時・書き込み時に文字列のエンコーディングを
変換させることもできます。
==== エンコーディングの影響を受けるメ... -
SignalException (18130.0)
-
捕捉していないシグナルを受け取ったときに発生します。
捕捉していないシグナルを受け取ったときに発生します。
実際に発生したシグナル名は、
Exception#message から
「"SIG" + シグナル名」という形で得られます。
デフォルトの状態では、
以下のシグナルが SignalException を発生させます。
* SIGALRM
* SIGHUP
* SIGINT (※ただし以下参照)
* SIGQUIT
* SIGUSR1
* SIGUSR2
* SIGTERM
なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである
Interrupt が発生します。 -
OpenSSL
:: SSL :: Session (18094.0) -
SSL/TLS セッションを表すクラスです。
SSL/TLS セッションを表すクラスです。
セッションとは、SSL/TLS のハンドシェイクで確立される
仮想的なオブジェクトであり、安全な通信路を
実現するために必要な、クライアント側とサーバ側で共有される
情報の集合体です。SSL/TLS ハンドシェイクで必要な計算(特に署名の検証)
はかなり高コストであり、以前にそのような計算を済ませたという事実を
利用してハンドシェイクの高速化を図ることができます。
これがセッションの再利用です。
より具体的には、以下のような手順で再利用が行われます。
* まずは普通にクライアントとサーバでハンドシェイクを行う
* クライアントとサーバの... -
Logger
:: Application (18022.0) -
ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。
...行う run メソッドを定義します。
(3) そのクラスをインスタンス化して start メソッドを呼び出します。
例:
class FooApp < Application
def initialize(foo_app, application_specific, arguments)
super('FooApp') # Name of the application.
end... -
OpenSSL
:: X509 :: Extension (18022.0) -
X.509 v3 証明書の拡張領域のためのクラスです。
X.509 v3 証明書の拡張領域のためのクラスです。
OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を
取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。
=== 参照
* 5280 -
Rational (18022.0)
-
有理数を扱うクラスです。
有理数を扱うクラスです。
「1/3」のような有理数を扱う事ができます。Integer や Float
と同様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。
//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}
Rational オブジェク... -
RubyVM
:: InstructionSequence (18022.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
... -
Thread
:: Backtrace :: Location (18022.0) -
Ruby のフレームを表すクラスです。
...例1の実行結果:
caller_locations.rb:2:in `a'
caller_locations.rb:5:in `b'
caller_locations.rb:8:in `c'
//emlist[例2][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
p... -
Thread (76.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...