这是一个非常简单的django模式问题.我的经理代码通常存在于models.py中,但是当models.py非常庞大时会发生什么?是否有任何其他替代模式可让您的经理代码在models.py中生存,以实现可维护性并避免循环导入?
可能会问一个问题,为什么models.py是如此巨大,但让我们假设它的大小和实用性的广度是合理的.
我已经习惯了C++,我构建了数据处理类/函数来处理流对象而不是文件.我想知道如何修改以下代码,以便它可以处理内存中的二进制数据流,而不是文件句柄.
def get_count(self):
curr = self.file.tell()
self.file.seek(0, 0)
count, = struct.unpack('I', self.file.read(c_uint32_size))
self.file.seek(curr, 0)
return count
Run Code Online (Sandbox Code Playgroud)
在这种情况下,代码假定self.file是一个文件,打开如下:
file = open('somefile.data, 'r+b')
Run Code Online (Sandbox Code Playgroud)
我怎么可能使用相同的代码,而是做这样的事情:
file = get_binary_data()
Run Code Online (Sandbox Code Playgroud)
其中get_binary_data()返回一串二进制数据.虽然代码没有显示它,但我还需要写入流(我认为不值得发布代码).
另外,如果可能的话,我也希望新代码能够处理文件.
1)我想澄清对收藏品的一些疑问.
SampleDBDataContext PersonDB = new SampleDBDataContext("");
Table<Person> p=PersonDB.GetTable<Person>();
IEnumerable<Person> per = PersonDB.GetTable<Person>();
IQueryable<Person> qry = PersonDB.Persons.Select(c => c);
Run Code Online (Sandbox Code Playgroud)
使用之间有什么区别Table<Person>,IEnumerable<Person>,IQueryable<Person>.具体需要选择哪一个?
2)对于添加记录,我的IDE中没有出现Add()方法,(即)PersonDB.Persons.Add().这里有什么问题?
我正在阅读Effective Java,它%n用于所有地方的换行符.我\n在Java程序中使用了相当成功的换行符.
哪个'正确'?怎么了\n?为什么Java改变了这个C约定?
在C编程语言中,管理用于与多个中间件(操作系统,协议栈)供应商的平台无关的冗余typedef的最佳方法是什么?
例如:
target.h
/* inclusion lock etc */
typedef char CHAR;
typedef unsigned char BYTE;
typedef unsigned short int WORD;
/* ... more of the same ... */
Run Code Online (Sandbox Code Playgroud)
OS_types.h
/* inclusion lock etc */
typedef char CHAR;
typedef unsigned char BYTE;
typedef unsigned short int WORD;
/* ... more of the same ... */
Run Code Online (Sandbox Code Playgroud)
在某些时候,编译器会识别出它有两个冗余的typedef符号并且出现错误,因为C中的定义根本不允许这样做.
我目前正在使用Zend Framework并有一个上传文件表单.经过身份验证的用户可以上载文件,该文件将存储在应用程序的目录中,以及存储在数据库中的位置.这样它就可以显示为可以下载的文件.
<a href="/upload-location/filename.pdf">Download</a>
Run Code Online (Sandbox Code Playgroud)
但我注意到的是,具有相同名称的文件将覆盖uploads目录中的文件.没有错误消息,文件名也没有增加.所以我认为该文件必须被覆盖(或永远不会上传).
在上传,移动或存储这些文件时,我应该注意哪些最佳做法?我应该始终重命名文件,以便文件名始终是唯一的吗?
刚才我在键盘上摸索着看到了一个出现在emacs缓冲区中.
我怎么做的?
如果我能故意这样做,那将会很方便.
我有一张桌子上有零件:
零件(partID,sku,....)
SKU看起来像:
ABC1232
ABC1332
DSE234
XYZ322
XYZ332
etc...
Run Code Online (Sandbox Code Playgroud)
我需要按制造商分组,所以我必须得到SKU的子字符串,取前3个字符,然后将它们分组并计算它们.
因此结果输出需要如下所示:
MFG COUNT
ABC 2343
DSE 43
XYX 323
Run Code Online (Sandbox Code Playgroud) 我有一个包含2个div的页面.第一个浮动.第二个有一个"清晰:两个"CSS声明和一个大的上边距.但是,当我在Firefox或IE8中查看页面时,我没有看到上边距.看起来第二个div正在触及第一个div而不是被分开.有没有办法让最高保证金正常运作?
我已经阅读了CSS规范,并注意到它说"由于浮动不在流中,浮动框之前和之后创建的非定位块框垂直流动,就像浮动不存在一样.".但是,我不知道该怎么做.
这是一个例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CSS test</title>
</head>
<body>
<div style="float: left; border: solid red 1px">foo</div>
<div style="clear: both; margin-top: 90px; border: solid red 1px">This div should not touch the other div.</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud) 我需要删除给定值的数组项:
if (in_array($id, $items)) {
$items = array_flip($items);
unset($items[ $id ]);
$items = array_flip($items);
}
Run Code Online (Sandbox Code Playgroud)
可以用更短(更有效)的方式完成吗?