我刚才在这里问过一些帮助理解MVC,因为我对这个话题很新.我认为我对它有一个很好的理解,这在我最近写的关于这个主题的博客文章中有记录.我的理解基本归结为:
控制器:确定完成请求需要执行的操作,并根据需要使用需要收集/修改的任何模型.它基本上是给定流程的管理者.
观点:仅限演示文稿.一旦控制器收集了它所需要的内容,它就会创建一个特定类型的视图,将信息交给它,并说"然后向用户显示这个视图".
模型:应用程序的行为.当控制器要求它提取或修改某些内容时,它知道如何操作.它还知道触发其他模型执行相关任务(在我的理解中,当模型试图在StackOverflow上"投票"时,该模型知道是否也应该因为它而授予徽章.控制器不会需要关心那个).
我的问题,假设所有这些或多或少准确,实体对象进来的地方?模型和实体是一样的,每个对象都知道如何持久保存自己的数据,或者实体是一个单独的概念,它们自己存在并在整个应用程序中使用?
我的钱是后者,因为这将允许模型独立行动,而所有三个层(模型,视图和控制器)可以利用实体根据需要传递数据.此外,对象和数据库持久性似乎应该分开的关注点.
说实话,我读的MVC越多,我就越困惑.我准备好采取核心概念(从逻辑中单独呈现)并以任何感觉正确的方式运行它,而不必过于担心"MVC"标签.
我有一个长度为N的列表,此列表的每个元素都是0或1.我需要获得此列表的所有可能组合.这是我的代码:
def some(lst):
result = []
for element in lst:
c1 = copy.copy(element)
c2 = copy.copy(element)
c1.append(0)
c2.append(1)
result.append(c1)
result.append(c2)
return result
def generate(n):
if(n == 1):
return [[0], [1]]
else:
return some(generate(n - 1))
print generate(4)
Run Code Online (Sandbox Code Playgroud)
我认为这个任务有更多的pythonic解决方案.提前致谢.
我有几个脚本来控制一些应用程序(启动/停止/列表/等).目前我的"停止"脚本只是向应用程序发送一个中断信号,但是我希望得到关于应用程序在关闭时做什么的更多反馈.理想情况下,我想开始跟踪其日志,然后发送一个中断信号,然后继续跟踪该日志,直到应用程序停止.
如何使用shell脚本执行此操作?
我正在使用PHP IMAP libraray的imap_search()功能通过主题字符串搜索Gmail收件箱中的邮件.
imap_seach($mbox, 'ALL SUBJECT "<search string>"');
Run Code Online (Sandbox Code Playgroud)
对于字母数字字符串,此搜索返回完全正常,但是当它具有特殊字符(如斜杠,逗号,冒号,单引号,连字符以及许多其他我不知道的字符)时会失败.逃避他们并没有帮助.用空间替换其中一些有时会有所帮助,但并非在所有情况下都有.
是否有一种标准的方法来过滤搜索字符串,以便它永远不会出错并返回一些结果?我尝试过标记主题sting并从搜索字符串中删除所有单词,甚至是一个字母数字字符.这主要起作用,但是当所有单词都具有非字母数字字符时(这对于单个或两个单词主题是常见的)则失败.
我在我创建的服务中运行计时器时遇到问题.定时器调用的任务不会被调用.我知道服务开始,因为我已经在其中放置了toast并且它们被调用,但是当它们在计时器内时不会被调用.帮助赞赏.
服务类:
public class LocalService extends Service
{
private static Timer timer = new Timer();
private Context ctx;
public IBinder onBind(Intent arg0)
{
return null;
}
public void onCreate()
{
super.onCreate();
ctx = this;
startService();
}
private void startService()
{
timer.scheduleAtFixedRate(new mainTask(), 0, 5000);
}
private class mainTask extends TimerTask
{
public void run()
{
Toast.makeText(ctx, "test", Toast.LENGTH_SHORT).show();
}
}
public void onDestroy()
{
super.onDestroy();
Toast.makeText(this, "Service Stopped ...", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
主要课程:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main); …Run Code Online (Sandbox Code Playgroud) 不确定是否可能,但只是想知道在CSS中是否有区分两种浏览器,即IE6和IE8,因为我有一个我需要应用的样式,但IE6和IE8的值需要不同,即
ul.sf-menu li li.sfHover ul {
left: 14.3em; /* for IE8 */
left: 15em; /* for IE6 */
top: 0;
Run Code Online (Sandbox Code Playgroud)
}
无论如何当使用IE8时使用IE8左侧样式,反之亦然?
谢谢.
我persistence.xml看起来像:
<persistence>
<persistence-unit name="test">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.XXX.Abc</class>
<properties>
<property name="hibernate.archive.autodetection" value="true" />
..
</properties>
</persistence-unit>
<persistence>
Run Code Online (Sandbox Code Playgroud)
一切正常.当我删除<class>指令时,我得到一个例外EntityManager.find(Abc.class, 1):
java.lang.IllegalArgumentException: Unknown entity: com.XXX.Abc
Run Code Online (Sandbox Code Playgroud)
看起来hibernate无法发现我的注释类,虽然我正在使用@Entity..为什么?
我正在为django应用程序进行单元测试.我需要在数据库中为我的测试提供一些数据,所以我使用的是json fixture.
我有两个灯具:
夹具2导致以下错误:
Problem installing fixture 'C:\Users\luc\Dev\Hg\mnl-adminpub\website\fixtures\website-unittest.json': Traceback (most recent call last):
File "C:\Python26\lib\site-packages\django\core\management\commands\loaddata.py", line 169, in handle
obj.save(using=using)
File "C:\Python26\lib\site-packages\django\core\serializers\base.py", line 165, in save
models.Model.save_base(self.object, using=using, raw=True)
File "C:\Python26\lib\site-packages\django\db\models\base.py", line 528, in save_base
result = manager._insert(values, return_id=update_pk, using=using)
File "C:\Python26\lib\site-packages\django\db\models\manager.py", line 195, in _insert
return insert_query(self.model, values, **kwargs)
File "C:\Python26\lib\site-packages\django\db\models\query.py", line 1479, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "C:\Python26\lib\site-packages\django\db\models\sql\compiler.py", line 783, in execute_sql
cursor = super(SQLInsertCompiler, self).execute_sql(None)
File "C:\Python26\lib\site-packages\django\db\models\sql\compiler.py", line 727, in execute_sql
cursor.execute(sql, params)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", …Run Code Online (Sandbox Code Playgroud) 0040103A CALL DWORD PTR DS:[40207A] USER32.MessageBoxA
Run Code Online (Sandbox Code Playgroud)
什么DS:意思?
这是md5哈希的3个示例
$ md5 -s "1" && md5 -s "2" && md5 -s "3"
MD5 ("1") = c4ca4238a0b923820dcc509a6f75849b
MD5 ("2") = c81e728d9d4c2f636f067f89cc14862c
MD5 ("3") = eccbc87e4b5ce2fe28308fd9f2a7baf3
Run Code Online (Sandbox Code Playgroud)
说我想从任何哈希中取8个字符.哈希的开头部分是否比结尾更"随机"?中间?或者所有子串都是"随机"的?