sql >> データベース >  >> RDS >> PostgreSQL

PHP、Python、PostgreSQLの設計はビジネスアプリケーションに適していますか?

    Django をご覧ください 。

    Pythonコード。 PHPと同じ機能のいくつかを許可するテンプレート言語-わずかに異なる構文。

    モデルはビュー機能(「ビジネスルール」)から切り離され、プレゼンテーションから切り離されます。これはDjango全体で実施されます。

    よくある質問の1つは、「DjangoテンプレートでPHPのようなクレイジーなことをできないのはなぜですか?」です。答えは、プレゼンテーションが処理されていないということです。 Djangoビュー関数で処理を行います。テンプレートで結果をHTMLとしてレンダリングします。

    また、Djangoには、SQLのささいな考慮事項からあなたを引き離すためのORMレイヤーがあります。 MySQLまたはPostgreSQLは、Django内からほぼ同等です。

    編集

    「成熟度」とは多くのことを意味します。あなたは特に熟練した人々を成熟のしるしとして言及しました。

    Djangoは純粋なPythonです。 Pythonの人を見つけることができれば、彼らは数日でDjangoを学ぶことができます。彼らはただチュートリアルをしなければなりません。

    • Djangoを利用したサイトは通常、Apache+接着剤+Djangoです。接着剤は、mod_wsgi、mod_python、またはmod_fastcgiにすることができます。可動部分がいくつかあるため、この構成は注意して管理する必要があります。ただし、これはPHPで発生するApache構成の問題と同じです。ここでは新しいことは何もありません。

    • Djangoサイトには1つ以上のDjangoサーバーインスタンスがあり、それぞれに設定ファイル、URLマッピング、および任意の数のアプリケーションがあります。この時点での純粋なPython。

    • Djangoアプリケーションには、URLマッピング、モデル、およびビューがあります。すべて純粋なPython。 Python独自の内部ユニットテストフレームワークのDjango拡張機能を使用してユニットテストを行いました。

    • モデルはORMレイヤーを使用します。これは、おそらく、Djangoで最も混乱する唯一のことかもしれません。人々は、高レベルのuber-genericを考えすぎているか、SQLを考えすぎているために、非常に奇妙なモデルを設計することがあります。 Djangoは、SQLを考慮した、ほとんどのオブジェクト指向の中間です。これを手に入れれば、止められません。

    • Djangoアプリケーションには、独自のテンプレート言語のテンプレートが含まれている場合があります。これは、Python以外で非常に興味深い唯一のことです。カスタムタグ(純粋なPython)を追加することをお勧めします。

    • あなたはおそらくJavaScriptを持っているでしょう(PHPや他のすべてのWebアプリケーションフレームワークにも当てはまります)。ここでは何も新しいことはありません。

    • Djangoの管理アプリケーションは基本的なCRUD処理を自動的に処理するため、これを記述する必要はありません。あなたはあなたが望むすべてのトランザクションのものを自由に書くことができます。しかし、そうする必要はありません。これにより、非常に強力なハイブリッドになります。

      • 複雑で重要なトランザクションをいくつか作成します。純粋なPython、ところで。

      • ダムテーブルメンテナンストランザクションは記述しません。 PythonやPHPより優れたコードはありません。

      • テンプレートエンジンとCSSで足を濡らした後、管理インターフェイスを調整して、好きなように見せることができます。これはHTML/CSSのものであり、PythonやPHPではありません。

    結論。スキルセットのほとんどはPythonです。 ORMは-構文的に-Pythonですが、物事を単純かつクリーンに行うには注意が必要です。テンプレートは独自の言語ですが、PHPよりもかなり単純です。残りはSQL、Javascript、HTML、CSS、Apacheなどです。

    編集

    Djangoの成熟度

    Djangoブログは2005年までさかのぼります。つまり、2008年9月に最終的に1.0をリリースするまで、長年の確かな経験がありました。開発は明らかに'03年に始まりました。



    1. 送信ボタンでAJAXライブチェックの可用性

    2. MySQLはテーブルから欠落しているIDを取得します

    3. PostgreSQLで値に少なくとも1桁の数字が含まれているかどうかを検出する

    4. MySQLが存在しない場所に挿入/存在しない場合