Ruby on Rails 学習帳

Ruby on Rails を学びEdtech系 クラウドサービスを作りたい。wまでの色々を綴ります。

Ruby on Rails 少しサボってた言い訳と教育について振り返ってみた。

Ruby on Railsを少しさぼっていた。

理由は簡単である、PythonとUnityをやっていたらから。 そして、もっというとこれからArduinoに手をつけようとしている。

どっちつかずのようだが、浅く広く知っていないといけない立場に いるので、何ができそうかを知る事と、どういう文化があるのかを 知るために自分で体験し、腑に落ちる状態に持っていくには必要な 事と思っている。

人間には、目で学習できる人と、聞いて学習できる人、そして体験 しないと学習できない人といるようで、僕は体験しないと学習でき ない人なんだろう。

理屈が通っている事を発見できるかどうかが、知的好奇心を満足さ せる事に繋がる。理屈が通る点がわかると、なるほど!となる。 このなるほど!がないともやもやして仕方がない。

もっというと、覚えられない。学生の頃、このなるほどと思える点を 聞きたくても、これはそういうものと教わり、そんなの時間ないから 今はこれを覚えておけば良いというような事を言われ続けた。

今思えば、あれほど学習意欲むき出しの学生を突き放しておいて、 自分の思い通りの内容だけ覚えてこい!という教育をしておきながら、 その考えについていけない学生を突き放すというやり方に、本当に

勉強しないのはその本人が悪いという一言で片付けて良いものか? と思ってしまう。

昨年、とある仕事で、小学生の先生に仕事でお会いする機会があった、 ICT関連の導入説明での対面である。初対面にもかかわらず、その先生は こんなものはダメだと一言で突き放し。(そこまでは、製品についての話 なので、ダメなものはダメ、何故だめかを伝えてもらった方が良いので、 ありがたい話し)だが、それ以上になんでこんなものやんなきゃなんねーんだ。

というような口調に驚いた。製品云々の前に一人の人間として対峙しているので あり、人としての尊厳を重んじて欲しいと正直に思った。これは、私に対して要求 しているのではなく、先生の尊厳を損なっている点、もっと自分の尊厳を重んじて 欲しいと思った。

かたや、今年度は別の教育ICT系のハッカソンで、参加されている先生とお会いする 機会もあり、同じチームで色々と試行錯誤を重ねる経験も得た。

立場による意見の違いなどは当然に見られたのですが、そこで知り合った先生方は 大いに尊敬できる教育についての見解を持ち、かつ人としての尊厳や心の広さなど 良い人と知り合えた。と心から出会いに感謝した。

良い人と出会えると人生は豊かになると思えた。 僕らは社会で生きているのであり、お互いに尊敬できる環境という事は、この上ない 幸福な暮らしではないだろうか。

と、少々Rubyの話しとはずれましたが、少しでも良い影響を社会に与えるような サービスを作るために気を新たに学習再開します。

Ruby on Rails チュートリアル学習中 3章を未だにやっている。

最近、忙しさに忙殺されて、すこし学習の手が遅くなっている間に、 嫁さんにRuby on Railsの学習を追いつかれてしまった。。。

現在、嫁さんは妊娠7ヶ月目なんですが、医者からあまり動かないように。 と言われているため、ほぼ1日中をベッドで過ごしている。

そこで、暇ならRuby on Railsでも勉強したら、面白いよ。という私の趣味の押し付けのような 形でグイグイ進めていたら、先日とうとう漫画も読み飽きたのかやる気になり、 あれよあれよと学習して気がついたら3章まで進んでいた。

しまった、こいつ俺より数学できるから、プログラム覚えたら簡単に上行かれてしまう! ということで少々焦っている。

よし、ペースアップしよう。

Ruby on Rails チュートリアルで学習中 3章でハマっている パート2

3章は長い。と思う。序盤でつまづいているので定かではない。w

さて、ようやくさっきの問題解決したので、記録しておこう。

多分、Gemfileが悪かった。。。というか、実はまたここについてはGitHubから 完成品を持ってきて進んだ。

てか、この序盤でログのエラーメッセージだけで当たりつけるのは初学者には辛い。

なので、途中進めていくとオーバーライドしますか的なメッセージが出てくる事もしばしば。 もちろん、Yesで進めて。

いよいよ、動くか確認するぞ!でRails sでサーバー起動すると、エラー! 出た!出ました!またまたエラー!

しかし、今度のエラーはまだ当たりがつけられる部類。なにせちゃんとエラーメッセージが ご丁寧に描かれているからね。

Migrations are pending; run 'bin/rake db:migrate RAILS_ENV

あー、はいはい。migrateしてなかったわ。 そうそう。マイグレートね。

という事で、rake db:migrateをしてOK

よし。もうそろそろ目がシュパシュパしてきたし、切りも良いので一旦終了しよう。 気持ちよく終われる所で終わっておこう。

次の学習意欲のためにも←イマココ

Ruby on Rails チュートリアルで学習中 3章でハマっている

2章でハマっているを書いた矢先。早速、3章でもハマる。

しかも、序盤で。静的ファイルを作成する

チュートリアル通りに進めているにも関わらず。

rails generate controller StaticPages home help --no-test-framework

こいつをうつと `require': cannot load such file -- active_job/railtie (LoadError)

railtieが見つからんとか言ってくる。 まじか〜。

序盤でつまると知識少ないから解決するの大変なんですよ。 学習サイトで序盤でつまるとかやめて欲しい。

初心者は環境の違い?に対して滅法弱いのである。 この環境の違いによる学習進捗のストップはやめて欲しい。

Ruby on Rails チュートリアルのシナリオはよくできていると思う。 だからこそ、なんとかならんかと思う。

そこらへんの書籍買うより、これで十分に勉強できるコンテンツだと 思っている。今まで仕事で散々学習コンテンツを作ってきたからわかる。

これは良いコンテンツだと。ただし、おそらく、環境とバージョンの問題により 初心者が今からやるにはバージョンアップが必要な古さの問題が出てきている。

そして、さらに問題なのはこのコンテンツのバージョンアップが大変な作業量に なるであろうという事。実質、これらのバージョンアップは中々、行われない。

作業量や費用などリソース的に非常に厳しい状況があるから。 正直に、この手の学習でこういう直面にあった時に、アタリがつけられるかどうか は重要な問題だと思う。

2章の前半までのバグは結構アタリがつけられたが、3章の前半はおそらく、他に 必要な前提条件や基礎知識が必要な箇所でつまづいている気がする。

チュートリアルを頭から進めているだけでは、さっぱりアタリがつけられない。 Gemfileに書き込むバージョンなども合わせてあるし。

違うとすれば、Rubyのバージョンくらいである。このRuby のバージョン2.1.1と2.1.5で大きな 違いがあるのか?マイナーチェンジでそんなに違いがあるとは思えないのだが、、、

この際だから、勉強し始めの頃の素人の頭の中を吐き出しておこう。 後で、学習コンテンツ作るときの役に立つかもしれないし。

というノリと、もうかれこれ、5時間くらいつまづいているので、ほぼ八つ当たりに近い勢いで 学習コンテンツへの不満をぶちまけて落ち着かせて、また続きをやる意欲をわき起こそうと無理している。←イマココ

という事で、もうちょい調べます。。。

Ruby on Rails チュートリアルで学習中 2章でハマっている

2章でハマっているので記録として書いておく。

1章まで順調に進んでいたが、2章にきて、エラーでまくり。 チュートリアルに書かれている事をそのままやっていても、進まない状況。

まず、サーバーが起動しない。というところでハマった。

Rails s

をすると、

vagrant@precise64:~/first_app$ rails server => Booting WEBrick => Rails 4.0.5 application starting in development on http://0.0.0.0:3000 => Run rails server -h for more startup options => Ctrl-C to shutdown server Exiting

でエラー

Booting WEBrickで検索し、対処法を確認した所、あまり良い発見はできず! で、Ctrl-C to shutdown serverで検索

gem - Error launching Rails server: undefined method 'configure' - Stack Overflow

この記事を見つけて対応するが、今度はServerが動いたが、Rooting Errorがでてしまい、http://localhost:3000/usersのページが現れない。 そこで、routes.rbをviエディタ使ってみてみると、

書かれてなければいけないはずの 

resources : users

が書かれていない。 おそらく、scaffoldがうまくできなかったのだと思い。

$ rails generate scaffold User name:string email:string

を実行し、

$ bundle exec rake db:migrate

DBをマイグレートし、ようやくhttp://localhost:3000/usersのページが見られるようになり、次に進める! と思ったら今度は、usersページでnew userページで name と Emailに適当な名前入れて、Create userボタンを押したら、 ArgumentError in UsersController#createというエラーが、、、

一難去ってまた一難。やれやれだぜ。という気分。←イマココ

はい、また調べて解決できたら記載します。

はい、調べましたので、追記。というか、実はよくわからず。 で、とにかく、すこし先を読み進めてみると、これあんまり重要な所じゃないから、 このまま放置して先に進めた方が良いかも。という感じにはなった。

現状は原因把握できるほど、まだ学習できてないのだからここで止まっても、おそらくわからん! ただ動かないのも気持ち悪いので、とりあえず動けばいいや。と思い、GitHubにある実績のあるコードを拝借する事に。

ngised/demo_app · GitHub

demo_appで一番、最近更新されているものを拝借して、フォルダに入れ、GemfileのRubyのバージョンのみを 自分のインストールしているバージョンに合わせて、bundle updateして、利用。

最初、Gemfileのgemのバージョンがあってないのかと思い、Gemfileのみ更新してみたのですが、rails sで サーバー起動したら インターナルエラー出たので、原因探すよりやり直した方が早いと思い。ばっさり。

ちなみに、同じくここでハマった人で、原因わかる!って方いましたら、是非教えてください。m( )m

Ruby on Rails チュートリアルはコンテンツとしては、非常によくできた学習シナリオだと思うのだが、 2章を勉強しているレベルの初学者なんか、ここに2日間もハマってしまったら、挫折しちゃいそうだなぁ。

と思ったり。自分の場合は、これで新サービス作るという強いモチベーションあるから続いている(ようするに 明確な目的、それもアウトプットするための)があれば良いのだが、そうでない人はここで挫折しちゃうかもしれない。

なんでそんな事考えているかというと、EdTech系のサービスを作ろうとしているので、自分の学習体験の振り返りは 追求していかないとサービス作れないから。まぁ、学習にもなるし一石二鳥ですね。

さ、これで心起きなく次に進めるぞっと。

民主主義の終わり?

民主主義が優れた構造なのか、疑問がある。べつに、社会主義がいいとかいった類の話しではなく、ようは今の社会構造自体が最終形ではないのでは?と思うのです。先進国は医療が発展して長寿化し、少子化が進む、少子高齢化になっていくと圧倒的に高齢者優位の政策になっていくのでは、日本は政治に参加しない国民が多いから現状そうなってるけど、社会保障の年金問題なんかもっと酷い。

あきらかにおかしな理屈にも関わらず、構造を変えようとせずに、お金の徴収だけ増やそうとしている。正直、消費税を目的税として社会保障にあてるのは別に問題じゃない。

問題なのは、年金の制度が経済成長が5%ぐらいで成り立つ制度で、未来から過去への仕送り式にしている事が問題では?という事は、未来=若い世代 過去=現在年金をもらっている世代とすれば、若い世代から現在年金をもらっている世代に仕送りをしているという構造です。

しかも、現在年金をもらっている世代というのは、高度経済成長していた時期に働き盛りだった世代。その当時は働き盛り世代がお金持ちで、当時に年金をもらえる世代はこの恩恵を受ける事ができなかった社会的弱者の為、可哀想論が通り仕送りをしてあげようが享受できたというわけだ。

そして、もちろん働き盛りの人達は大勢いたのです。この人達が今じゃもらう側。今は仕送る方が苦しい時代ですが、もらう側の方が大勢いるのですから、この構造を変えるような政策は反対です。しかし、結局それで、仕送りする方が実質無理!といったり、こんな政策はおかしいといって払わない。

となれば、結局もらえる側にいくお金がない状況になりますが、国としては払わない事にはいかないので、国債を発行していまや借金大国という事に、しかし国債の保有者は国民だから大丈夫という変な理屈が議論されているのです。

たしかに、国債を購入しているのは、日本の生保、銀行、郵貯などで95%だそうですが、国民一人一人が受けているサービスにかかる費用が税金でまかなえ切れずに国債を発行しているという事は、税金でまかなえないサービスを廃止するか、サービスを持続させるために税金をあげるかしなければいけないのに、サービスを拡充するけど、お金はいりませんって無責任な政策をしてきたせいでもあるわけです。

ここでも過去のつけを未来から搾取するという構造になっているのです。という事で、簡単にいえば過去のつけを未来から搾取するモデルをやめましょう。という事が大事になるのですが、それをすると痛みをこうむる人が大勢いるので、また先送り。

結局は誰が一番つけを払うのか?という問題でいうならば、今現在政治参加できない若い世代の人達で、20歳未満の人々です。政治に参加できる人達が政治に参加できない人達に対して付けを払わせるような政策をしているのは、20歳未満の代弁者たる国民の代表者が立候補しないからです。

なぜしないか?立候補したところで、当選しないからです。だって支持者は選挙権ないんだから。という事で、日本の民主主義の政治政策の構造がそうなっていないからとも考えられませんか?というわけで、民主主義ってのが最終型とは思えないので、時代に応じて日本の国、社会構造がもっと変化しても良いのでは?またはそういう時期に来ているような気がしています。