我刚观看了Douglas Crockford关于2009年着作"JavaScript:The Good Parts"的演讲视频.
在视频中,他解释说以下块是危险的,因为它会产生无声错误:
return
{
ok: false
};
Run Code Online (Sandbox Code Playgroud)
它实际上应该这样写(强调虽然看似相同,但行为差异至关重要):
return {
ok: false
};
Run Code Online (Sandbox Code Playgroud)
你可以在32分钟左右看到他的评论:http://www.youtube.com/watch?v = hQVTIJBZook&feature = player_embedded#!&start = 1920
我以前没有听过这个,并且想知道这个规则是否仍然适用,或者自从这个陈述发表以来JavaScript语言的这种要求是否被克服了.
我发现这非常有趣,因为我没有以这种方式编写代码,并想检查这些信息是否已过时.
我正在为我的应用程序处理异常处理层.
我读过很多关于接口和泛型的文章.我之前已经使用了很多遗产,我对那个领域很满意.
我有一个非常简短的设计,我将要实现:
public interface IMyExceptionLogger
{
public void LogException();
// Helper methods for writing into files,db, xml
}
Run Code Online (Sandbox Code Playgroud)
我有点困惑我接下来应该做什么.
public class FooClass: IMyExceptionLogger
{
// Fields
// Constructors
}
Run Code Online (Sandbox Code Playgroud)
我应该LogException()在其中实施方法FooClass吗?如果是的话,我正在努力想看看我如何更好地使用界面而不是具体的类......
我有各种各样的类可以使用该接口,但我不想在每个类中编写该接口的实现.
同时如果我在一个类中实现一个接口,然后在应用程序的不同层中使用该类,我将仍然使用具体的类而不是接口,这是一个糟糕的OO设计......
我希望这是有道理的.
欢迎任何反馈和建议.
请注意,我对使用net4log或其竞争对手不感兴趣,因为我这样做是为了学习.
谢谢
编辑:
写了一些代码.因此,我将实现各种与此接口,即记录仪的DBExceptionLogger,CSVExceptionLogger,XMLExceptionLogger等比我仍然会结束与具体的类,我将在我的应用程序的不同层使用.
我只是想知道如何启动一个Intent到手机的浏览器打开一个特定的URL并显示它.
有人可以给我一个提示吗?
我正在使用NSTimer设置在Cocoa中运行mainLoop,如下所示:
mainLoopTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/fps target:self selector:@selector(mainloop) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:mainLoopTimer forMode:NSEventTrackingRunLoopMode];
Run Code Online (Sandbox Code Playgroud)
在程序启动时,我将timeInterval设置为0.0,以便mainloop尽可能快地运行.无论如何,我想提供一个函数来在运行时将帧速率(以及计时器的时间间隔)设置为特定值.不幸的是,据我所知,这意味着我必须重新初始化计时器,因为Cocoa不提供像"setTimerInterval"这样的函数这是我试过的:
- (void)setFrameRate:(float)aFps
{
NSLog(@"setFrameRate");
[mainLoopTimer invalidate];
mainLoopTimer = nil;
mainLoopTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/aFps target:self selector:@selector(mainloop) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:mainLoopTimer forMode:NSEventTrackingRunLoopMode];
}
Run Code Online (Sandbox Code Playgroud)
但是这会引发以下错误并停止主循环:
2010-06-09 11:14:15.868 myTarget [7313:a0f] setFrameRate 2010-06-09 11:14:15.868 myTarget [7313:a0f] *__NSAutoreleaseNoPool():类__NSCFDate的对象0x40cd80自动释放,没有池到位 -只是泄漏2010-06-09 11:14:15.869 myTarget [7313:a0f]* __NSAutoreleaseNoPool():类NSCFTimer的对象0x40e700自动释放,没有池到位 - 只是泄漏0.614628
我还尝试使用"retain"关键字重新创建计时器,但这并没有改变任何东西.有关如何在运行时动态更改NSTimer间隔的任何想法?
谢谢!
我需要从互联网上下载一个图像,在另一个线程中,
然后将处理程序消息中的图像对象发送到UI线程.
我已经有了这个:
...
Message msg = Message.obtain();
Bundle b = new Bundle();
b.putParcelable("MyObject", (Parcelable) object);
msg.setData(b);
handler.sendMessage(msg);
Run Code Online (Sandbox Code Playgroud)
当我收到此消息时,我想提取对象:
...
public void handleMessage(Message msg) {
super.handleMessage(msg);
MyObject objectRcvd = (MyObject) msg.getData().getParcelable("IpTile");
addToCache(ipTile);
mapView.invalidate();
}
Run Code Online (Sandbox Code Playgroud)
但是这给了我:
...java.lang.ClassCastException...
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
顺便说一句,这是
将对象传递给UI线程的最有效方法吗?
谢谢你们!
我正在解析一个xml文档,我需要找出gid(属性)值(3810).
基于SelectSingleNode().我发现找到属性名称和它的值并不容易.
我可以使用此方法还是必须切换到其他方式.
附上是我的代码.
如何使用bookOBJ获取属性值3810的gid.谢谢.
我的test.xml文件如下
<?xml version="1.0" ?>
<root>
<VersionInfo date="2007-11-28" version="1.0.0.2" />
<Attributes>
<AttrDir name="EFEM" DirID="1">
<AttrDir name="Aligner" DirID="2">
<AttrDir name="SequenceID" DirID="3">
<AttrObj text="Slot01" gid="3810" unit="" scale="1" />
<AttrObjCount value="1" />
</AttrDir>
</AttrDir>
</AttrDir>
</Attributes>
</root>
Run Code Online (Sandbox Code Playgroud)
我写了test.cs如下
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("test.xml");
XmlNode book;
XmlNode root = doc.DocumentElement;
book = root.SelectSingleNode("Attributes[AttrDir[@name='EFEM']/AttrDir[@name='Aligner']/AttrDir[@name='SequenceID']/AttrObj[@text='Slot01']]");
Console.WriteLine("Display the modified XML document....");
doc.Save(Console.Out);
}
}
Run Code Online (Sandbox Code Playgroud)
[更新06/10/2010] …
我想创建一个导航到不同URL的按钮,并在URL中传递一些请求参数.outputLink工作,但我想要一个按钮,commandButton看起来不错,但我可以传递参数.
有解决方案吗?
标题几乎解释了这一切,它是我努力工作到项目的最后一件事.我们使用服务库构建,其中包含类似的功能.
/// <summary>
/// Returns a single category based on the specified ID.
/// </summary>
public Category GetCategory(int CategoryID)
{
var RetVal = _session.Single<Category>(x => x.ID == CategoryID);
return RetVal;
}
Run Code Online (Sandbox Code Playgroud)
现在Category是一个实体(我们正在使用实体框架),我们需要将其转换为CategoryViewModel.
现在,人们将如何构建这个?你会确保服务函数返回一个CategoryViewModel?让控制器从服务中提取数据,然后调用另一个函数来调用视图模型?
android ×2
c# ×2
architecture ×1
asp.net-mvc ×1
c++ ×1
cocoa ×1
code-reuse ×1
generics ×1
handler ×1
interface ×1
javascript ×1
jsf ×1
linux ×1
macos ×1
parcelable ×1
postgresql ×1
timer ×1
xml ×1
xpath ×1