x经问题: Why choose Ruby or Python over PHP for web development?
昨天整了一天的环境,想学习下django or sinatra.
结果整到最后,我问自己为什么要这样做? php不也挺好的?
框架要开发效率, 我会laravel啊.
有人说laravel的代码很乱,搞了半天,愣是没弄懂它那个facade是啥回事... 在图书馆里看了一整年的j2ee的我,倒是觉得laravel很熟悉. 于是,我抛弃掉20多年历史的MVC, 借助namespace弄个package, 各种services, validators, repositories,events,etc,.全部分开来, 注册ServiceProvider,通过ioc注入实例,再搞搞phpunit. 看着自己的代码, 觉得好有成就感. 这才是高聚合低耦合! 就是操作起来比较麻烦, 要创建很多文件, 貌似这样就不算是效率了...
还有, laravel这东西本身就是一个个包组成的. 比如我用自己的前端替代wordpress前端时,就是只用他的router和database.
框架要性能, 我可以搞phalcon. 这个没用过就不扯了.
包管理,有composer. 多亏了FIG这个非官方小组, 出了psr标准! 我觉得composer算是php的一个里程碑吧. 只有一个问题, 国内的速度........
php本身很慢!! 前有hhvm, 后有hippyvm, 官方又要搞个PHPNG. 哦, 5.5还自带了个opcache.
需要non-blocking? reactphp
......
为什么startup,尤其国外, 会选择python或ruby作为开发语言呢? 我个人觉得就是因为php太流行, 程序员良莠不齐. php命名不规范,我反而觉得,不是个多大的问题.
你们的想法呢?
我左思右想, 如果给我一个理由放弃php, 而以python或ruby为生, 那就是php程序员工资低......
开放性问题,靠谱都会给赞.
回复内容:
昨天整了一天的环境,想学习下django or sinatra.
结果整到最后,我问自己为什么要这样做? php不也挺好的?
框架要开发效率, 我会laravel啊.
有人说laravel的代码很乱,搞了半天,愣是没弄懂它那个facade是啥回事... 在图书馆里看了一整年的j2ee的我,倒是觉得laravel很熟悉. 于是,我抛弃掉20多年历史的MVC, 借助namespace弄个package, 各种services, validators, repositories,events,etc,.全部分开来, 注册ServiceProvider,通过ioc注入实例,再搞搞phpunit. 看着自己的代码, 觉得好有成就感. 这才是高聚合低耦合! 就是操作起来比较麻烦, 要创建很多文件, 貌似这样就不算是效率了...
还有, laravel这东西本身就是一个个包组成的. 比如我用自己的前端替代wordpress前端时,就是只用他的router和database.
框架要性能, 我可以搞phalcon. 这个没用过就不扯了.
包管理,有composer. 多亏了FIG这个非官方小组, 出了psr标准! 我觉得composer算是php的一个里程碑吧. 只有一个问题, 国内的速度........
php本身很慢!! 前有hhvm, 后有hippyvm, 官方又要搞个PHPNG. 哦, 5.5还自带了个opcache.
需要non-blocking? reactphp
......
为什么startup,尤其国外, 会选择python或ruby作为开发语言呢? 我个人觉得就是因为php太流行, 程序员良莠不齐. php命名不规范,我反而觉得,不是个多大的问题.
你们的想法呢?
我左思右想, 如果给我一个理由放弃php, 而以python或ruby为生, 那就是php程序员工资低......
开放性问题,靠谱都会给赞.
初创公司需要快速做出可用的产品,ROR在速度上有绝对的优势。
仅此而已。
如果现在这个时间点来选,个人觉得Ruby和Python不是一个好选择。既不如PHP使用广泛,也不如GO/NodeJS革新。顺便说句,我们拍卖的PHP程序员工资可一点都不低……
如果搞web,继续php吧。从不觉得php性能是个问题,以后更不会。
写了两个月的laravel,发现很强大。。。入门比较高。。搞起来还是不错得。。
诚然php有好的代码,但是Rails更鼓励人们写好的代码,php不是。拍黄片这个名字不是白叫。
首先:
任何一个做web开发3年以上的人员,都可以轻松将php替换为如下:python,ruby,go,node...
其次:
如果学习过其它语言,会发现php这门语言很混乱,不光是表面的函数调用,而且内部机制没有一个明显的对象模型,无法给人一种:"我只要了解了这个语言的对象模型,任何代码都能看得懂",这种自信的感觉,没错,我说的就是js或者ruby的对象模型...
最后:
写php真的不会想写出好代码,而ror的DRY原则,则是最基本的提醒,有总比没有好,更不用说写单元测试了
喜欢python不喜欢ruby,学了挺长时间的python 3,后来学了一点框架,webpy,django,tornado都入门了,然后后来发现国内好多公司用的都是python 2.× ,但是我想写2.x的代码,所以后来决定学了nodejs。。。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

この記事では、MySQLデータベースの操作を紹介します。まず、MySQLWorkBenchやコマンドラインクライアントなど、MySQLクライアントをインストールする必要があります。 1. mysql-uroot-pコマンドを使用してサーバーに接続し、ルートアカウントパスワードでログインします。 2。CreatedAtaBaseを使用してデータベースを作成し、データベースを選択します。 3. createTableを使用してテーブルを作成し、フィールドとデータ型を定義します。 4. INSERTINTOを使用してデータを挿入し、データをクエリし、更新することでデータを更新し、削除してデータを削除します。これらの手順を習得することによってのみ、一般的な問題に対処することを学び、データベースのパフォーマンスを最適化することでMySQLを効率的に使用できます。

MySQLは、基本的なデータストレージと管理のためにネットワーク接続なしで実行できます。ただし、他のシステムとのやり取り、リモートアクセス、または複製やクラスタリングなどの高度な機能を使用するには、ネットワーク接続が必要です。さらに、セキュリティ対策(ファイアウォールなど)、パフォーマンスの最適化(適切なネットワーク接続を選択)、およびデータバックアップは、インターネットに接続するために重要です。

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

MySQLパフォーマンスの最適化は、インストール構成、インデックス作成、クエリの最適化、監視、チューニングの3つの側面から開始する必要があります。 1。インストール後、INNODB_BUFFER_POOL_SIZEパラメーターやclose query_cache_sizeなど、サーバーの構成に従ってmy.cnfファイルを調整する必要があります。 2。過度のインデックスを回避するための適切なインデックスを作成し、説明コマンドを使用して実行計画を分析するなど、クエリステートメントを最適化します。 3. MySQL独自の監視ツール(ShowProcessList、ShowStatus)を使用して、データベースの健康を監視し、定期的にデータベースをバックアップして整理します。これらの手順を継続的に最適化することによってのみ、MySQLデータベースのパフォーマンスを改善できます。

生産環境の場合、パフォーマンス、信頼性、セキュリティ、スケーラビリティなどの理由により、通常、MySQLを実行するためにサーバーが必要です。サーバーには通常、より強力なハードウェア、冗長構成、より厳しいセキュリティ対策があります。小規模で低負荷のアプリケーションの場合、MySQLはローカルマシンで実行できますが、リソースの消費、セキュリティリスク、メンテナンスコストを慎重に考慮する必要があります。信頼性とセキュリティを高めるには、MySQLをクラウドまたは他のサーバーに展開する必要があります。適切なサーバー構成を選択するには、アプリケーションの負荷とデータボリュームに基づいて評価が必要です。

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。
