Ruby

 Computer >> コンピューター >  >> プログラミング >> Ruby
  1. Rubyアプリケーションで何が起こっているのですか?

    Rubyアプリケーションで何が起こっているのか疑問に思っているなら… 派手なGUIツールはありません … しかし、ObjectSpaceモジュールがあります! ObjectSpace アプリケーションの現在の状態に関する情報を提供します。 それがどのように機能するかを発見しましょう。 オブジェクトのカウント ObjectSpaceの使用 プログラムで現在「生きている」オブジェクトを知ることができます。 オブジェクトが生きているとはどういう意味ですか? オブジェクトは、それを指す参照がある限り存続します。参照は、変数や定数などのオブジェクトにアクセスするための単なる方法です。

  2. ミニテストの仕組みの簡単な分析

    ミニテストとは何ですか? MinitestはRubyテストライブラリです 、コードTDDスタイルのテストを作成できます。 これは、Rails&DHHのお気に入りのデフォルトのテストフレームワークです。 一部の人々は、その単純さと、主要な代替手段(RSpec)と比較してコードが少ないことからそれを好みます。 この写真でわかるように : さて、この投稿は、どちらを選ぶべきか、どちらが「より良い」かについてではありません。 この投稿は、ミニテストの仕組みに関するものです。 。 疑問に思っている場合:一番好きな方を使用してください。ただし、両方に精通している必要があります🙂

  3. Rubyでポートスキャナーを作成する方法

    なぜポートスキャナーを作成したいのですか? ポートスキャナーを作成することは、トランスポート層であるTCPプロトコルの基本を学ぶための優れた方法です。 ほとんどのインターネットプロトコル(HTTPおよびSSHを含む)で使用されます。 Rubyネットワークプログラミングがどのように機能するかを学ぶのも良い練習です。 ポートについて話すことから始めましょう! ポートとは何ですか? ポートについて話すとき、私たちは本当に何について話しているのですか? O.S.の港(オペレーティングシステム)レベルは、プロセスに関連付けられた単なる「ファイル記述子」です。 ファイル記述子 stdoutのよう

  4. Ruby2.4の9つの新機能

    クリスマスに新しいRubyバージョンをリリースするのが伝統になっています。 そして、この投稿では、Ruby 2.4での最も興味深い変更のいくつかを取り上げて、ニュースについていくことができるようにしたいと思います🙂 Float#roundwithキーワード アプリでfloatを使用している場合は、floorを使用してください。 またはceil Float#roundメソッドがRuby 2.4でのデフォルトの動作を変更しているため、丸めの場合。 例 : # Ruby 2.3 (2.5).round 3 # Ruby 2.4 (2.5).round 2 デフォルトの動作は「最も近

  5. Rubyメソッドをスパイする方法

    Rubyには、TracePointを使用してアクセスできるトレースシステムが組み込まれています。 クラス。トレースできるものには、メソッド呼び出し、新しいスレッド、および例外があります。 なぜこれを使いたいのですか? さて、特定のメソッドの実行を追跡したい場合に便利です。他にどのようなメソッドが呼び出されているか、および戻り値は何かを確認できます。 いくつかの例を見てみましょう! メソッド呼び出しのトレース ほとんどの場合、TracePointが必要になります 組み込みメソッド(プット、サイズなど)ではなくアプリケーションコードをトレースするため。 これは、callを使用して行うこと

  6. パッキングとアンパッキング:Rubyでバイナリデータを読み取るためのガイド

    この記事では、Rubyのパックとアンパックの方法について学習します! しかし、なぜこれらのメソッドが必要なのですか? テキストの操作は、バイナリデータの操作よりもはるかに簡単です 。 テキストを使用すると、次を使用できます: 正規表現 scanなどのメソッド &match gsub ただし、バイナリデータを操作する場合は、追加の作業が必要になります。そこで、Array#packメソッドとString#unpackメソッドが役立ちます。 いくつかの例を示しましょう。単純な文字列から始めて、さらに興味深いものに移ります。 文字列からASCII値へ これにより、文字列内のすべ

  7. ハッシュテーブルの説明

    私のお気に入りのデータ構造の1つは、シンプルで強力なハッシュテーブルです。 キーと値のペアを格納する効率的な方法であるため、おそらく以前に使用したことがあります。 ハッシュテーブルの実装の背後には、研究する価値のある興味深いコンピュータサイエンスの概念がいくつかあります。これは、まさにこの記事で行うことです! バケットとハッシュ関数 ハッシュテーブルの基本的な考え方は、効率的に(O(1)で)できるようにすることです。 )キーでインデックス付けされたデータを取得します。 簡単に復習すると、Rubyでハッシュテーブルを使用すると次のようになります。 prices = { apple:

  8. 同等性を実装してRubyで2つのオブジェクトを比較する方法

    平等とは、2つのことが同じであることを意味します。 Rubyでは、オブジェクトとその値を比較して、それらが同じオブジェクトであるかどうかを確認します。 質問は… Rubyで2つのことをどのように比較しますか? このように : 1 == 1 # true あなたはおそらくこれにすでに精通しているでしょう… しかし、==であることをご存知でしたか 構文だけでなくメソッドですか? 影響は大きいです。 このメソッドを独自のクラスに実装して、クラスをより強力にすることができます。そして、それがこの投稿で学ぶことです! 2つのオブジェクトを同じにする理由 次のように2つの文字列を

  9. Rubyでスタックを使用して問題を解決する方法

    CS(Computer Science)の学位を持っていない場合は、何かを見逃しているように感じるかもしれません… または、CSが抽象的すぎて役に立たないと感じるかもしれません… または、Rubyがすでにすべてのハードワークを実行している… どちらの方法でも… ハッシュ、スタック、キューなどのデータ構造の基本を理解しておくと役立ちます。 この投稿で : Rubyでスタックを使用する方法を学びます。 今すぐ実践できる実用的なコンピュータサイエンスの概念! Rubyのスタックについて Rubyのスタックとは何ですか? スタックは、「やること」リストとして使用できるデータ構造です

  10. Ruby内部:Rubyオブジェクトのメモリレイアウトの調査

    Ruby内部のクイックツアーをご希望ですか? その後、あなたは御馳走になります。 なぜなら … Rubyオブジェクトがメモリ内にどのように配置されるか、そして内部データ構造を操作していくつかのクールなことを行う方法を一緒に探求します。 シートベルトを締めて、Rubyインタープリターの奥深くへの旅の準備をしてください! アレイのメモリレイアウト 配列を作成するとき、Rubyはそれをシステムメモリと少しのメタデータでバックアップする必要があります。 メタデータに含まれるもの : 配列サイズ(アイテム数) アレイ容量 クラス オブジェクトのステータス(凍結されているかどうか) データが

  11. RubyでのCaseステートメントの使用を停止する

    OOP(オブジェクト指向プログラミング)の全機能を使用していますか、それとも見逃していますか? オブジェクトのタイプに基づいて決定を下している場合、1つの重要なOOP機能であるポリモーフィズムを見逃しています。 タイプの決定は通常、caseステートメント(OOに対応していない)内で行われます。この記事では、それらを削除してより適切なコードを作成する方法を学習します。 タイプの確認 まず、ポリモーフィズムを利用しない例を示します。 「じゃんけん」ゲームを実装したいので、1つのGameを用意することにしました。 クラスと可能な移動ごとに1つのクラス。 勝者を確認するために、playを実装

  12. RubyのStringIO:仕組みと使用方法

    IOのように動作するオブジェクトを探していますか オブジェクト(ファイル、ソケットなど)ですが、文字列のように制御できますか? 次に、StringIO あなたのためです。 注意すべきいくつかの例と事柄をお見せしましょう! 基本的な例 StringIOを作成するには これを実行できるオブジェクト: io = StringIO.new(abc) 次に、getsなどのメソッドを使用してこのオブジェクトから読み取ることができます 、read &each_line 。 最も便利な方法で便利なテーブルを作成しました: メソッド 説明 取得 1行の入力を読み取る 読む 特定

  13. Rubyの実用的なグラフ理論

    これは「実用的なコンピュータサイエンス」シリーズの次回の記事で、Rubyを使用して実際の問題を解決するために古典的なコンピュータサイエンスの概念を適用する方法を学びます。 今日はグラフ理論についてお話します 。 二分木について聞いたことがあるかもしれませんが、次のようになります。 重要なのは、バイナリツリーはグラフの特殊なバージョンにすぎないため、グラフがどれほど普及しているかを知ることができるはずです。 グラフ理論の基礎の概要から始めましょう。次に、いくつかの実用的な使用法と、これをRubyで実装する方法を見ていきます。 グラフの基礎 グラフは2つの要素で構成されています:

  14. RubyでStructとOpenStructを使用する方法

    Rubyの構造体とは何ですか? 構造体は組み込みのRubyクラスであり、値オブジェクトを生成する新しいクラスを作成するために使用されます。値オブジェクトは、関連する属性を一緒に格納するために使用されます。 ここに例があります : Point 2つの座標(x &y 。 このデータはさまざまな方法で表すことができます。 いいね : 配列[10, 20] ハッシュ{ x: 10, y: 10 } オブジェクトPoint.new(10, 20) 複数のPointを使用する場合 、オブジェクトアプローチを使用することをお勧めします。 しかし… これら2つの値を一緒に格納するた

  15. Rubyには魔法はありません

    Rails / Rubyの魔法が多すぎると聞いたことがあるかもしれません(または自分で言ったことさえあります)… しかし、そのアイデアはどこから来たのですか? Railsマジックとは正確には何ですか? そして、その魔法を払拭するために何ができるでしょうか? これが私の考えです : 何かが魔法のように感じるとき、それはあなたが知らない何かがあるからです、それはいくつかの情報が欠けています。 それは魔法のトリックのようなものです。トリックを知っていれば魔法はありません 。 ソフトウェア開発では、トリックを知ることは、物事が実際にどのように機能するかを理解することと同じです。 。

  16. メタプログラミングの隠れたコスト

    メタプログラミングは非常に派手な言葉のように聞こえますが、それは何か良いことですか? 便利な場合もありますが、メタプログラミングの使用にはいくらかのコストがかかることに多くの人が気づいていません。 同じページにいるので… メタプログラミングとは 正確に? 私はメタプログラミングを次のような方法を使用するものとして定義しています: コードの構造を変更します(define_methodなど) ) 文字列を実際のRubyコードの一部であるかのように実行します(instance_evalなど)。 ) 何らかのイベントへの反応として何かを行います(method_missingなど) ) で

  17. Ruby定数について知っておくべきことすべて

    Rubyの定数とは何ですか? 定数は、常に大文字で始まる変数の一種です。それらは外部でのみ定義できます メタプログラミングを使用しない限り、メソッドの数。 定数は変更されるべきではない値に使用されますが、Rubyはそれらの変更を妨げません。 このように見えます : FRUIT = orange 今 : 定数は重要なトピックであるため、この記事で詳細に説明します。 定数の定義方法 定数は、宣言するために特別な記号や構文を必要としません。最初の文字を大文字にする必要があります。 以下は有効な定数です : ABC = 1 Goo = 2 Foo = 3 メソッド内で定数を定義

  18. Rubyで配列とハッシュをソートする方法(例が含まれています)

    Rubyで配列を並べ替えるのは簡単です! 派手なアルゴリズムを書く必要はありません 希望する結果を得るには。 では、何が必要ですか? Rubyの組み込みの並べ替え方法を理解する。 これら : 並べ替え sort_by 並べ替え! これらの方法はどのように機能し、なぜ異なるのですか? それがこの記事でわかることです。 sortから始めて、配列を並べ替えるさまざまな方法を学びます。 メソッド、次にsort_byを見てください 高度な並べ替え(複数の値による)など。 やってみましょう! 並べ替えと並べ替えの使い方を学ぶ! Rubyメソッド ソートの最も基本的な形式は、En

  19. Rubyの実用的なリンクリスト

    これは、「Rubyの実用的なコンピュータサイエンス」シリーズの3番目のエントリです。今日はリンクリストについてお話します。 では、リンクリストとは何ですか? 名前が示すように、リンクリストはデータをリスト形式で保存する方法です(ありがとう、キャプテンオブビシャス!)。 「リンクされた」部分は、データがノードに格納され、これらのノードが順番に相互にリンクされているという事実に由来します。 これはアレイとどう違うのですか? リンクリストと配列 リンクリストには、配列とは異なるパフォーマンス特性があります。これが、どちらかを選択する理由の1つです。 これは、リンクリストが配列よりも

  20. シナトラがどのように機能するかのクイック分析

    SinatraはRubyWebフレームワークです。 Railsの弟のようです… シナトラのしくみを探りましょう : プロジェクトにシナトラが必要な場合はどうなりますか? ルートマッチングはどのように機能しますか? リクエストとレスポンスはどのように処理されますか? 質問はたくさんありますが、時間はほとんどありません… 問題ありません! 私はあなたのために一生懸命働いて、あなたがより速く学ぶことができるように私がこれらの質問に答えるこの記事をまとめました! シナトラの初期化 すべては1つのファイルから始まります: sinatra.rb 。 このファイルが行うのは、 main.

Total 560 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:14/28  20-コンピューター/Page Goto:1 8 9 10 11 12 13 14 15 16 17 18 19 20