众所周知,String是不可变的.String不可变的原因是什么,StringBuilder类的引入是可变的?
目前,我Path.GetTempPath()用来确定在哪里写我的日志文件,但最近我遇到了一个用户的机器,其中返回的路径不是我所期望的.
通常,返回的路径是C:\ Documents and Settings\[userid]\Local Settings\Temp 但在这种情况下,它是C:\ Temp
这通常不是问题,但由于某种原因,有问题的用户无权写入C:\ Temp
我仔细检查了环境变量,并且USER环境变量按预期指向C:\ Documents and Settings\[userid]\Local Settings\Temp,而SYSTEM环境变量指向C:\ WINNT\Temp.
所以...从哪里Path.GetTempPath()获得它的价值?组策略?注册?
我用谷歌搜索,但无济于事.
我正在尝试修复我的代码以使Perl能够通过削弱引用和打破周期来恢复不需要的数据.
我最近问了一个关于如何访问Perl引用计数的问题,答案对我来说效果很好.
对于我的一些对象,引用计数> 1,我不知道为什么.
有没有办法让我添加一个回调或什么来帮助我知道引用计数何时递增?我想知道谁在引用一个对象.
我需要在用户上传图片的网站中检测成人图像,以确定我的网站不接受图片.任何人都可以建议这样做的方法吗?
我需要一种可以在网站上实现的开源代码/程序(PHP),并阻止用户上传图片.在我的想法早些时候有一个类图像过滤器http://www.phpclasses.org/browse/package/3269.html但我想要的代码与此类似,或者甚至更高级.
我想使对象的结构不可变,防止其属性随后被替换.但是,属性需要是可读的.这可能吗?
我确信没有语言功能(final在Java和readonlyC#中都有)来支持这一点,但是想知道是否可能有另一种机制来实现相同的结果?
我正在寻找这些方面的东西:
var o = {
a: "a",
f: function () {
return "b";
}
};
var p = o.a; // OK
o.a = "b"; // Error
var q = o.f(); // OK
o.f = function () { // Error
return "c";
};
Run Code Online (Sandbox Code Playgroud) 我最近读到,通过类和方法实现多态性是实现多态性的糟糕方法。为什么这是一个问题?有哪些替代方案?
我知道这是一个有点主观的问题,但它是从函数式编程角度产生的一个合法问题,例如: http: //blog.thinkrelevance.com/2009/7/8/triadic-programming
如果你是一个靠类的多态性生活的程序员,我并不是在攻击你。我只是想了解对方。如果您有这种感觉,请随意解释为什么通过类进行多态性比某些替代方案更好。
在 Windows 服务中,我想检查存储在每个用户的 HKCU 注册表区域中的一些用户首选项。我怎样才能做到这一点?
我看到 HKEY_USERS 具有登录到机器的每个用户的子键(或类似的东西?),其中是每个用户的 HKCU 区域。但是,这些子项是用户的 SID,所以我需要计算出当前登录用户的 SID。
然后我会查询HKEY_USERS\<the users SID>\whichever\key\i\need来代替查询HKEY_CURRENT_USER\whichever\key\i\need。
从这个问题中,我可以以 DOMAIN\USER 格式获取机器上当前用户的列表。有没有办法从用户的 Windows 登录中获取用户的 SID?或者是否有更直接的方法来获取当前登录用户的 HKCU 注册表路径?
我目前正在进行性能分析.我们有一个基本的客户/服务器应用程序 如果我在同一台计算机(localhost)上运行客户端/服务器而不是在LAN上的两台计算机上运行TCP传输速度会不同?
我的代码只是抓取一个网页,然后将其转换为Unicode.
html = urllib.urlopen(link).read()
html.encode("utf8","ignore")
self.response.out.write(html)
Run Code Online (Sandbox Code Playgroud)
但我得到一个UnicodeDecodeError:
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 507, in __call__
handler.get(*groups)
File "/Users/greg/clounce/main.py", line 55, in get
html.encode("utf8","ignore")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 2818: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我认为这意味着HTML包含一些在某处错误形成的Unicode尝试.我可以删除导致问题的任何代码字节而不是出错吗?
在解决了一段时间以来我一直被束缚的编程挑战之后,我总是在想,"它有效,那就足够了".
在我看来,我认为这不是真正正确的思维模式,我认为我应该始终尝试以最佳性能进行编码.
无论如何,有了这个说,我刚试了一个ProjectEuler问题.具体问题#2.
我怎么能改进这个解决方案.我觉得它真的很冗长.就像我在递归中传递前一个数字一样.
<?php
/* Each new term in the Fibonacci sequence is generated by adding the previous two
terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Find the sum of all the even-valued terms in the sequence which do not exceed
four million.
*/
function fibonacci ( $number, $previous = 1 ) {
global $answer;
$fibonacci = $number + $previous; …Run Code Online (Sandbox Code Playgroud) .net ×3
c# ×3
immutability ×2
php ×2
ascii ×1
fibonacci ×1
final ×1
image ×1
javascript ×1
perl ×1
pinvoke ×1
polymorphism ×1
python ×1
registry ×1
string ×1
unicode ×1
utf-8 ×1
web-services ×1