问题列表 - 第24645页

为什么我不能通过使用Int获得百分比

请原谅我的编程知识.我知道这是一件简单的事情,但我不明白为什么结果总是为什么.为什么十进制会很好?

int a = 100;
int b = 200;
decimal c = (a / b) * 100;
Run Code Online (Sandbox Code Playgroud)

非常感谢.

c# integer-division

23
推荐指数
3
解决办法
2万
查看次数

Java:替换ArrayList中不允许的ArrayList cos原语类型?

ArrayList,source中不允许使用原始类型.部分解决方案:您可以将诸如int之类的prim.types包装到Integer中以形成一个额外的类但是副作用.我想索引数据,是否有一些替代ArrayList允许原始类型?

java arraylist primitive-types

1
推荐指数
1
解决办法
4120
查看次数

REST API最佳实践:如何接受参数值列表作为输入

我们正在推出一个新的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输入以使他们的生活更轻松.

api rest

385
推荐指数
5
解决办法
52万
查看次数

使用OpenID作为唯一的身份验证方法

我已经阅读了其他问题,他们大多谈论这样做的安全性.这并不完全是我的担心,主要是因为该网站的问题是基于浏览器的游戏.但是,更大的问题是用户 - 并非每个用户都有足够的文字来理解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给我的标识符以及数据库中的标识符以登录用户(如果标识符已知).

所以这里有具体的问题:

  • 如何让没有OpenID或不想使用OpenID的用户可以访问它?(例如,安全问题,以Google帐户登录为例)
  • 如何将标识符存储在数据库中?(我不确定上面的表格是否正确)
  • 我需要采取哪些措施来阻止某人以其他用户身份登录并愉快地使用其帐户执行任何操作?(据我所知,RPX通过HTTP发送标识符,所以任何人都要做的就是以某种方式抓住它然后在"OpenID"字段中输入它)
  • 使用OpenID时我还需要注意什么?

openid rpx rpxnow

9
推荐指数
1
解决办法
493
查看次数

具有更一般类型参数的Java列表的只读视图

假设我有类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>.我不能只是演员.

java generics

1
推荐指数
1
解决办法
1050
查看次数

如何从python调用程序而不等待它返回

有没有办法从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,仍然没有去.

python command subprocess popen

21
推荐指数
3
解决办法
5万
查看次数

OpenLayers eraseFeatures不会从地图屏幕中删除功能

我正在使用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

编辑:刚刚意识到:如果我从以前存在的坐标绘制一个正方形,我可以清楚地清除它.它似乎只是从控制器中提取的方块是一个问题?

openlayers

3
推荐指数
1
解决办法
6330
查看次数

在Eclipse中搜索包含文本'querystring'的项目中的所有文件

我在开发时在Dreamweaver和Eclipse中工作.我认为Dreamweaver有一个非常好的搜索,您可以在其中搜索当前项目的所有文件中的文本.

当您想要删除在许多文件中调用的函数时,这很方便.您只需在当前的本地项目中进行搜索即可.您可以选择是在文本内还是在源代码中进行搜索.

Eclipse是否有这样的功能来查找其中包含"查询字符串"一词的所有文件?

eclipse

180
推荐指数
4
解决办法
20万
查看次数

计算日期范围内的天数?

我有这样的查询:

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)

我是从日期范围中选出的.有没有办法获得日期范围内的总天数?

mysql sql date-range

2
推荐指数
1
解决办法
2万
查看次数

Java String.replaceAll正则表达式

我想替换第一个上下文

网络/风格/ 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:非法组引用

java regex replace

3
推荐指数
2
解决办法
3400
查看次数