我刚刚发现我不是那么流利,delegate而action另一个我想要的......
我有一个IEnumerable<T>我想要转换为IEnumerable<object>使用委托函数创建object为匿名对象.扩展方法在这里会派上用场还是已经存在?
这(或类似的东西)应该是可能的吗?
IEnumerable<SomeBllObject> list;
IEnumerable<object> newList = list.Transform(x => return new {
someprop = x.SomeProp,
otherprop = x.OtherProp
});
Run Code Online (Sandbox Code Playgroud) 我尝试将Jersey中的字符串列表作为JSON和XML返回.我认为这将是微不足道的.
我的第一次尝试是写这样的东西
@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Path("/bar")
public List<String> get() {
return dao.get();
}
Run Code Online (Sandbox Code Playgroud)
我期待一个与此类似的输出:["string1",...,"stringN"不幸的是我得到了这个:
com.sun.jersey.api.MessageException: A message body writer for Java class java.util.LinkedList, and Java type java.util.List<java.lang.String>, and MIME media type application/json was not found
Run Code Online (Sandbox Code Playgroud)
然后我为List编写了一个包装器StringList
@XmlRootElement
public class StringList {
private List<String> data;
public StringList() {
}
public StringList(List<String> data) {
this.data = data;
}
public List<String> getData() {
return data;
}
public void setData(List<String> data) {
this.data = data;
}
}
Run Code Online (Sandbox Code Playgroud)
并修改了立面
@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Path("/foo")
public StringList …Run Code Online (Sandbox Code Playgroud) 我刚下载并安装了M2Eclipse,但无法更新中央仓库的索引.同时,Maven本身可以从repo下载工件(通过命令行).
我有settings.xml文件maven/conf,我把它复制到.m2/目录,但它没有帮助.
我有代理,但代理设置在settings.xml- 命令行命令工作正常,但在Eclipse中没有.在Eclipse中它给了我这个:
Unable to update index for central|http://repo1.maven.org/maven2
Run Code Online (Sandbox Code Playgroud)
更新:
这是我尝试创建一个新的Maven项目时得到的:
Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.
Could not resolve artifact
Failed to resolve version for org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml in local (C:\Documents and Settings\user\.m2\repository)
Failed to resolve version for org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml in local (C:\Documents and Settings\user\.m2\repository)
Run Code Online (Sandbox Code Playgroud) 我有一个gem,它使用位于我的gems文件夹中的lib/locales/*.yml中的I18n语言环境词典.
初始化gem时,我想将这些词典加载到我的rails应用程序中,但我无法弄清楚如何:
这是我试过的:
I18n.load_path += Dir.glob("lib/locales/*.{rb,yml}")
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我的Rails应用程序中加载gem时,这不起作用.当我打电话给I18n.t("foo")我"translation missing: en, foo".
我可能必须在调用I18n.load_path时提供语言环境的完整路径,但我无法弄清楚如何.
任何提示?
是否可以在QDesigner中设置对话框或窗口中心的小部件,比如我有一个包含3行编辑和标签的小部件,我想在窗口中心设置此小部件.
我有一个带有标签的列表可以播放一些mp3文件.使用jQuery绑定'click'事件时它工作正常:
$oo.data({'__mp3play':true,'wapiHandle':h+0,'wapiIndex':o.ajaxPlayList[h].length})
.bind( 'click', function()
{ var wh = $j(this).data('wapiHandle');
if( typeof o.regObjects[wh] == 'object' && o.regObjects[wh].play(this.href))
{ return false; }
});
Run Code Online (Sandbox Code Playgroud)
单击鼠标左键时:当我的flash插件加载时,它会禁用默认处理,否则将正常打开.
但是:当我使用鼠标滚动按钮并单击它时,点击事件不会触发,链接正常打开.
我曾试图使用mousedown或mouseup事件,但没有帮助,链接总是正常打开,音乐开始播放的副作用也与flash播放器一起播放.
也preventDefault()根本不起作用.
有人可以告诉我如何检测鼠标中键单击(滚动按钮单击)?
谢谢您的意见.
PS:我已经尝试过关于本网站上"中间按钮"的其他解决方案.
在所有类型的浏览器中测试具有相同的结果.
编辑:这也不起作用,使用鼠标中键时链接将正常打开.使用鼠标左键时,没有任何反应.
$oo.bind( 'mousedown click mouseup', function(e)
{ e.preventDefault(); e.stopPropagation(); return false; });
Run Code Online (Sandbox Code Playgroud) 我想序列化这样的东西,其中有一个标题和一个正文.
第一部分"galleryData"是标题第二部分是"imageData" - 为图库中的每个图像重复
<galleryData>
<title>some title</title>
<uuid>32432322</uuid>
<imagepath>some path</imagepath>
</galleryData>
<imageData>
<title>title one</title>
<category>nature</category>
<description>blah blah</description>
</imageData>
<imageData>
<title>title two</title>
<category>nature</category>
<description>blah blah</description>
</imageData>
<imageData>
<title>title three</title>
<category>nature</category>
<description>blah blah</description>
</imageData>
Run Code Online (Sandbox Code Playgroud)
如果我不需要标题区域,我会看到如何做到这一点.我目前只是使用xmlwriter来创建它,但我想将对象序列化为xml.
自从关注DI和TDD之后,我对何时应该创建私有方法感到困惑.您能否告诉我在制定方法私有保持可测试性和依赖注入时,应该考虑哪些经验法则?
我相信一个例子可能会有所帮助:
假设我有一个包含3个方法的接口,如下所示:
public interface IWordFrequencyAnalyzer
{
int CalculateHighestFrequency(string forText);
int CalculateFrequencyForWord(string text, string word);
IList<IWordFrequency> CalculateMostFrequentNWords(
string text, int n);
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以编写一个类,它可以实现一个私有方法,它接受一个字符串,并可以计算其中的单词的频率,然后在每个公共方法中,我可以根据它的要求进行操作.在这种情况下,我将是能够测试合同.
要么
我可以将私有方法提取到单独的类中,例如WordProcessor,它实现IWordProcessor,使用单个公共方法将句子拆分为单词并将其作为依赖项传递给IWordFrequencyAnalyzer的实现.这样,分割单词的实现也是可测试的.
你会建议采用哪种方法?
谢谢,-Mike
xCode 4开始挂起svn控件下的任何项目.我使用一个可访问的远程存储库,从命令行可以正常工作.我能找到的唯一工作是杀死本地svn并再次检查整个项目.这似乎有点工作,但后来出现了同样的问题:xCode在启动后几秒钟就会挂起.我真的很感激任何帮助来解决这个问题......什么都不能做:(
拜托,谢谢.
日志显示以下内容:
3/22/11 9:53:22 AM Xcode[3295] [?T] ASSERTION FAILURE in /SourceCache/IDEFoundation/IDEFoundation-284/Framework/Classes/Model/SourceControl/IDESourceControlTree.m:2548
Details: (addedItem) should not be nil.
Object: <IDESourceControlWorkingTree: 0x201bf59a0>
Method: -mergeStatusOperationResults:forLocalStatusOnly:
Thread: <NSThread: 0x201bbb320>{name = (null), num = 13}
Hints: None
3/22/11 9:53:22 AM Xcode[3295] [?T]
Backtrace:
0 0x0000000100949843 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
1 0x000000010006d484 _DVTAssertionFailureHandler (in DVTFoundation)
2 0x000000010055f071 __78-[IDESourceControlWorkingTree mergeStatusOperationResults:forLocalStatusOnly:]_block_invoke_0 (in IDEFoundation)
3 0x00000001000060cc __38-[DVTDispatchLock performLockedBlock:]_block_invoke_0 (in DVTFoundation)
4 0x00007fff87da14db dispatch_barrier_sync_f (in libSystem.B.dylib)
5 0x0000000100006073 -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
6 0x000000010055db83 -[IDESourceControlWorkingTree mergeStatusOperationResults:forLocalStatusOnly:] (in IDEFoundation) …Run Code Online (Sandbox Code Playgroud) 你好,感谢你阅读我的问题.
我目前正在调查Amazon Cloudfront(CF),需要在我继续输入付款详细信息之前,准确定义使用我们自己的原始服务器设置CF的步骤.我通过谷歌搜索找到的基本步骤是:
我遇到的问题是第2步.虽然亚马逊将其描述为一个简单的API调用,但我仍然不太确定这意味着什么以及我将要执行此调用的操作.
许多博客/论坛海报建议使用像CloudBerry这样的第三方软件 - 问题在于CloudBerry需要花费CF/Origin服务器位,而我只需要执行一次(此后其他所有内容都可由AWS处理管理控制台.
我已经看过其他类似的软件,但发现它们在下载或安装时出错或者没有我在Windows版本上寻找的功能!
现在,此页面描述了如何手动设置源服务器(http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/),但我仍然不确定如何执行此操作.
有没有人以前做过这个,可以提供一些指导或步骤如何做到这一点?
提前谢谢了!
格雷格