我有一个对象数组,如下所示:
var companies = [
{ "name" : "Company 1",
"logo" : "/logo.gif" },
{ "name" : "Company 2",
"logo" : "/logo2.gif" },
{ "name" : "Company 3",
"logo" : "/logo3.gif" } ];
Run Code Online (Sandbox Code Playgroud)
我想过滤此数组以仅获取具有另一个数组中存在的名称的值:
var myCompanies = [ "Company 1", "Company 3" ];
Run Code Online (Sandbox Code Playgroud)
在此示例中,要返回的数据将是:
var companies = [
{ "name" : "Company 1",
"logo" : "/logo.gif" },
{ "name" : "Company 3",
"logo" : "/logo3.gif" } ];
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我想用Jersey Test-Framework测试我的Jersey资源.
我按照这里提供的描述
创建一个简单的例子.我的示例在http://github.com/rmetzler/Jersey-Test上作为git存储库托管.
$ mvn jetty:run按预期工作但我在运行时不断获得NullPointerExceptions $ mvn clean test.
java.lang.NullPointerException
at com.sun.jersey.spi.container.ContainerResponse.mapException(ContainerResponse.java:429)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1295)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
at com.sun.jersey.test.framework.impl.container.inmemory.TestResourceClientHandler.handle(TestResourceClientHandler.java:119)
at com.sun.jersey.api.client.Client.handle(Client.java:616)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:559)
at com.sun.jersey.api.client.WebResource.get(WebResource.java:182)
at example.jersey.spring.MyResourceTest.testMyResource(MyResourceTest.java:30)
...
Run Code Online (Sandbox Code Playgroud)
我打赌我犯了一个我无法找到的小错误.我会向另一位开发者展示我的来源,但不幸的是我在家独自工作.那么也许你们中有人可以帮助我?
我通过运行创建了一个Eclipse项目$ mvn eclipse:eclipse.现在,当我在Eclipse中以JUnit Test运行测试时它是绿色的.当它作为TestNG Test运行时,它失败了.所以我猜它与TestNG如何执行测试有关.
我启动路径C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk通过Process.Start,但它失败The system cannot find the file specified.
链接显示在a上dir,因此它存在.
可以是权限吗?
笔记:
Start Menu目录自动发现该路径.澄清:
代码如下:
public void Execute(){Process.Start(_shortcut.FullName);}
_shortcut的类型为FileInfo
另一方面,这似乎工作:
[Fact]
public void TestIisManager()
{
var path = new FileInfo(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk");
Process.Start(path.FullName);
}
Run Code Online (Sandbox Code Playgroud)
它似乎有点"基于环境".
第二个澄清:
偶尔编写一下根本不会发出警告的C++代码是很困难的.然而,启用警告是一个好主意.因此,通常需要禁用某些特定构造周围的警告,并在所有其他代码段中启用它们.
到目前为止,我已经看到了两种方法.
第一个是使用#pragma warning( push )和#pragma warning( pop ):
#pragma warning( push )
#pragma warning( disable: ThatWarning )
//code with ThatWarning here
#pragma warning( pop )
Run Code Online (Sandbox Code Playgroud)
第二是使用#pragma warning( default ):
#pragma warning( disable: ThatWarning )
//code with ThatWarning here
#pragma warning( default: ThatWarning )
Run Code Online (Sandbox Code Playgroud)
我在第二个变体中看到的问题是它丢弃了原始警告级别 - 警告可能在此之前已关闭或警告级别可能已被更改.使用default会丢弃这些改动.
第一种方法看起来很干净.它有什么问题吗?有没有更好的方法来实现同样的目标?
我在Web.Config文件中注册了一个自定义MembershipProvider类.我正在使用Castle Windsor进行Inversion Of Control,我将自定义MembershipProvider类注册为瞬态(因为它使用的是瞬态服务).
这意味着我希望在每个Web请求上重新创建成员资格提供程序实例.目前,每个应用程序域只创建一次,因此当它尝试访问它所依赖的服务时,该服务实例在不应该被重用时被重用.
现在我需要找到一种方法让Windsor控制我的自定义MembershipProvider的生命周期,但我不知道如何.我期待一个工厂坐在.NET Framework的某个地方,允许我覆盖实例创建并将其重新路由到Windsor,但我找不到任何相似的东西.
顺便说一句,我使用的是.NET 4.0.
更新:这是我的一些代码,所以你可以看到我正在做的事情:
Web.Config中:
<membership defaultProvider="MyMembershipProvider" >
<providers>
<clear/>
<add name="ApplicationMembershipProvider"
type="MyNamespace.MyMembershipProvider, MyAssembly"/>
</providers>
</membership>
Run Code Online (Sandbox Code Playgroud)
会员提供者
public class MyMembershipProvider : MembershipProvider
{
private IMyService myService;
public MyMembershipProvider() : base()
{
// We should use constructor injection here but since we cannot control
// the construction of this class, we're forced to create the dependency
// ourselves.
}
public override bool ValidateUser(string username, string password)
{
if (myService == null)
{
// This …Run Code Online (Sandbox Code Playgroud) .net asp.net castle-windsor asp.net-membership inversion-of-control
gcc 4.4.4 c89
Run Code Online (Sandbox Code Playgroud)
我在头文件中有这个.
port.h
struct struct_tag;
int initialize_ports(struct_tag *port);
Run Code Online (Sandbox Code Playgroud)
在我的实现文件中,我有这个:
port.c
typedef struct struct_tag {
int port_id;
} Port_t;
Run Code Online (Sandbox Code Playgroud)
在我的driver.h文件中,我有以下内容:
#include "port.h"
int initialize_ports(struct_tag *port)
{
port = malloc(sizeof *port);
/* do checking here */
}
Run Code Online (Sandbox Code Playgroud)
我已经向前声明了结构,因为我想隐藏内部元素.
但是,我在头文件中的initialize_ports上收到以下错误:
expected ‘)’ before ‘*’ token
Run Code Online (Sandbox Code Playgroud)
我只是想知道如何转发声明并能够将结构作为参数传递?
非常感谢任何建议,
好吧,这是一个奇怪的问题,我希望有人可以解释一下.我有以下代码:
static void Main(string[] args)
{
try
{
Console.WriteLine("in try");
throw new EncoderFallbackException();
}
catch (Exception)
{
Console.WriteLine("in Catch");
throw new AbandonedMutexException();
}
finally
{
Console.WriteLine("in Finally");
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我将其编译为目标3.5(2.0 CLR)时,它将弹出一个窗口,说"XXX已停止工作".如果我现在单击取消按钮它将运行finally,如果我等到它完成查找并单击关闭程序按钮它也将运行finally.
现在有趣和令人困惑的是,如果我针对4.0编译同样的事情点击取消按钮将运行finally块并单击关闭程序按钮不会.
我的问题是:为什么在点击关闭程序按钮时,终于在2.0上运行而不在4.0上运行?这有什么影响?
编辑:我在Windows 7 32位的发布模式(内置发布模式)中从命令提示符运行此命令.错误消息:在Windows查找问题后,下面的第一个结果是3.5点击关闭,第二个是我在4.0上运行它并执行相同的操作.

我在嵌入式HTML资源中使用外部TrueType字体.字体位于资源中,与HTML资源位于同一级别.
字体加载CSS:
@font-face {
font-family: MyExternalFont;
src: url('MyExternalFont.ttf');
}
body {
font-family:MyExternalFont;
}
Run Code Online (Sandbox Code Playgroud)
并且HTML资源加载如下:
WebView w = (WebView) findViewById(R.id.webview);
w.loadUrl("file:///android_asset/index.htm");
Run Code Online (Sandbox Code Playgroud)
这适用于Android 1.5,Android 1.6和Android 2.2.它在Android 2.1中不起作用.
但是,当我加载字体并在a中使用它时TextView,它适用于所有Android版本.我是这样做的:
final Typeface t = Typeface.createFromAsset(getContext().getAssets(), "MyExternalFont.ttf");
textView.setTypeface(t);
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
(不幸的是我无法上传字体,因为它是付费字体)
我想用php和mysql创建一个应用程序.
假设我正在进行api调用并获取网址列表.我想存储这些网址,每个网址应该有一个uniqe id(即数字),以便我可以将该ID传递给某个页面,我可以从我的数据库中获取网址.
假设我做了一个api调用得到五个关键字"xyz"的网址,我得到了以下网址和各自的标题
google.com/abc1.html title1
google.com/abc2.html title2
google.com/abc3.html title3
google.com/abc4.html title4
Run Code Online (Sandbox Code Playgroud)
所以我想生成每个网址的唯一ID
id1 google.com/abc1.html title1
id2 google.com/abc2.html title2
id3 google.com/abc3.html title3
id4 google.com/abc4.html title4
Run Code Online (Sandbox Code Playgroud)
约束是url应该是唯一的
数据库可以容纳12个左右的URL.
你能指导我如何实现吗?还给出了一些优化指南
谢谢