アラフォーからのプログラミングとデザイン

大人から始めたプログラミングとデザインについてのあれこれ

作ったサービスの開発環境が壊れました(無念)

f:id:simpledancer:20181211120114j:plain


先日公開したサービスの開発環境が壊れました!!!!!

herokuはまだ動かしてるのでwebページは見れますが。

容量オーバーでターミナルが使えなくなりさらに新たなworkspaceでgit cloneしましたがgemのバージョンコンフリクト などなどでエラーが治らず。

simpledancer.hatenablog.com

再度ローカルで作成

今はローカルで一から作り直しています。

AWSのめんどくささを重々理解していたつもりですが

ここまで時間を取られるとは思いませんでした。

というか、それならもっと早くローカルに切り替えていればよかった。。

とりあえず、githubも別のリポジトリを用意。

前回はherokuでどこかが干渉し合っていたのか、同時に立ち上げた別urlの方を消した途端本番環境がエラー。

そこを直すと今度は開発環境がエラー、、となってしまいました。

再びローカルで復習だと思って作り直します。

AWSのエラーは本当に厄介でその辺も含めてqiitaでも共有していければいいなと思います。

 

railsで作ったwebサービスにGoogleAnalytics導入してみる

f:id:simpledancer:20190407081054j:plain

公開したサービスにGoogle Analyticsを導入して見ました。

webサービスのコンバージョン率などがわかるようにするためです。

ただ、railsアプリの場合、、

各ページ共通のheader,footerを置いているhtmlの中のheadタグだけにリンクを載せればいいのか

続きを読む

Ruby on railsでプログラミング素人が初めてのサービスを作りました!やっと公開

f:id:simpledancer:20190711101152p:plain

やっとrailsで作っていたサービスを一般公開しました。

テストで5月から10人ほどのダンサーさん、生徒さんに使ってもらっていたのですが

機能、デザインともにフィードバックをいただいたりしていました。

続きを読む

ephemeralエラーを解決する

f:id:simpledancer:20190502143523p:plain

###### WARNING:
remote:
remote: You set your `config.active_storage.service` to :local in production.
remote: If you are uploading files to this app, they will not persist after the app
remote: is restarted, on one-off dynos, or if the app has multiple dynos.
remote: Heroku applications have an ephemeral file system. To
remote: persist uploaded files, please use a service such as S3 and update your Rails
remote: configuration.
remote:

やっとAWSに変えてからherokuのデプロイし直して、動いたと思ったのにエラー

どうやらこれが原因らしい。

railsgirls.jp

Ephemeral ファイルシステム

Each dyno gets its own ephemeral filesystem, with a fresh copy of the most recently deployed code. During the dyno’s lifetime its running processes can use the filesystem as a temporary scratchpad, but no files that are written are visible to processes in any other dyno and any files written will be discarded the moment the dyno is stopped or restarted.

(各 dyno は専用の ephemeral ファイルシステムを取得します。この領域には最新のデプロイしたプログラムもコピーされます。実行中のプロセスが dyno の生存期間にある間は、このファイルシステムを一時的なスクラッチパッドとして扱う事ができます。しかし、dynoが停止か再起動をした瞬間に出力されていたすべてのファイルはプロセスから見えなくなります)

App では、追加した Idea レコードにファイルを添付する事ができます。このファイルはアプリの public/uploads フォルダ以下に配置されます。以下の手順で Heroku での ephemeral ストレージの動作を確認できます:

  1. heroku open を実行してアプリを開きます
  2. 新しい Idea に画像を付けて追加します
  3. heroku restart を実行してアプリを再起動します
  4. 追加した Idea を再度表示し、このページを reload します - 画像は表示されなくなります

github.com

Ephemeral ストレージの回避策

これは実際のアプリにとっては明らかに不便ですが、有名なサイトでも使われてる回避策がちゃんとあります。

最も一般的な回避策はAmazon S3(Simple Storage Service)やRackspace CloudFilesのような外部ホストの資源を利用する事です。これらのサービスは(安価な - 通常 0.1$/GB 以下の)アプリから永続的に利用可能なストレージを ‘クラウド上に’ 提供します(つまりファイルをどこへでも提供し得えます)。

 

で紹介されてたgithubとAWSの公式ページから調べてみることにしました。 

やはり公式ページをちゃんと読まなくては、ですね。

 

Nil location provided. Can't build URIエラーが出た時にやったこと

f:id:simpledancer:20190407081054j:plain

毎日コードを書く時間が少なすぎる、、、

時間と集中力が欲しいです。

日々一個ずつ機能を修正しては試し、、な感じで、あまりたくさん進んでいませんが

なるべく新しく出会ってしまったエラーなどは忘れないうちにブログに書き記しておこうと思います。

続きを読む

AWSに移行したので、再度herokuの設定をする

f:id:simpledancer:20181211120114j:plain

なかなかAWSにしてからコード自体が書けていません。

設定だけで戸惑うし、慣れていないので、ダッシュボードに行くのさえ大変。

すでにherokuにデプロイしていたwebサービスですが、AWSに移行後、変更点をデプロイしたところpushができなくなってしまいました。

どうやらまた、環境が変わったので設定が必要なようです。

続きを読む