Ruby
Rubyの基礎知識
ここでは、Rubyの基本的なことからやや実践的な内容まで紹介します。
記事一覧
OAuth 2.0 の認可フローと oauth2 gem を使った Google APIs の利用
ガイド記事橋本 拓也OAuth2.0の仕組みOAuth2.0は認可(Authorization)の標準仕様として有志の手により策定されているオープンなプロトコルです。OAuth2.0を利用すると、ユーザはサードパーティ制アプリケーションにパスワードなど秘密情報を渡すことなく、限定されたアクセス権を与えることができます。...続きを読む
Rubocop を使った静的解析で Ruby コーディング規約をチェックする
ガイド記事橋本 拓也Rubyの魅力の1つは表現の自由度であり、同じ処理を実現するコードをいろいろな方法で書くことができます。しかし裏を返すと、チームで規模の大きな開発をする場合などは個々人の好みがコードに色濃く出てしまい、メンテナンス性や可読性が落ちてしまうという問題も引き起こします。解決策のひとつは「コーディング規約...続きを読む
演算子の優先順位について・演算子を再定義する
ガイド記事橋本 拓也今回の記事ではRubyにおける演算子(operator)に着目し、演算子の種類、優先順位という概念、そして演算子を定義する方法について解説します。Rubyにおける演算子と優先順位Ruby2.2.0リファレンスマニュアル>演算子式Rubyはモダンな言語に期待される大抵の演算子を備えています。たとえば算...続きを読む
Rubyの特異クラス・特異メソッドについて
ガイド記事橋本 拓也Rubyは比較的読みやすく書きやすい言語ですが、少し踏み入ったところでは独特の設計も少なくありません。今回扱う「特異クラス・特異メソッド」もそのひとつで、はじめて出会うと面食らう概念です。しかし考え方を知るとRubyのオブジェクト指向設計への理解が深まる部分でもあるので、今回の記事では特異クラス・特...続きを読む
require, require_relative, load, autoloadの違い
ガイド記事橋本 拓也軽い書き捨てスクリプトを除けば、Rubyコードは複数ファイルにまたがることが普通です。別のファイルに書かれたコードを読み込むために、いくつかメソッドが用意されています。それらの使い方を比較して行きます。require最も基本的なメソッドはrequireです。ロードしたいファイルまでのパスを記載します...続きを読む
Rubyにおけるリフレクションプログラミング
ガイド記事橋本 拓也リフレクションとは、プログラムの(実行前ではなく)実行時にプログラムそのものの情報を参照・書き換えることができる特性を指します。Incomputerscience,reflectionistheabilityofacomputerprogramtoexamine(seetypeintrospecti...続きを読む
Ruby2.2の変更点と新機能の紹介
ガイド記事橋本 拓也2014年12月25日、毎年クリスマス恒例のRuby新バージョンリリースが行われました。既に2ヶ月経過してしまっていますが、新機能・変更点などをざっと紹介したいと思います。ruby/NEWSatv2.2.0-ruby/rubyインクリメンタルGCIntroduceincrementalmarking...続きを読む
minitestを使ったコードのテスト方法とTDD(テスト駆動開発)
ガイド記事橋本 拓也前回のRSpecによるRubyプログラムの単体テスト記事ではRSpecを紹介しました。今回紹介するminitestは、Rubyの標準ライブラリに含まれていたこともある軽量なテスティングフレームワークです。seattlerb/minitest-GitHubRubyonRails本体の開発ではminit...続きを読む
RSpecによるRubyプログラムの単体テスト
ガイド記事橋本 拓也Rubyとテストは切り離せないRubyとテストの関係は、以下のように記述できます(イメージをつかむため厳密ではない表現をしています)。書いたとおりに決まった動きをする「硬い」言語とは異なり、Rubyはプログラマに大きな自由を与え、実行時の柔軟な処理を可能とする言語仕様/哲学を持ちます。その副作用とし...続きを読む
APIからJSONデータを取得する
ガイド記事橋本 拓也今回の記事では、公開WebサービスのAPIをインターネットを介して呼び出し、データをJSON形式で取得する流れの解説を行います。その過程でRubyのHashieライブラリや、jqというJSONを扱う際に便利なコマンドラインツールの紹介も行います。サービスのAPIそもそもAPI(appplicatio...続きを読む