为了开发一个可以轻松扩展,提供生产稳定性,易于部署并允许快速开发周期的Web应用程序,在选择一个或另一个框架之前,我建议您查看哪些内容 - 使用Java和Tomcat,还是Django和Apache/Mod_WSGI?
我可以立即看到一些利弊,
我看过Disqus关于缩放Django的幻灯片,我毫不怀疑它可以做到.但是扩展Django应用程序会比扩展Java/Tomcat更难吗?
我熟悉Java和Python和上面提到的框架,并把它归结为获得反馈这些谁一直是(或两者)在规模与合作.
谢谢!
我这里有两个相关的问题.
在Play 2.2.x中,发行版被捆绑为zip文件,可通过maven存储库http://downloads.typesafe.com/play/2.2.x/play-2.2.x.zip下载.这意味着您可以使用pom.xml并将游戏嵌入到您的应用中,而无需使用sbt.鉴于2.3.x已转向激活模型,是否仍可以将其与maven一起使用?
其次,是否可以使用没有激活器的游戏2.3.x?(我知道他们有一个sbt插件可以玩,但这看起来也很复杂).
谢谢!
我想知道 - 除了授权程序之外,是否有任何已知技术可以控制对共享内存对象的访问?
例如,假设我创建了一个用于程序P的共享内存段,由Q访问,并使其成为读写.我可以使用Q访问它,因为我已经给它(Q)执行此操作所需的权限(作为具有组的特定用户运行等).
但是,我猜测有些人可能会从程序R中访问这个共享内存 - 只需附加到它并修改它.要停止这一点,你可以让内存段只读 - 但现在程序R仍然可以读取内存中的内容.
我的问题是部分 -
有没有办法,
a)只允许Q访问共享内存?
b)确定读取是否由除Q以外的人完成 - 谁做了?[这甚至可能吗?]对于奖励积分,这可以跨平台完成吗?[可能没有,但没有伤害尝试:)]
在什么情况下流氓程序可以附加到共享内存?我认为一种方法是,如果用户能够利用OS漏洞并成为启动该程序的用户.还有其他人?
我在阅读了这个问题的答案/讨论之后注意到了(学习OOP的最佳语言是什么?) - 越来越多的人推荐使用C#或Java而不是C++来学习OOP.在该答案页面上进行简单的术语搜索会导致C++的10次点击,C#的21次点击和Java的27次点击.
现在,我理解这两种语言解决了C++的许多怪癖和问题,并查找了主要与性能,JVM与本机实现,系统焦点与应用程序,手动内存管理与自动化等相关的这些 资源.
我的问题是 - Java/C#与C++的OO功能有任何根本区别吗?或者前者是否仅仅因为它们的通用易用性/后者的改进而被推荐?
谢谢.
PS,我知道Java接口继承与C++多重继承有区别.我认为这是一个实现的而不是功能性的.
哇,我没想到这么多答案!非常感谢.我将在此处更新我所学到的内容.
我想知道 - 人们如何处理在django视图中导入大量常用模块?最有效的方法是什么?
比如,我有一些观点,比如
admin_views.py
search_views.py
.
.
Run Code Online (Sandbox Code Playgroud)
从我所看到的,他们每个人都需要使用HttpResponse或其他常用的模块.此外,他们中的一些人需要像BeautifulSoup这样的东西,而其他人则需要其他东西(md5,auth等).
我在启动项目时所做的是创建一个include_all.py包含大部分常见导入的内容,然后在视图中添加这些特定内容.所以,我有类似的东西,
admin_views.py
from include_all import *
...
[list of specific module imports for admin]
...
Run Code Online (Sandbox Code Playgroud)
search_views.py
from include_all import *
...
[list of specific module imports for search]
...
Run Code Online (Sandbox Code Playgroud)
随着时间的推移,include_all成为一个misc文件,其中包含任何需要的东西 - 因此,许多视图最终导入了他们不需要的模块.
这会影响效率吗?也就是说,python(django?)是否导入所有模块一次并存储/缓存它们,以便需要它们的任何其他视图不必再次导入它?或者我调用这个长文件的方法效率很低 - 我最好坚持在每个视图中单独导入这些模块?
对于这类事情有没有最佳做法?
谢谢!
我有一个看起来像这样的模型,
class PL(models.Model):
locid = models.AutoField(primary_key=True)
mentionedby = models.ManyToManyField(PRT)
class PRT(models.Model):
tid = ..
Run Code Online (Sandbox Code Playgroud)
在mysql中生成的多对多表格形成为,
+------------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| PL_id | int(11) | NO | MUL | NULL | |
| PRT_id | bigint(64) | NO | MUL | NULL | |
+------------------+------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
现在,如果pl是PL的对象而pT的对象是PRT,那么就这样做
pl.mentionedby.add(prt)
Run Code Online (Sandbox Code Playgroud)
给了我一个错误
不正确的整数值:第1行"prt_id"列的"PRT对象"
而
pl.mentionedby.add(prt.tid)
Run Code Online (Sandbox Code Playgroud)
工作正常 - 有一点需要注意.
我可以看到所有的元素pl.mentionedby.all(),但我不能去提到的PRT对象并看到它 …