Webページを保存するサービスを作成

 見ているwebページを保存できるサービスはいくつかあります。Pocket(Read It Later)やInstapaper、Readability、OneNote, Evernoteなどが代表的なものです。しかし、どれも特定のサービスへ保存することが前提になっています。この種のサービスでは保存したデータを移動できる方が、長期間にわたり利用する場合に都合が良いです。
 「あとで読む」は見ている内容をメールで送る単機能なサービスです。その分融通が利くため、現在こちらを利用しています。しかしこちらのサービスでは、httpsのサイトを保存することができません。Bookmarkletが呼び出すJavaScriptがhttpのサイトに置いてあるためです。
 またこのような機能のみのサービスは広告を挟み込む余地が少なく、マネタイズしづらい構造です。またメールを前提としているため、今後盛り上がるジャンルのサービスではないと考えています。そのため、サービスがどうなったとしても大丈夫にしておく必要性を感じていました。
 そこで今回、同じような挙動をするものを作成しました。こちらです。

https://github.com/tattyamm/atodeyomo

 Bookmarkletを使うとサイト側のJavaScriptが読み込まれ、それがサイト内の情報をAPIサーバーに送り、APIサーバーは設定した送信先にメールを送ります。とりあえずHerokuで動作させてhttps化を実現しています。


 作る上で参考になる情報はいくつかありますが、全部入りはこちらです。
The Web Clipper Goes Open-Source ? OneNote Dev Blog

 使用したサービス・フレームワークなど
Heroku (Postgresプラグイン)
Ruby 2.3.0
Ruby on Rails 5.0.0.1
SendGrid


iOSアプリを更新しました


iTunesストア

挙動に変更はありませんが、サーバー含めて変更が入っています。

アプリ側
github
・ATS(App Transport Security)対応
・Swiftのバージョンアップ対応
・ライブラリ管理をCarthageとCocoaPodsの併用に変更

サーバー側
github
・playframework2からrailsに変更(現在は平行運用)
・一部文字化けに対応
・https化

RailsアプリをHerokuで動かす時のパスワード管理パターン(figaroによる環境変数の管理)

パスワードやAPI Keyなど、gitにcommitしたくない情報の扱い方に関するパターンのメモです。今回はHerokuでアプリを動かす場合を想定しています。

まとめ

figaroを使い、設定ファイルはgitignoreする。

ローカルでの開発中

figaroというgemを導入します。その上でconfig/application.ymlに秘密にしたい情報を記載し、gitに追加されないよう、このファイルを.gitignoreに追加します。
設定するときのapplication.ymlの書き方はこのようになります。
consumer_key: "password"
Rubyから参照するときはENVから値を取り出します。
ENV["consumer_key"]

Heroku環境での設定

application.ymlの内容をherokuの環境変数に反映するには、以下のコマンドを使用します。
figaro heroku:set -e production
環境変数の一覧はこのコマンドで確認できます。
heroku config
ちなみに、環境変数を1つずつ設定する場合はこのコマンドです。
設定
heroku config:add KEY=VALUE
削除
heroku config:remove KEY

これ選択の設定管理方法

dotenvを使う
rails以外でも使用可能です。

config/secrets.ymlを使う
rails4.1以降で使用する事ができる、railsの機能です。
ただし、Herokuではconfig/secrets.ymlが必須になっており、secrets.ymlをgitignoreする方法が使えません。
Herokuに限定した場合はfigaroが簡単そうです。Heroku以外のプラットフォームも考えた場合はsecrets.ymlがサポートされている可能性もあるので、プラットフォームごとに検討が必要です。

参考

Getting Started with Rails 4.x on Heroku | Heroku Dev Center
Rails4.1のsecrets.ymlはfigaroと違うの? - PILOG
このサイトは
 Webアプリケーション開発のことや、iPhone・Android向けアプリ開発の話題がメインです。技術情報を取り扱っています。
 管理:えんたつ。twitter: @tattyamm
mimage
検索
広告
カテゴリ別アーカイブ
twitter
RSS
リンク
プログラミング本
アプリを作る時などに読んだ本
iPhoneプログラミングUIKit詳解リファレンス iPhoneプログラミングUIKit詳解リファレンス Android Layout Cookbook アプリの価値を高める開発テクニック パーフェクトPHP (PERFECT SERIES 3) JavaプログラミングBlack Book 2nd Edition (Black Bookシリーズ)
広告
検索