筋トレもプログラミングも反復練習が大事である。

プログラミング初心者三十路越えアスリート系女がフリーランスプログラマーを目指すブログ

webサービスの開発の振り返りをQiitaに投稿しました!

f:id:simpledancer:20190816205854p:plain

qiitaに初めて投稿しました!

有益な情報などはほとんど載せてないんですけどね、、、

webサービスを作ってきた流れを説明しました。

qiita.com

初めてって緊張するよね、、、

AWSのエラーが出てるので、またローカルで開発し直してるんだけど。

そしてqiitaに投稿した瞬間インスタのアカウントが乗っ取られる事件!

みなさん二段階認証しましょうね。。。!! 

 

rails consoleが動かなくなった時にやったこと

f:id:simpledancer:20181211120114j:plain

先日開発終わった〜と思ったらエラーがAWSで出てしまい、ターミナルが使えなくなってしまいました。git cloneしたものはバージョンコンフリクト等々でにっちもさっちも行かなくなり、もう、むしろ一からローカルで作っちゃう!作り直してやるう!!

ということで今はローカルで再度立ち上げています。

続きを読む

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

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人ほどのダンサーさん、生徒さんに使ってもらっていたのですが

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

続きを読む

AWS/cloud9のgit cloneでエラーが無事解決した方法。

f:id:simpledancer:20190603204538p:plain

githubにコードをあげていたのですが、ずっと容量オーバーでついにターミナルがcloud9で使えなくなった、、!

ということで、もうワークスペースを変えて新しいEC2のインスタンスを立ち上げてリージョンも東京に変えて作り直すことにしました。

続きを読む

なぜかわからないけど動いた!は困る。AWSのcloud9でgithubに急にpushできなくなってやったこと

f:id:simpledancer:20190603204538p:plain

なぜかAWSのcloud9で開発をしているのですが、急にgithubにpushできなくなる事件が起こりました。

AWSに以降してから、ふつーに今までcommit,pushしていたにも関わらず。

続きを読む

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の公式ページから調べてみることにしました。 

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