複雑なオブジェクトを段階的に構築できます。 このパターンを使用すると、 同じ構築コードを使用して異なる型と表現のオブジェクトを生成することが可能です。
複雑なオブジェクトを段階的に構築できます。 このパターンを使用すると、 同じ構築コードを使用して異なる型と表現のオブジェクトを生成することが可能です。
プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、「Ruby」開発者のまつもとゆきひろ氏。「Contribute to Ruby」をテーマに、Rubyの歴史・これからについて語りました。全5回。1回目は、Rubyの価値を形作る、Productivity・Community・Joyについて。 オフラインでも開催された「RubyKaigi 2022」 まつもとゆきひろ氏(以下、まつもと):おはようございます。 会場:おはようございます。 まつもと:声が小さい(笑)! (会場笑) まつもと:おはようございます! 会場:(さらに大きく)おはようございます! まつもと:あぁ、いいですね、物理会場は。おはようございます。15分ほど遅れましたけれども、2日目を始めたいと思います。 昨日のカンファレンスはどうでした
『Sonny Boy』というアニメが放送されています。学校が異次元に漂流してしまい、超能力に目覚めた生徒たちがサバイバルしながら、さまざまな奇妙な現象の裏にあるルールを解き明かし、元の世界に変える方法を探す、というストーリーです。ルールが分かったあとで何度も見直したくなります。 anime.shochiku.co.jp さて今回、『Sonny Boy』に、プログラムを寄稿しました。プログラムでおもしろいCGを作ったとかではなく、プログラムの実行の様子そのものが『Sonny Boy』の5話の中で放送されました。 こういうプログラムです。 nankai.rb このプログラムがどういうものだったかを解説します。 どんなプログラム? 実行すると、「難解」という文字がほどけてなくなるアニメーションをします。 起動したらまず、プログラム自身が画面に表示されます。 しばらくしたら「難解」が左から右へほど
mruby v1.3 がリリースされましたね。 趣味mrubyウォッチャーとしてv1.2からv1.3で何が変わったのかを、個人的にまとめてみたいと思います。 注目すべきは、やはりmatzのcommit数。 もちろんmerge commitも含みますが、約半数のcommitがmatzのcommitになっています。 なぜmatzがここまでmrubyに力を入れるのか聞いてみたいところですね。 それではmruby v1.2 からv1.3への変更で何が変わったのか、ザックリ見ていこうと思います。 リリースノート http://mruby.org/releases/2017/07/04/mruby-1.3.0-released.html 1年以上あった割には、表向きにはそこまで変化はない感じ? わりと最新のCRubyの文法やメソッドも入っていたりしますね。 Contributions https://
はじめに この記事は「ほんのちょっとだけRubyが動くVMをRubyで実装してみて、Rubyが実行される仕組みを理解しよう」という趣旨のゆるふわな記事です。 こんなコードを実行できるVMを実装します。 この記事ではRuby 2.3.3を使います。 注意点 本記事にでてくる用語は厳密な定義とかは気にせずゆるくふんわりと使ってます VMの実装はRubyを使うので結構ずるい感じです 構文解析、コンパイルはしません クラス定義、メソッド探索、コントロールフレームなどの概念はでてきません なのでRubyを題材にしてますが、Rubyの特徴的な機能にはあまり触れていません 対象読者 Rubyが好き 普段Webプログラミングとかしてる プログラミング言語の処理系としてのVMが気になる まえおき VMとは RubyはJavaやErlangなどと同じようにRuby用のVM(仮想マシン)上で実行されます。 C言
dan sinclairさんのEventMachineの入門記事(PDF)を翻訳しました。 原文はここからダウンロード可能です: http://everburning.com/news/eventmachine-introductions/ (翻訳の公開と画像の利用は本人より許諾済みです) 翻訳・内容の間違い等があればブログコメントやTwitterなどで遠慮無くご指摘ください。 EventMachine入門 Introduction うん、これから何を学ぶことになるのか、この導入のくだりがスタート地点として役に立つと思う。EventMachine とは何だろう。そしてそれは私たちのために何をしてくれるのだろう。さて、最初の部分は簡単だね。EventMachine は Reactor パターン(*1)の高性能な実装さ。 すげえ、いや、ちょっと待て、Reactor パターンって何だ? Wiki
実はこれが、2014年最初のエントリー。サボりすぎ。 WebAPIを呼ぶスクリプト書くのにFaradayを使ってみたので、使い方などをメモっておこうと思います。 Faraday自体は前から知ってたんですが、リダイレクトとかめんどくさい事考えなくて良い場合に、 特にHTTPクライアントのライブラリ入れて使うより、Net::HTTPで十分じゃない?と思って使った事ありませんでした。 なんとなーく、Ruby書きたくなって、使ったことないgemを使ってみたかったので、使ってみた次第です。 ちなみに、読み方は ふぁらでい なんでしょうかね? 環境 OS : Mac OS X 10.9.2 Ruby : ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] 使用するライブラリのバージョン gem 'faraday', '~> 0.9
Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt
あいさつ まあ本当にたまになんですけども、適当な確率過程の遷移をふと鑑賞したい時って絶対あると思うんですよ、 特に疲れているとかは単純マルコフ過程で癒されたいみたいなは割とネタじゃなくてオススメです. なんか癒されるのは遷移が画する軌道がその時の状態にしか依らないので比較的頭を使わないで済むからですかね. 個人的にはなんかめっちゃ気に入っていて毎日5, 6回は鑑賞しています. 乱択には単純にRubyのArray#sampleを使っているので、ちょっとアレですがとにかく簡単にランダムウォーク鑑賞出来ます. 5秒で完了! ランダムウォークの描画まではたった2コマンドで到達出来る. (Ruby環境があればね)
最近VagrantとかChefとかCapistranoとか、それなりにrubyのプロダクトを触るようになったし、別の言語の良いプロダクトも見ないといけないという気分になったから、とりあえずemacsの環境を整えようと思い出した。まずは基本から。 ruby-mode modeはruby-modeを使えばいいっぽい。多分標準で入ってると思う。rubyは.rbつかないような奴も多いので、それは適当にruby-modeに紐づくようにする。中身を見てrubyと判別するやつもあるような気がするけど、まだそれは使ってない。 (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode)) (add-to-list '
Emacs の ruby-mode で改行時に自動的にインデントしてくれる設定。 [cc lang=”lisp”] (define-key ruby-mode-map [return] ‘ruby-reindent-then-newline-and-indent) [/cc] よくこのように書かれているのを見かけるけど、 これだと以下のようなエラーが出る。 Symbol’s function definition is void: ruby-reindent-then-newline-and-indent どうやら、ruby-reindent-then-newline-and-indent という関数は 古いバージョンの ruby-mode.el で使われていた関数らしい。 ruby-reindent-then-newline-and-indent is a function define
source 'https://rubygems.org' gem 'rails', '4.2.0' gem 'sqlite3' gem 'sass-rails', '~> 5.0' gem 'uglifier', '>= 1.3.0' gem 'coffee-rails', '~> 4.1.0' gem 'therubyracer', platforms: :ruby gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder', '~> 2.0' gem 'sdoc', '~> 0.4.0', group: :doc gem 'bcrypt', '~> 3.1.7' gem 'unicorn' group :development, :test do gem 'byebug' gem 'web-console', '~> 2.0' gem 'sp
gemかわいいよgem Rubygems(gem)って? Ruby用のパッケージ管理システムです。ジェムって発音されるようです。 コマンド一つでパッケージをインストール・削除・更新などできるので便利です。 さらにbundlerも入れておければ設定ファイルに書いておいたものも一括で導入できます。 はい、釈迦に説法ですね。すみません Rubygemsコマンド一覧 RubyGems Guideでコマンド一覧が見れます。 その中からよく使うものをリストアップ インストール 必要なgemが予め決まっているならこれでインストール # 最新のものを導入 $ gem install <gem名> # バージョン指定で導入 $ gem install <gem名> -v <バージョン> # RI,RDocドキュメントを入れない(インストールが早い) $ gem install <gem名> --no-ri
Building native extensions. This could take a while... ERROR: Error installing knife-solo: ERROR: Failed to build gem native extension. /usr/bin/ruby2.1 extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h extconf failed, exit code 1 Gem files will remain installed in /var/lib/gems/2.1.0/gems/libyajl2-1.1.0 for inspection. Results logged to /var/lib/gems/2.1.0/extens
Ubuntu 14.04 は 2014 年 4 月にリリースされた比較的新しい Linux OS ですが、普通に sudo apt-get install ruby を実行すると、古い Ruby 1.9.1 がインストールされます。sudo apt-get install ruby2.0 とすれば Ruby 2.0 がインストールされますが、デフォルトの状態では最新の Ruby 2.1 をインストールする方法がありません。 しかし、brightbox/ruby-ng という名前の PPA (Personal Package Archive) を APT リポジトリとして登録すれば、apt-get コマンドで Ruby 2.1 をインストールできるようになります。 手順は以下の通りです: $ sudo add-apt-repository -y ppa:brightbox/ruby-ng $
Photo by HeatSync Labs こんにちは。谷口です。 プログラミングをこれから学ぼうとしている方で、「人気のRubyを勉強してみたい!」という方は多いと思います。 Rubyは『オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。 エレガントな文法を持ち、自然に読み書きができます』とされています(オブジェクト指向スクリプト言語 Ruby)が、やはり「プログラミング経験ゼロからいきなり勉強を始めるには敷居が高いな……」と思っている方も多くいらっしゃるのではないでしょうか。また「できれば独学じゃなくてスクールに通いたいけど、コストは押さえたいんだよな……」という方もいらっしゃるかと思います。 そこで今回は、プログラミング未経験~初心者の方が、なるべくコストをかけずに楽しくRubyに触れられて、学習に役立てられるコンテンツを10件ご紹介していきます。
スクリプト言語、Rubyを使って経済指標の自動巡回プログラムを作りました。2014年のRubyの締めとして公開。 経済指標との出会い 表題の通り、rubyの勉強がてら、経済指標巡回プログラムを作ってみました! 経済指標って何ぞ?っていう人もいると思いますが、米FOMC政策金利発表や雇用統計の発表など世界中の為替や株の値動きに直結するような日々のイベントのことですね! 「本日1ドル122円まで急落し・・・」とかテレビで言ってますが、 そのきっかけとなるのが経済指標の発表となることもあります。 そんな経済指標の発表時間・重要度などは各証券会社などのHPに載っていますが、 毎日見ていくのは面倒!ということで自動で集めてデータベースに保管してくれるプログラム作ることを決意。 photo by timaoutloud 丁度その頃、本屋でこんな本を発見。 Rubyによるクローラー開発技法 巡回・解析機
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く