2013/05/21
設定ファイルの項目を充実させました
設定ファイルの項目を充実させました
2013/05/14
Rails4.0.0対応
2013/03/23
データベースはMySQLがおすすめ!性能より使っている人の数が重要
Railsでサイトを構築する際に、どのデータベースを使えばいいのか迷いますよね。
- DB2
- Firebird
- Frontbase
- MySQL
- Openbase
- Oracle
- PostgreSQL
- SQLite
- SQL Server
- Sybase
Railsは、こんなにも沢山のデータベースを選択できます。
Googleトレンド データベース比較で検索結果数を調べると、減ってきているものの圧倒的にMySQLの件数が多く、ある程度の規模のサイトを構築するならMySQLがおすすめです。
やっぱり使っている人が多いと、Twitterで聞けたり、検索すれば何かしらの情報がヒットするのでいいですね。会社の場合は、すぐに人材を増やせるっていうのも大事ですね。
自分の場合はちょっとモックなど作ってみようって時はSQLiteも使います。データが単一ファイルのみで管理しているので、バックアップや初期化が非常に楽なのが理由です。
海外の大手Q&Aサイトの「Quora」では、データベースにMySQLを使っているようなのですが、その理由も面白かったです。
僕たちが MySQL を選んだ理由は単純に MySQL のエコシステム (コミュニティや周辺技術など) の方が強いからです。それ以外だと僕の知る限り (Postgres の経験はあまりないですが)、あらゆる意味で MySQL の方が劣っています。でも、それらの点は僕たちには問題ではありません。僕たちは InnoDB を使っていて、その他の stored procedures, triggers または geospatial インデックスのような、ファンシーな機能は使っていません。なので、僕たちにとって MySQL が劣っているという事は実用面上ないのです。
やっぱり「使っている人の数 >> 性能」ですね。
2013/02/16
巨大なデータに対してeachをするとき
何万、何十万行のレコードに対して、eachで処理をしようとすると大量にメモリを使用します。
eachでは、1つのクエリを実行し、すべてのデータをメモリに載せてから処理を行うため、データが大きいとどうしてもメモリを使ってしまうためです。
そのようなときに使えるのが、find_eachメソッドです。find_eachでは、データをパッチ処理でデフォルトだと1000件に分割して処理を行うため、メモリの使用量を減らすことができます。
非常に便利なメソッドなので、大量のデータを処理する際にはぜひ使ってみてください。ただ、主キーを使って処理をしているため、orderが指定できないので、そこは注意してください。
関連ページ
2013/02/11
空の判定について
概要
プログラミングをしていると、よく値がないときにデフォルトの値を入れることってありますよね。
その時に便利なのが、Railsで拡張されたメソッドの「blank?」と「present?」です。
「nil?」や「empty?」では判定できないような、空の配列なども判定してくれる非常に便利なメソッドです。
使い方
- nil?
nilの場合のみtrueを返し、それ以外はfalseを返す。 - empty?
空の文字列や空の配列の場合にtrueを返す。nilに対して呼び出すとNoMethodErrorが発生する。 - blank?
nil, "", " "(半角スペースのみ), [](空の配列), {}(空のハッシュ) のときにfalseを返します。 - present?
nil, "", " "(半角スペースのみ), [](空の配列), {}(空のハッシュ) のときにfalseを返します。
関連ページ
2012/12/29
CoffeeScriptとjQuery
下記3つのカテゴリを追加致しました。
2012/10/31
Rails3.2.8対応
Rails3.2.8に対応致しました。
2012/09/16
iPadだけでRailsのコーディング
iPadだけでRailsのコーディングをやってみました。
外に出かけた際に、iPadでコーディングができたらきっと便利ですよね・・・
使った物
- Apple 第3世代 iPad 3Gモデル(リンク先はWi-Fiモデルです)
- ウルトラスリム キーボードカバー TK710
コーディング
コーディングには、iPadで人気のソースコードエディタの「Diet Coda」とターミナルの「iSSH」を使ってみました。
Diet Coda
アプリケーションを起動
「Diet Coda」の起動画面は非常にシンプル

サイトの設定
起動すると設定画面が表示されます。
「Diet Coda」はローカルでの編集作業はできないので、こちらの設定は必須になります。
新規に追加する場合は、「+」をタップします。

サイト設定を行います。
使用できるプロトコルは、「SFTP」「FTP」「FTP with Implicit SSL」「FTP with TLS/SSL」と沢山用意されています。
また、秘密鍵を使ってログインできるのもいいですね。

サイト設定が完了すると、サイトのイメージ画像が作成されます。

サイト内のファイルリスト表示
サイトのイメージ画像をタップすると、サイト内のファイルリストが表示されます。

Railsアプリケーションを作成
Railsアプリケーションを作成するため、まずターミナルにログインします。
左上の紫色のボタンをタップして、ターミナルを選択します。

ターミナルにログインして、railsコマンドを実行してアプリケーションを作成します。

ファイルの編集
ファイルを編集するには、編集したいファイルを選択して、「Diet Codaで編集」をタップします。

それでは、ファイルを編集します。
編集画面はシンプルで見やすい構成になっています。

ただ、Railsのコーディングで使うには、コード補完に対応していなかったり、言語モードでRubyが対応していないため、コードカラーリングも使えなかった。
また、プレビューモードにもRailsには対応していないため、うまく表示されなかった。
サーバ起動
編集が終わったら、ターミナルに戻ってサーバを起動して完了です。

Diet Codaを使ってみての感想
非常に使いやすいUIで、入力もさくさく動くので簡単なコーディングでしたら問題ないです。
ただ、コード補完機能がなかったり、ビューからコントローラへの移動など、他のRailsに対応しているエディタだったらできる機能などもないため、がっつりコーディングをするのには適していないと思いました。
iSSH
アプリケーションを起動
アプリケーションを起動すると、設定画面が表示されます。
接続するサーバの情報を入力するため、「AddConfiguration..」をタップします。

サーバ情報を入力
ログインするサーバの情報を入力します。
ログインには秘密鍵も対応しています。

ログイン
サーバ情報の入力が完了したら、作成した設定をタップして、ログインします。
あとは、vimやemacsなどを使ってコーディングを行っていく感じです。

iSSHを使ってみての感想
文字入力もさくさくで、普段からvimやemacsでコーディングする人にとっては、それなりに使える環境だと思います。
ただ、画面が小さかったり、自分が使ったロジクールのキーボードではescキーの位置が違ったりと、なれるまでには少し時間がかかりそうでした。
「Diet Coda」と「iSSH」の比較
Railsで使うのでしたら、個人的には「iSSH」のほうがオススメです。「Diet Coda」だとキー補完機能が無いのがきついです。
ただ、「Diet Coda」にもPromptという日本語に対応したターミナルが入っているので、Ruby周りはこれを使ってコーディングして、HTMLやCSS、JSを書くときだけ、「Diet Coda」の編集機能を使う方法もありますね。
まとめ
iPadだけでのコーディングは、無理ではないですがかなりきつい。オススメしません!!
コーディングをしていて画面をタッチできればいいなーって思うことってないですし、私はこれからもPCでコーディングしていきます。
2012/09/08
堅実で最も効果的なRails勉強法
はじめに
どのプログラミング言語を勉強するのもそうだが、基礎からコツコツと勉強するのが一番だと思う。
しかし、Railsでは基礎力がないのにいきなり実践を進める記事や本などがほんとに多い。「10分で作れるRailsアプリ」の記事などもあるように、Railsではジェネレーターを使って簡単な動くアプリを誰でも作ることができるからだと思う。ただ、少し複雑な構成のサイトを作ろうとすると、とたんに難しくなる・・・
そこで、自分が提唱したい勉強法は、基礎からしっかり学び、メソッドを覚え、ソースを読む勉強法である。
本編
やることは3つで、「概要を理解する」「メソッドを覚える」「ソースを読む」
1. 概要を理解する
概要理解に関しては、「ドットインストール」「codeschool」の2つのサイトがおすすめ
Railsには、MVCモデル、ジェネレータ、ルーティングなど、特殊な仕組みがあるため、まずはその辺を知らないと何もできない。入門書を読むのもいいが、動画を見て覚える方が楽なので、ここでは動画で学べるサイトを上げました。
ドットインストールは、3分以内の動画を見ながらプログラミングを学習できるサイトで、Ruby on Railsのレッスンもあります。
codeschoolは、英語で有料のサイトなのですが、Railsの概要は無料で見られます。また、ゲーム形式で、自分でコードも入力する必要があるので、楽しみながら勉強できます。
2. メソッドを覚える
メソッドを覚えるには、「RailsによるアジャイルWebアプリケーション開発 第4版」「Ruby on Rails 3 ポケットリファレンス
」の2冊がおすすめです。あと、一応自分のサイトでも、リファレンスで主なメソッド一覧を見られます。
「RailsによるアジャイルWebアプリケーション開発 第4版」は、Rails本のバイブル。PDF版もあり、分からないメソッドを検索できるので、個人的にはPDF版がおすすめです。
「Ruby on Rails 3 ポケットリファレンス」は、多くのメソッドは書いてあるので、非常に参考になります。
Railsは、たくさんのメソッドがあり、すべて覚えることははっきり言ってきついです。バージョンアップをするたびに、新しく増えたり、使えなくなったりするので、ある程度覚えたら、必要になったらその都度調べればいいと思います。
3. ソースを読む
プログラミングを勉強するには、これが一番。
railsで構築されたサイトのソースコードは、githubにたくさんあるので、githubで探すのがいいですね。
個人的におすすめは、下記になります。
- Redmine: オープンソースで公開されているrailsサイトで、一番有名なバグトラッキングシステムです。
- Shapado: ソーシャルっぽい機能が実装されているので、そのあたりが参考になります。
- Spree: 実際に稼働しているECサイト。しっかりとした構成で構築する際には、非常に参考になります。
一応Railsのソースコードもありますが、大量にあるので、気になるところから少しずつ読んでいくといいと思います。また、エラーなどで挙動を確認したいときには、読むといいですね。
終わりに
Railsは、CoffeeScript、SASS/SCSSなど、どんどん新しい手法を採用しているので、続けて勉強することが大切ですね。
2011/08/22
RailsやRuby関連のおすすめTwitterアカウント一覧
RailsやRuby関連のおすすめのアカウントです。他におすすめのアカウントなどありましたら、@railsdocまで!
Rails
- Railsの公式アカウント/Ruby on Rails
http://twitter.com/#!/rails - Ruby on Railsの開発者/DHH
http://twitter.com/#!/dhh - Railsの最新情報のツイート/Ruby on Rails最新情報ツイッ
http://twitter.com/#!/rails2itter - 動画によるRailsのチュートリアルの人/RailsCasts
http://twitter.com/#!/railscasts - Rails関連の開発を行っているR-learningのアカウント/R-learning
http://twitter.com/#!/rlearning - Railsの主要開発者など/Ruby on Railsのフォロワー
http://twitter.com/#!/rails/following - 「#rails」タグの日本語ツイート
http://twitter.com/#!/search/%23rails%20lang%3Aja
Ruby
- Ruby開発者のまつもとゆきひろさんのアカウント/Yukihiro Matsumoto
http://twitter.com/#!/yukihiro_matz - Ruby技術者認定試験の事務局のアカウント/Ruby技術者認定試験 事務局
http://twitter.com/#!/rubycp - はてなブックマークで今話題になっているRuby関連のニュース/Rubyニュース
http://twitter.com/#!/rubynews_j - Rubyの最新情報のツイート/Ruby最新情報ツイッター
http://twitter.com/#!/ruby2itter - Ruby関連のセミナー/Rubyビジネス・コモンズ
http://twitter.com/#!/rubybizcommons
その他
- はてなブックマークのプログラミングに関するニュースのツイート/プログラミングニュース http://twitter.com/#!/programming_j
Rails関連のブログ始めました
Rails関連のブログ始めました。