0

だから私は小さなリマインダーアプリを作ることを考えています。さまざまな媒体(irc、eメール、コマンドライン、Web)で使用できるようにしたいと考えており、ダクトテープを大量に使用せずにそのようなものを設計する方法を考えていました。

したがって、たとえば「20分以内にゴミを出すように通知する」というのは、ユーザーが送信できるものの1つです。これにより、提出されたメディアが利用可能な場合はそれを使用し、それ以外の場合はデフォルトのメディア(電子メールなど)を使用して、20分以内にその人に通知します。

ですから、これを設計するための良い方法が何であるかはよくわかりません。明らかに、電子メールとircのようなものには、異なるロジックが必要であり、個別に実装する必要があると感じていますが、それ以外の場合は、さまざまな方法で拡張できる、具体化したい堅実なコアがあると感じています。そんなものをどうやってデザインするのか、いいモデルになるのかわからない。

私はRoR開発者であり、ルビーで構築する予定です。

それで、これにアプローチするための良い方法は何でしょうか?推奨読書...同様の質問...私はこれを実装するための方向性を得ようとしていますが、どこを見ればよいかわかりません。これは基本的にAPIではありませんか?(明らかにこれまでに作成したことはありません)

4

1 に答える 1

1

きちんとしたアイデアのように聞こえます!ここに私が役立つと思ったいくつかのリソースがあります。

さまざまなサービスがサービスと直接対話している場合は常に、これを実現する最も簡単な(そして私の意見では最も正気な)方法は、RESTサービスを作成することです。IRC、Web、コマンドライン—これらはすべてRESTfulインターフェイスと対話できます。

RailsはデフォルトでRESTfulであるため、標準のRails規則を使用するだけで、優れた標準のRESTfulAPIを使用できます。

さらに、Rubyで記述されたGithubには、IRCとの対話やコマンドラインユーティリティの作成を非常に簡単にする多くのライブラリがあります。

電子メールに関しては、最も簡単な方法はサービス(Mailgunなど)を使用することです。Mailgunを使用すると、メールを受信できる電子メールアドレス(remind_me@reminderapp.comなど)を作成できます。Mailgunは、電子メールを受信して​​解析するためにすべての面倒な作業を行い、アプリケーションのAPIエンドポイントに直接送信できます。詳細については、ドキュメントを参照してください。(インバウンドメール処理も提供するSend Gridなどの他のサービスがあることに注意することが重要です。私は多くを使用しましたが、Mailgunが私の推奨です。)

また、リマインダーとアウトバウンド通知のインバウンド作成を処理するジョブキューを設定することをお勧めします。Resqueは、Rubyで記述されたライブラリの中で群を抜いて最高です(ただし、Sidekiqは、私が楽しんで使用してきた興味深い新しい代替ライブラリです)。Resqueには、メールの送信を非常に簡単にするresque_mailerなどのプラグインがいくつかあります。また、 resque_schedulerを使用して、通知が将来配信されるようにスケジュールすることもできます(たとえば、例のように20分以内)。

SMS通知の送信にも興味がある場合は、TwilioまたはMoonshadoをチェックしてください。無料の解決策は、SMSゲートウェイへのキャリアの電子メールを使用することですが、一般的に配信可能性はこれらの問題です。SMS-fuはこれに適した(しかし古い)宝石ですが、オンラインでリストを見つけて自分で行うこともできます。

また、日付と時刻の素晴らしい自然言語パーサーであるChronicも調べる必要があります(たとえば、「20分で」の解析に役立ちます)。

お役に立てれば!

于 2012-06-10T19:22:44.493 に答える