「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「気分やノリがソフトウェア開発には重要だ」と断言し、そこに注目して自らRubyを開発してきたまつもとゆきひろ氏は、どのようにしてプログラマに育ち、Rubyを生み出し、そして開発を続けてきたのでしょうか? 今や日本初のオープンソースソフトウェアとして100万人規模のユーザを持つRuby。数々の賞を受け、なおも変化と成長を見据えるまつもと氏が日本最大のゲーム開発者向けカンファレンス「CEDEC2011」にて、自らの若かりし日々から長いRubyの開発の歴史とそこで培われたコンセプト、そして未来への展望までを余すところなく披露してくれました。「Ruby開発が教えてくれたこと」と題されたこの講演の全内容は以下から。 まつもと: はじめまして、まつもとゆきひろです。 最近はRubyを開発した人ということで有名になりましたが、Ruby自体ゲームのソフトウェアというより、それを動かすサーバとして使用して頂
2011年07月26日13:29 Ruby Railsエンジニアならこれだけは知っておけっていう便利メソッド Object#presence と Object#try という便利なメソッドがあることをご存知ですか?この2つのメソッドはとっても便利なのでちょっと紹介してみます。 Object#presence メソッド これは以下のような定義となっています。 def presence self if present? end present? メソッドというのはみんな大好き blank? の反対のメソッド (!blank?) です。 つまり、nil, false, [](空配列), {}(空ハッシュ), ""(空文字列), " "(半角スペースだけの文字列)であれば false、それ以外であれば true になります(blank? って半角スペースだけの文字列を true と判定するの知って
LoveRuby.Net 青木峰郎 / Minero Aoki 書籍サポートページ 『ふつうのLinuxプログラミング 第2版』(2017) 『10年戦えるデータ分析入門』(2015) 『データベース徹底攻略』特集5「Redshift徹底活用」(2014) [Amazon] 『Rubyレシピブック 第3版』(2013) [Amazon] 『ふつうのコンパイラを作ろう』(2009) 『Rubyist Magazine出張版』(2007) 『Rubyレシピブック 第2版』(2007) 『ふつうのHaskellプログラミング』(2006) 『ふつうのLinuxプログラミング』(2005) 『Rubyレシピブック』(2004) 『Javaを独習する前に読む本』(2003) 『Rubyソースコード完全解説』(2002) 『Rubyを256倍使うための本 紅玉征覇編』Racc パート (2001) 『
! ? # % & | + - * / ^ ' . , < > = ~ $ @ _ {} [] () " : ` \ ; ! !true not 演算子。演算子式/notを参照。 3 != 5 「等しくない」比較演算子。演算子式/notを参照。 def xxx! 「!」はメソッド名の一部です。慣用的に、 同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。 /xxx/ !~ yyy 正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。 ? ?a リテラル/数値リテラル。長さ 1 の文字列。 def xx? この場合の「?」はメソッド名の一部分です。 慣用的に、真偽値を返すタイプのメソッドを示すために使われます。 xx ? yy : zz 演算子式/条件演算子。三項演算子とも呼ばれます。if xx then
Rubyist達の夏フェスであるところのRubyKaigiが今年も開催され、猛暑の練馬が大いに盛り上がりました。今回が最後の開催とのことで、関係者各位は素晴らしい会議を本当にどうもありがとうございました。 さて、今年のRubyKaigi2011での各セッションで紹介されたgemのうち、気になったものをピックアップしてみました。 1. fakeweb fakewebは、指定したURLのHTTPレスポンスを偽装する、テスト用のライブラリ。外部サービスと連携するプログラムのテストを書くにはとても便利ですね。 Engine YardのAndy Delcambre氏による「Toggleable Mocks and Testing Strategies in a Service Oriented Architecture」という発表で紹介されました。 以下、サンプルコードです。(READMEより) F
Build RAG and agent-based generative AI applications with new Amazon Titan Text Premier model, available in Amazon Bedrock Today, we’re happy to welcome a new member of the Amazon Titan family of models: Amazon Titan Text Premier, now available in Amazon Bedrock. Following Amazon Titan Text Lite and Titan Text Express, Titan Text Premier is the latest large language model (LLM) in the Amazon Titan
リリースしたものよりもそこに至る過程や理由が自分にとって大事なのでそれを残しておこうと思う。 ※ なんかこれしか書いてないとリリースしたものがどうでもいいように聞こえるけど、そんなことないよ! 付き合い続ける気があるからこその Rails だもの。 Rails の採用に関してオレフレームワークとの決別と人材採用のコストダウンこれまで、PHP 4.2 以降で使えるオレライブラリ、オレフレームワークで小規模なものを作ったり、PHP 3 時代からのレガシーというか遺跡級のシステムの漸進的リプレイスなどを行っていたが、どうも限界を感じていた。なんか仕事が後ろ向きな感じもしていた。このままだとずっと時代に追いつけずに終わりそうという危機感もあった。 また、Google App Engine の登場以降感じていた「うちに必要な技術はこれだよ」と具体的にはっきり言えること、それによって生み出すことのでき
2010年10月27日11:09 Ruby 結局、Rubyの特異メソッドって何なの? 今日は 特異メソッド について理解を深めるために書いてみます。説明の中にメソッドが色々出てきてややこしいですが、このルールで使っています。m(_ _)m c_method # クラスメソッド e_method # 特異メソッド i_method # インスタンスメソッド 特異メソッドっていうのは、オブジェクト固有のメソッドです。あるオブジェクトにはあるけど、同じクラスの別のオブジェクトにはそのメソッドは無い、みたいなメソッドですね。 class MyClass; end obj = MyClass.new obj2 = MyClass.new def obj.e_method puts "e_method called" end obj.e_method # e_method called obj2.e_
やはり触れることになってしまった routes.rb。これを期に意味不明な部分を理解しよう。 勉強して得られた情報をメモ。 routes.rb にて生成される URL については rake routes コマンドにて確認できる。 記載する出力結果はすべて rake routes にて出力された結果です。 match(path, options={}) route 師弟の基本。アクセス可能な path を指定してやることで、HTTP リクエストを処理できるようになる。 match "foo/bar" # foo_bar /foo/bar(.:format) {:controller=>"foo", :action=>"bar"} path は必ず一つ以上 "/" を入れてやる必要がある。 match "foo" => NG match "foo/bar" => :controller=>"f
ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 知って得する21のRubyのトリビアな記法: melborne.github.com - ちょっとトリビアだけど 知っていると意外と便利なRubyの記法を 21個拾ってみたよ(Ruby1.9限定) 君なら全部知ってるかもしれないけど.. 1. 動的継承 Rubyのクラス継承では < 記号の右辺に クラス定数だけでなくクラスを返す式が書けるよ class Male def laugh; 'Ha ha ha!' end end class Female def laugh; 'Fu fu fu..' end end class Me < [Male, Female][rand 2] end Me.superclass # => Female Me.new.laugh
Find actively maintained & popular open source software libraries for the Ruby programming languageThe Ruby Toolbox is a catalog of all Rubygems that keeps track of popularity and health metrics to help you choose a reliable library CategoriesTo give you an overview of what open source libraries are available for a given task we group projects for common problems into categories. The catalog itsel
はじめに Cucumberとは受け入れテストのためのテスティングフレームワークです。CucumberはRuby on Railsに依存しているライブラリではないため、例えば同じRuby制のフレームワークであるSinatraはもちろん、PHPなどで書かれたアプリケーションでも使用することができます。 Sinatraやフレームワークを使用していない素のRubyスクリプトなどをベースにCucumberの解説をすることも可能ですが、今回は仕事で使っている人が多く、また筆者自身もRailsを使って開発をしていることもあって、Railsをベースに解説させていただきます。 なぜCucumberなのか 筆者が勤めている株式会社RAWHIDE.では、Railsアプリを作成する場合、原則的にCucumberでテストを書くようにしています。Cucumber採用当時は、社内にナレッジが少ない、不慣れなど、なかなか
RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD. Documentation This is the official documentation site for RSpec. Much of the document
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く