Doctrine似乎占用了超过4MB的RAM来执行一个简单的查询:
print memory_get_peak_usage()." <br>\n";
$q = Doctrine_Query::create()
->from('Directories d')
->where('d.DIRECTORY_ID = ?', 5);
$dir = $q->fetchOne();
print $dir['name']." ".$dir['description']."<br>\n";
print memory_get_peak_usage()." <br>\n";
/*************** OUTPUT: **************************
6393616
testname testdescription
10999648
/***************************************************/
Run Code Online (Sandbox Code Playgroud)
这是在一个测试数据库中,其中包含非常少的数据 - 我查询的项目不包含除此处显示的数据之外的任何数据.
我的系统设置方式是否有可能出现问题,或者是Doctrine的标准内存使用情况?
是否可以在纯用户模式下为Windows编写文件系统,或者更具体地说是在托管代码中?我在考虑与GMAILFS非常相似的东西.排除它在幕后做的事情(GMAIL,亚马逊等),主要目标是提供驱动器号并支持所有基本文件操作,甚至可能添加我自己的结构来存储元数据等.
这是我今天在http://filmaster.com"> filmaster.com上遇到的错误:
PicklingError:不能pickle:它与decimal.Decimal不是同一个对象
这究竟意味着什么?它似乎没有多大意义......它似乎与django缓存有关.你可以在这里看到整个追溯:
Traceback(最近一次调用最后一次):
文件"/home/filmaster/django-trunk/django/core/handlers/base.py",第92行,在get_response response = callback(request,*callback_args,**callback_kwargs)
在show_film
workflow.set_data_for_authenticated_user()中输入文件"/home/filmaster/film20/film20/core/film_views.py",第193行文件"/home/filmaster/film20/film20/core/film_views.py",第518行,在set_data_for_authenticated_user
object_id = self.the_film.parent.id)在get_others_ratings
set_cache 中输入文件"/home/filmaster/film20/film20/core/film_helper.py",第179行(CACHE_OTHERS_RATINGS,str(object_id)+"_"+ str(user_id),userratings)文件"/home/filmaster/film20/film20/utils/cache_helper.py",第80行,在set_cache中返回cache.set(CACHE_MIDDLEWARE_KEY_PREFIX + full_path,result,get_time(cache_string))
文件"/home/filmaster/django-trunk/django/core/cache/backends/memcached.py",第37行,设置为
self._cache.set(smart_str(key),value,timeout或self.default_timeout)文件"/usr/lib/python2.5/site-packages/cmemcache.py",第128行,在set val中,flags = self._convert(val)
文件"/usr/lib/python2.5/site-packages/cmemcache.py",第112行,在_convert val = pickle.dumps(val,2)
PicklingError:不能pickle:它与decimal.Decimal不是同一个对象
Filmaster的源代码可以从这里下载:bitbucket.org/filmaster/filmaster-test
任何帮助将不胜感激.
该团队熟悉ASP.NET,并且已经在VB.NET中工作了几年,但他们只是没有在对象方面进行思考过渡.事实上,他们可能会因为他们看到的C++和非托管环境的简短瞥见而对OOP有点恐惧.工作使他们忙得不够,以至于他们没有时间适当地吸收.NET和OOP提供的好处.
我正在寻找一些轻量级资源(即:博客文章,文章),我可以与开发人员和/或管理人员分享,这将有助于在一个精美呈现的时尚中引入面向对象的范例.语言可以是C#或VB.NET,但VB.NET是首选.
谢谢!
我想要一个文本编辑器组件,它可以对 SQL 语句进行颜色编码,就像您在 SQL Server Management Studio 中看到的那样。我想把它放在一个表单上,这样我就可以编写 sql 语句并将查询发送到我的数据库。没有必要拥有智能感知,但这将是一个加分项。那里有类似的东西吗?
我想在类上使用条件属性,或者更重要的是,是否存在可以产生这种效果的东西?基本上我不希望类在调试模式下存在.我也不想在#if DEBUG指令中包装每个调用.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace NameSpace
{
[Conditional("Debug")]
public class ClassName
{
public ClassName()
{
}
}
}
Run Code Online (Sandbox Code Playgroud) 我该如何优化此代码?我制作了IPFilter,我需要优化它.
package com.ipfilter;
import java.util.HashMap;
import java.util.Map;
/**
* IPFilter
*
* Loads given IP addresses to memory, so you can easily check if ip addres has been blocked
*/
public class IPFilter {
private Map<Integer, IPFilter> filter = new HashMap<Integer, IPFilter>();
/**
* Convert String ip address to Integer array and then calls add ip method
* @param ip
* @return
*/
public void addIP(String ip)
{
int[] numbers = convert(ip);
addIP(numbers, 0);
}
/**
* Convert String ip …Run Code Online (Sandbox Code Playgroud) 无论斜率如何,我都试图绘制一条柔和边缘的线条.
这是我到目前为止的代码:
<Line HorizontalAlignment="Stretch" VerticalAlignment="Center"
Stretch="Uniform" StrokeThickness="5" X1="0" Y1="0" X2="1" Y2="0">
<Shape.Stroke>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="Transparent" Offset="0" />
<GradientStop Color="Green" Offset="0.5" />
<GradientStop Color="Transparent" Offset="1" />
</LinearGradientBrush>
</Shape.Stroke>
</Line>
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义,因为线条是水平的,线性渐变是垂直的,边缘是透明的,线条的中间是纯绿色.
结果令人高兴:
http://img15.imageshack.us/img15/4108/horizontalsoftline.png
放大,这样你就可以看到渐变:http:
//img225.imageshack.us/img225/5027/horizontalsoftlinezoomeb.png
但是,当线不再是水平线时,渐变是基于线的边界矩形计算的,而不是根据线本身的几何形状计算的.结果是垂直阴影的斜线,而不是垂直于线的渐变:http:
//img183.imageshack.us/img183/7250/slantedsoftline.png
有谁知道WPF如何处理软边缘?我在谷歌或MSDN上找不到任何东西,我知道有一种方法可以做到这一点......
我是正则表达式的新手,并希望使用一个来搜索我们的源代码控件,以查找遵循特定枚举值的代码块中的文本.即:
/(\/{2}\@debug)(.|\s)*?(\/{2}\@end-debug).*/
var junk = dontWantThis if (junk) {dont want this} if ( **myEnumValue** ) **{ var yes = iWantToFindThis if (true) { var yes2 = iWantThisToo } }**
var junk2 = dontWantThis if (junk) {dont want this}
var stuff = dontWantThis if (junk) {dont want this} if ( enumValue ) { wantToFindThis }
var stuff = iDontWantThis if (junk) {iDontWantThisEither}
Run Code Online (Sandbox Code Playgroud)
我知道我可以(\{(/?[^\>]+)\})用来查找块,但我只想要第一个包含我想要的枚举值的代码块.我也注意到use使用(\{(/?[^\>]+)\})了第一个{和最后一个},它不会对后续组合{}.
谢谢!
蒂姆
使用a StreamWriter写入a NetworkStream和a StreamReader来读取响应.该应用程序正在发送命令并将响应读取到新闻服务器.
简化代码(无错误处理等):
tcpClient = new TcpClient();
tcpClient.Connect(Name, Port);
networkStream = tcpClient.GetStream();
serverReader = new StreamReader(networkStream, Encoding.Default);
serverWriter = new StreamWriter(networkStream, Encoding.ASCII) {
AutoFlush = true
};
// reads the server's response to the connect: "200 news.newsserver.com"
// commenting out these lines doesn't solve the problem
while (serverReader.Peek() > -1) {
serverReader.ReadLine();
}
serverWriter.WriteLine("authinfo user username");
// expect response "381 more authentication required", but code just blocks
string response = serverReader.ReadLine();
Run Code Online (Sandbox Code Playgroud)
代码在最后一行阻塞,可能等待网络流发送响应.
我可以通过设置超时循环来避免挂起应用程序serverReader.Peek(),但我会一直超时; …
.net ×4
c# ×2
.net-3.5 ×1
blogs ×1
components ×1
debugging ×1
django ×1
doctrine ×1
filesystems ×1
filtering ×1
gradient ×1
ip-address ×1
java ×1
oop ×1
optimization ×1
php ×1
pickle ×1
python ×1
regex ×1
sql ×1
streamwriter ×1
vb.net ×1
vb6 ×1
wpf ×1
xaml ×1