第12回【Trema編】動画放送局をIPマルチキャストで作ってみよう! Trema プロジェクト,高宮安仁,@yasuhito,すぎょうかずし,千葉靖伸,鈴木一哉,小出俊夫,@effy55 2012-05-16 第11回【Trema編】実践あるのみ! 生活ネットワークをOpenFlowに移行しよう Trema プロジェクト,高宮安仁,@yasuhito,すぎょうかずし,千葉靖伸,鈴木一哉,小出俊夫,@effy55 2012-04-11 第10回【Trema編】Tremaプロジェクトの深層に迫る! Trema プロジェクト,高宮安仁,@yasuhito,すぎょうかずし,千葉靖伸,鈴木一哉,小出俊夫,@effy55 2012-03-14
はじめに Cucumberとは受け入れテストのためのテスティングフレームワークです。CucumberはRuby on Railsに依存しているライブラリではないため、例えば同じRuby制のフレームワークであるSinatraはもちろん、PHPなどで書かれたアプリケーションでも使用することができます。 Sinatraやフレームワークを使用していない素のRubyスクリプトなどをベースにCucumberの解説をすることも可能ですが、今回は仕事で使っている人が多く、また筆者自身もRailsを使って開発をしていることもあって、Railsをベースに解説させていただきます。 なぜCucumberなのか 筆者が勤めている株式会社RAWHIDE.では、Railsアプリを作成する場合、原則的にCucumberでテストを書くようにしています。Cucumber採用当時は、社内にナレッジが少ない、不慣れなど、なかなか
前回のMilkodeでの事例紹介では、Rubyでrroongaを使ってソースコード検索エンジンを実装している事例を紹介しました。Milkodeは全文検索エンジンを組み込むことにより、大量のファイルに対しても高速な検索を実現しています。rroongaを使った代表的なアプリケーションの1つです。プログラマにとってとても便利なアプリケーションなので、ぜひ使ってみてください。 前回はユーザ視点からのrroongaの紹介でしたが、今回は違った角度から紹介します。rroongaの歴史、大事にしていることについて説明します。 自分のアプリケーションで利用するプロダクトを検討するときに、プロダクトがどのような方向で作られているかを考慮していますか? 自分のアプリケーションが大事にしたいことをそのプロダクトでも大事にしているなら、相性がよいかもしれません。さて、rroongaはあなたが大事にしたいことを大事
まず、はじめに みなさん、こんにちは。これから「Herokuを使ってFacebookアプリを作ろう」というテーマで連載を書かせていただくことになりました。どうぞ、よろしくお願いします。私は、SonicGardenという組織の中でプログラマーとして、Ruby on Railsを利用してWebサービスを開発しています。 SonicGardenでは、SKIPやyouRoomというコミュニケーションサービスをSaaSとしてサービス提供しています。もちろん、この2つのサービスはRuby on Railsで作られています。 SKIP youRoom 現在、SonicGardenではRuby on RailsのホスティングサービスであるHerokuを非常に注目しています。海外でも非常に注目され始めています。また、SonicGardenではコミュニケーション系のウェブサービスを提供していることもありソーシ
Ruby 2.2.0 preview1: ついに来ました!恒等関数 Kernel#itself などなど こんにちは、鈴木です。 先日(2014/9/18)に Ruby 2.2.0 preview1 が出ましたね! Ruby 2.2.0-preview1 リリース いくつか新しい機能も増えていたので、気になったものをご紹介します!(詳細な変更内容はこのページで確認することができます。) ついに来ました!恒等関数: Kernel#itself いわゆる恒等関数と呼ばれる、自身 (self) をそのまま返すメソッド Kernel#itself が追加されました。 他の言語でも恒等関数が組み込みで存在する場合があり、id や identity などの名前で定義されていることが多いです。「名前重要!」の Ruby では恒等関数の導入案は以前からありましたが、名前がなかなか決まらなかったという経緯が
連載目次 前回の「RailsのテンプレートエンジンSlimの書き方とActionViewのヘルパーメソッド、レイアウトの使い方」までで、Railsの基本的な使い方をMVCで分解して解説してきました。今回はRailsのテストについて解説します。 ある機能を作るにはいろいろな作り方がありますが、より短く分かりやすいコードに変えたとき、アプリケーションの「振る舞い」まで変わってしまうと問題ありですね。そうならないためにアプリケーションの振る舞いをあらかじめ定義しておきます。そしてコードを変えるたび定義通りに動いているかチェックすれば、バグや不具合を減らせそうです。 Railsには、そのためのツールがあり多くの開発現場でテスティングフレームワークとして使われています。まずはツールを使えるようにするところから紹介しましょう。 標準「MiniTest」とデファクトスタンダード「RSpec」 Rails
今回から始まった隔週連載groongaでは、groongaを使いたくなるような情報を隔週毎にお届けします。 groongaとはGitHubで公開されているオープンソースの全文検索エンジンです。大量にある文書の中から目的のキーワードを持つ文書を高速に見つけることができます。 groongaのロゴ©groongaプロジェクト 第1回目である今回は、この連載についてとgroongaの特徴を紹介します。 この連載について まず、この連載について説明します。 この連載は「読者の皆さんがgroongaを使いたくなる!」ことを目指しています。そのために、次の2点の情報を次回から交互にお届けします。 groongaの利用事例の紹介 利用事例に関連した役立つ情報の紹介 利用事例を紹介することで、「あそこでも使っているなら自分も使ってみようかなぁ」とか「こんな使い方をしているなら自分も使ってみようかなぁ」と
About This documentation explains the specifications of Qiita API v2. Request Requires secure connections with TLS to access the all endpoints of our API, without exception. Use qiita.com host to access to the public Qiita data, otherwise use *.qiita.com to access to Qitia:Team data. Parameters Accepts GET, POST, PUT, PATCH, and DELETE HTTP methods. On GET request, include parameters as URI query
TOPICS クックブック , Programming , Ruby 発行年月日 2007年04月25日 PRINT LENGTH 512 ISBN 978-4-87311-324-1 原書 Ruby Cookbook FORMAT 本書は、Rubyによる開発経験を持つ読者を対象に、プログラミングのテクニックをまとめたレシピ集である。テーマごとに章立てしているので、自分の行いたいことを目次で探して、答えを見つけ出すことができる。本書日本語版では「コードブロックと反復処理」や「リフレクションとメタプログラミング」、「データベースと永続性」や「マルチタスクとマルチスレッド」など、他では情報を見つけにくいテーマを集めて再構成しており、すでにRubyを活用している開発者にとって価値のある内容になっている。Rubyでできることをさらに広げたいRubyプログラマに必携の一冊。 原書と和書の違いについて
イベントレポート Posted by oreilly : 2009-02-24 10:02 先日よりお知らせしております『プログラミング言語Ruby』トークイベントの模様を録画した動画を、ニコニコ動画にて公開いたしました。 イベントにおいでいただいた方も、おいでになれなかった方も、イベントの模様を動画でお楽しみください。 2月5日大阪会場 【ニコニコ動画】まつもとゆきひろ『プログラミング言語Ruby』を大いに語る@大阪 1/3 【ニコニコ動画】まつもとゆきひろ『プログラミング言語Ruby』を大いに語る@大阪 2/3 【ニコニコ動画】まつもとゆきひろ『プログラミング言語Ruby』を大いに語る@大阪 3/3 2月12日東京会場 【ニコニコ動画】まつもとゆきひろ『プログラミング言語Ruby』を大いに語る@東京 1/3 【ニコニコ動画】まつもとゆきひろ『プログラミング言語Ruby』を大いに語る@
『パーフェクト Ruby on Rails』(すがわらまさのり, 前島真一, 近藤宇智朗, 橋立友宏)を読みました。「Rails 開発に慣れてきたかな」くらいの人にちょうどいい内容だったと思います。それくらいレベルの人が少し上を目指したり、より Rails らしい設計や開発の仕方を学んだりするのにいい書籍だと思いました。Ruby 2 や Rails 4 向けの説明になっているので、新しめの情報を得たいような場合にもお薦めです。逆に、最新の Ruby や Rails でバリバリ開発しているような人には既知のことばかりで物足りないんじゃないかなという印象です。 全体的に興味はあったのですが、購入の決め手となったのは第9章「より実践的なモデルの使い方」です。どう設計するか、どうリファクタリングするかの1つの指針として読んでみたいと思いました。実際に読んだ感想としては、学びも多く、読んでよかったと
連載目次 連載7回目に当たる前回「Rubyのオブジェクト指向におけるクラスとモジュール、継承、Mixin、アクセス制御の使い方」では、Rubyのオブジェクト指向言語としての一側面を形作る、クラスやモジュールの概要と基本的な書き方を説明しました。 クラスやモジュールを駆使して、プログラムを適切に部品化して再利用したり、コードの重複を防ぐことは、Rubyで大規模なアプリケーションを作成するために役立ちます。 連載8回目に当たる今回は、メソッドやブロックといった仕組みについて掘り下げていきます。以降の連載で解説するメタプログラミングを学ぶ上での基礎知識となるので、しっかりと学んでいきましょう。 オブジェクトに干渉するための唯一の方法「メソッド」 メソッドは、Rubyにおいてオブジェクトに干渉するための唯一の方法です。これまでの連載では、メソッド以外のテーマに焦点を当てて解説するために深く言及せず
Originally presented at Baruco 2014. Updated for RubyConf Portugal 2014. Video here: https://www.youtube.com/watch?v=fGFM_UrSp70.
ちょっとしたコードの書き方でパフォーマンスが変わることがあります。リーダビリティを重視する向きからすれば小手先のテクニックに映るかも知れないのですが、リーダビリティを維持しながらちゃんとしたパフォーマンスを出すためにも、テクニックを知ることは大事なことだと思うのです。 結構違うもんですなー というわけで、そんなテクニックをまとめたスライドがWriting Fast Ruby。見ていて参考になったのでメモ。 たとえば引数に&blockをとってcallするよりも、yieldの方が5倍速い、とか、 def slow(&block) block.call end def fast yield end mapにブロックを渡すよりも、シンボルを渡す方が20%速い、とか (1..100).map {|i| i.to_s} (1..100).map(&:to_s) mapしてからflattenを呼び出すよ
はじめまして。株式会社 paperboy&co. の宮下と申します。 この連載では、最近注目を集めているRuby製のシステム自動管理ツールPuppetについて、その概要から具体的なシステム管理への適用まで、実際の現場で利用するために必要な情報をお届けします。 システム管理とは システム管理と一口に言っても、以下のような様々なタスクから構成されます。 ハードウェアの設置 ネットワークへの接続 OSのインストール/設定 ネットワークの設定 OSへの最新パッチ適用 ソフトウェアのインストール/設定 OS/ソフトウェアのアップデート OS/ソフトウェの設定変更 細かく言えば、他にもタスクは色々ありますが、これらのタスクを通じてシステムを「あるべき状態」に維持するのがシステム管理である、と言えるのではないでしょうか。 システム自動管理ツールの必要性 それでは、システム管理の自動化はなぜ必要なのでしょ
本日7月16日(土)から18日(月)までの3日間にわたり、練馬文化センターにて日本Ruby会議2011(略称:RubyKaigi2011)が開催されます。本ページでは、1日目の模様を随時レポートしていきます。 スタッフの皆さんは朝から集まり、当日準備が行われました。 スタッフの方は、専用のTシャツ、STAFF腕章をつけていますので、もし会場で困ったことなどがあれば相談してみましょう。 オープニング 実行委員長、高橋征義さんの挨拶 本イベントの実行委員長である高橋征義さんからオープニングの挨拶があり、そのなかで「RubyKaigiは2006年から数えて6回目で、集大成かつ一つの区切りとなる最後にして最高の日本Ruby会議を楽しんでいってほしい」と述べました。 笹田耕一さん「日本Ruby会議2011[+α]プログラムについて」 続いて、プログラム委員長である笹田耕一さんから、これまでのRu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く