人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

Ruby on Railsの勉強 少々はまる

結論

Herokuなどにdeployするときは、事前に rake assets:precompile を行ってからdeployをする。
もしくは、ソース編集した後に bundle install してからdeployする。

何が起きたか?

Herokuにdeployしたら、「the page you were looking for doesn't exist.」と言う画面が出ました。
f:id:hideaki_kawahara:20180528000849p:plain
つまり404、表示するものが無いってことです。
ローカル(AWS cloud9)では、この現象が発生しません。

アセットパイプライン

色々と検索すると、アセットパイプラインというのが影響しているのが解る。
railsguides.jp

アセットパイプラインの第一の機能はアセットを連結することです。これにより、ブラウザがWebページをレンダリングするためのリクエスト数を減らすことができます。Webブラウザが同時に処理できるリクエスト数には限りがあるため、同時リクエスト数を減らすことができればその分読み込みが高速になります。

要するに、jsとかcssが、一つのファイルにまとめられており、サーバーで動作するときは、プリコンパイルされたファイルを読むことなる。
Herokuはproduction設定としてあるので、この条件に合致する。
しかし、最初の勉強の時は、引っかからなかった、それはなぜか?
kawahara-ci.hatenablog.com

手順を振り返る

第1章の時は、以下の順番で作業をしています。

  1. gemファイル編集
  2. bundle install
  3. rails server
  4. ソース編集
  5. gemファイル再編集
  6. bundle install --without production
  7. Herokuにdeploy

はまった時は、以下の順番で作業をしています。

  1. gemファイル編集
  2. bundle install --without production
  3. ソース編集
  4. Herokuにdeploy

なるほど!第1章の時は、ソース編集後に、 bundle install をしている!
だから、はまらなかった訳です。
deployする前に、 bundle install をすれば、いいんじゃないと思ったけど、問題はアセットパイプラインがプリコンパイルされていないだけなので、rake assets:precompile するのが正しいです。

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

M5Stackユーザーミーティング vol.1に参加しました

ユーザーミーティングに参加!

ブログ枠の参加じゃないですが、参加して良かったので、ブログを書きます。
前から気になっていた「品薄なM5Stack」を入手したのは先週の2018年5月8日でした。
kawahara-ci.hatenablog.com
そして、M5Stackユーザーミーティング vol.1に参加したいと思いましたので参加しました。
m5stack.connpass.com

色々な方と話が出来て楽しかったです

登壇者の多くの方々が口を揃えて言うのは、 開発がとても楽と言うことです 、M5のライブラリを使えば、文字表示や絵を描く程度なら、すぐに出来てします、そんな手軽さに、皆さんゾッコンです。
それから、IoTを長くやっている人曰く、今までのIoT機器は基盤むき出しが多く、M5Stackはケースに入っているので、気軽に人に渡せるのがメリットです。

登壇者のスライド

  1. M5 stack ug_vol1rev02
  2. M5Stack会場スポンサーLT、からのM5Stackまとめ - Speaker Deck
  3. 展示ごとでM5StackをMQTTで複数台連動させた話 - Speaker Deck
  4. こどもにやさしいM5Stack
  5. M5Stack meetup #1 2018/05/14
  6. M5Stack + NFC/Felicaモジュール - Speaker Deck

登壇者のGitHub

スターを付けましょう!
1. GitHub - meganetaaan/m5stack-avatar: An M5Stack library for rendering avatar faces
2. GitHub - n0bisuke/M5_Shuttle_Run: M5Stack向けのArduinoライブラリです。 シャトルランが出来ます。

以下ダイジェスト(自分のツイートのみ)

  1. 質疑応答は交流会で
  2. Jimmyさん、ありがとうございます
  3. エムファイブスタック(5を、ゴと読むのか、ファイブと読むのか)
  4. 温度センサーが付いてお得!
  5. M5Stack あるあるコーナー(うなづく人多し
  6. ディスプレイがあるのは重要
  7. YO(昔、アカウント作ったが消しちゃったよな)→ Yo
  8. かわいい
  9. 顔表示ライブラリ化→ GitHub - meganetaaan/m5stack-avatar: An M5Stack library for rendering avatar faces
  10. 迷子
  11. こどもにやさしい
  12. 周波数がちがう
  13. シャトルラン、ライブラリ化→ GitHub - n0bisuke/M5_Shuttle_Run: M5Stack向けのArduinoライブラリです。 シャトルランが出来ます。
  14. Jimmyさん神対応
  15. 音響測定器が必要だ
  16. ミミガー‎「ミミガー」をApp Storeで
  17. 校正器、なるほどわからん
  18. TFT_libraryを使った
  19. 物理的にスピーカーを殺す
  20. 中の人
  21. THETA→ 360度カメラ RICOH THETA
  22. モーションJPEG
  23. 最初に確認しましょう
  24. ガチな要望
  25. ファイブセンチ
  26. Tシャツ9枚じゃんけん大会

ツイッターまとめ

togetter.com

ブログ報告

takuwz.hatenablog.com
ahiru-sewingstore.hatenablog.com
www.1ft-seabass.jp

Tシャツはゲットならず

ジャンケン大会は負けましたので、悔しいのでTシャツの写真だけですwwwwww

次回

次回も参加したいです。
頑張って何か作って、LTを目指したいところです。


[rakuten:tsukumorobo:10011808:detail]

M5Stackで開発

習うより慣れろ

習うより慣れろ!と言うことで、せっかく購入したんだから、M5Stackで開発をします。
Pythonでも良かったのですが、C言語で開発しました。

開発2時間

サンプルを見ながら、キッチンタイマーを作りました。

正直、大したことしてませんし、参考になないと思いますが、ソースコードはこちらです。
github.com


M5Stack Faces(9軸IMU搭載、各種カバー付き)

M5Stack Faces(9軸IMU搭載、各種カバー付き)

  • メディア: おもちゃ&ホビー

[rakuten:tsukumorobo:10011808:detail]
[rakuten:tsukumorobo:10011810:detail]

M5Stack Gray (9軸IMU搭載)が届いた

きっかけは何となくです

もやっと、IoT関連を触ってみたいと言う心境が有りました。
当初は「Raspberry pi」を考えていました。

M5Stackに決めた!

他にも、Apple Watch的なの物も欲しいとか、色々とモヤモヤな気持ちが有りました。
とにかく、何か触りたい、何か試してみたい、そうおもっていました。
そんな時に、最近話題のM5Stackです。
これを選択した理由は、以下の5つです。
1. 画面が有る。
2.開発が出来る。(C言語
3.Wi-Fi無線が有る。
4.拡張がしやすい。
5.値段が安い。(税別5000円程度なら妻承認が通りやすい為)


[rakuten:tsukumorobo:10011808:detail]

せっかくならM5Stack Gray (9軸IMU搭載)

値段が安いなら、M5Stack Gray (9軸IMU搭載)が良いと思いましたので、こちらを選択して購入しました。

[rakuten:tsukumorobo:10011809:detail]

そして届きました

夜遅かったのですが、開封しました。

Hello Worldまでの道のり

そして、せめてHello Worldの表示まで!! やろうと思いましたが、しかし、Mac BookでUSBドライバーを入れても出てこない。
この問題は、環境設定のセキュリティで、全てのアプリの許可をしておいて、何度かインストールと再起動で出るようになりました、原因は不明かな・・・。
次の問題は、コンパイルしても書き込みが失敗する問題です。
検索すると、以下のブログに辿り着く、なるほど、コンデンサを噛ませば良いのか!って、コンデンサなんて無いわ!

手元にあった4.7uFをRSTとGNDに接続してみたところ、きちんと書き込みできました。

M5StackのTimed outエラー対策 - matsujirushi’s blog

寝ようと思ったら、神の声が聞こえた!


書き込みをする前に、電源ボタンをポンと叩く、これによりリセットがかかり、これだけで書き込みが成功するようになる。
これで眠れる、おやすみなさい。

M5Stackユーザーミーティング

これで無事に、M5Stackユーザーミーティング vol.1にも参加出来ます。
登壇する訳じゃないけど、所有とコンパイルと書き込みまではやりたかったです。
さて、来週までに色々と慣れておこう。
【増席!】M5Stackユーザーミーティング vol.1 - connpass


[rakuten:tsukumorobo:10011808:detail]

Ruby on Railsの勉強 第1章

第1章ゼロからデプロイまで

GWの空いた時間でやっております。
第1章が終わりました。
railstutorial.jp チュートリアルではBitbucketを推奨してますが、個人的な好き嫌いの問題でGitHubを使ってます。
とりあえず、第1章はHerokuにデプロイが目標となっており、非常に判りやすかったです。

出来上がったデプロイ先、Herokuのサイトは以下になります。
https://glacial-savannah-34411.herokuapp.com/

GitHubはこちらになります。
github.com

チュートリアルとの差分

2018年5月4日時点では、チュートリアル通りには出来ません。
Railsのバージョンは5.1.6を求めております。
f:id:hideaki_kawahara:20180504161710p:plain 5.1.4 と記載している所を5.1.6と読み替えてやりましょう。
f:id:hideaki_kawahara:20180504161904p:plain

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング