jQueryに一点集中してrailsとWordPress両方でコンテンツを作る計画を立ててみた
jQuery、みなさんすらすらかけますでしょうか。
私は点でダメで、壁に直面しております😅
7月まではrailsでDocker環境を導入し、アプリケーションの開発を行っておりました。
しかし、わたくしごとですが、子どもの幼稚園が夏休みに入ったと同時にまとまった時間が取れずにとても苦戦しておりました。
そこで、「ちょっと手軽に気分転換に」という軽い気持ちでWordPressでコンテンツ作りを始めたのですが、これがまた感動的にUI/UXが装備でき、苦手なフロント開発手間いらずじゃん!とウキウキでした。
今回作りたいと思ったアプリが、「ある試験の過去問対策でクイズ形式のアプリあったら便利だな」ということでDB設計から始めたのですが、
rails環境を整え、MVCも整えてさあ、viewから開発するかー
と思って取り掛かったのですが、
「??これってrailsでやる必要あるのか??」
となりました。
その疑問を素直に受け取り、いろいろ勉強してみるとやっぱり必要なさそうでした笑
なぜなら、
「JS(jQuery)」で全て完結してしまうからです。
ということで、サボってたjQueryを本格的に勉強し直しております。
気づいたこと
jQueryを極めるといいことがあることがわかりました。
WordPressでも使えるし、railsでも使えるのでとても便利だということです!
もしかしたら、自分が作りたいと思っているアプリケーションの8割り方はJSで作れてしまうのではないかと思うほどです。
この魅力の正体を突き詰めるべく、これからrubyに一点集中していた時と同じ様にがんばってみようかなと思いました。
ちなみに、付け焼き刃でできたアプリがこちらです🤔
https://fp-supporter.com/wp/2020/08/27/practice-11/
シンプルでかつ求められる様なアプリを開発できる様に引き続き時間を使っていきたいと思います😌
jQueryに一点集中してrailsとWordPress両方でコンテンツを作る計画を立ててみた
jQuery、みなさんすらすらかけますでしょうか。
私は点でダメで、壁に直面しております😅
7月まではrailsでDocker環境を導入し、アプリケーションの開発を行っておりました。
しかし、わたくしごとですが、子どもの幼稚園が夏休みに入ったと同時にまとまった時間が取れずにとても苦戦しておりました。
そこで、「ちょっと手軽に気分転換に」という軽い気持ちでWordPressでコンテンツ作りを始めたのですが、これがまた感動的にUI/UXが装備でき、苦手なフロント開発手間いらずじゃん!とウキウキでした。
今回作りたいと思ったアプリが、「ある試験の過去問対策でクイズ形式のアプリあったら便利だな」ということでDB設計から始めたのですが、
rails環境を整え、MVCも整えてさあ、viewから開発するかー
と思って取り掛かったのですが、
「??これってrailsでやる必要あるのか??」
となりました。
その疑問を素直に受け取り、いろいろ勉強してみるとやっぱり必要なさそうでした笑
なぜなら、
「JS(jQuery)」で全て完結してしまうからです。
ということで、サボってたjQueryを本格的に勉強し直しております。
気づいたこと
jQueryを極めるといいことがあることがわかりました。
WordPressでも使えるし、railsでも使えるのでとても便利だということです!
もしかしたら、自分が作りたいと思っているアプリケーションの8割り方はJSで作れてしまうのではないかと思うほどです。
この魅力の正体を突き詰めるべく、これからrubyに一点集中していた時と同じ様にがんばってみようかなと思いました。
ちなみに、付け焼き刃でできたアプリがこちらです🤔
https://fp-supporter.com/wp/2020/08/27/practice-11/
シンプルでかつ求められる様なアプリを開発できる様に引き続き時間を使っていきたいと思います😌
rake db:create RAILS_ENV=productionでつまづいたのでまとめてみた。
※ どうやらソケットがないよと言われている
でソケットの位置の確認
パスを間違えていた様だったので
database.ymlにソケットの位置の記載。
すかさず、再度create!
※ MySQLアクセスして書き込もうとしたら、権限なくて弾かれたよ、と教えてくれた。
ここでMySQLのパスワードの設定を見直す。
適当に
$ sudo /usr/libexec/mysql56/mysqladmin -u root password ‘password’
を登録しようとするとコマンドがないと怒られる笑
これはパスワードを一度確認!
※やっぱり、変なパスワードが設定されていた😅
変更!ただし、まずはMySQLに入れないといけないので…
この記事を参考に(https://teratail.com/questions/53026)
コマンドを順番に叩き無事ログイン😭
ログインしたら
mysql> UPDATE mysql.user SET authentication_string = PASSWORD(‘password’)
-> WHERE User = 'root' AND Host = 'localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
この手順で、設定したのですが、ここで決めた、passwordが甘かったらしく、
データベースの情報を確認するだけでもこんな状況😅
なので、この記事(https://mamy1326.hatenablog.com/entry/2017/11/27/231450)を参考に少し高度なパスワードに設定し、
mysql> SET PASSWORD FOR root@localhost=password(‘難解password’);
Query OK, 0 rows affected, 1 warning (0.00 sec)
(※ちなみにこのpasswordの設定は簡易的なものでもできる様にカスタムできる様です😓)
そうすると
見れた!
パスワードが生きていることを確認できたので
database.yml のVimファイルにパスワードを書き込み
無事、db:createできました☺️
デプロイ時に、MYSQLにdatabaseをcreateしたときに出たエラー #<Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)> Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8", "pool"=>5, "username"=>"sfc-b", "pass
今回のエラーは結構手強かった😅
デプロイ時に、AWSを使って、データベースを準備し、
ユニコーンでデプロイするときの流れのところで、
#<Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)>
Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8", "pool"=>5, "username"=>"sfc-b", "password"=>nil, "socket"=>"/tmp/mysql.sock", "database"=>"sfc-b_production"}, {:charset=>"utf8"}
(If you set the charset manually, make sure you have a matching collation)
Created database 'sfc-b_production'
というエラーがしつこく、、とてもしつこくでていた
database.ymlと照らし合わせてみると、
どうやら、本番環境が読み込めていないらしい。
どうしたら、ちゃんと読み込んでくれるのだろう。。。
GitHubにもしっかり
この部分を追記したものをあげて、反映されているのに、
と悩んでいた。
もしかして、ローカルでいらんコードを書いていて、
それが邪魔しているのでは?
と思い、新しくnew_app
して、検証用のアプリも準備した。
しかし、その検証用のアプリでも
エラーになるのだった。。
ただ、これで、コードに問題はなく、
やはり、データベース側の読み込みがうまくいっていないという当初の
仮説に絞り込まれることになったのはよかった。
最後に行き着いたのは、
「GitHubにあげたものを、キーを通して、ES2側にうまく渡っていないのでは」
という仮説にいきつき、GitHubから直接働きかけるのではなく、
「では直接、ローカルからデータベースに話しかける」
という結論が浮かんだ。
そのやり方は、
ターミナルから直接、コマンドをとおして伝えることだった。
そのやり方は
[ec2-user@ip-172-31-23-189 <リポジトリ名>] git pull origin master
これだ!
こうすることで、直接、EC2側に「database.ymlの記述変えたよ、反映してね」
と伝えることができるということらしいのだ。
このエラーは
「1ヶ月かかった」
という人もどうやら居た様なので、危機感を感じていたが、
なんとか丸一日で終戦してよかった☺️
rails sでlocalhost:3000が急に立ち上がらなくなったので解決してみた。 Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
表題の様なエラーが突然出て、
localhost:3000
が立ち上がらなくなった。
ん?おかしいな、と思ったのは
デプロイ準備中に
Node.jsのインストール
を行ったときのこと。
================================================================================
================================================================================
DEPRECATION WARNING
Node.js 6.x LTS Boron is no longer actively supported!
You will not receive security or critical stability updates for this version.
You should migrate to a supported version of Node.js as soon as possible.
Use the installation script that corresponds to the version of Node.js you
wish to install. e.g.
* https://deb.nodesource.com/setup_10.x — Node.js v10 LTS "Dubnium" (recommended)
* https://deb.nodesource.com/setup_12.x — Node.js v12 LTS "Erbium"
Please see https://github.com/nodejs/Release for details about which
version may be appropriate for you.
The NodeSource Node.js distributions repository contains
information both about supported versions of Node.js and supported Linux
distributions. To learn more about usage, see the repository:
https://github.com/nodesource/distributions
================================================================================
================================================================================
急にこんなのが現れてパニック笑
ある、カリキュラムの通りにやっていたので、何かの間違いかと思い、大混乱笑
でも、以前、プロゲートでも教材が間違っていたりふるかったりして、この様なこともあったので、
エラー文からして、
もしかしたらと思って調べてみたら…
こんな記事が
https://qiita.com/azusanakano/items/771dc9919f347de061d7
3年前の記事ですが、どうやら
バージョンが古くてエラーが出てるよ、みたいな内容!
エラー文との意味合いからこれは間違いなさそうっだということで
Node.js 「推奨バージョン」にアップデートしたら直りました😅
こういうことは多分これからもしょっちゅうあると思うので気をつけていきたいと思います🤔
Operation not permitted といって、AWSの設定を邪魔する原因
しばらく時間かかったのでシェア。
このエラーにかかったら、設定をいじって
変更しましょう〜
参考記事
https://gori.me/mac/mac-tips/112082