読者です 読者をやめる 読者になる 読者になる

Re:ゼロから始めるRuby on Rails

プログラミング初心者が最短でRuby on Railsを習得するまでの道のり

Rails(コントローラの作成)

●コントローラを作成する

コントローラを作成するためには下記のコマンドを実行する。

rails g controller コントローラ名 アクション名

これでコントローラの名前を指定して、アクション名も指定し コントローラを作成することができる。

Ruby on Railsでアプリケーションを開発する

Roby on Railsでここからは実践形式で
学んでいってみようと思います。

最終目標はFacebookと同じようなアプリケーションを
制作することを目標にやっていこうと思います。

目次

✏︎アプリの土台を作成する


✏️アプリの土台を作成

まずはこれから作成していくアプリケーションの土台を
作っていこうと思います。

今回Railsを使用してアプリケーションを作成するため
まずはRailsをインストールします。
ターミナルで下記を実行します。

$gem install rails -v 4.2.3

このコマンドを実行することでバージョン4.2.3のRails
インストールします。

そのあとに下記を実行してアプリケーションの枠組みを作成します。

$rails _4.2.3_ newアプリケーション名 -d postgresql

-d postgresqlとすることでデータベースをSQLに指定して
アプリケーションを作ることができます。

Ruby基礎vol.2

前回で少しRubyを触ってみたんで
「今回はもっとRubyを知ろう」ということを
テーマに学んでいきます。

具体的には様々なメソッドやツールを理解しよう
ということを試みてみようかなと思います。

目次

✏︎Rubyのメソッドやツールやその他


✏️Rubyのメソッドやツールやその他

●getsメソッド
getsメソッドは文字列の入力だけをするメソッド。
putsが出力するのに対してgetsは入力するということ。

コンパイラインタプリタ
コンパイラインタプリタって何だろう?

まずプログラムというのは元々人間が理解できるように書かれているもの。

けどコンピュータは機械語と呼ばれるような言語しか理解することはできず
人間が書いたプログラムをそのまま理解することはできない。

そこで、人間が書いたプログラムをコンピュータに理解できるように
機械語に変換してあげる必要が出てくる。
そのプログラムを機械語に変換する方法が、
コンパイラインタプリタという2つ方法なのです。

では、この2つの方法の違いは何かみていきましよう。
コンパイラ
コンパイラプログラミング言語で書かれたソースコードを事前に機械語へ「一括変換」して変換語のプログラムがコンピュータに命令を与えます。
「事前に変換する」というところがポイント。

実行時に改めて変換する必要がないため、高速で処理ができます。
また、実行時に変換するための仕組みも必要ないため
単独でプログラムを実行できます。

変換する仕組みのことを「コンパイラ
変換する作業のことを「コンパイル」と呼びます。
C言語」や「C++」はコンパイラに分類されます。

インタプリタ
インタプリタプログラミング言語で書かれたソースコード(=プログラム)を読み込んで、それを機械語に変換してコンピュータに命令を与えます。

「プログラム実行時に変換する」、というところがポイント。

実行時にその都度変換するため、当然、時間が掛かります。
また、実行時に変換するための仕組みが必要になります。
「Basic」や「Perl」といった言語はインタプリタに分類されます。

機械語
人間が理解できるように書いたプログラムと機械語と呼ばれるもの。
それじゃ、いちいち機械語に変換するより機械語で最初から
コードを書いちゃえばいいんじゃない?
という初心者的発想があったため機械語についても調べました。

コンピュータに搭載されるCPU自体は単なる計算機です。
計算の際には電流の「オン」と「オフ」をもとにした
「1」と「0」による2進数の計算しか出来ません。
コンピュータは「1」と「0」の命令でしか動かないのです。

この2進数で書かれた命令の集まりを「機械語」と呼びます。

つまり機械語でコードを書こうと思えば2進数でプログラムを
書かなくてはいけなくて、それは無理難題だから人間が理解できる
プログラミング言語があるってことです。

参照したサイト:
インタプリタとコンパイラ
コンパイラとインタプリタ


irbってなに?
Rubyのリファレンスマニュアルを参照すると

irb は interactive ruby の略です。
ruby の式を標準入力から簡単に入力/実行するためのツールです。

と書いてある。
ようはruby のコマンドを手軽に実行して、結果を確認できるものみたい。
ではターミナルでさっそく試してみよう!

rezerorails:~/workspace $ irb
2.3.0 :001 > 

とこう表示される。
試しにirbで'getsメソッド'をメソッドを使用して文字を入力し
値が返ってくることを試してみました。
結果はこちら
f:id:kazuyuki0518:20170219190149p:plain

ちゃんと入力した値が返ってくるのを確認できました。
最後に\nと書かれているが
これは改行を表しています。

そしてこのコンピュータに命令を出しているirbなんですが
これはインタプリタ機械語に変換されています。

Ruby 基礎vol.1

そもそもRubyとは何なん?という初歩的なところから理解してスタートしていきたいと思います。
ちなみにHTML,CSSはブログスタート前に勉強したため今は割愛。。。

目次

✏︎Rubyとは何か?
✏︎Rubyでできること
✏︎さっそくRubyを使ってみよう
✏︎まとめ

✏️Rubyとは何か?

HTML、CSSは見た目に関する言語であり、動的ページは作れない。
そこでデータベースに接続してあんなことやこんなこと(理解不足orz)ができる言語のRubyが必要。

Rubyみたいにデータベースとやり取りをしてHTMLやCSSに影響を与えて
レスポンス(反応)を返す言語をサーバーサイドスクリプトと呼ばれている。

CやJavaといったコンパイラ言語は、プログラムを実行するためにはコンパイルという手続き(人間が書いたソースコードを機械命令に変換)を介して初めて実行ができる。
しかし、スクリプト言語はこう言った手続きが一切不要で、そのまま実行することができるため、コンパイラ言語に比べてプログラミングを手軽に行うことができる。
また、オブジェクト指向言語なので、すべてのデータがオブジェクトとして表現されている。
つまり継承などといったオブジェクト指向ならではの機能を使うことができます。継承をすることで書くコードの量が少なくて済み、読みやすく作業効率も上げることができるようになる。

参考サイト:
今さら聞けない!Rubyとは【初心者向け】 | TechAcademyマガジン


✏️Rubyでできること

Rubyを使うメリットとして一番大きいのは、Ruby on RailsというWebアプリケーションフレームワークを使うことができるということ。

Ruby on Railsを使うと、WebサイトやWebベースの業務システムを効率良く開発できると言われている。

参考サイト:
今さら聞けない!Rubyとは【初心者向け】 | TechAcademyマガジン


✏️さっそくRubyを使ってみよう

Rubyっていうものが何となくではあるがイメージできたのでRubyを使ってみる。
まず、そもそもどうやって使うのかってことだが、
今回はCloud9というものを使ってみようと思います。

Cloud9は簡単に言えば、クラウド(インターネット上)からプログラミングが行えるWebサービスのこと。
Cloud9についての説明詳細は以下を参照
簡単に開発環境が構築できる!cloud9 使い方を徹底解説Code部
Cloud9は一応こちらです。
Cloud9 - Your development environment, in the cloud


ということでCloud9でRubyを体験してみます。

まずは
New Fileからhoge.rbファイルを作成します
.rbっていうのはRubyを使っているファイルですよって意味。
HTMLだったら.htmlとするのと同じ理由。

hoge.rbを作成できたら、そのファイルの中に
puts 'Hello World'
と記述して保存。
f:id:kazuyuki0518:20170219154111p:plain

ターミナルで今作成したプログラムを実行してみる。
Rubyプログラムの実行はruby 実行するファイル名で実行することができる。
ということで下記を実行する。

$ ruby hoge.rb

するとこうなる。
f:id:kazuyuki0518:20170219154105p:plain

おお、hoge.rbに記述したHello Worldが出力された。


さて、ここでなぜHello Worldが出力されたか理解しよう。

●putsとは?
putsメソッドを使うと、putsメソッドに渡した値をターミナルに出力することができる。

ふむふむ、何となく理解はできたぞ。
puts 'putsに渡す値'とすることで、ターミナルに文字を表示しているということだね。

しかし、putsメソッドとあるがメソッドとは何なのだろう?
ということで次はメソッドを覚えましょうか。

●メソッドとは何か?
Rubyにあらかじめ用意されているもので、何かしらの処理を行うもの。
つまりメソッドとは、Rubyが標準装備している「何かしらの処理を実行するためのコマンド」ということだろう。

✏️今回のまとめ

Rubyを使うことでRuby on Railsという最強のウェブアプリケーションフレームワークを使うことができる。
Rubyのファイルは.rbとする
・putsメソッドは値を出力することができる。
・メソッドはRubyが標準装備している様々な処理を行うもの。

はじめに

今回人生で初めてプログラミンを勉強します。

これまでプログラミングに関わったことはなく、事前知識はほぼ0。

PCもネットサーフィンができるほどしか使いこなせていません。

そんなPC素人が最短でプログラミングを覚えていくための備忘録です。

これから同じように学んでいくための人の何か役に立てれば幸いです。

何か誤りがあったりした場合や、これはもっとこうした方がいいとか気になることがあればご教授いただけると嬉しいです。

それでは、何ヶ月でプログラミングを覚えられるかスタート!!