pythonを頑張るブログ

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

Laravelの勉強が中々進まない

さてさて、前回紹介しました教本を使って勉強していますが、教材には主に2種類あるようです。
私が感じるメリットデメリットも含め書いてみましょう。


1. 機能を一つ一つ切り出して学習していくタイプのもの

メリット
  • 色々な手法に触る事が出来る

  • やれる事の幅が広がる可能性は高まる

デメリット
  • 必要ない手法まで学習してしまう

  • 覚える項目が多すぎてキリがない

2. 何かを作りながら学習していくタイプのもの

メリット
  • メソッド等の使い所が理解できる

  • 目標があるので勉強スピードが速い(そう感じるだけかも。何にせよ悪い事ではない)

デメリット
  • 限定的な学習方法なので製作物に沿った手法しか覚えられない

  • カッチリやろうとすると応用が効かなくなる


ザクっとですが、私が感じるのはこんなところですかね。
現在、私は1のタイプの教本を使って勉強しているのですが、ちょっと合わないようです。
どうやら私は2のタイプで基礎を学んで行く方が性に合っているみたいですね。
1のタイプは辞書的な使い方をした方がいいのかな?

まだLaravelを理解していないけど、今ある知識でブログ作ってみようかなー。
割と今なら調べながら出来ちゃいそうな気もする。

てことで、ボチボチ開発着手。

ドットインストールのLaravel終わった

Laravelの教材が本当に少ないなー。
railsは一杯あるんだけどなー。

私の知る限りレッスン系のサイトでLaravelを扱ってるのはドットインストール位しかないようです。
あ、ちなみにudemyにあるLaravelの動画はタイトル詐欺なので気を付けてください。
5.5に対応とか書いてますけど、もっと前のバージョンです。
まぁudemyは返金出来るので被害ないんですけどね。

てことで、ドットインストールでのLaravelレッスンは終わらせました。
ただ、ドットインストールは動画が短い分あまり濃い内容じゃない気がしますね。
要点だけ抑えてる感じなので、細々した部分がはしょられてるせいか、は?って事が多々ありました。
googleで調べてる時間の方が長い気がしますね。
Progateは良く出来るなぁって改めて思いました。
ProgateでもLaravel来ないかなぁ。

次はこの本で勉強しようとおもいます。

PHPフレームワーク Laravel入門

評価高かったので買ってみました。
Laravelのバージョンは5.4かな?まぁ誤差でしょう。
とりあえずこれ読みながらブログ作れそうだったら着手しようと思っています。

railsに比べると人気ないみたいですけど、最近はLaravelでの開発が増えているようですね。
まぁ何か作れるならフレームワークなんてどれでも良いんですけどね。
でもデプロイがすんなり出来るならやっぱりRailsやりたいなーとは思います。
rubyもやってて楽しいですし。

まぁしばらくLaravelとPHPやるぞー。

Laravel良い感じ

railsを勉強したお陰でMVCの概念が概ね理解出来てるのでLaravelも割とスラスラ頭に入ってきます。
もちろん細々した設定方法はrailsとは全然違うので、は?って事も多々あるんですけどね。
いま改めてdjangoやったら理解度全然違いそう。
djangoの場合はMTVだっけな?まぁ同じようなもんだった気がしますけど。

本当はrailsを突き詰めたいところではあるのですが、デプロイ出来ないんじゃしょーがない...
Laravelのデプロイ方法を軽く調べてみたけどrailsほど難しくなさそうな印象でした。
まぁ実際やってみないと分かりませんけどね。今から戦々恐々としています。
とりあえず基本を覚えて、railsで作ったブログをそのままLaravelで再現してデプロイに挑戦してみます。

そういえば、先月ですかね?
python3.7がリリースされてたんですね。
最近全然pythonやってないなー。
ブログ名も"pythonを頑張るブログ(嘘)"とかに変えようかな...

もしLaravelでもデプロイ出来なかったらまたDjango戻るかーw
Djangoは仮想環境だったけどデプロイ出来たし。
まぁ何か作って公開する方法はいくつもあるけど、目的を達成出来るなら何でもいいんだよなぁ。
ブログも公開するだけならheroku使えばいいのに、VPSにこだわっちゃってるからなぁ。
なんかちょっと勉強するのが目的、みたいになってる所あるな。
だからあれもこれも手をつけちゃうっぽい。
でも新しい事覚えるのめっちゃ楽しいんだよなー。

んー、そろそろ言語も一本に搾った方がいい気がするなぁ。
まぁでももう少しフラフラしよう。

完敗

nginxとunicornの設定をしてみたけど私にはとても無理そう。
裏で調べ物してると、ちょいちょいターミナルが固まってしまうせいで、ログが消えたり、編集中のファイルが保存できなかったりマジでお邪魔要素が多い。
何か私にデプロイさせない大きな力が働いている気がする(錯乱

udemyにapache使った動画あったから気が向いたら購入しよう。
けど、もうしばらくデプロイは触りたくない。

てか、railsを勉強してる人ってデプロイどうしてるんだろうか?
チュートリアルの流れでheroku使ってる人が多いのかな?
ブログレベルのアプリならherokuでも十分そうだけど、VPSあるしなー。
Laravelのデプロイが簡単そうだったらそっちに乗り換えようかな。

めっちゃサンドバッグ欲しい。
タバコやめて1年半くらい経つけど、ここ数日はめっちゃタバコ吸いたくなった。
ストレス半端ない。
エンジニアって大変だなぁ...

気分新たに、PHPやろ。

大体邪魔するのはmysql

何か大きくつまずく原因の8割がmysqlな気がする。
ちょっとこれを最後にmysqlは卒業すると誓う。
相性悪すぎ。

mysql8にしたらbundle install出来たって言う。
原因も不明だし、ほんとしょーもない時間を使った。
解決は出来たけど、何の理解にも繋がらないとかマジで無意味。
1日マジで無駄にした。
イライラが止まらない。
ちょっと8月のお手伝いの感じがあまり身にならなそうだったらスクールに行こう。

これ以上時間を無駄にしたくない。

厄日

今日は本当にひどい日。
完全に呪われてるとしか思えない。

nginxとunicornの設定をしてみようと、VPSにてセットアップ準備をしていました。
まずはrailsをインストールして、テストアプリを作成しました。
すでにmysqlは入れてあったので、テストアプリを作成する時に-d mysqlをつけて作りました。
しかし、gemのmysql2のインストールがうまく行きません。
調べてみると、centos7ではデフォルトでmariadbとか言うデータベースがインストールされているようなのです。
でもこの時点でmysql5.7もインストール出来てるし、アカウント作れてログイン出来ています。
さらに調べてみると、sudo yum install -y mysql-develをインストールすればいいようでした。

が、

これがいくらやってもうまくいかない。
ここで初めてmariadbの存在に気づいてアンイストールをしました。

が、

余計なものまで消してしまったのか既存のmysqlにログイン出来なくなりました。
仕方ないのでmysqlを再インストールして再度、msql-develとやらをインストールしました。

が、

やっぱり失敗する...
もうイライラが止められず、年甲斐にもなく壁をぶん殴ってしまいました。
手がめっちゃ痛いです。
物に当たってはダメですね。
改めて反省。

気を取り直して、再度調べると、yum updateをするといいみたいな記事を見つけました。
早速実行してみると、すんごい数のupdateが始まったのでなんかイケるんじゃないかと期待しました。

が、

結果は変わりませんでした。
イライラが止まらないので、ちょっと席を外して休憩をしました。
戻ってくるとSSHタイムアウトになったようで固まっていました。
こうゆうちょっとした事でもイライラするのですが、再ログインしようとしたらConnection refusedと言うエラーで弾かれます。

いやいや、数分前までログインしてましたやん...
と、何故か関西弁で口走ってしまうほど、この謎現象に頭を抱えました。
あ、yum updateからか?とあたりをつけて検索してみると、同じような方の記事を発見。

yum updateした翌朝にsshできない – 株式会社12ネット

これ通りにやったらログイン出来るようになりましたが、 本来の目的はnginxとunicornをセットアップするはずだったのに全くそこまでたどり着けず。
まぁ無駄とは言わないけど、本当に非効率。
結局mysql2を入れらてないって言うのが一番の悲劇な気がする。

ほんと進まねぇ...
溢れ出るイライラが止まらない。
寝たいけど気になって寝れない。
あー、イラつく

くそ厄日

あー、なるほどね

さて、デプロイで心をへし折られたわけですが、諦めの悪さに定評がある私は折れた心そのままに、せっせと調べておりました。
Capistranoを使ってデプロイしたのですが、このCapistranoってやつはデプロイを自動化してくれるやつなんですよね。
自動化って、手動でやってる作業が面倒に感じた時に行う手法なわけですよ。
手動でやった事ないヤツがいきなり自動化なんかしたってその恩恵を受けられるはずがないわけで。
自動化する為の方法も学ばないと行けないので、より複雑化していたようです。
Capistranoってやつは設定さえしておけば、gitからcloneしてwebサーバーの設定をして、railsのアプリもなんか良い感じにしてくれる便利なやつっぽいですね。

まぁ要するに、webサーバーとアプリケーションサーバーをごにょごにょすればサーバーが応答してくれるわけですよね。
てことで、私はnginxとunicornを使ってデプロイをしたいので、こやつらを調べて手動でデプロイをしてみます。
最悪ダメなら、apacheを使ったデプロイ方法の動画がudemyにあったのでそれを購入してみます。 作ったアプリはブログだし、アクセスなんか知れてるから別にapacheでも良いんですけど。
なんか最近はnginxが主流みたいですし、私もその流れに乗りたい。

とりあえず、あってるかあってないかは置いといて、”要するにこれをやればいい”みたいな所にいけたので後はそれを勉強するだけです。
てことで、nginxとunicornの勉強中です。

てか、プログラマーってプログラミングしてれば良いんじゃないんですね。
サーバー周りの勉強ってまた違うジャンルな気がするんだけど...まぁ知ってて損はないんだろうけど。
ちょっと勉強効率悪い気がしています。
スクールみたいなところいってみようかなー。
メンターさんみたいな質問出来る人いてくれたら成長速度段違いな気がする。
ちょっと調べてみよう。