タグ

ブックマーク / www.oiax.jp (9)

  • Ruby向けテキストエディターの選択

    3年間ほどお休みしていた一般向けのRailsセミナーを今日(2015/7/11)から再開しました。久しぶりで少し緊張していたのですが、大きなハプニングもなくスムーズに進んで良かったです。 入門コースの第1回目では、RubyRuby on Railsについての話を始める前にやることがあります。 テキストエディタの使い方を説明することです。 私のセミナーは基的にハンズオン形式、つまり体験学習型です。参加者自身がプログラムを作って実行して、エラーが出たら直す、という作業をたくさんやってもらうのが主眼です。 プログラミングの初心者はテキストエディタの操作に慣れていないので、セミナーの冒頭でテキストエディタを指定して、私が基的な操作法を説明するのを聞きながら練習してもらうことにしています。 さて、テキストエディタとして何を選択するか、です。 WindowsでもMacでもLinuxでも使える、と

  • Ruby on Rails 4.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました

    Ubuntuで初めてRubyRailsに挑戦する方のために、最新の Ruby 2.3.1 と Ruby on Rails 4.2 のインストール手順をやや詳しく説明します。 なお、稿ではRubyのインストールにrbenvを利用します。apt-getでインストールされるRubyはバージョンが古いので、(手順がちょっと複雑ですが)稿の方法をお勧めします。また、rbenvを利用すると、プロジェクトごとにRubyのバージョンを簡単に切り替えられるというメリットもあります。 稿が対象とする OS は Ubuntu 12.04 LTS、 Ubuntu 14.04 LTS および Ubuntu 16.04 LTS のデスクトップ版です。Ubuntu上でRuby/Railsの学習やRailsアプリケーションの開発をしたい方向けに書いています。開発したRailsアプリケーションをサーバ版のUbunt

  • ポイントシステム(2) -- ログインポイントの付与

    前回に引き続き、「ポイントシステム」の実装を続けます。 Reward モデル 私たちの目下の懸案事項は、Customer#points をどう実装するかです。すぐに思いつくのは customers テーブルに整数型の points カラムを追加してその値を増減させるという方法ですが、ポイントの増減履歴が記録されないという問題があります。 そこで、新たに rewards テーブルを作って customers テーブルと関連付け、rewards テーブルの points カラムにポイントの増減額を記録することにします。customer_id でレコードを絞り込んだ上で points カラムの値を合計すれば顧客の保有ポイントを得ることができます。 $ rails g model reward db/migrate/..._create_rewards.rb を次のように修正して、 class C

  • RSpec/Capybara -- はじめの一歩

    連載第2回目は、プログラマーの古き良き伝統「Hello World」です。RailsアプリケーションのTopページに「Hello World!」というコンテンツを持つ p 要素が存在するかどうかをRSpecとCapybaraでテストします。 連載のメインの読者としてはRubyRailsを学習中の方を想定しています。したがって、RubyRailsはインストール済みであるという前提で話を始めます。Ruby のバージョンは2.0.0で、Railsのバージョンは4.0.0です。オブジェクト、クラス、モジュール、メソッド、インスタンス変数といったRubyの基的な概念、モデル、ビュー、コントローラ、ルーティングといったRailsの基的な概念については説明しません。なお、データベース管理システムとしてはMySQLを使用します。おそらく、SQlite3やPostgreSQLOracleでもうま

    RSpec/Capybara -- はじめの一歩
  • RSpec/Capybara入門 - Ruby on Rails with OIAX

    Ruby on Railsプログラマーのための「RSpec/Capybara入門」を連載します。Railsを学習中の初心者がテスト駆動開発(TDD)あるいはビヘイビア駆動開発(BDD)を実践するための基礎的な知識や考え方を説明していきます。 メインテーマはRSpecとCapybaraですが、factory_girl、Database Cleaner、Zeusなどの関連するGemパッケージも途中で紹介していく予定です。また、CSSセレクタやXPathについても簡単に解説することになるでしょう。 いちおうRubyRailsの基礎知識を話の前提としますが、初心者を念頭に置いて丁寧な説明を心がけます。 できるかぎり具体的にコーディングと操作手順を示すつもりです。実際に手を動かしながら読み進めると、より理解が深まるでしょう。 記事一覧 イントロダクション (2013/08/14) RSpec/Ca

    RSpec/Capybara入門 - Ruby on Rails with OIAX
  • RSpecとCapybaraでJavaScript/Ajaxをテストする

    さて、このRailsアプリケーションがJavaScript/Ajaxを利用していて、「span#touchmeをクリックしたら、p#messageの中に動的に「Hello!」というテキストが現れる」という仕様であった場合は、どうテストすればよいでしょうか。単にa#touchmeをspan#touchmeに変えるだけではだめです。CapybaraはJavaScriptを理解しないので、テストは失敗します。 ここで登場するのがcapybara-webkitというドライバです。WebKitはオープンソースのHTMLレンダリングエンジンで、Google ChromeやSafariがこれを使っています。このドライバを使えばJavaScriptのテストが可能になります。 capybara-webkitをインストールするには、例によってGemfileに gem "capybara-webkit" と書い

  • Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました

    Ubuntuで初めてRubyRailsに挑戦する方のために、最新の Ruby 1.9.3 と Ruby on Rails 3.2 のインストール手順をやや詳しく説明します。 なお、稿ではRubyのインストールにrbenvを利用します。apt-getでインストールされるRubyはバージョンが古いので、(手順がちょっと複雑ですが)稿の方法をお勧めします。また、rbenvを利用すると、プロジェクトごとにRubyのバージョンを簡単に切り替えられるというメリットもあります。 稿が対象とする OS は Ubuntu 12.04 LTS および Ubuntu 12.10 のデスクトップ版です。Ubuntu上でRuby/Railsの学習やRailsアプリケーションの開発をしたい方向けに書いています。開発したRailsアプリケーションをサーバ版のUbuntuにインストールして運用したい方は、Rail

  • Ruby on Rails 3.0 日記 - Ruby on Rails with OIAX

    2010年4月13日、Ruby on Rails 3.0 Beta 3 がリリースされました。 プログラミング言語 Ruby で記述されたもう一つの Web アプリケーション開発フレームワーク Merb との「統合」が発表されたのは、2008年12月23日のことでした。それから1年4ヶ月か経過し、ようやく Rails 3 が生まれ出ようとしています。 Rails 2.3 から何が変わって、何が変わらないのでしょうか。 また、バージョン 3.0 の登場をきっかけに Ruby on Rails の学習に挑戦(あるいは再挑戦)する方は何に気をつければよいでしょうか。 この届いたばかりの「道具箱」を使って、いったい何が作れるのか楽しみですね。 サンプルアプリケーションを少しずつ組み立てながら、一緒に学んでいきましょう。 この連載は、Ruby on Rails 3.0 Beta 3 がリリースされた

  • Rails で MongoDB を使ってみた

    Ubuntu Karmic (9.10) で MongoDB + mongoid を使って簡単な Rails アプリケーションを作ってみました。 MongoDB とは、最近注目を集めつつあるドキュメント指向データベースの一種。mongoid は MongoDB にアクセスするための RubyGems。 参考資料: http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages http://mongoid.org/docs/installation 次の行を /etc/apt/sources.list の末尾に追加 deb http://downloads.mongodb.org/distros/ubuntu 9.10 10gen aptitude で MongoDB をインストール。 % sudo aptitude updat

  • 1