5

写真を管理およびタグ付けするための Web アプリケーションを作成する予定ですが、適切なプラットフォーム/フレームワークの選択についてアドバイスをお願いしたいと思います。

アプリはユーザーの観点からは非常に単純ですが、バックエンド側ではさらに複雑なものが必要です。

  • 別の HTTP リクエストによってこのスレッドを中断する可能性がある別の / バックグラウンド スレッドで (サーバー / HTTP 応答をブロックせずに) 大量の画像を再スケーリングおよび処理する
  • ネットワーク経由で大きなファイルを送信する Amazon S3 ストレージへのアクセス (バックグラウンド スレッドでも)
  • PostgreSQL へのアクセスと、複雑でおそらく遅い SQL クエリの使用

また、私はいくつかの軽量ソリューションを好み (軽量であるほど良い)、速度はそれほど重要ではありませんが、メモリによって制限されます。わずか 512 MB の RAM を備えた Linux 仮想サーバーでアプリを実行します。

私は Java に最も慣れていますが、PHP と Python でコーディングすることもできます。

どのプラットフォーム/フレームワークを使用することをお勧めしますか?

4

1 に答える 1

2

3つすべてが実行されます。ただし、PHP は Web アプリケーションを作成するために特別に設計されているため、Python や Java よりも PHP 向けに作成されたユース ケース向けのリソースやチュートリアルが数多くあります。また、実行しているサーバーが、選択したテクノロジ (Java のサーブレット コンテナや PHP の適切な Apache モジュールなど) をサポートしていることを確認してください。

PHP はスレッド化をサポートしていないことに注意してください。オンラインの「PHP スレッド化」チュートリアルはすべてひどいハックです。私は通常、UI のバックエンドに PHP を使用し、cron ジョブから開始された PHP または Python でバックグラウンド タスクを実行します。cron ジョブ (PHP または Python で記述されたもの) のタスクをスケジューリングするための情報を取得するための良い解決策は、それらを php を使用してデータベースに書き込むことです。

mysql_query("INSERT INTO PhotosToProcess ('time', 'tmp_name', 'resolution') VALUES (NOW(), 'someName', '640')");

Python はスレッド化をサポートしていますが、UI (HTML) の出力に使用されるプロセスから新しいスレッドを生成するのは好きではありません。

于 2012-10-16T20:26:19.363 に答える