サービス名 | プログラム | 無料お試し | 初期費用 | 月額費用 | SSD | HDD容量 | WordPress |
---|---|---|---|---|---|---|---|
スターサーバー エコノミー | PHP ! / Ruby ! / Perl ! / Python ! | 〇 14日間 | 1500円 | 126円 | 〇 ! | 10GB | - |
スターサーバー ライト | PHP ! / Ruby ! / Perl ! / Python ! | 〇 14日間 | 1500円 | 250円 | 〇 ! | 50GB | 〇 ! |
スターサーバー スタンダード | PHP ! / Ruby ! / Perl ! / Python ! | 〇 14日間 | 1500円 | 500円 | 〇 ! | 100GB | 〇 ! |
ロリポップ! エコノミー | PHP ! / Ruby ! / Perl ! / Python ! | 〇 10日間 | 1650円 | 110円 | 〇 | 20GB | - |
ロリポップ! ライト | PHP ! / Ruby ! / Perl ! / Python ! | 〇 10日間 | 1650円 | 220円 | 〇 | 160GB | 〇 ! |
ロリポップ! スタンダード | PHP ! / Ruby ! / Perl ! / Python ! | 〇 10日間 | 1650円 | 550円 | 〇 | 200GB | 〇 ! |
さくらのレンタルサーバ ライト | PHP ! / Ruby ! / Perl ! / Python ! | 〇 14日間 | 1029円 | 129円 | - ! | 10GB | - |
さくらのレンタルサーバ スタンダード | PHP ! / Ruby ! / Perl ! / Python ! | 〇 14日間 | 1029円 | 515円 | - ! | 100GB | 〇 ! |
さくらのレンタルサーバ プレミアム | PHP ! / Ruby ! / Perl ! / Python ! | 〇 14日間 | 1029円 | 1543円 | - ! | 200GB | 〇 ! |
コアサーバー CORE-MINI | PHP ! / Ruby ! / Perl ! / Python ! | 〇 30日間 | 0円 | 218円 | 〇 ! | 200GB | 〇 |
コアサーバー CORE-A | PHP ! / Ruby ! / Perl ! / Python ! | 〇 30日間 | 0円 | 436円 | 〇 ! | 400GB | 〇 |
エックスサーバー X10 | PHP ! / Ruby ! / Perl ! / Python ! | 〇 10日間 | 3000円 | 900円 | 〇 ! | 200GB | 〇 ! |
エックスサーバー X20 | PHP ! / Ruby ! / Perl ! / Python ! | 〇 10日間 | 3000円 | 1800円 | 〇 ! | 300GB | 〇 ! |
Ruby(ルビー) はWebサーバーの CGI という仕組みを利用するプログラム言語(スクリプト言語)で、Ruby言語で記述したプログラムを実行することで、CGIを起動させ、動的なWebページを作成することが出来るようになります。Ruby はWeb系のプログラミング言語として非常に人気があります。Ruby はサーバーサイドの技術で、JavaScriptなどと違い、サーバー上で動作します。JavaScriptはWebブラウザ(Chromeなど)で動作します。
また、Rubyは、オブジェクト指向のスクリプト言語です。通常の手続き型プログラミングに加え、オブジェクト指向プログラミングを行う事が出来ます。オブジェクト指向プログラミングとは、オブジェクト指向の概念を基に設計・記述する手法です。オブジェクト指向とは、「概念」であり一つの考え方です。そして、この概念に基づいたプログラミング手法のことをオブジェクト指向プログラミング(OOP:Object-Oriented programming)と言います。スクリプト言語とは、このプログラムで書かれたアプリケーションが、その動作内容を示すソースコードを台本のように解釈しながら実行する種類の簡易的なプログラム言語のことです。また、記述したプログラムは実行までの手順が簡略化されており、直ぐに結果を出力出来るのも特徴の1つです。C言語などのようにコンパイルの必要がありません。
日本のソフトウェア技術者である「まつもとゆきひろ氏」通称 Matz(マッツ) 個人によって開発されました。Matz氏は「Rubyをシンプルなものではなく、自然なものにしようとしている」と発言しています。また、「Rubyの外観はシンプルです。けれど、内側はとても複雑なのです。 それはちょうど私たちの身体と同じようなものです。」とも言っています。
Ruby は、1993年から開発が始まり1995年に一般公開されました。公開から徐々に人気を集め、2006年以降、飛躍的に支持を集めて知名度を上げ、世界中の主要都市に Ruby のコミュニティーグループが形成されました。現在では大規模なカンファレンスも開催されています。2011年3月22日にJIS規格が制定、2012年4月1日には日本産のプログラム言語として初めて、ISO/IEC規格(ISO/IEC 30170)として承認されました。2018年10月現在、安定版は 2.5.1 です。
Ruby には、Ruby on Rails(ルビーオンレイルズ) というWebアプリケーション開発用のフレームワークが存在します。Webアプリケーションの開発では、基本的に Ruby on Rails が使用されます。フレームワークを使用することで、複数人数による大規模な開発を効率よく行うことが可能になります。
オブジェクト指向とは、「概念」であり一つの考え方です。そして、この概念に基づいたプログラミング手法のことをオブジェクト指向プログラミング(OOP:Object-Oriented programming)と言います。OOP に明確な答えはありません。それぞれのエンジニアやプログラマーが各々の考えや定義を持っています。初めから完璧に理解するようなものではなく、知識の蓄積と共に OOP に対する考え方も変化するでしょう。
初心者の方はまずオブジェクト指向やオブジェクト指向プログラミングの基本を覚え、なんとなく大ざっぱに把握してみましょう。その上で、OOP の概念を成長させ、自分なりに定義を定着させていきましょう!
OOP に基づいた アプリケーションソフトウェア は非常に保守性が高く、修正・変更・拡張・再利用 などが容易に行えるようになり、全体設計もシンプルにデザインできます。
クラス は オブジェクト を作成する際の設計書となる雛形のことです。どのようなデータを持ち、どのような関数を使用するのか決められています。オブジェクト の プロパティ や メソッド を一まとめにして保持しています。
オブジェクト は、クラス を実体化させた モノ です。プログラム上では データ と 処理コード の集合体です。固有のデータがあり、データに対して行う処理コードを持っています。
オブジェクト と クラス の関係は 値 と データ型 の関係に似ているといわれます。文字列型は1つですが、文字列は無数にあります。ユーザークラスはプログラム内で1度定義して終わりですが、ユーザーオブジェクトは必要な分だけ作成することが出来ます。
オブジェクトに関連付いたデータを プロパティ と言います。Blu-ray/DVDプレイヤーに例えると、「メーカー」「色」「サイズ」などのプロパティを持っていると言えます。データ、状態、変数ともいわれます。「現在の再生時間」などは状態を示すプロパティと言えます。
オブジェクトに関連付いた関数を メソッド(操作) と言います。Blu-ray/DVDプレイヤーで言えば「再生」「停止」「コピー」「録画」などの処理です。メソッド はオブジェクト自身に対する操作、振る舞い、を行う関数のことです。
設計図となる クラス から作成した オブジェクト を利用するために生成されたものを インスタンス と言います。インスタンス は 実体 実例 という意味で、クラス から実体化したもののことです。クラス から オブジェクト を生成するのを インスタンス化 と言います。
カプセル化 は OOP の3第原則の1つと言われています。少し詳しく説明します。そもそもカプセルとは、中に何かを入れて密閉する容器のことです。では OOP における カプセル化 とはどのようなことでしょうか。オブジェクト の構造をカプセル状にすることです。カプセルの中に入れることで中が見えなくなります。これを 隠蔽 と言います。では何を 隠蔽 するのでしょうか。その クラス の オブジェクト が持つ データ(プロパティ) や 処理コード(メソッド) です。これらを利用する場合、外部から操作するための処理(メソッド)を別途作ります。この利用するための メソッド は インターフェース となり、クラス自身で提供します。 インターフェース を通してデータや処理コードにアクセスさせるようにする構造がカプセル化です。
カプセル化することで、オブジェクト のデータ構造を外部から直接操作する必要がなくなります。クラス内部のコードを修正変更しても、外部とのインターフェースさえ同じにしておけば、オブジェクトを利用しているその他のコードを修正する必要がなくなり、メンテナンス性が向上します。
OOP の3第原則の2つ目 継承。新規クラス を作成する際に、既存クラス のメソッドやプロパティを引き継いで新しい プロパティ や メソッド を追加/変更 などが出来ます。これを継承と言います。
コードの無駄なコピー&ペーストを使用しないで基底クラスの機能を再利用します。そうすることで、不要なコードの作成やそれに伴う手間を省きます。
親クラスの変更は派生クラスにも反映されます。
OOP の3第原則の3つ目 ポリフォーリズム。例えば、Blu-ray/DVDプレイヤー、録音機器、ポータブル音楽プレイヤーなどの家電のリモコンの「再生ボタン」があるとします。大よそこのボタンの機能は「再生する」ということで予測できるでしょう。内部動作は機器によって異なりますが。車のアクセルやブレーキなどにも似たようなことが言えます。
プログラムでも同じ処理名で多様な機能が動作すると便利です。この利点は OOP の基本性質となります。
ポリフォーリズム は、同一のメソッド(同じ処理名)で インスタンス によって異なる処理が実行できる性質のことです。クラス利用者が一見 スーパークラス をコールしているようで実際は異なる クラス を使っているなどで、共通の メソッド で インスタンス によって機能を変化させることです。この性質を持たない場合、 サブクラス の インスタンス を別々に生成することになってしまうなどの弊害が発生します。
polymorphism の意味は、多型、多形性、多型性、遺伝子多型、結晶多形 などがあります。OOP の場合、「多相性」、「多様性」の意味として使用されています。