Rails関連用語

DSL(ドメイン駆動言語)

ドメイン特化言語(DSL:Domain Specific Language)とは、 ある特定の種類の問題に特化したコンピュータ言語のことである。様々な問題に対応できる汎用的な言語ではない。

IDE

統合開発環境(とうごうかいはつかんきょう)、IDE (Integrated Development Environment) は、従来、コンパイラテキストエディタ、デバッガなどがばらばらで利用していたものをひとつの対話型操作環境(多くはGUI)から利用できるようにしたものを指す。

Bundler

BundlerとはRubyのライブラリ管理ツールのことを指す。gem同士の互換性を保ちながらパッケージの種類やバージョンを管理できる。

gem

Rubyで使われるライブラリやアプリケーションはGemと呼ばれる形式のパッケージにすることができる。多くのライブラリがGem形式でパッケージされ公開されており、これらはRubyGemsと呼ばれるパッケージ管理ツールを使ってダウンロードを行なったりインストールすることができる。これらのパッケージのことを単にGemとかGemパッケージなどと呼ぶ。

sqlite

サーバとしてではなくアプリケーションに組み込んで利用される軽量のデータベースである。 一般的なRDBMSに比べて大規模な仕事には不向きだが、中小規模ならば速度に遜色はない。 また、APIは単純にライブラリを呼び出すだけであり、データの保存に単一のファイルのみを使用することが特徴である。

puma

Pumaとはスピードと並列性を追求したRubyのWebサーバーである。RubyでWebサーバーを作るときの標準となっているRackに対応したライブラリになっている。

Rack

Rackは、指定したファイルを独自のRuby DSLとして読み込み、DSLで指定した様々なミドルウェア、アプリケーションを組み合わせてWebサーバを立ち上げることができるrackupというコマンドを提供するライブラリである。

sass

SassはCSSプリプロセッサーとしてつくられた。Sassで記述することで、CSSに変数や演算、関数や制御構文などが追加され、効率的に記述できるようになった。SassをコンパイルしてCSSに変換すれば、普通のCSSとしてブラウザが認識してくれる。

scss

Scssとは「Sassy CSS(生意気なCSS??)」の略 。上記のSassの機能をCSS3(Media Queries等含む)文法と互換性がある形で再実装したもの。CSSと書き方が似ているため、マークアップエンジニアには導入しやすい。

プリプロセッサ

プリプロセッサ (英: preprocessor) とは、一般にある処理を行うソフトウェアに対して、データ入力やデータ整形などの準備的な処理を行うソフトウェアのことである。
コンパイル処理において、プリプロセッサ (preprocessor) とは、コンパイラソースコードコンパイルする前に、一旦ソースコードに前処理を施すためのプログラムである。


uglifier

uglifierとは、UglifyJS2 という JavaScript のコード軽量化ライブラリを、Ruby で簡単に使えるようにしたgemである。

coffee script

JavaScriptのコードを生成するためのコンパクトなrubyライクなスクリプト言語である。

turbolinks

turbolinksとは、ページ遷移をAjaxに置き換え、JavaScriptCSSのパースを省略することで高速化するgemで、Rails 4からはデフォルトで使用されるようになった。

Ajax

Ajaxは、ウェブブラウザ内で非同期通信を行いながらインターフェイスの構築を行うプログラミング手法である。XMLHttpRequest(HTTP通信を行うためのJavaScript組み込みクラス)による非同期通信を利用し、通信結果に応じてダイナミックHTML (DHTML) で動的にページの一部を書き換えるというアプローチを取る。

非同期通信

非同期通信とは、データの通信に際して送信側と受信側で厳密にクロック周波数や位相を一致させないで通信する方式のことである。送信者と受信者の両方がオンラインである必要がなく、片方が接続しているだけで通信が成立する。
非同期通信の仕組みは、典型的なものとしては電子メールを挙げることができる。電子メールは、相手がオンラインでもオフラインでも関係なく送信を行なうことができる。その構造はメールサーバーがデータを蓄積することによって実現されている。


jbuilder

jsonのテンプレートエンジンです。
xxx.json.jbuilderファイルにDSLを記述するとJSONにして返してくれるという物。


byebug

byebug(ばいばぐ)とは、rubyで使用できるデバッグツールである。デバッグしたいコードに「byebug」というメソッドを仕込んでおくと、プログラムがそこを通過した時に止まり、デバッグモードが開始、対話形式でコマンドを打ち込んで自由にメソッドを実行したり変数の値を確認したりということができる。

WebConsole

View 内でコンソールを立ち上げて、変数や parameter などの状態を見る事の出来るデバック用のライブラリのことである。

Listen

ファイルの変更を検知してそれをフックに何か処理ができるgemとのこと。

Spring

Springとは、Rails4.1から標準で付属するようになったアプリケーションプリローダーである。
Rails内では様々なライブラリのロードなどの前処理が行われるので、コマンドを実行するための待ち時間がかかってしまう。
事前にバックグラウンドでライブラリをロードしておくことで、その待ち時間を短くするものがアプリケーションプリローダーである。


spring-watcher-listen

springのファイルシステムの変更検知方法をpollingからlistenに変更してくれるgemであう。

polling

ポーリング(polling)とは、通信やソフトウェアにおいて、競合を回避したり、送受信の準備状況を判断したり、処理を同期したりするために、複数の機器やプログラムに対して順番に定期的に問い合わせを行い、一定の条件を満たした場合に送受信や処理を行う通信及び処理方式のことである。

pg

pgとは、PostgreSQLリレーショナルデータベースにアクセスするためのライブラリである。汎用的リレーショナルデータベースアクセス用ライブラリのバックエンドライブラリとして使われることもある。

マイグレーション機能

SQLを書くことなくRubyでデータベース内にテーブルを作成することができる機能のことを指す。SQLを書く必要がない理由は、Ruby on Rails内のActiveRecordという機能がRubySQLに自動翻訳することができるためである。その仕組みを利用すれば、Rubyが記載された所定のファイルを使い翻訳処理を経由してSQLでデータベース操作ができる。

Active Record

Active Recordはデータベースからデータを読み出すためのアプローチである。データベーステーブルあるいはビューの1行が1つのクラスにラップされ、オブジェクトのインスタンスがそのデータベースの1つの行に結合される。このクラスはデータベースアクセスのカプセル化も行う。オブジェクトの生成後は、保存メソッドで新しい行がデータベースに追加される。 オブジェクトが更新されると、データベースの対応する行もまた更新される。ラッパークラスはテーブルあるいはビューの各カラムに対するアクセサメソッドを実装するが、それ以外の振る舞い(MVCのモデルが担当すべきロジック)も記述することができる。

Rake

Unixでは、ソースコードから実行用プログラムをビルドするために主にMakeというツールが使われてきた。Rakeはいわば、Rubyで記述することのできるRuby版のMakeといった言語である。Rails 4以前ではRakeを使っているため、古いRailsアプリケーションを扱うためにはRakeについて学ぶ必要がある。おそらくもっとも頻繁に使われていたRakeコマンドは、データベースのデータモデルを更新するためのrake db:migrateコマンドと、自動化されたテストスイートを実行するためのrake testコマンドの2つだろう。

erb

erbは"Embedded RuBy"の略である。 .html.erbファイルはRubyコードが組み込まれたhtm;ファイルのようなもの、と考えてよい。Railsはテンプレートエンジンとしてerbを標準で使っている。

REST(REpresentational State Transfer)

RESTは、インターネットそのものやWebアプリケーションなどの、分散・ネットワーク化されたシステムやアプリケーションを構築するためのアーキテクチャのスタイルの1つである。REST理論そのものはかなり抽象的ですが、RailsアプリケーションにおけるRESTとは、アプリケーションを構成するコンポーネント (ユーザーやマイクロポストなど) を「リソース」としてモデル化することを指す。

rbnev

Ruby環境のバージョン切り替えツールである。Ruby(に限らないが)はバージョンの差違によって、ソフトウェアが正常に動いたり動かなかったり、といったことが往々にしてある。そこで、特定のバージョンのみを使い続けるのではなく、バージョン切り替えツールでインストール・管理することで、使いたいソフトウェアや開発するプロジェクトに応じて複数のRuby環境を使い分けるのが最近のトレンドになっている。

HTTP

HTTPは、 「Hyper Text Transfer Protocol」の略である。 今やインターネットの代名詞となったWWW(World Wide Web)上でWebサーバとクライアントが、 HTML(Hyper Text Markup Language = Webページを記述するための言語)で書かれた文書などの情報をやりとりする時に使われる通信手順(プロトコル)を意味する。

HTTP (HyperText Transfer Protocol) には4つの基本的な操作があり、それぞれGET、POST、PATCH、DELETEという4つの動詞に対応づけられている。クライアント (例えばFirefoxSafariなどのWebブラウザ) とサーバー (ApacheやNginxなどのWebサーバー) は、上で述べた4つの基本操作を互いに認識できるようになっている。

・GET
主にWeb上のデータを読み取る (get) ときに使われるHTTPリクエスト。ブラウザはhttp://www.google.com/http://www.wikipedia.org/などのWebサイトを開くたびにGETリクエストをサイトに送信する。

・POST
ページ上のフォームに入力した値を、ブラウザから送信する時に使われるHTTPリクエスト。例えばユーザー登録フォームで新しいユーザーを作成するときは、POSTリクエストを送信する。

・PATCH,DELETE
PATCH、DELETEは、それぞれサーバー上の何かを更新したり削除したりするときに使われる。これら2つの操作は、GETやPOSTほどは使われていない。これは、ブラウザがPATCHとDELETEをネイティブでは送信しないからである。しかし、Ruby on Railsなどの多くのWebフレームワークは、ブラウザがこれらの操作のリクエストを送信しているかのように見せかける技術 (偽装) を駆使して、PATCHとDELETEという操作を実現している。