小编vik*_*sit的帖子

在Django-Apache和Java-Tomcat之间为Web应用程序选择

为了开发一个可以轻松扩展,提供生产稳定性,易于部署并允许快速开发周期的Web应用程序,在选择一个或另一个框架之前,我建议您查看哪些内容 - 使用Java和Tomcat,还是Django和Apache/Mod_WSGI?

我可以立即看到一些利弊,

  • Tomcat应用程序易于部署 - 删除WAR文件,您就完成了.Django应用程序似乎需要更多的争论(不确定是否创建.egg文件并将其删除也能正常工作?)
  • Django的ORM似乎比Hibernate好得多 - 与Hibernate的手动配置文件相比,直接生成模型
  • Python作为一种语言开发速度更快,而且比Java更简洁.(当然,这是一个相对较高级别的讨论).

我看过Disqus关于缩放Django的幻灯片,我毫不怀疑它可以做到.但是扩展Django应用程序会比扩展Java/Tomcat更难吗?

我熟悉Java和Python和上面提到的框架,并把它归结为获得反馈这些谁一直是(或两者)在规模与合作.

谢谢!

python java django tomcat

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

可以在没有激活器(和maven)的情况下使用Play 2.3.x吗?

我这里有两个相关的问题.

在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插件可以玩,但这看起来也很复杂).

谢谢!

java maven playframework-2.0 playframework-2.3

5
推荐指数
1
解决办法
2607
查看次数

检测和控制未经授权的共享内存读取

我想知道 - 除了授权程序之外,是否有任何已知技术可以控制对共享内存对象的访问?

例如,假设我创建了一个用于程序P的共享内存段,由Q访问,并使其成为读写.我可以使用Q访问它,因为我已经给它(Q)执行此操作所需的权限(作为具有组的特定用户运行等).

但是,我猜测有些人可能会从程序R中访问这个共享内存 - 只需附加到它并修改它.要停止这一点,你可以让内存段只读 - 但现在程序R仍然可以读取内存中的内容.

我的问题是部分 -

  1. 有没有办法,

    a)只允许Q访问共享内存?

    b)确定读取是否由除Q以外的人完成 - 谁做了?[这甚至可能吗?]对于奖励积分,这可以跨平台完成吗?[可能没有,但没有伤害尝试:)]

  2. 在什么情况下流氓程序可以附加到共享内存?我认为一种方法是,如果用户能够利用OS漏洞并成为启动该程序的用户.还有其他人?

security operating-system shared-memory

4
推荐指数
1
解决办法
2764
查看次数

为什么Java/C#将C++作为在SO上学习OOP的推荐语言?

我在阅读了这个问题的答案/讨论之后注意到了(学习OOP的最佳语言是什么?) - 越来越多的人推荐使用C#或Java而不是C++来学习OOP.在该答案页面上进行简单的术语搜索会导致C++的10次点击,C#的21次点击和Java的27次点击.

现在,我理解这两种语言解决了C++的许多怪癖和问题,并查找了主要与性能,JVM与本机实现,系统焦点与应用程序,手动内存管理与自动化等相关的这些 资源.

我的问题是 - Java/C#与C++的OO功能有任何根本区别吗?或者前者是否仅仅因为它们的通用易用性/后者的改进而被推荐?

谢谢.

PS,我知道Java接口继承与C++多重继承有区别.我认为这是一个实现的而不是功能性的.


哇,我没想到这么多答案!非常感谢.我将在此处更新我所学到的内容.

c# c++ java oop

4
推荐指数
1
解决办法
2861
查看次数

在Django视图中高效导入模块

我想知道 - 人们如何处理在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?)是否导入所有模块一次并存储/缓存它们,以便需要它们的任何其他视图不必再次导入它?或者我调用这个长文件的方法效率很低 - 我最好坚持在每个视图中单独导入这些模块?

对于这类事情有没有最佳做法?

谢谢!

python django import performance python-module

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

Django ManyToMany关系add()错误

我有一个看起来像这样的模型,

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对象并看到它 …

python django many-to-many django-models

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