• Rubyのデザインパターン。プログラミングにおけるシングルトンパターンの活用

    はじめに       シングルトンパターンは、デザインパターンの中でも最もシンプルな形の一つである。このパターンの目的は、あるクラスのオブジェクトを、システム内でそのクラスの唯一のインスタンスにすることです。これを実現するためには、まずクライアント側でインスタンス化することから始めます。そのため、オブジェクトクラスのユニークなインスタンスの

    2022-01-31 09:24:42
  • Rubyのデザインパターン。プログラミングにおけるストラテジーパターンの活用

    今日、あなたのリーダーはあなたを見つけると興奮し、会議に急いでいるので、あなたに小さな頼みごとをしたいと言っています。どんな頼みごとなのでしょうか?気になりますね。 彼は、あなたのプロジェクトのデータベースには、現在、非常に多くのユーザーに関するデータを保持するユーザー情報テーブルがあり、今、あなたはユーザー情報を選択的に照会する関数を完成させる必要があると教えてくれました。彼は、多くのユー

    2022-01-31 09:04:24
  • Ruby は REXML ライブラリを使って xml 形式のデータをパースする

    REXMLは全てrubyで書かれた処理系で、いくつかのAPIを持っているが、そのうちの2つは古典的にDOMライクとSAXライクで区別される。最初のものは、ファイル全体をメモリに読み込んで、階層的な形(つまりツリー)で保存するものである。もう一つは "parse as you go" で、これはファイルが大きく、メモリに制約がある場合に適している。 rexmlには次のような特徴があります。

    2022-01-31 07:58:39
  • Rubyでタスクビルダーのrakeを使い始める

    Rake入門 RakeとはRuby Makeの略で、rubyで開発されたコードビルドツールです。 しかし、なぜRubyにRakeが必要なのでしょうか?     Rubyのコードはコンパイルする必要がないから、Rakeは必要ないのでは?Rakeには別の目的があることがわかりました。タスク管理ツールとして使うのです...。これには2つの利点が

    2022-01-31 05:24:23
  • Builderビルダーパターンを用いたRubyデザインパターンプログラミング例

    まずは、デザインパターンの基本的な考え方からおさらいしてみましょう。 定義 複雑なオブジェクトの構築とその表現を分離し、同じ構築プロセスで異なる表現を作成することを可能にします。 ビルダーはその製品がどのように組み立てられるかを隠しているので、製品の内部表現を変える必要がある場合は、ビルダーを並べ替えればよい。 ユーティリティの範囲 1. 複雑なオブジェクトを作成するためのア

    2022-01-31 03:37:20
  • Rubyのgemパッケージマネージャの使い方とbundlerによる複数バージョンのgemの管理

    gemの共通コマンド gem -v # View the version of RubyGems software gem help #Show RubyGem usage help gem help example # List some examples of RubyGem commands gem install [gemname] # Install the specifie

    2022-01-31 02:59:52
  • Nokogiriパッケージを使ってXML形式のデータを操作するためのRubyチュートリアル

    インストール方法 Ubuntuの場合、libxml2、libxsltコンポーネントをインストールする必要があります。 $ apt-get install libxml2 libxslt それなら、できる。 $ gem install nokogiri オプション nokogiriは、ファイルをパースするためのオプションをいくつか用意していますが

    2022-01-31 02:04:34
  • RubyおよびRuby on RailsでJSON形式のデータをパースするためのチュートリアルの例

    RubyでJSONをパースする RubyによるJsonのパース例です。 json = '["a", "B", "C"]' puts "Unsafe #{unsafe_json (json).inspect}" #output Unsafe ["a", "B", "C"] RubyはJsonを解析して、上記のjson文字列をArrayにパースしていますが、このような方法は

    2022-01-31 01:14:48
  • Rubyのデザインパターンプログラミングにおけるコマンドパターンの活用を徹底分析

    Commandパターンは、オブジェクトの振る舞いの使用率が高いデザインパターンで、別名 Action、Transaction 意図: リクエストをオブジェクトにカプセル化することで、異なるリクエストをパラメータ化したり、リクエストをキューに入れたり、ログに記録したり、キャンセル可能なアクションをサポートしたりすることができます。 ここでいう「異なる要求」とは、要求の変更と、特徴点の拡張

    2022-01-31 01:03:18
  • Rubyプログラムにおける正規表現の基本的な使い方に関するチュートリアル

    Rubyの組み込み型のほとんどは、他のプログラミング言語の型と非常によく似ています。主なものは、文字列、整数、浮動小数点数、配列、などなどです。しかし、Ruby、Perl、awkなどのスクリプト言語だけが、組み込みの式型をサポートしています。正規表現はもっとわかりにくいが、非常に強力なテキスト処理ツールである。 正規表現は、指定されたパターンを使って文字列をマッチングさせる簡単な方法です。

    2022-01-30 18:45:18
  • Ruby on Railsで構築するアプリケーションの基本的なディレクトリ構造のまとめ

    rails new appnameでRailsアプリを生成した後、ツリーでRailsアプリのディレクトリ構造を確認することができます。 ディレクトリ構造 アプリケーションディレクトリには、app, config, db, doc, lib, log, public, script, test, tmp, vendor の11個のディレクトリと、config.ru, Gemfile

    2022-01-30 18:14:38
  • Perl拡張の正規表現コード解析

    コピーコード コードは以下の通りです。 my $ip = "192.168.0.1|192.168.0.2|192.168.0.1"; if ( $ip =~ /     ^     (? :         ((? :\d{1,3}\.

    2022-01-30 17:48:34
  • PODのPerlのパーミッションの問題

    当初、perldocを使ってApache2::Requestモジュールを見ようと思ったのですが、実行時に以下のエラーが発生しました。 コピーコード コードは以下の通りです。 Error in tempfile() using /tmp/XXXXXXXXXXXX:parent directory (. /) is not writable at /usr/lib/

    2022-01-30 17:47:46
  • 長さを指定し、ランダムなDNA配列を生成するperlスクリプトコード

    コピーコード コードは以下の通りです。 #! /bin/perl use strict;  use warnings; # for definition  my @dna;  my $dna_length;  my $newbase;  my $i=0;  print "please

    2022-01-30 17:34:52
  • RubyとRuby on Railsフレームワーク環境構築の簡潔なチュートリアル

    RubyのインストールとRubyGemsのアップグレード ヒント Ubuntu環境でのインストール中、パーミッションを求められたらsudo makeとsudo make installを使用することができます。 1. Rubyのインストール wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz \

    2022-01-30 17:15:01
  • RubyのブロックオブジェクトProcの詳細解説

    Proc オブジェクト Procは、ブロックから変換されるオブジェクトである。Procを作成する方法は、以下の4つです。 コード例 # Method 1 inc = Proc.new { | x | x + 1} inc.call(2) #=> 3 # method 2 inc = lambda {| x | x + 1 } inc.call(2) #=> 3

    2022-01-30 16:34:55
  • Rubyのinstance_evalメソッドとclass_evalとの比較

    instance_eval メソッド このBasicObject#instance_evalはJSのbindメソッドと少し似ていますが、bindはこれをオブジェクトに渡すのに対し、instance_evalは指定したオブジェクトにコードブロック(Context Probe)を、一つはオブジェクトに、一つは実行ファイルに渡しています。こうすることで、instance_evalのコードブロ

    2022-01-30 15:59:30
  • Perl による日付と時刻の取得のサンプルコード

    注意:localtimeは年を1900年からの相対的なオフセットとして取得し、これは1900年に加えられる必要があり、localtimeは月を0-11の範囲で取得し、これは1に加えられる必要があります。 コピーコード コードは以下の通りです。 #! /usr/bin/perl my ($sec,$min,$hour,$day,$mon,$year,$wday,$yd

    2022-01-30 13:54:05
  • perlで2つのファイル文字列を比較するサンプルコード

    要件 ファイル1から1行を取り出し、ファイル2の全データと比較し、同じものは保存し、そうでないものは削除する。 コピーコード コードは以下の通りです。 #! /usr/bin/perl #use strict; open(FILE1,"C:/Perl/BX/BX-Users.txt"); open(FILE2,"C:/Perl/BX/BX-Book-Ratings.

    2022-01-30 13:38:38
  • へのコメント Perl code for marriage proposal

    オリジナルコード コード出典: http://www.perlmonks.org/index.pl?node_id=384100  #! /usr/bin/perl -w     use strict;          my$f= $[;my  &nbsp

    2022-01-30 12:37:03