英語苦手だけどCodecademyのRuby on Railsを活用する
Codecademyもアカウントだけはだいぶ前から取っています。
「Ruby on Rails 4入門 (全28回) - プログラミングならドットインストール」が終わったので、次は放置していたこちらを終わらせることにしました。
Ruby on Railsに関しては、何度かミスをすると、「Having Trouble?」と聞いてきてくれます。そこで、「Keep Trying」ではなく、「Get the Code」を選択すると、残りの問題のコードを表示し、次に進めるようになります。
そんな感じで、わかるところだけ埋めていきます。
(おそらくこれができるのは、「Web Developer Skills」というカテゴリのものだけです。
「Language Skills」の方は何度間違えても先には進めません。)
そして100%になったら、同じことをCloud9でやります。
Codecademyの支持する順番どおりに進めていきます。
データについては、rake db:seedを実行する前に、db/seeds.rbからコピーしておけばOKです。
私の場合は、実行すると、まず「NameError - uninitialized constant ~」というエラーが出ました。
調べてみると、モデル名に問題がありそう。確認すると、大文字小文字以前に、そもそもモデル名の綴りが間違っていた。
rails destroy model でモデルを削除し、rails generate modelで作り直す。
で、実行してまたエラー。ああ、モデル作りなおしたんだから、マイグレーションファイルの中身も修正しないと。
で、最後に rake db:migrate:reset を実行。なんとかうまくいきました。
ちなみに、seed.rbのコピーとか、rake db:migrate:resetは、「Ruby on Rails チュートリアル:実例を使って Rails を学ぼう」のおかげで得た知識なんですが、Rail Tutorial自体はまだ終わっていません。
9章の途中でおかしくなったままです。直せない(Gitで巻き戻しもできない)ので、折を見てやり直します……。
環境構築で挫折したWindowsユーザにお勧めしたいドットインストールの新講座
5/5にドットインストールで、新しく「Cloud9入門」がリリースされました。
正直、待ってました! という感じです。
内容としては、Cloud9でサーバを立てて、HTML,JavaScript,PHP,Ruby,Pythonなどなど。
そして、最後にテンプレートを使ってRuby on Railsを実行するという、8回と短いながら、盛りだくさんの内容になっています。
さっそくCloud9入門を終了し、そのまま、Cloud9を使って1年間放置していたRuby on Rails4を終わらせることができました。
そもそも、私が初めてドットインストールを知り、登録したのは2013年です。(ちょうどソースコードが有償になったタイミング……)
なので、登録から800日以上経過しています。
当時は、ローカル環境の構築がMacしかなく、Macの方でWindowsに読み替えながらやろうと始めたものの、そんな器用なことができるはずものなく、すぐに撃沈。
その後、課金して「さくらのVPS入門」にチャレンジし、こちらはやり遂げたものの、ドットインストール+サーバのレンタル費用を継続して払えず(なので、当然Macを購入する余裕もなく)中断してしまいました。
それから放置していたのですが、昨年ふとドットインストールを訪れたところ、いつの間にか「ローカル環境の構築」Windows版ができているではありませんか。
さっそく課金してチャレンジし、最後までやり遂げたものの……。
パソコン2台のうち、メインで使いたかった1台はVagrant Upをしても立ち上がらず、(メッセージが文字化けしてよくわからず、調べてもヒットしない)もう一台のあまり使わないは立ち上がるのですが、肝心のrailsのインストールに失敗してしまいました。
立ち上がる方は、ローカル開発環境を快適に動かせるほどスペックも高くなく、ハードディスクの容量も少ない。
それであきらめてまた放置。
そんなわけで、しばらく勉強自体していなかったのですが、再開のきっかけになったのは、今年に入って、「キャリア決済」ができるようになったので課金してみたschooのRuby on Rails講座でした。(schooも、ID自体取ったのは2012年……)
そこで、Nitrous.ioの存在を知り、え、これでRuby on Railsの勉強ができるの? と目からうろこに。
それから、Ruby on Rails チュートリアルでCloud9の存在を知る。
Nitrous.ioは無償だと1つしか環境作れないんですが、Cloud9はPublicならいくつも勉強用に環境が作れるんですね。
あー、ドットインストールもCloud9とか使えばいいのに……とここに書こうと思ってた矢先の今回の公開でした。(さっさと書いておけばよかった)
ドットインストール自体は、Cloud9よりもローカル環境を構築して勉強することを推奨しているのですが、私はしばらくCloud9を使い続けて行こうと思います。(他のパソコンでも学習の続きができるので……)
ちなみに、ドットインストールは、今のところ無償で使わせていただいています。
文字起こしはすごく見たいんですが、ソースコードはついコピペしてしまうんで……。
Ruby on Rails講座はソースコードをコピペすることなくやり遂げました。
有償でないとみられないプレミアム講座もありますが、しばらく無償でがんばります。
schooの方は、キャリアをドコモから楽天に変えてしまったので、課金すべきか検討中です。980円の会員だとノート数に制限があるのと、途中で止めたときにどこかわからなくなるのがつらい……。(1,980円ならどちらも可能)
Todo管理の定番「Trello」が日本語になって捗る!
Trelloが4/19に日本語に対応しました。
ログイン後に、右上の自分のアイコンをクリックしてから、「Change Language...」を選択すれば、日本語に変更できます。
これまでは、アドオンを使うなどして対応する必要がありました。
今そのアドオンにアクセスしたら、「不要」がついてますね。
これまでお世話になりました。ありがとうございました(o_ _)o))
日本語に変更すると、リストのメニューが……、
こうなります!
カードの中身も……
こうなります!
かなりとっつきやすくなったのではないでしょうか。
もともとTrelloを使って、プロジェクトのTODOをメンバーで共有しようという話が持ち上がり、一部の方は使ってましたが、一向に広がる気配を見せませんでした。
やはり、英語だからというのも大きいのだと思います。
私自身、Trelloについては半年以上前に勧められていたのですが、そのときは使いこなせず挫折していました。
この機会に、Trelloがもっと使われるようになったらいいな。
私がTrelloに再挑戦できたのは、以下の記事のおかげです。
Trelloの使い方、初心者向けの記事はたくさんありますが、私はこちらの記事が直感的でわかりやすかったです。
routes.rbの内容を間違えたままherokuにデプロイしたのでやり直してみた
The page you were looking for doesn't exist.
You may have mistyped the address or the page may have moved.
If you are the application owner check the logs for more information.
ArgumentError: Missing :controller key on routes definition, please check your routes.
routes.rb
ファイルを確認して:controller
の指定がおかしくないかを確認してください。」error: Your local changes to the following files would be overwritten by merge: config/routes.rb Please, commit your changes or stash them before you can merge. AbortingコミットIDを調べる……長い。
error: Your local changes to the following files would be overwritten by merge: config/routes.rb Please, commit your changes or stash them before you can merge. Aborting
config/routes.rb
Please, commit your changes or stash them before you can merge.
Aborting
git commit -m "config/route.rb-change"
On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: modified: config/routes.rb no changes added to commit
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
modified: config/routes.rb
no changes added to commit
$ git add -A
をやればいいのかな。
ということで、もう一回、
git add -A
git commit -m "config/route.rb-change"
を実行
config/route.rb-change
1 file changed, 1 insertion(+), 1 deletion(-)
$git push
$git push heroku
Ruby on Rails チュートリアルをやり直す
cloud9で動作確認はできるものの、herokuにデプロイできないまま、10章の最後まで進めてきた。
とりあえず最後まで進めて、それからやり直す予定だった。
しかし、最後に、実際にメール送信するにあたり、やはりherokuにデプロイしないと先に進めないと思って、11章に進む前に、やり直すことにした。
bitbucketのリポジトリを削除し、アカウントも削除して作り直し。SSHキーも設定し直す。
しかし、チュートリアルには、
Bitbucketに公開鍵を追加するには、右上にあるアバター画像をクリックして [Manage account]、[SSH keys] の順に選択します
とあるが、右上にあるのは「Manage Atlassian Account」であり、その中にはSSH keysなんてどこにもない。
SSHキーを登録できるのは、「Bitbucket Setting」の方。
というか、勝手に「 Atlassian Account」とかいうのができるの勘弁してほしい。
git remote add origin git@bitbucket.org:<username>/hello_app.git
このコマンドを入れるときに、どっち? ってなる。
それから、次に、
git push -u origin --all
というコマンドを実行すると、
ssh: Could not resolve hostname gitbucket.org: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
というエラーが出て、先に進めない。
(このエラーが出るから、Bitbucketのアカウントを削除して作り直した)
結局、「git remote rm origin」を実行してからリトライするとうまくいった。
30超えてるけど「10才からはじめるプログラミング図鑑」でPythonをやってみた
ネット環境のないところで、しばらく時間をつぶすことになったので、「10才からはじめるプログラミング図鑑」という本のPythonの部分をひととおりやってみた。
ちなみに、Pythonの実行環境はインストール済み。
しかし、最後の「せん水かんゲームというところでいきづまる。
私がちまちまコメントを入れてるからというのもあるけど、それでも180行超えのソースコード。
とりあえずひととおり入力して、ひたすらエラーを取り除く。
(多かったのは、変数のiを1にしてしまっているのと、大文字小文字のまちがい)
エラーが全く出なくなったものの、期待通りに動かない。
せんすいかん(実際はただの円と三角を組み合わせた図形)を十字キーで動かし、あわ(円)にあたればスコアが加算される、というもの。
しかし、あわは動くものの、スコアも残り時間も表示されないし、あたっても何も起きない。
サンプルコードがないので、自力で解決するしかない。
もう一度本を読み返してみる。
ああ、わかった。
この本は、
(1)1つのファイルにサブの処理を書く
(2)(1)の下にメインの処理を書く
(3)(1)の下に別のサブの処理を書く
(4)(3)の下に別のサブの処理を書く
(5)(2)の処理(メイン)を修正する
(6)(4)の下に別のサブの処理を書く
(7)(6)の下に別のサブの処理を書く
(8)(5)の処理を修正する
・
・
・
と、いう感じ1つのファイルで書くところを行ったり来たりする。
修正箇所も、同じ色の微妙な濃淡で区別していてちょっとわかりづらい
せめて最後にひとつにまとまったソースを表示してくれればよかったんだけどなぁ。
この本は、スクリーンショットが全くないので、本当に合ってるのかわからない。
スクリーンショットっぽい挿絵はあるが、あくまで挿絵なので、実際の画面とは異なる。
たとえば、スコアやタイムは、実際には白で表示されるけど、挿絵は黒だったり。
スクリーンショットはないけど、ドット絵の挿絵はたくさんあるので、
実行すると、ドット絵が出てきて動くのかな? と勘違いしそう。
タートルモジュールを使っている部分も、亀のドット絵があるけど、実際はただの矢印だし。
潜水艦も、ドット絵の挿絵があるけど、実際は◯と△の組合わせ。
その前の章がScratchでグラフィカルにキャラを動かす内容だから、
余計に、「あれ、この絵が出て来ないけど合ってるのかな?」って混乱しそう気がする。
要は、「メインのループが複数あった」のが、エラーは出ないのに動かなかった原因でした。
私が間抜けっちゃ間抜けなんですが。
色々書いたけど、ScratchとPythonの対比表はいいと思う。
Rails Tutorialでherokuにアップロードできなかったときの対処
# -*- encoding: utf-8 -*-
Deploy your changes
Make some changes to the code you just cloned and deploy them to Heroku using Git.
$ git add . $ git commit -am "make it better" $ git push heroku master