请原谅我的编程知识.我知道这是一件简单的事情,但我不明白为什么结果总是为什么.为什么十进制会很好?
int a = 100;
int b = 200;
decimal c = (a / b) * 100;
Run Code Online (Sandbox Code Playgroud)
非常感谢.
ArrayList,source中不允许使用原始类型.部分解决方案:您可以将诸如int之类的prim.types包装到Integer中以形成一个额外的类但是副作用.我想索引数据,是否有一些替代ArrayList允许原始类型?
我们正在推出一个新的REST API,我想要一些关于如何格式化输入参数的最佳实践的社区意见:
现在,我们的API非常以JSON为中心(仅返回JSON).关于我们是否想要/需要返回XML的争论是一个单独的问题.
由于我们的API输出是以JSON为中心的,我们一直在走一条路,我们的输入有点以JSON为中心,我一直在想这可能对某些人来说很方便,但总的来说很奇怪.
例如,要获得一些产品详细信息,我们可以立即提取多个产品:
http://our.api.com/Product?id=["101404","7267261"]
Run Code Online (Sandbox Code Playgroud)
我们应该简化为:
http://our.api.com/Product?id=101404,7267261
Run Code Online (Sandbox Code Playgroud)
或者有JSON输入方便吗?更多的痛苦?
我们可能希望接受这两种风格,但这种灵活性是否会导致更多的混乱和头痛(可维护性,文档等)?
更复杂的情况是我们想要提供更复杂的输入.例如,如果我们想在搜索上允许多个过滤器:
http://our.api.com/Search?term=pumas&filters={"productType":["Clothing","Bags"],"color":["Black","Red"]}
Run Code Online (Sandbox Code Playgroud)
我们不一定要将过滤器类型(例如productType和颜色)作为请求名称,如下所示:
http://our.api.com/Search?term=pumas&productType=["Clothing","Bags"]&color=["Black","Red"]
Run Code Online (Sandbox Code Playgroud)
因为我们想要将所有过滤器输入组合在一起.
最后,这真的很重要吗?可能有很多JSON实用程序,输入类型并不重要.
我知道我们的JavaScript客户端对API进行AJAX调用可能会欣赏JSON输入以使他们的生活更轻松.
我已经阅读了其他问题,他们大多谈论这样做的安全性.这并不完全是我的担心,主要是因为该网站的问题是基于浏览器的游戏.但是,更大的问题是用户 - 并非每个用户都有足够的文字来理解OpenID.当然RPX使这很容易,这就是我将要使用的,但是如果用户没有Google或Facebook上的帐户或者不信任系统使用现有帐户登录该怎么办?他们必须在另一个提供帐户 - 我相信大多数人会知道如何去做,更不用说为此而烦恼了.
还有如何在应用程序中管理它的问题.用户可能希望在单个帐户中使用多个身份,因此不像处理用户名+密码那么简单.如何在数据库中存储用户的OpenID标识?使用OpenID也给了我一个好处:RPX可以提供广泛的配置文件信息,因此我可以预填充配置文件表单并要求用户根据需要进行编辑.
我目前有这个:
Users:
------
ID Email Etc.
-- --------------- ----
0 bob@yahoo.com ...
1 alice@yahoo.com ...
UserOpenIDs:
------------
ID UserID OpenID
-- ------ ------
0 0 0
1 0 2
2 1 1
OpenIDs:
--------
ID Provider Identifier
-- -------- ----------------
0 Yahoo https:\\me.yahoo.com\bob#d36bd
1 Yahoo https:\\me.yahoo.com\alice#c19fd
2 Yahoo https:\\me.yahoo.com\bigbobby#x75af
Run Code Online (Sandbox Code Playgroud)
使用这些外键:
UserOpenIDs.UserID -> Users.ID
UserOpenIDs.OpenID -> OpenIDs.ID
Run Code Online (Sandbox Code Playgroud)
这是在数据库中存储OpenID标识符的正确方法吗?我如何匹配RPX给我的标识符以及数据库中的标识符以登录用户(如果标识符已知).
所以这里有具体的问题:
假设我有类Foo扩展超类.我理解为什么我不能这样做:
List<Foo> fooList = getFooList();
List<Superclass> supList = fooList;
Run Code Online (Sandbox Code Playgroud)
但是,如果supList以某种方式"只读",那对我来说似乎是合理的.然后,一切都将是一致的,因为objList中出现的所有东西都是Foo,它是一个超类.
我可能会编写一个List实现,它将采用基础列表和更通用的类型参数,然后将所有内容作为更通用的类型而不是特定类型返回.它会像返回一样工作,Collections.unmodifiableList()除了类型会更加通用.
有没有更简单的方法?
我正在考虑这样做的原因是我正在实现一个接口,要求我返回一个(不可修改的)List <Superclass>,但在内部我需要使用Foos,所以我有一个List <Foo>.我不能只是演员.
有没有办法从python调用程序而不等待它返回?我创建了一个脚本,将程序复制到目录并运行该程序.但是当我从python调用程序时,python脚本不会退出,直到我启动的程序退出.我试过os.system和Popen.还有另一种方法吗?
添加信息:os.spawnl与os.P_DETACH仍然不起作用; 根据文档,"P_DETACH类似于P_NOWAIT,但新进程与调用进程的控制台分离".但它仍然以某种方式附加到我的调用进程(调用脚本将不会退出,直到任何被调用的可执行文件返回)
程序:
os.system("start test.exe")
print "Done"
Run Code Online (Sandbox Code Playgroud)
执行test.exe后,它会打印Done.但它不会终止脚本的执行(脚本进程仍在运行).尝试用P_DETACH创建一个守护程序线程和Popen,仍然没有去.
我正在使用OpenLayers,并为我的Map和一个Vector Layer提供了一个图层.在这个矢量图层中,我使用DrawFeature控件绘制一个正方形.我有一个监听器等待添加一个功能,然后删除任何现有的功能(我一次只想要一个方格),如下所示:
polygonLayer.events.register("beforefeatureadded", feature, function(evt){
console.log("Clearing existing polygons");
console.log(polygonLayer.features.length);
polygonLayer.destroyFeatures();
polygonLayer.redraw();
});//end attempt at events registration
Run Code Online (Sandbox Code Playgroud)
当我检查我的layer.features.size时,我可以看到它总是1,就像我期望的那样,但屏幕上的方块仍然显示.即使我在图层上调用.redraw(),方块仍然存在.
我缺少一些额外的步骤吗?
编辑:您可以在这里找到我的代码:http://pastie.org/909644
编辑:刚刚意识到:如果我从以前存在的坐标绘制一个正方形,我可以清楚地清除它.它似乎只是从控制器中提取的方块是一个问题?
我在开发时在Dreamweaver和Eclipse中工作.我认为Dreamweaver有一个非常好的搜索,您可以在其中搜索当前项目的所有文件中的文本.
当您想要删除在许多文件中调用的函数时,这很方便.您只需在当前的本地项目中进行搜索即可.您可以选择是在文本内还是在源代码中进行搜索.
Eclipse是否有这样的功能来查找其中包含"查询字符串"一词的所有文件?
我有这样的查询:
SELECT COUNT(*) AS amount
FROM daily_individual_tracking
WHERE sales = 'YES'
AND daily_individual_tracking_date BETWEEN '2010-01-01' AND '2010-03-31'
Run Code Online (Sandbox Code Playgroud)
我是从日期范围中选出的.有没有办法获得日期范围内的总天数?
我想替换第一个上下文
网络/风格/ clients.html
使用java String.replaceFirst方法,我可以得到:
$ {} pageContext.request.contextPath /style/clients.html
我试过了
String test = "web/style/clients.html".replaceFirst("^.*?/", "hello/");
Run Code Online (Sandbox Code Playgroud)
这给了我:
你好/风格/ clients.html
但是当我这样做的时候
String test = "web/style/clients.html".replaceFirst("^.*?/", "${pageContext.request.contextPath}/");
Run Code Online (Sandbox Code Playgroud)
给我
java.lang.IllegalArgumentException:非法组引用