タグ

rubyとRubyに関するKshi_Kshiのブックマーク (52)

  • インフラストラクチャ自動化フレームワーク「Chef」の基本

    DevOpsというキーワードに関連して、「Chef」というツールの名前を聞いたことのある人も多いのではないでしょうか。この記事では、インフラにおける構成管理、展開作業を自動化するChefの構造および基的な使い方について解説します。 インフラストラクチャ自動化フレームワーク「Chef」 Chefは、物理、仮想、クラウドといったさまざまな大きさのインフラに対して、サーバやアプリケーションの展開を容易にするための自動化フレームワークです。 Chefの重要な要素の1つに「Infrastructure as Code」という概念があります。インフラをどのように構築し、維持するべきかという定義はRubyの文法で記述され、ソースコードのように扱うことができます。つまり、あたかもRubyでプログラミングをするように、インフラの構成管理をコードによって行えることがChefの利点の1つです。 自然言語による

    インフラストラクチャ自動化フレームワーク「Chef」の基本
  • まつもとゆきひろ氏が「生涯プログラマー」でやっていきたい若手に贈る3つの言葉 - エンジニアtype | 転職type

    2015.06.03 スキル 社会人になったばかりの若いエンジニアの中には、一度この道に足を踏み入れたからには、自らの技術で身を立てていけたらという、強い思いを胸に秘めている人も少なくないのではないか。 そう考えて今回、Rubyの父として知られるまつもとゆきひろ氏に、あえて「これからの時代に技術だけで生き残るには?」という偏ったテーマで取材を依頼した。返ってきたメールの冒頭にあったのが、次の一文である。 「技術だけで生きるというのは幻想である」 まずはその真意を聞くところから、取材は始まった。 まつもとゆきひろさん(@yukihiro_matz) 1965年生まれ。筑波大学第三学群情報学類卒業。プログラミング言語Rubyの生みの親。株式会社ネットワーク応用通信研究所フェロー、一般財団法人Rubyアソシエーション理事長、Speeeをはじめとした複数社の技術顧問、Herokuチーフアーキテ

    まつもとゆきひろ氏が「生涯プログラマー」でやっていきたい若手に贈る3つの言葉 - エンジニアtype | 転職type
  • 第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp

    はじめに Cucumberとは受け入れテストのためのテスティングフレームワークです。CucumberはRuby on Railsに依存しているライブラリではないため、例えば同じRuby制のフレームワークであるSinatraはもちろん、PHPなどで書かれたアプリケーションでも使用することができます。 Sinatraやフレームワークを使用していない素のRubyスクリプトなどをベースにCucumberの解説をすることも可能ですが、今回は仕事で使っている人が多く、また筆者自身もRailsを使って開発をしていることもあって、Railsをベースに解説させていただきます。 なぜCucumberなのか 筆者が勤めている株式会社RAWHIDE.では、Railsアプリを作成する場合、原則的にCucumberでテストを書くようにしています。Cucumber採用当時は、社内にナレッジが少ない、不慣れなど、なかなか

    第21回 Railsアプリの受け入れテストをCucumberで書こう | gihyo.jp
  • Ruby Tools : Cucumber

  • Introducing Foreman - David Dollar

    Lately I've noticed my web apps are getting complicated to run. My apps no longer consist of a single web process; I usually have have one or more types of background workers to run different types of jobs and a clock process to handle scheduling. Splitting an app up in this way is great for performance and scalability. The downside, however, is that it becomes much more complicated to get the app

    Kshi_Kshi
    Kshi_Kshi 2013/05/12
    foreman install 方法
  • 第41回 Sinatra 1.0の世界にようこそ | gihyo.jp

    はじめに SinatraはRubyで記述されたWebアプリケーションを素早く、簡単につくるためのDSL(ドメイン固有言語)です。 すでに第7回で、原悠さんにより「小規模Webアプリのためのフレームワーク、Sinatra」というかたちで紹介されています。 簡潔な文法で、高い表現力を持つSinatraは、アメリカRubyコミュニティや企業を中心に、瞬く間にユーザを増やしました。また、Rubyという一言語に留まらず[1]⁠、Sinatraを模したフレームワークが多く作られている現状からも、SinatraはWebアプリケーション開発そのものにも大きな影響を与えたと言えます。 最近ではここ日でも、個人利用を中心に、そこかしこでSinatraを使って開発をしている、という話を聞くようになりました。筆者自身、1ユーザとして現在業務で利用しており、1年前は知る人ぞ知る存在だったSinatraは、実際に

    第41回 Sinatra 1.0の世界にようこそ | gihyo.jp
  • Sinatra: README (Japanese)

    This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更

  • String#gsub (Ruby 3.3 リファレンスマニュアル)

    gsub(pattern, replace) -> String[permalink][rdoc][edit] 文字列中で pattern にマッチする部分全てを文字列 replace で置き換えた文字列を生成して返します。 置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 \1 ... \9 は n 番目の括弧の内容に置き換えられます。置換文字列内では \`、\'、\+ も使えます。これらは $`、$'、$+ に対応します。 [PARAM] pattern: 置き換える文字列のパターンを表す文字列か正規表現。文字列を指定した場合は全く同じ文字列にだけマッチする [PARAM] replace: pattern で指定した文字列と置き換える文字列 例 p 'abcdefg'.gsub(/def/, '!!') # => "abc!!g" p 'abcabc'.g

    Kshi_Kshi
    Kshi_Kshi 2013/04/15
    正規表現gsub
  • Ruby で static メンバ変数を実現する - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 日は DokuWiki による記事のテストを兼ねて、Ruby のちょっとした Tips をご紹介します。Ruby は優れたオブジェクト指向言語ですが、まれに C/C++ にある「アレ」が使えないかなぁ、と思うときがあったりします。そのひとつが C++ の static メンバ変数ではないでしょうか。C++ では static メンバ変数の使い方はけっこう重要だっ

  • requireとincludeとextendとmodule_function(1) : As Sloth As Possible

    Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blogを読んでて、もしかしたらちょっと誤解があるのかなと思ったのでrequireとincludeとextendの話を。 requireはKernelモジュールのメソッド Rubyで外部ライブラリを読み込むには、require を利用します。 Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blog これはその通り。もっと具体的に言うと、requireは引数のファイル名のRubyファイルを読み込んで実行するメソッドです。引数が絶対パスだったときはそのファイルを、そうでない場合はロードパスを優先順位上位から辿って最初

    requireとincludeとextendとmodule_function(1) : As Sloth As Possible
  • class << selfを調べてたら特異メソッドとか特異クラスとか出てきた - マグネシウムライト

    普段マジメにソース読みをしないせいで自分の書き方以外のコードが読めない読めない。もっとマジメにコード読もうと思う。 てなわけで今日はclass << selfってなんだよって思ってた。結論はクラスメソッドを複数作成したいときに便利な構文。 で、"class << hoge"というイディオムを調べてたら「特異クラス」の一種だとか。ああ、特異クラスという言葉は聞いた事あった。特異メソッドというのもあったね。 ということでRubyリファレンスから勉強。 6.4 特異メソッドとは何ですか foo = Foo.new def foo.hello print "Hello\n" end foo.hello つまりクラスを拡張することなくオブジェクトにメソッドを追加しちゃうわけっすね。 じゃあ、特異クラスって? 6.6 特異クラスとは何ですか class Foo def hello print "hel

    class << selfを調べてたら特異メソッドとか特異クラスとか出てきた - マグネシウムライト
    Kshi_Kshi
    Kshi_Kshi 2013/04/14
    class << self の意味。クラスメソッドの追加
  • String#chomp (Ruby 3.2 リファレンスマニュアル)

    chomp(rs = $/) -> String[permalink][rdoc][edit] self の末尾から rs で指定する改行コードを取り除いた文字列を生成して返します。ただし、rs が "\n" ($/ のデフォルト値) のときは、実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。 rs に nil を指定した場合、このメソッドは何もしません。 rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、実行環境によらず末尾の連続する改行コード("\r\n", "\n")をすべて取り除きます。 例 p "foo\n".chomp # => "foo" p "foo\n".chomp("\n") # => "foo" p "foo\r\n".chomp("\r\n") # => "foo" $/ = "\n" # デ

    Kshi_Kshi
    Kshi_Kshi 2013/04/07
    改行削除
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Rubyでファイルを扱うまとめ - むかぁ~ どっと こむ

    WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRubyJavascriptなどなど記事を載せています mukaer.com # open options r read only w write only a append only r read write w read write a read write append b binary mode 例 a b # File method read 読み込み全体 readlines 読み込み 行 foreach 読み込み 行 each_byte 読み込み 1byte gets 読み込み行,順次ファイルポインタ移動 wirte 書き込み 引数1のみ puts 書き込み 引数をそれぞれ改行表示 putc 書き込み 1文字 << 書き込み 連結 print 書き込み 引数は複数持ち連結 printf 書き込み 書

  • RubyでXML操作: Netsphere Laboratories

    Warning. (2019.1) REXML は, 標準添付ですが, 品質・速度の両面であまりよくありません。Nokogiri (鋸) がメジャーで、長らく標準の地位で使われています。REXML の3倍速い。 最近は, 大鋸 (おが) の人気が高い。スレッドセーフ、高速、機能性もある。Yorick Peterse / oga · GitLab REXMLの特徴 REXMLは、 XML 1.0に準拠した、高速なXMLパーサで、DOMツリーを生成したり、XML文書を読みながらコールバックさせる (SAX2ストリームパーサ) ことができる。 XPathの実装を含み、検索式によってDOMツリーの好きな要素を取り出すことができる。 Ruby 1.8.5にはREXML 3.1.4が添付されている。チュートリアル、APIリファレンスは下記で見られる。が、APIリファレンスのほうは不十分かつ誤りもある。

  • library test/unit

    要約 ユニットテストを行うためのライブラリです。 test/unit は minitest/unit を使って再実装されましたが、完全な互 換性がある訳ではありません。1.9 系で test/unit を使いたい場合は、以下の test-unitRubyGems でインストールしてください。(ドキュメントでは、 1.9 系については minitest/unit で再実装された test/unit につい て記述しています) Test::Unit - Ruby用単体テストフレームワーク: http://test-unit.rubyforge.org/index.html.ja 使い方 Test::Unit は以下のように使います。 まずテスト対象のソース(foo.rb)が必要です。 class Foo def foo "foo" end def bar "foo" end end 次

    Kshi_Kshi
    Kshi_Kshi 2013/03/20
    XUnit
  • Rubyでファイルの絶対パスを取得する方法 File#expand_pathかPathname#realpathを使用する - YomuKaku Memo

    Rubyで指定したファイルの絶対パスを取得するには、標準のFile#expand_pathメソッドを使用するか、PathnameのPathname#realpathを使用します。 絶対パスを知りたいファイルのパスを相対パスで指定すれば、そのファイルの絶対URLを知ることができます。 Pathnameを使用するには pathname をrequireする必要がある ただしRailsの中で使用するならばpathnameをrequireする必要はない(既に読み込まれているため) require ‘pathname’ path = ‘relative/path/to/file.txt’ File.expand_path(path) => /absolute/relative/path/to/file.txt Pathname.new(path).realpath.to_s => /absolut

    Kshi_Kshi
    Kshi_Kshi 2013/03/08
    PATH関連の処理
  • Ruby: Destructors?

    I need to occasionaly create images with rmagick in a cache dir. To then get rid of them fast, without loosing them for the view, I want to delete the image-files while my Ruby Instance of the Image-Class get's destructed or enters the Garbage Collection. What ClassMethod must I overwrite to feed the destructor with code?

    Ruby: Destructors?
  • 変数と定数 (Ruby 1.9.3)

    ローカル変数 インスタンス変数 クラス変数 クラス変数のスコープ グローバル変数 疑似変数 定数 定数参照の優先順位 Ruby の変数と定数の種別は変数名の最初の一文字によって、 ローカル変数、 インスタンス変数、 クラス変数、 グローバル変数、 定数 のいずれかに区別されます。 通常の変数の二文字目以降は英数字または _ですが、組み込み変数の一部には 「`$'+1文字の記号」という変数があります(組み込み変数を参照)。変数名 の長さにはメモリのサイズ以外の制限はありません。 ローカル変数 例: foobar 小文字または`_'で始まる識別子はローカル変数また はメソッド呼び出しです。ローカル変数スコープ(クラス、モジュー ル、メソッド定義の体)における小文字で始まる識別子への最初 の代入はそのスコープに属するローカル変数の宣言になります。宣 言されていない識別子の参照は引数の無いメソッ

    Kshi_Kshi
    Kshi_Kshi 2013/03/07
    変数
  • Ruby チュートリアル - 8. JRuby から Java へのアクセス

    ここでは jruby 1.1.6 に固有の特徴を説明する。 その目的は,君が jruby を Java のクラスを利用するための簡易な言語として使えるようにすることである。 8.1 文字エンコーディング jruby 1.1.6 は,ruby 1.8.6 と同じく文字を UTF-8/EUC-JP/SJIS 扱いするように指定できる。 無指定時は 1 バイトずつの列として扱う。 p /^あ*$/ === "ああ" を内容とするファイルを作成して実験してみよう。 これはマルチバイト文字「あ」を1文字の「あ」として認識しないと true にならない。 $ cat a.rb p /^あ*$/ === "ああ" $ nkf -w a.rb | jruby false $ nkf -w a.rb | jruby -Ku true $ nkf -e a.rb | jruby -Ke true $ nkf

    Kshi_Kshi
    Kshi_Kshi 2013/03/07
    jrubyの文字列型の参考に