サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
www.oiax.jp
『実践Ruby on Rails 4』のP.65で bin/rspec spec/experiments/string_spec.rb を実行した際、次のようなエラーが出ることがあります。 Unknown database 'baukis_test'Run `$ bin/rake db:create db:migrate` to create your database (ActiveRecord::NoDatabaseError) このとき、bin/rake db:create db:migrate を実行してみても状況が変わらないかもしれません。 さらに RAILS_ENV=test bin/rake db:create を実行してみると、次のようなエラーが発生するかもしれません。 NoMethodError: undefined method `last_comment' for #
最近、お客様から連続して質問されたことがあります。それは、Ruby on Rails は WordPress とどう違うのか、ということです。 正直に言えば、私はこの質問にもどかしさを感じました。 実際にそれらを使って何かを作ったことがある人々にとって、両者の違いはほとんど自明です。 しかし、一般向けにそれを説明しようとすると、なかなか難しいことに気付きます。 Q&Aサイト「スタック・オーバーフロー」に、まさにこのテーマに関する質疑応答が載っていました。 https://ja.stackoverflow.com/q/30932/8146 質問者はすでに Rails を学習しています。WordPress については「一度も触ったことがないレベル」と書いています。おそらくは、Rails の学習中に幻滅を味わったのでしょう。このまま Rails での開発を続けても独力で目的とするサイトを完成させ
ここは『Elixir/Phoenix初級②』の読者サポートページです。刊行後に見つかった誤記・誤字や内容の更新などについてこのページでお知らせします。 本書で誤字、脱字、内容の間違いなどを見つけた方は、[email protected] までご連絡ください。 ▶ Kindle電子書籍の改訂版を入手するには ソースコード 本書のサンプルアプリNanoPlannerのソースコードは以下の URL から入手可能です。 https://github.com/oiax/nano_planner/archive/volume02-v1.1.1-pg.zip (PostgreSQL版) https://github.com/oiax/nano_planner/archive/volume02-v1.1.1-mysql.zip (MySQL版) 各種ソフトウェアのインストール手順書 本書の第2章で参照されている
Elixir(エリクサー)はプログラミング言語、Phoenix(フェニックス)は Web 開発フレームワークです。 Ruby や Ruby on Rails と比較すると、まったく有名ではなく、「知る人ぞ知る」といった存在ですが、私の見立てでは、2020年に向かうこれからの数年間、Web業界を席巻すること間違いなしの期待の新星です。 副題に「はじめの一歩」とある通り、この本は本当に本当に初心者向けです。ElixirとPhoenixのさまざまな特徴のごく一部、それもRubyやRuby on Railsによく似た部分に焦点を当てて紹介したものです。 Elixir 学習者が本当にワクワクするだろう個性的な内容、パターンマッチング、パイプ演算子、再帰、平行プログラミングなど、についてはあえて触れていませんので、すでに Elixir をご存知の方にはたぶん物足りないだろうと思いますが、次巻『初級②』
今年(2016年)の4月から、毎月1冊のペースでKindle向けの技術書を出しました。本日出した分を含めて3冊。 VirtualBox/Ubuntuスタートアップガイド Kindle版 2016-04-28発売 Ruby on Rails 5.0 スタートアップガイド Kindle版 2016-05-28発売 テキストエディタAtom入門 Kindle版 2016-06-07発売 もともとは『Ruby on Rails 5 初級』というタイトルで書き始めたのですが、初心者向け講座のテキストで使用することを思い描いているうちに、Ruby on Railsの学習を始める前に必要な前提知識とか環境設定とかは別冊にしたほうがいいんじゃないかという考えに至りました。 1冊目でWindowsユーザーがVirtualBoxでUbuntuをインストールする手順を学び、2冊目でMac/Ubuntuユーザーが
Railsの自動テストでデータベースにテストデータを投入する方法は2つあります。 FixturesとFactory Girlです。 前者がRails標準で、後者はGemパッケージとして提供されています。 前者はYAMLで、後者はRubyでデータを記述します。 私がRailsに出会った頃(2005年)にはFixturesしかありませんでした。その時は、こんな便利なものはないと感激しましたが、データベース構造やアプリケーションのロジックが複雑になるにつれYAMLファイルを保守するのに困難を感じるようになりました。その後、Factory Girlを知り、Fixturesを使うのをやめてしまいました。 最近知ったのですが、一昨年(2014年)に私がRailsでMinitestとFixturesを使い続ける7つの理由と題する英語のブログ記事が書かれて、ちょっと話題になったそうです。 RSpecの代わ
先週(2015/11/23)にシステム開発を内製するか外注するかという短い記事を書き、はてなブックマークで多少の反響がありました。その後で私が考えたり調べたりしたことを、まとめておこうと思います。ちょっと長い文章ですが、辛抱強くお読みください。 システムを作りたい側の視点で考えたとき、内製か外注かという二択になりがちだけれど顧問プログラマ(ソニックガーデン倉貫氏)という第三の道もありますね、ということを先週は書きました。 ここで私が「システム」と呼んでいるのは、情報システムのことです。もっと具体的に言えば、弊社(株式会社オイアクス)の専門である Ruby on Rails で作るような Web ベースのサービスを念頭に置いています。SNS のような一般向けのサービスもあれば、人事管理システムのような企業向けのサービスもあります。インターネットに公開する場合もあれば、社内 LAN で使う場合
顧客企業の担当者さんからよく聞く愚痴があります。社長や上司からシステム開発を内製化しろと言われているけれどエンジニアの採用が思うように進まない、ということです。 お客さんの前なのであまり露骨には言えないのですが、正直なかなか難しいだろうなあ、と思ってしまいます。 弊社(株式会社オイアクス)の主要な顧客は、スタートアップあるいは中小企業です。 面白いウェブサービスを作っているとかで業界的に有名でない限り、なかなか求人情報がエンジニアの視界に入ってきません。人を集める段階でかなりハードルが高くなります。 運良くエンジニアを採用できたとしても、長く働いてもらえるかという問題があります。 エンジニアにとって魅力的なキャリアアップの道筋を用意できないと、やがて転職してしまうでしょう。 もちろん会社の経営陣が内製化にこだわるのには理由があります。 コスト削減や開発の迅速化につながりそうな気がしますし、
Mac OS X で初めて Ruby や Rails に挑戦する方のために、Ruby 2.2 と Ruby on Rails 4.2 のインストール手順をやや詳しく説明します。 本稿の内容は Mac OS X 10.10 (Yosemite) で動作確認しています。「手順通りやったけどうまく行かなかった!」という方は、Mac OS の種類を明記の上、[email protected] までメールでお問い合わせください。また、「いちおうインストールできたけど、微妙に説明通りではなかった」という経験をした方も同アドレスまで情報をお寄せいただけると助かります。
Windows で初めて Ruby や Rails に挑戦する方のために、Ruby 2.1 と Ruby on Rails 4.2 のインストール手順をやや詳しく説明します。 本稿執筆時(2015年7月30日)での Ruby の最新版は 2.2.2 ですが、このバージョンで Rails 4.2 を正常に動作させる手順はかなり複雑ですので、初心者にはお勧めできません。Ruby 2.2 は Ruby 2.1 の改良版ではあるものの、API 上の変更点は多くありません。Ruby/Rails の学習用としては Ruby 2.1 で十分です。それでも Ruby 2.2 を使いたい方は、http://qiita.com/akaneko3/items/247af28abded3b3d3617 をご覧ください。 すでに Ruby をインストールしている方は、Ruby のバージョンが 2.1.6 以上 2.
3年間ほどお休みしていた一般向けのRailsセミナーを今日(2015/7/11)から再開しました。久しぶりで少し緊張していたのですが、大きなハプニングもなくスムーズに進んで良かったです。 入門コースの第1回目では、RubyやRuby on Railsについての話を始める前にやることがあります。 テキストエディタの使い方を説明することです。 私のセミナーは基本的にハンズオン形式、つまり体験学習型です。参加者自身がプログラムを作って実行して、エラーが出たら直す、という作業をたくさんやってもらうのが主眼です。 プログラミングの初心者はテキストエディタの操作に慣れていないので、セミナーの冒頭でテキストエディタを指定して、私が基本的な操作法を説明するのを聞きながら練習してもらうことにしています。 さて、テキストエディタとして何を選択するか、です。 WindowsでもMacでもLinuxでも使える、と
約1年10ヶ月ぶりの「Rails Tips」です。 今回は、Capistrano 3 で Rails アプリケーションをデプロイする時に、secrets.yml をどう扱うか、というお話しをします。 secrets.yml は Rails 4.1 で導入されたファイルです。その名の通り、秘密の情報を記録するためのファイルです。Facebook の API Key などを記録してもいいのですが、今回の話は secret_key_base に限定します。 このファイルの扱いが面倒なのは、次の3つの理由によります: 秘密の情報なので Git リポジトリにコミットできない。 デプロイ対象のすべてのサーバーに同一内容のファイルを配置しなければならない。 (セッションが切れてしまうので)運用中は原則として内容を変更できない。 早速ですが、私のやり方を紹介します。lib/capistrano/tasks
このページは、オイアクス社監修の『改訂3版 基礎Ruby on Rails』(2015年5月)の読者サポートページです。 本書では、Railsはバージョン4.2.1、Rubyはバージョン2.2.1を使っています。 Macの方は、Ruby 2.2.2、またはRuby 2.2.3でもかまいません。Windowsの方は、Ruby 2.1.5、2.1.6、または2.1.7をお使いください。 RubyやRailsのバージョンアップにに伴う問題については、次の記事をごらんください。 can not load such file — sqlite3/sqlite3_native が出たときは NoMethodError: undefined method `web_console' が出たら サンプルソース ZIPファイル: https://github.com/oiax/asagao4/archive
2015年生まれの新しい JavaScript UI フレームワーク、Cape.JS を紹介する連載を始めます。 Ruby on Rails アプリケーションに Cape.JS を組み合わせ、簡単な TODO 管理アプリケーションを作りながら一歩ずつ Cape.JS プログラミングを学んでいきます。 Cape.JS は React や Riot と同じく「仮想DOM」という技法を用いています。Cape.JS を活用するとインタラクティブな Web ページ、すなわちユーザーのアクションによって動的に内容が変化する Web ページを作れます。 最近まで、インタラクティブな Web ページは jQuery を駆使して作るのが一般的でしたが、「仮想DOM」を採用すればフロントエンドのプログラミングがずっと楽になります。 念のため申し添えますと、この連載の筆者は Cape.JS を作った本人(黒田)
Ubuntuで初めてRubyやRailsに挑戦する方のために、最新の 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
Vagrant は開発環境を構築・設定するためのツールです。一般には、VirtualBox などの仮想化ソフトウェアを利用して仮想開発環境を準備するツールだと考えられていますが、Amazon Web Services (AWS) や Google Compute Engine (GCE) などのクラウドコンピューティングサービス上のインスタンス(仮想専用サーバー)をセットアップするためにも利用できます。 本稿では、Vagrant で Google Compute Engine (GCE) 上に Rails 開発環境を構築する手順を紹介します。 注意: GCE には 60 日間で 300 ドル分利用できる無料体験プランが用意されていますが、利用を始めるには住所とクレジットカードの登録が必要となります。 注意: 本稿は、読者が Mac OS X または Linux が動くパソコンを利用している
7年前(2007年8月)に Ruby on Rails 専門のコンサルティングを提供する株式会社オイアクスを設立したとき、ある人から「客はプログラミング言語が Java か Ruby かどうかなんて気にしないよ」と言われたことをよく覚えています。 たぶん、「Ruby」という単語を押し出すだけでは営業に苦労する、という助言あるいは予言だったのだと思います。 この予言は半分当たっていて、半分外れていました。7年間の中には経営的にかなり厳しい時期がありました。合計すれば3年半くらいになるかもしれません。 でも、実際には「Ruby」とか「Rails」とかの単語でネット検索したり、知人の紹介を受けたりして、弊社を見つけて声を掛けてくれる人は定期的に現れ、ありがたいことにその方々の大半は私たちの顧客となってくれました。 顧客が Ruby on Rails に関するコンサルティングを求める理由はさまざま
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 $
NetBeans IDE 8.0にRuby on Railsプラグインをインストールする手順を丁寧に説明します。 本稿が対象とする NetBeans のバージョンは 8.0.1 です。7.3については http://www.oiax.jp/rails/zakkan/how_to_install_rails_plugin_on_netbeans_7_3.html をご覧ください。「手順通りやったけどうまく行かなかった!」という方は、[email protected] までメールでお問い合わせください。また、「いちおうインストールできたけど、微妙に説明通りではなかった」という経験をした方も同アドレスまで情報をお寄せいただけると助かります。 NetBeans IDE 8.0.1は http://netbeans.org/downloads/ から無料で入手できます。Windows, Mac OS X,
前回までに「ポイントシステム」の実装が進みましたが、Customer.authenticate メソッドが肥大化してきました。今後の開発のことを考えて、今回はリファクタリングによるソースコードの整理整頓を行います。 サービスオブジェクト 現在の Customer.authenticate メソッドのコードは次の通りです: def authenticate(username, password) customer = find_by_username(username) if customer.try(:password_digest) && BCrypt::Password.new(customer.password_digest) == password Time.zone = 'Tokyo' now = Time.current if now.hour < 5 time0 = now.
(2017年5月25日) このセクションに書かれている問題については、CentOS 6 用の新しい Vagrantfile (1.0.5) を使用することで回避できます。ただし、書籍の p.19 および p.20 で Vagrant をインストールした後に、ターミナルで vagrant plugin install vagrant-vbguest というコマンドを実行してください。また、書籍の p.47 で Gemfile の末尾に記述を加える際、最初の gem 'therubyracer', platform: :ruby という行を除いてください。 本書の P.20 において、Vagrantfile の選択肢として CentOS 版と Ubuntu Server 版があると記述されています。しかし、2017年3月23日現在の環境では、CentOS 版の Vagrantfile が正常に
『改訂新版 基礎Ruby on Rails』 読者サポートページ > Rails本番環境構築ガイド Ruby 2.0.0をインストールする手順を簡潔に説明します。ここでは、ソースコードをダウンロードしてコンパイルするという伝統的な手法を採用します。 rbenvやRVMを用いて自分のPCにRubyをインストールした方も多いでしょう。複数のバージョンのRubyをインストールして簡単に切り替えて使えるというメリットがあります。しかし、実運用中のサーバでRubyを頻繁に切り替えることもないだろう、ということで「伝統的な手法」を採用しました。 リモートマシンにsudo権限を持つユーザーでSSH接続し、コマンドを順に実行してください。行頭の % はコマンドプロンプトですので、入力から省いてください。 Ruby 2.0.0のインストール % mkdir ~/src % cd ~/src % wget h
このページは、弊社代表黒田努の著書『Ruby on Rails環境構築ガイド』(インプレスジャパン、2013年3月)の読者サポートページです。 最終更新日: 2018年5月23日 目次 #お知らせ #サンプルソースのダウンロード #正誤表 #補遺 #連絡先 お知らせ 重要 本書では Cent OS のバージョンとして6.3が指定されていますが、2018年5月17日現在、Cent OS 6.3はISOイメージはダウンロードできなくなっています。6シリーズの最新版である6.9のISOイメージをダウンロードしてお使いください。7シリーズのISOイメージも公開されていますが、インストール手順や構成がかなり異なっていますので、必ず6シリーズを選択してください。 重要 配布されている Cent OS の ISO ファイルには拡張子が .minimal.iso のものの他に拡張子が .netinstal
記念すべき「Rails Tips」第1回は、Decorator と Presenter について書きます。 Rails で Decorator/Presenter というと draper や active_decorator などの実績のある有名な gem パッケージが存在していて、それらを導入すれば話は簡単なのですが、本稿ではあえて Rails 標準の機能を用いて Decorator/Presenter を実現する方法を説明します。「車輪の再発明!」と言わないでください。自分で作ってみることによって Ruby や Rails の知識が深まり、様々な応用が利くようになります。実際のところ、そんなに複雑なものではありません。 Decorator とは 「Decorator」はソフトウェアデザインパターンの1つで、継承(inheritance)に代わるクラスの拡張手段です。 具体例で説明しまし
Ruby のインストール ruby-install コマンドを実行すると、インストール可能な Ruby のバージョン一覧が表示されます: $ ruby-install Known ruby versions: ruby: 1: 1.9.3-p545 1.9: 1.9.3-p545 1.9.3: 1.9.3-p545 2.0: 2.0.0-p451 2.0.0: 2.0.0-p451 2: 2.1.2 2.1: 2.1.2 stable: 2.1.2 jruby: 1.7: 1.7.12 stable: 1.7.12 rbx: 2.1: 2.1.1 2.2: 2.2.6 stable: 2.2.6 maglev: 1.0: 1.0.0 1.1: 1.1RC1 stable: 1.0.0 mruby: 1.0: 1.0.0 stable: 1.0.0 Ruby の安定版(stable)をインス
この連載の「はじめに」で予告したように、そろそろ Zeus について書こうかなと思って下調べを始めると、最近は Spring という新顔も登場して人気が出てきていることが分かりました。そこで、Zeus と Spring の両方を紹介しようと思います。 Zeus も Spring も Rails application preloader と総称されるソフトウェアの仲間です。テストを実行する度に Rails アプリケーションをロードするのは時間の無駄なので、サーバとしてプリロードしておき、テストの実行時間短縮を目的としたものです。古くから使われているものとしては、Spork というものがあります。しかし、Spork については簡単に触れるだけにとどめます。 参考文献: Improving Rails boot time with Zeus (2013/01/10) Rails使いよspork
前回でユーザー認証の仕組みがいちおう完成したので、今回からしばらくの間、「ポイントシステム」の仕様をRSpecで記述し、実装していくことにします。 仕様のおさらい ここで言う「ポイントシステム」とは、いろんなWebサイトで行われている例の仕組みです。つまり、ユーザーはサイト内での行動に応じて「ポイント」と呼ばれる疑似通貨を取得し、貯めたポイントで商品やサービスと交換できるというものです。この連載ではポイント交換のところまで作り込むつもりはないのですが、将来的にそういう仕組みを実装することを念頭に置いて設計します。また、顧客自身およびWebサイトの運営者がポイント増減の記録(発生日時、額、理由、など)を閲覧できる仕組みを(本連載では作らないけれども)将来的に実装するつもりであれこれ備えておきましょう。 さて、ポイント付与に関する仕様はユーザー認証のテスト(1) -- Outside-Inで書
前回は、RSpec のスタブ機能を利用して Customer.authenticate メソッドの実装を後回しにしつつ、ユーザー認証が成功するするシナリオについてテストを通しました。 今回は、Customer.authenticate メソッド自体の実装に着手します。 FactoryGirl::Syntax::Methods モジュール 本題に入る前に、テストコードの分量を減らす方法を紹介しておきます。 現在、各所で FactoryGirl.build あるいは FactoryGirl.create というメソッド呼び出しが記述されています。今後も使用する回数は増えるばかりです。 そこで、spec/spec_helper.rb を次のように修正します: # (省略) RSpec.configure do |config| # (省略) config.expect_with :rspec d
Ruby on Railsプログラマーのための「RSpec/Capybara入門」を連載します。Railsを学習中の初心者がテスト駆動開発(TDD)あるいはビヘイビア駆動開発(BDD)を実践するための基礎的な知識や考え方を説明していきます。 メインテーマはRSpecとCapybaraですが、factory_girl、Database Cleaner、Zeusなどの関連するGemパッケージも途中で紹介していく予定です。また、CSSセレクタやXPathについても簡単に解説することになるでしょう。 いちおうRubyとRailsの基礎知識を話の前提としますが、初心者を念頭に置いて丁寧な説明を心がけます。 できるかぎり具体的にコーディングと操作手順を示すつもりです。実際に手を動かしながら読み進めると、より理解が深まるでしょう。 記事一覧 イントロダクション (2013/08/14) RSpec/Ca
次のページ
このページを最初にブックマークしてみませんか?
『Ruby on Rails with OIAX』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く