今日からRails Tutorial始めます。
来年春からWebエンジニアとして就職予定のタケシです。
今は独学でプログラミングを勉強しています。
これまではProgateとドットインストールで、HTML,CSS,Ruby,JavaScript,jQuery,SQL,Ruby on Railsとかを勉強してました。
実際にHTML,CSS,JavaScriptで、『男気割り勘電卓』や『パスワードジェネレーター』みたいなものを作ったこともあります。
来春からの業務でもRailsを使うことになりそうなので、その前勉強として、Rails Tutorialを初めて見ることにしました。
Rails Tutorialを始める前のRailsの前提の能力は、ProgateのRailsコースを2,3周したくらい。
基礎はそこそこわかってるっていう感じ。
ということで頑張っていきます!
早い人だと一週間とかで終わらしているから、目標はそれくらいで!
[Day1]第一章1.1.1〜1.4.3まで作業ログ
AWSアカウントの作成&環境構築
まずは作業環境構築。
Railsのローカル環境も以前に作ったんですが、チュートリアルと変なところで差が出るのを懸念して、チュートリアルどおり素直にCloud9の環境で行います。
AWSのアカウントを作り、一応真面目にAmazonさんが推奨している、IAMアカウントも作成。
IAMアカウントから作業していくことにしました。
Rails Tutorialはじめてのアプリ作成
Railsもインストールして、hello_appという「Hello World」と表示するためのアプリを作成。
いろんなgemもインストール。
Gitの重要性はバックアップ機能
pushまでせずに、commitしておくだけでも、コードのバックアップとして使えるのがGitの利点だそう。
checkout -f で誤って消しちゃった復活できるのはすごい。
またチームで開発するときは必須ですね。
GithubとBitbucketの違いは有料になる条件にあり
- GitHubはリポジトリを一般公開する場合は無料、公開しない場合は有料
- Bitbucketはレポジトリの公開非公開に関係なく、共同ユーザーが5人以下なら無料、共5人を超えると超えると有料
チュートリアルはセキュリティの観点からBitbucketですすめていきます。
Bitbucketの鍵の設定でちょっとつまづいた!
公開鍵と秘密鍵の作成にはこのサイトが参考になった。
参考:gitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
また、公開鍵はssh-raとか前後も含めて全部で鍵らしい。これを勝手に除いていて、一度登録できなかった。
一番のひっかけ|Bitbucketのレポジトリ作成に注意!
Bitbucketのレポジトリ作成のとき、READMEはNoにチェック!
デフォルトではYesになっています。これがYesだとチュートリアルと違う結果が出て、前にすすめません。
ぼくはここで無駄に数時間格闘してしまいました。。。
参考:https://wealthlabo.com/railstutorial-1th/#142_Git
Bitbucketにpush
一度hello-appのレポジトリにいるときに、Bitbucketにpushしてしまったので、hello-appの中身だけが、Bitbucketにズラーって並んじゃった。
もう一つ下のrails-tutorialレポジトリでpushすべきだったのかと思ってやり直す。
でも今度はメタファイルしかpushできなかった。
何度も格闘したけど、よくわからなかたのでスルーすることに。
結局あっているのかはわからないけど、Bitbucketのrails-tutorialレポジトリにhello_appの中身のファイル、つまりappとか、bin、configなどが並ぶ状態に。
これで進むことにする。
以下は格闘してたときのメモ。今後の参考になる部分もあると思うので残しておきます。
再度git remote add origin 〜
やり直すと、「fatal: remote origin already exists.」というエラーが。調べてみると、
git remote rm origin
でoriginを削除し、再度originを登録すればよい。
とのこと。
参考:Gitで fatal: remote origin already exists. というメッセージが出る場合
今度こそ!いけたと思ったら、次のgit push -u origin master
でまたエラーが。
エラーメッセージは「error: src refspec master does not match any」。
これはenvironmentレポジトリではcommitをしていないことが原因でした。
ちゃんとcommitしたかな?
ではっとした。
参考:error: src refspec master does not match anyが出る時(解決済み)
と思ってやり直したら、うまくいった。
(格闘メモ終わり)
コードを変更したときの流れ
git init
(初期化)
git add -A
(現在のディレクトリにあるファイルがすべて追加される。安全のためいきなりコミットされないようになっている。はじめはステージング (Staging) という待機用リポジトリに置かれ、コミットを待つ状態に。)
git status
(状態の確認)
git commit -m "Commit Message"
(コミット。メッセージは現在形かつ命令形で書くのが普通)
git push -u origin master
(リモートレポジトリへpush)
ちょっとそれるけど、history
でこれまでに打ったコマンド一覧が見れるのは便利。
タケシなりの演習の回答
演習の回答も記録していこうかなと思ってます。
デフォルトのRailsページに表示されているものと比べて、今の自分のコンピュータにあるRubyのバージョンはいくつになっていますか? コマンドラインでruby -vを実行することで簡単に確認できます。
MacBook-puro:~ ●●●$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
rbenvで最新のRubyで環境構築したから、2.5.1になってます。
同様にして、Railsのバージョンも調べてみましょう。調べたバージョンはリスト 1.1でインストールしたバージョンと一致しているでしょうか?
MacBook-puro:~ ●●●$ rails -v
Rails 5.2.1
同じく、Railsの環境構築も以前にやったところなので、ローカル環境では5.2.1となっています。
Railsでは「非ASCII文字」もサポートされています。「¡Hola, mundo!」にはスペイン語特有の逆さ感嘆符「¡」が含まれています (図 1.16)18。「¡」文字をMacで表示するには、Optionキーを押しながら1キーを押します。
勉強になった!同様にoption+数字キーでいろんな記号が出せる。
リスト 1.7のhelloアクションを参考にして、2つ目のアクションgoodbyeを追加しましょう。このアクションは、「goodbye, world!」というテキストを表示します。リスト 1.9のルーティングを編集して、ルートルーティングの割り当て先をhelloアクションからgoodbyeアクションに変更します (図 1.17)。
application_controllerに下記を追加。
def goodbye
render html: “goodbye, world!”
end
あと、ルーティング(route)を書き換えるだけで完成。
root ‘application#goodbye’
[Day1]まとめ
- 学習範囲:1.1.1〜1.4.3
- 学習時間:6時間50分
- 反省点:調べる能力をもっと高めたい。もっと効率的に。
読んでいただいている方、いつもありがとうございます!
初心者なもので、たまに間違った内容もあるかと思います。
その際にはコメントやTwitterでご指摘いただけると幸いです!
コメントを残す