pythonを頑張るブログ

突然pythonに目覚めました。何でもっと早くプログラムをやらなかったのか…後悔しています。適当に綴ります。

Railsのscaffoldで混乱する

Progateでは1個1個ルートを設定して、ビューを作って、コントローラーにアクションを追加していました。
どうやらこのような作業を1発で全部行ってくれる魔法のコマンド"scaffold"なるものが存在するようです。

え、何これめっちゃ便利やんけ、と思っていたのも束の間。
routes.rbファイルを見て混乱。
resources :という謎の一文が追加されてるだけで、他のルートの記述は特にありません。
なのに!
rails routesコマンドを実行すると、ちゃんとルートが通っているではありませんか!

なんでなん?
これどこでルート設定されてるんや?
という疑問もむなしく、私の持っている本ではその部分について触れてはくれません。

便利すぎるのも考えもの。
この魔法唱えたら誰でも同じものが作れてしまうのですよ。
でも、カスタマイズするには最低限の知識は当然必要なわけで。
この魔法はある程度railsを触れる人が楽する為の物なんだろうなと思った次第です。
私はやっぱり1個1個パーツ作って組み上げて行くプラモ感があった方が好きです。

初学者を混乱の渦に巻き込む大魔法"scaffold"。
恐るべし。

WindowsでRails環境を構築しようと思ったらハマった

はい、いつも何かやるとほぼ必ずハマる私です。
もうはいはい、って感じでgoogle大先生に教えてもらっています。
基本的にProgateで勉強をしているのですが、ちょっと前に買ったRailsの本でも勉強してみようと手に取りました。

たった1日で基本が身に付く!  Ruby on Rails 超入門

たった1日で基本が身に付く! Ruby on Rails 超入門


この本ですね。
しかしこの本、困った事にwin環境のみの教本となっています。
ちょっと珍しい気がしますね。
Macない方にはオススメかもしれません。

が!

この本でのrubyのバージョンは2.4.1です。
現在のrubyの最新バージョンは2.5.1です。
どっちでも平気やろ、と軽い気持ちで2.5.1を入れてみましたが、見事に動きませんでした。
正確には、sqlite3がruby2.5系に対応していないようで、rails sコマンドを実行するとエラーを吐きます。
なので、大人しく2.4系を入れましょう。
Railsのバージョンは5.2で動きました。
これはMac環境でも同じなのかな?
なんかバージョンごちゃごちゃしすぎだわ。

やっぱり環境構築って大変。
だけどこれは避けては通れない道。
Progateみたいなコーディングするだけ!みたいな環境を当たり前と思う事なかれ。
初学者にとっては環境構築の方が割りとダルい作業かもしれない。

まぁgoogle先生と対話出来る気力さえあればほとんどの問題は解決するらしい。
がんばろ。

ProgateでRailsのお勉強

ちょっと前に、rubyの基本的な文法をprogateで勉強していたのですがワケあって使っていませんでした。
課金しちゃったばかりだったし、もったいないのでちょっとrailsをやってみる事に。

あまり期待していなかったのですが、めっちゃ分かりやすい!
やっぱり図解されているのはいいですね。
ただ、HTMLやCSSに関しては別レッスンになっているので、それはそれで勉強しないとなりません。
Bootstrapを使ってくれたら凄い実践的で有難いのですがさすがにそこまでわがままは言えませんね。
ちょっとHTMLとCSSもやってみたのですが、こちらも凄い分かりやすくていいですね。
あれだけ入って来なかったHTML&CSSも、基礎的なことなら大分理解が進みました。
でもやっぱりBootstrapで楽したいなぁ…w
別にデザインにこだわりないし。

意外といいかもしれないProgate。
しばらくここでお勉強予定です。

Railsのお勉強

勉強していたRailsの教材がDockerを使いながら進めていく感じのものでして。
Dockerもなんか最近よく聞くし、railsと一緒にdockerも覚えちゃうぜ!
なんてイキっていた時期が私にもありました。

まず結論から言うと、この勉強方法はマジでやめた方がいい、という事です。
どうしても勉強効率を気にしたりして、合理的な手法を取りに行ってしまいがちなのですが、忘れてはなりません。

右も左も分からないNoobだと言う事を!

あ、noobってのはFPSプレイヤーなら御存知でしょう。
まぁ初心者って意味のスラングです。
そう、勉強効率は確かに大事。
しかし、急がば回れともいいます。
やはり地道にコツコツやっていくしかないのですよ。何事も。

何も分からない状態で、2個のものを一度に習得出来るなんてきっと一部の天才だけです。
そう、忘れてはなりません。

凡人だと言う事を!!

やはり、何かを習得する為には物理的に時間が掛かります。
この習得までの時間には個人差が生まれてしまいますが、良いじゃないですか。
100時間で覚えられても、200時間でも覚えられても、最終的に覚えられればそれでいいのです。
もちろん早いに越した事はないですけどね。
諦めなければ必ずゴール出来ます。

railsの勉強をしているのに、dockerの事まで出てくると、
どこからがrailsで、どこからがdockerか分からない
と、こうゆう問題が多々出てくるのです。
そして勉強効率が落ち、更にはモチベーションまで低下してしまうのです!!

恐ろしい…。
私はこの症状を、初学者的本末転倒思考と名づけたいと思います。
なんだか漢字一杯だと中国語っぽくて楽しい。

素直に私はrails一本で学び直していますが、とんでもなく分かりやすいです。
dockerマジくそ

てことで初学者の皆様、くれぐれも諸学sh的本末なんちゃらにならないように気を付けてください。
今日はいっぱい勉強した。

progateでRubyを勉強してみたけど

Rubyではreturnをあまり使わないって覚えたんだけど、progateだと必ずreturnで結果を返してるっぽいんだけど、どっちが正しいんだろうか…
インスタンス変数も@じゃなくてself使ってたりするし、とりあえずこうゆうものって感じで教えてるのかな。
progateは図解があってわかりやすいけど、変なコーディングの癖つくの嫌だな。
ただえさえpythonやってたせいでreturn使うほうがしっくり来るのに、それを抑えてreturn使わないようにしてるのに・・・。

railsの勉強もやろうかなって思ったけど、やめておこうかな。
railsでも一般的じゃない記法をサラっと教えられそうで怖い。
でももう課金しちゃったんだよな・・・。
まぁ1000円くらいええか。

てか、初学者にこそスタンダードなコーディングを教えるべきだと思うんだけどなぁ…
うーん。。。

Dockerはちょっとお休み

やってれば分かるかなと思って勉強を続けてみたけど、全くもって分からない。
なんでこんなに分からないんだろう?と考えてみた結果、自分なりに答えが出た。

そもそもDockerと言うのは、仮想環境を簡単に揃えられるものなわけで。
まず、そこまで仮想環境を必要としていない事と、利便性を比較するものが全くない事で学習意欲が沸かないのだ。

きっとこれまで開発をしているエンジニアの人達にとって、Dockerは素晴らしく感じるのだろう。それは今まで不便と感じていたものがDockerで解消されたからだ。

私はVirturlBOXの方が全然良い。 dockerと比べると無駄が多いんだろうけど。
LinuxだったりのOSに触れられるだけでも、今の私には良い経験になったりする。
まだまだdockerなんぞ使えるレベルではないのだろう。

railsの勉強の中でdockerを使って進めていくタイプものだった為、予習にと思って勉強してみたけど失敗だった。
rubyrailsへの勉強意欲まで下がってしまっては本末転倒。
なのでdockerはしばらくお休み。
まぁとは言え、そのrailsの勉強中にdockerは使うので何かしら自分の中で変化があるかもしれないけど。

しかし、勉強をするようになって今月末で5ヶ月経つけど、まだまだ分からない事だらけだなぁ...