独学でweb開発初心者がプログラミングを身につけるまでを記録していきます。
プログラミングの勉強はやはり、教科書どおりにやっていても、続きません。
なので、いきなりruby on railsを使って、メモ帳か掲示板アプリのようなものを作ってみます。
ドットインストールを参考にします。
railsのインストール
gem install rails --no-document
rails のバージョン確認
rails -v
railsインストールができたら、早速、railsでアプリケーションを作成します。
rails new [アプリ名]
作成したら、railsのwebサーバを立ち上げます。
rails server -b [サーバのIPアドレス] -d
-bオプションでipアドレスを指定
-dオプションでバックグランドで実行
これでブラウザから接続が可能になります。
※ポート番号について
webサーバを停止させる時は、 プロセスIDを調べてプロセスをkillする必要があります。
プロセスIDは
cat [アプリ名フォルダ]/tmp/pids/server.pid
か
ps x
(x・・・端末操作以外のプロセスを表示する。 )
19496 ? Sl 0:00 puma 3.12.0 (tcp://[IPアドレス]:3000) [/]
で調べます。
killコマンドでプロセスを落とします。
kill -9 [pid]
ここまででまずはrailsをインストールして、アプリ作成してみました。
②メモアプリの作成
railsの機能でmemoのアプリを作成します。
rails g scaffold Memo title:string body:text
g・・・generateの略
アプリケーションに必要なコントローラ、モデル、ビューをまとめて生成(rails generate scaffold)
説明
アプリケーションの基本的な機能の一覧(index)、詳細(show)、新規作成(new/create)、編集(edit/update)、削除(destroy)を行うために必要なコントローラ、モデル、ビューをまとめて生成
使い方
$ rails generate scaffold 名前 [カラム名:型]
railsコマンドのリファレンスです http://railsdoc.com/rails
MVCモデルを一気に作成してくれるコマンドです。
MだけやVだけCだけを個別に作成することもできます。
DBへ判定をします。
$ rails db:migrate
webサーバを立ち上げて、ブラウザ接続し
pアドレス:3000/memos
へでメモアプリへ接続ができます。
③blogアプリの作成 + MVCモデルについて
続いては、別アプリでmyblogを作成してみます。
rails new myblog
myblog配下のディレクトリ構成を確認しておきます。
まずは
app,db,configあたりを押させておけば良さそうです。
ここで路線変更をします。ドットインストールからrailsチュートリアルへ
2018/10/12
https://railstutorial.jp/chapters/beginning?version=5.1#cha-beginning
railsチュートリアルといわれる、無料で利用できるサービスです。
1章から14章まであり、Git や GitHub、Heroku 等のツールも使いながらwebサービスについて学ぶ事ができます。
量は決してすくなくないため、挫折しないように、毎日コツコツ型でやっていく必要があると考えています。
1章
Ruby on RailsチュートリアルはWeb開発者やIT起業家を目指す方向けの優れた入門書として書かれており、Rubyの基礎、HTMLとCSS、データベース、バージョン管理、開発技法などWeb開発のすべてが網羅されています。本チュートリアルは初心者のみならず、Web開発のベテランにとっても有用です。MVCやREST、ジェネレータ、マイグレーション、ルーティング、ERBなど、Railsフレームワークのコア技術を本チュートリアルでまとめて学ぶことができます。
gemとは
gemってよく聞きますが、なんのこと?パッケージ管理システムって何?
gemとは・・・・
いろんな人達がつくったプログラムがインターネット上に公開(Rubygems.org)されており、そこにあるプログラムを簡単に自分のプログラムに取り込めたりする便利なしくみです。
例えば、なにかファイルを読み込んで、 表形式で出力させたいなぁって考えた時に、ゼロからプログラムを書こうとすると、すこし面倒です(たぶん)
そこで gem 表出力
とググってみます。
・・・・ヒットしました。
下記Qiitaのページですが、あるようです。
Ruby | Command Line Interface 用 表フォーマットテキスト整形ツール 格子( kosi ) gem version 1.0.0 リリース #ruby](https://qiita.com/tbpgr/items/4b6dc39eb18a46013267)
このgemはrubygemsに公開されていますので、インストールして使う事ができます。
といった感じで、なにかこういうことしたいなって考えたときにすでに先人たちが作っているプログラムを利用できる超絶便利なしくみです。
ちなみにrailsもgemのひとつかと思います
また、gemにはそのプログラム集のインストールするコマンドやインストールしたgemを管理するコマンドが用意されています。
(詳しくはまた別途)
いったんはgemというキーワードが出てきたときに、イメージが持てるレベルにはなるのではないでしょうか。
1.3 Bundler
・アプリに必要なgemをインストールしてくれる
・/Gemfile
に必要なインストールするgemファイルが書かれています。バージョン指定もできる。
・$ bundle install
と実行すれば、再度gemfileの内容が反映されます。
・$ rails server
でwebサーバを起動して、接続が可能です。
1.3.3まで完了。2018/10/14
Hello world を返す
MVCモデルのうち
Contorollerとrouterをつかう。
helloworldを返すアクションをコントローラに定義し、ブラウザからのリクエスト処理を振り分けコントローラに渡す
routerにデフォルトをhelooアクションに渡すように定義します。
contorollerは下記ファイル
app/controllers/application_controller.rb
routerは下記ファイル
config/routes.rb
【対応状況】
・gitの導入
・bitbacketの登録〜pushまで
・herokuCLIのインストール、アカウント登録まで
herokuにpushしようとしたら、できないの。
git remote add あたりを調べとこあとで。
1章は飛ばし飛ばしで一旦終了します。
gitやherokuでのデプロイは今後どこかのタイミングで実施予定です。