小编ski*_*ift的帖子

我是否需要Python中的Node.js?

我已经使用PHP一段时间了.我一直在考虑学习Node.js以使用非阻塞的想法来创建在线游戏或应用程序.将两者结合使用有很多信息.使用Node作为游戏后端的一部分可以真正加快游戏的某些方面,特别是如果游戏允许用户实时互相对战.

好吧,最近我一直在研究学习Python(是的,我有很多时间在我手上).PHP上有很多关于它的功能,我非常喜欢.但是为了使用Node.js来完成我考虑使用PHP的后台工作,我根本找不到太多信息.我也注意到Python确实有一些线程功能.由于我对Python的世界还很陌生,我甚至需要Python中的Node.js吗?Python可以处理Node.js可以使用的这些功能吗?或者使用Node仍然有好处,或者我真的需要它.

作为旁注,自从我开始查找Python以来,我还发现了Twisted,它似乎是另一个像Node这样的框架.但Twisted是用Python编写的.因此,在上述任何一种情况下,Twisted都会更好(除了Twisted似乎已经更长并且比Node更稳定的事实).我只是意味着它总是值得使用,无论是Node还是Twisted?如果是这样的话比Python更好吗?

对不起,这是一个很大的问题,但我在这个领域非常不确定和n00b.谢谢.


因此,在阅读有用的答案后,我看到以下选项:

  1. PHP + JS
  2. Python + Twisted
  3. Python +睡衣
  4. Python + Node.js
  5. Node.js的
  6. 扭曲

  1. 我已经了解PHP并且对此感到满意,目前正在学习JS.这对我来说是一条重要的可能途径.但是我也倾向于从PHP到Python,因为我喜欢的语言的一般特征.

  2. 我认为这个选项可能比#3更合理,使用Twisted来处理网络端口以允许玩家互相玩游戏.

  3. 这只是让你不必学习JS,这对我来说似乎不是那么大的交易.我已经开始研究它并不难学习.但就像在一个问题中提到的那样,混合一些东西; 和{}可能会有一些问题.

  4. 像#2一样,但是有Node.js. 大多数情况下,我看到添加Node来处理网络方面,让玩家能够在实时/即时游戏中玩游戏.而且大部分代码都是Python.

  5. Sole Node.js是一个考虑因素,它也是单一语言路由.但是学习和使用Python也没有相同的好处(它是我可以使用的通用脚本语言,也不是网页设计.我想学习和使用它的一个重要原因.).

  6. Ans作为#5,但在阅读评论之前,我没有考虑使用Twisted路线.虽然看起来似乎有道理,但它并不真正涉及我想要学习的两种语言之一,Python和Node.

以上似乎是我可以走的主要路线.现在我还不确定要走哪条路.我真的想学习Node和Python.所以我似乎只需要分别学习这两个.但我仍然需要为这个项目选择一个选择.到目前为止,我喜欢数字2和5,其中6接近5,因为Node和Twisted有一些非常相似的功能.提及1,因为这是我已经知道的.但我还是想要学习新东西.所以,真的是数字2和5.或4,因为它类似于2.哈,我仍然需要做一些功课.也许这值得另一个问题.

编辑(2012年9月19日):我只想更新,说我目前主要使用Node.js进行开发.并计划使用Redis for PubSub功能来提供实时页面更新的外观,因为我不需要像游戏或配对内容编辑那样真正的实时.

php python twisted nonblocking node.js

11
推荐指数
1
解决办法
4133
查看次数

用于电子商务的NoSQL数据库

我将构建一个电子商务网站,并想用一个没有SQL数据库,将与该应用的计划吻合.但是当谈到哪个数据库适合这项工作时,我不确定.在比较各种DB之后,看起来最好的那些可能是mongo,沙发,甚至是orientdb.我已经看到与MySQL相比,使用或不使用所有这些参数的参数.但他们之间(nosql数据库),哪一个适合电子商务解决方案?

请注意,对于用例,我不会在一秒钟内进行数千次交易.或类似的高写入率.他们将是温和的确定,但在任何已建立的数据库可以处理的水平.

CouchDB:掌握到掌握复制,我真的可以使用.如果没有,我仍然必须在代码中实现相同的功能.我需要能够拥有一个用户数据库,与母舰同步.(用户将拥有自己的,可能是localhost数据库,可以与主域服务器同步).一旦你的查询存储在db中,Couch也很快.因为我可能对读取性能有更高的要求.虽然不是很多.

MongoDB:查询非常简单且用户友好.此外,由于最终用户可能需要在给定时间查询我可能无法提前解决的某些事情,这似乎可能更适合.我不必在db中预先存储我的查询.是否支持原子事务,但仅限于一次写入单个文档时.

OrientDB:图形数据库.大多数人都习惯了很多不同,但是根据需要,它也可以很好地适应.Orient具有无模式的优点,并且支持ACID事务.图形数据库可以很好地与客户和产品关系很多.Orient还支持master到master复制,类似于couchdb.

不要误会我的意思,我可以看到如何使用像MySQL这样的传统方法来构建它,但是nosql解决方案的简单性和简单性非常有吸引力.虽然,在我的情况下,需要一个无模式的解决方案,在nosql而不是mysql中会容易得多.给定产品可能比其他产品具有更多或更少的商品.并且在添加新字段时避免重新创建表格是可取的.

因此,在这3个(或者您认为可能更好的其他人)之间,在处理客户交易时,每个网站中的哪些功能可能对我有用,或者对我来说是基于电子商务的网站?

编辑:我没有使用现有解决方案的原因是因为我需要的集成功能,没有可用的解决方案.我们的目标也是将其作为我们公司的完整产品.除了销售之外,还有一些其他的集成.它也将与商店的POS系统合作.

couchdb mongodb nosql e-commerce orientdb

11
推荐指数
1
解决办法
1万
查看次数

在Vagrant中,我可以将配置程序设置为仅手动运行吗?

在我的Vagrantfile中,我有一个像这样的配置器:

config.vm.provision "reset", type: "shell", run: "always" do |s|
    s.privileged = false
    s.inline = "bash /path/to/my/reset/script.sh"
end
Run Code Online (Sandbox Code Playgroud)

通常情况下配置流浪汉,它运行正常.但我想做的是设置一个只在我手动调用时运行的配置器.所以,如果我有以下配置者:

config.vm.provision "otherScript", type: "shell", run: "manual" do |s|
    s.privileged = false
    s.inline = "bash /path/to/my/other/script.sh"
end
Run Code Online (Sandbox Code Playgroud)

我会用它来运行它vagrant provision --provision-with otherScript.我已经可以与其他供应商一起做了.但我无法找到一种方法来做到这一点,当我做的事情,vagrant provision它跳过任何运行设置manual.除了我可以"永远"使用之外,我在与之相关的文档中找不到任何内容.

我考虑过使用像fabric或者调用(python 3)这样的东西但是我必须在团队中的所有计算机上进行设置.我可以使用脚本设置,但我认为如果可能,这可能会更容易.

有没有办法实现这个目标?设置只在我手动调用它时才运行的配置器?

vagrant vagrantfile vagrant-windows

9
推荐指数
1
解决办法
1766
查看次数

防止浏览器自动填写表单字段

我试图找到一种方法来阻止浏览器(主要是FF)阻止自动填充我的表单.我没有自动完成,因为他们输入值提供建议.但是当我在FF中加载表单时,它会自动使用以前的值填充表单.但我想总是让字段在加载时为空白.

我尝试在标签中使用autocomplete ="off",但这不起作用.这有什么解决方案吗?我已经查找了其他问题并且他们都说要使用该属性,但它不适用于自动填充,它适用于自动完成.我可以使用JS/jQuery来做到这一点吗?

html javascript security firefox jquery

7
推荐指数
1
解决办法
4785
查看次数

使用Node.JS和CouchDB的离线应用程序

我有一个我想创建的应用程序.但我不知道该怎么做.我正在使用node.js并且想使用couchdb,但是如果像mongodb或riak这样的东西会是更好的选择,我愿意听取想法.但是,我有一个网站,比方说

cool.com

并且有一个couchdb实例,以及一个管理商店的站点.说一个购物车.数据库包含所有商店的项目和数据.该应用程序本身有一个管理后端来管理该数据,并可以更改项目.我希望能够做的是,能够让用户与互联网断开连接,并且仍然有管理员后端工作.我意识到这个工作我需要使用客户端框架与我的模型/路由/控制器/无论如何.但我不确定的是,如何让网站在离线时运行.couchdb如果在本地安装可以在重新联机时将数据从本地同步到远程,如果管理员用户在计算机上,我可以让他们安装沙发.但那可能很混乱.

此外,如果管理员用户在平板电脑或手机上怎么办?我需要有一个真正的移动应用程序和桌面应用程序才能执行此操作吗?有什么方法可以设置它,所以它是最终用户无缝的.我也希望这对最终用户来说也是离线的,但更多的受众是管理员.

另一个用例,就是POSore系统.电力消失了.但是POS系统可以从网络加载到平板电脑上,如果wifi外出,他们仍然可以进行基于卡的销售,因为该应用程序可以离线使用.

我只是不知道该怎么做.我假设我需要一个可以处理数据和后端的客户端框架.类似于余烬或棱角分明的东西.theres也在一个堆栈中,如流星和德比js,但那些并非完全脱机,但是为了实时的外观.虽然流星确实有迷你mongo所以它可能值得研究.

我希望有人可以帮我弄清楚如何让这个设置工作,最好是用沙发,但是如果我有办法同步数据,其他的nosql也会工作.

couchdb mongodb offlineapps node.js offline-browsing

7
推荐指数
3
解决办法
1万
查看次数

Django和MVC(MVT)布局

我来自使用其他基于MVC的框架,并进入Django,它似乎有点尴尬我以前.例如,在其他基于MVC的框架中.我的布局可能是这样的:

root:
- config (houses the config files (like settings), url.conf, db connections, etc.)
- controllers (houses the main logic of each section of the site. The middle ground between views and models)
- models (handles all the data to be validated and anything that interacts with the database. declares the DB structure. each model a class, each attribute a db field. in django, a template?)
- views (the html displayed to the end user, put together by the controllers) …
Run Code Online (Sandbox Code Playgroud)

python django model-view-controller

5
推荐指数
2
解决办法
7960
查看次数

何时使用.ProtoRPC或REST

我主要在工作中处理REST json API.所以我熟悉他们.但对于我自己的项目,我正在尝试app引擎,因为我认为它非常合适.

我已经开始在python中编写我的逻辑(使用ferris),并且在阅读更多应用程序引擎时,我遇到了protorpc和云端点.但在我读过的大部分例子中,他们似乎都在做同样的事情,就像在休息api中做的那样.用json发出请求,然后获得json响应.或者是错误.

我看到的主要区别在于,在休息时,端点基于资源.并且围绕它们的HTTP动词,例如GET,POST,PUT,DELETE等.在RPC中,每个请求都有自己的端点,而不是基于资源或模型.

两者都要求,并与json回应.所以我认为我没有看到使用Google端点的好处.他们是否提供其他一些好处?我可以通过端点看到更好的分析跟踪.但是我还不需要使用post http动词来修改内容吗?

如果我使用某些框架,这会改变吗?像django.虽然我目前正在测试Ferris,它有一个处理protorpc的消息传递系统.虽然,我还没能休息.

那我错过了什么?端点有什么好处,只是让我的对象方法处理一个json请求.套接字连接是否适用于此?

api rest google-app-engine protorpc google-cloud-endpoints

3
推荐指数
1
解决办法
457
查看次数