2011-12-09 10 views
2

私は中間プログラマーです。私はCをよく知っていますが、Javaはややうまくいき、Python、Shell、Applescriptで基本的なプログラミングを行ったことがあります。私はMac OSX用のプログラムを書いています。カレンダー/日プランナーのための最良のデータ構造は何ですか?

私は私の1日を計画しているアプリケーションを作成したいと思いますし、別のプロジェクトの予定をスケジュールできます。

私は2012年4月1日にタスクの締め切りがあることを知り、約80時間かかると考えています。プログラムは、多くの要因に基づいて、タスク専用の時間ブロックをスケジュールするために時間と日を選択します。

これが意味するのは、プログラムは、時間の細かい知識を多数の日付にわたって持つことが必要であるということです。毎日少なくとも30分間隔で分割する必要があります。その時間にタスクがスケジュールされている場合は30分ごとのブロックをチェックし、そのブロックにタスクを割り当てる可能性を確認する必要があります。

これらの30分のブロックは毎日存在しなければならず、明らかにプログラムが知識を持つ日数は1年365日と言います。

私はちょうどデータを格納する方法についての交差点にあります。私はまだデータベースを使っていないので、解決策があるのか​​どうか、それが何であるか分かりません。

どのように問題にアプローチしますか?この問題のために私の好みの言語は、Cおよび/またはPythonです。

ありがとうございました。

答えて

1

sqlite3の使用をお勧めします。 Pythonのapiをここで見てくださいhttp://www.python.org/dev/peps/pep-0249/

同じapiを持つ別のリレーショナルデータベースを使用することもできますが、アプリの規模に合わせてsqlite3を使うと使い勝手がよくなり、いつでもdbsを切り替えることができます。あなたのアプリケーションには簡単で簡単です。また、より典型的なリレーショナルデータベースであるため、豊富な情報を見つけることができます。

http://www.mongodb.org/のような人気の高い非リレーショナルのものを使用することができます.SQLでの経験がなければ、これはわかりやすいかもしれません(私はこれについてはわかりませんが、あなた自身を見てください)。いくつかのドライバ(http://www.mongodb.org/display/DOCS/Drivers)をサポートしていますが、実装の容易さのために、このような目的でPythonを使うことをお勧めします。すなわち、 http://docs.python.org/library/calendar.htmlはとてもいいです。

さらに、sqlite3の場合はhttps://storm.canonical.com/Tutorial、MongoDBの場合はhttp://mongoengine.org/などがあります。あなたの経験とプロジェクトの範囲に応じて、これらは非常に学習価値があります。実際、物事がより大きく複雑になるにつれて、ORMレイヤーを使用する方が価値が高くなります。反対に、あなたがSQLやリレーショナルデータベースのスキーマに精通しているならば、ソロプロジェクト用の新しいAPIを学ぶ努力をする価値はないかもしれません。

+0

ストームとSQLiteが進んでいるようです。ストームのチュートリアルを見て、わかりやすくなりました。 SQLiteはプロジェクトの範囲ではほぼ正しいと思われますが、私は完全な一撃を必要としません。 ありがとうございます。私はすべてのリンクを非常に感謝します! – user974703

関連する問題