以下工作正常,即它没有给出任何错误:
def foo(arg):
class Nested(object):
x = arg
foo('hello')
Run Code Online (Sandbox Code Playgroud)
但以下引发异常:
def foo(arg):
class Nested(object):
arg = arg # note that names are the same
foo('hello')
Run Code Online (Sandbox Code Playgroud)
追溯:
Traceback (most recent call last):
File "test.py", line 6, in <module>
foo('hello')
File "test.py", line 3, in foo
class Nested(object):
File "test.py", line 4, in Nested
arg = arg
NameError: name 'arg' is not defined
Run Code Online (Sandbox Code Playgroud)
我无法理解这种行为的原因.有人可以解释一下吗?
http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspx
从上面的msdn示例开始,我正在尝试编写一个超时检查,它将关闭非活动的客户端套接字并释放资源.
这就是我想出的.但我不确定它是否完全是线程安全的,如果有更好的方法可以做到这一点.我希望有人可以给出一些建议.
void IO_Completed(object sender, SocketAsyncEventArgs e)
{
if (e.SocketError != SocketError.Success)
{
CloseClientSocket(e);
return;
}
if (1 < Interlocked.CompareExchange(ref token.Status, 1, 0))
return;
switch (e.LastOperation)
{
case SocketAsyncOperation.Receive:
ProcessReceive(e);
break;
...
}
token.LastActive = Environment.TickCount;
Interlocked.CompareExchange(ref token.Status, 0, 1);
}
void ProcessReceive(SocketAsyncEventArgs e)
{
AsyncUserToken token = (AsyncUserToken)e.UserToken;
if (e.BytesTransferred > 0)
if (!token.Socket.SendAsync(e))
ProcessSend(e);
else
CloseClientSocket(e);
}
void ProcessSend(SocketAsyncEventArgs e)
{
AsyncUserToken token = (AsyncUserToken)e.UserToken;
if (!token.Socket.ReceiveAsync(e))
ProcessReceive(e);
}
Run Code Online (Sandbox Code Playgroud)
TimeoutCheck将每20秒执行一次.allReadWriteArgs是一个包含所有SocketAsyncEventArgs的数组.关闭套接字后,将使用SocketError.OperationAborted调用IO_Completed.
void TimeoutCheck(object state)
{
AsyncUserToken token;
int …Run Code Online (Sandbox Code Playgroud) 令我沮丧的是,我注意到MooseX::Method不再维护和弃用.
该软件包MooseX-Method-Signatures被公布为替代品,但其文档说:这是ALPHA软件.使用风险由您自己承担.功能可能会改变.
<whine>我该怎么办</ whine>
我有一个问题,一个很好的方法来保护我的可可应用程序免受盗版.我知道这是不可能的!
所以,在我的应用程序中,我有一个isRegistered()方法,每次用户启动应用程序时都会运行.这是从applicationDidFinishLaunching:App委托调用的.因此,如果此方法返回true,则应用程序继续执行代码,否则将显示一条警告,指出该应用程序未注册且有xx天购买许可证.
这是一个好方法吗?因为,我没有这方面的经验.
预先感谢您的帮助!
解决了
首先,感谢大家!我认为同样的事情:任何版权保护都可以阻止盗版.我只想解决这个小错误,即使我知道有人会再次破解我的应用程序.然而,这是真的 - 最好的办法是改进应用程序,而不是浪费时间尝试提高盗版保护效率.
在一个团队中工作,人们很容易修改开发SQL Server表并忘记它,或准备部署更改并等待部署.这使我们的dev和live表不一致,导致SPROC被推送时出现问题.
是否有工具可以输入SPROC名称并检查dev和live DB中引用的所有表格,并通知任何差异?
我想知道哪一个被认为是最干净或最好用的,为什么.
其中一个公开了一个乘客列表,让用户添加和删除等.另一个隐藏列表,只让用户枚举它们并使用特殊方法添加.
例1
class Bus
{
public IEnumerable<Person> Passengers { get { return passengers; } }
private List<Passengers> passengers;
public Bus()
{
passengers = new List<Passenger>();
}
public void AddPassenger(Passenger passenger)
{
passengers.Add(passenger);
}
}
var bus = new Bus1();
bus.AddPassenger(new Passenger());
foreach(var passenger in bus.Passengers)
Console.WriteLine(passenger);
Run Code Online (Sandbox Code Playgroud)
例2
class Bus
{
public List<Person> Passengers { get; private set; }
public Bus()
{
Passengers = new List<Passenger>();
}
}
var bus = new Bus();
bus.Passengers.Add(new Passenger());
foreach(var passenger in bus.Passengers)
Console.WriteLine(passenger); …Run Code Online (Sandbox Code Playgroud) 我的Windows 7机器上安装了Mercurial 1.3.我没有安装python,但Mercurial似乎没问题.
它是如何工作的?
此外,是否可以强制Mercurial在IronPython上运行并且它是否兼容?
谢谢.
我想在单元测试中加载外部XML文件,以测试该XML上的一些处理代码.如何获取文件的路径?
通常在Web应用程序中我会这样做:
XDocument.Load(Server.MapPath("/myFile.xml"));
Run Code Online (Sandbox Code Playgroud)
但显然在我的单元测试中我没有引用Server或HttpContext,那么如何映射路径以便我不必指定完整路径?
更新:
我只想说明我实际测试的代码是针对XML解析器类的,类似于:
public static class CustomerXmlParser {
public static Customer ParseXml(XDocument xdoc) {
//...
}
}
Run Code Online (Sandbox Code Playgroud)
所以为了测试这个,我需要解析一个有效的XDocument.正在测试的方法不会访问文件系统本身.我可以直接在测试代码中从String创建XDocument,但我认为从文件加载它会更容易.
我想监控远程 glassfish 服务器。我在 domain.xml 中启用了 JMX 连接:
<jmx-connector accept-all="true" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false">
Run Code Online (Sandbox Code Playgroud)
但这没有帮助。我仍然无法使用 JConsole 连接到服务器。然后我找到了解决方案 - 我需要在 domain.xml 中指定 JVM 属性以打开 8686 端口进行远程连接。所以我将此行添加到java-config部分:
<jvm-options>-Dcom.sun.management.jmxremote</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.port=8686</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.local.only=false</jvm-options>
<jvm-options>-Dcom.sun.management.jmxremote.authenticate=false</jvm-options>
Run Code Online (Sandbox Code Playgroud)
但是现在当我启动服务器时,出现以下错误:
无法加载日志管理器“com.sun.enterprise.server.logging.ServerLogManager”java.lang.ClassNotFoundException:com.sun.enterprise.server.logging.ServerLogManager at java.net.URLClassLoader$1.run(URLClassLoader.java:200)在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader .loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.util.logging.LogManager$1.run(LogManager.java:166) 在 java.security.AccessController.doPrivileged (本机方法)在 java.util.logging.LogManager.(LogManager.java:156) 在 java.util.logging.Logger。getLogger(Logger.java:273) at sun.management.snmp.util.MibLogger.(MibLogger.java:57) at sun.management.snmp.util.MibLogger.(MibLogger.java:42) at sun.management.jmxremote .ConnectorBootstrap.(ConnectorBootstrap.java:760) at sun.management.Agent.startAgent(Agent.java:127) at sun.management.Agent.startAgent(Agent.java:239) javax.management.JMRuntimeException: 无法加载 MBeanServerBuilder类 com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder:java.lang.ClassNotFoundException:com.sun.enterprise.admin.server.core.jmx.AppServerMBeanServerBuilder 在 javax.management.MBeanServerFactory.checkMBeanServerBuilder(MBeanServerFactory.java :480) 在 javax.management.MBeanServerFactory.getNewMBeanServerBuilder(MBeanServerFactory.java:511) 在 javax。management.MBeanServerFactory.newMBeanServer(MBeanServerFactory.java:298) at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:213) …
好吧,到目前为止,我一直在使用php内置函数,mail(),我没有遇到任何问题,即使我向1000多名用户发送了一个爆炸.但是,最近我发现了这个phpmailer,它是专门设计用来发送电子邮件的.
Q1:我应该改成这个phpmailer吗?
Q2:使用phpmailer有什么好处?
Q3:我在phpmailer网站上发现了其他产品,即phpmailer FE,ML等.那是什么?你们正在使用哪一个?
问题4:有没有人尝试使用phpmailer向2000多名用户发送爆炸邮件?如果是,是否会导致任何问题?
c# ×3
class ×2
python ×2
asynchronous ×1
cocoa ×1
delegates ×1
diff ×1
email ×1
glassfish ×1
ironpython ×1
java ×1
jconsole ×1
jmx ×1
mercurial ×1
moose ×1
nested ×1
objective-c ×1
perl ×1
php ×1
phpmailer ×1
piracy ×1
protection ×1
sockets ×1
sql-server ×1
timeout ×1