这是一个实用方法的例子:
public static Long getFileSize(String fileString) {
File file = new File(fileString);
if (file == null || !file.isFile())
return null;
return file.length();
}
Run Code Online (Sandbox Code Playgroud)
将String而不是File传递给这样的方法是一种好习惯吗?一般来说,在制作这种风格的实用方法时应该采用什么推理?
我参与了关于如何为大选建立互联网投票软件的讨论.我们已达成普遍共识,即存在大量用于双向认证和通信的安全方法.
然而,有人出现并指出,在大选中,一些使用的机器几乎肯定会受到损害.报价:
让我成为一个邪恶的选举欺诈者.我想在他们投票时抽样人民投票,并希望我得到一些可耻的东西.我从一些非常阴暗的家伙那里雇用了一个机器人网,他们在英国仅仅在选举日控制了1000台受损机器.
我在选举日捕获了1000名选民的投票习惯.我注意到其中有5人投票支持BNP.我看着这些用户并检查他们的机器,我查看他们的机器上的文件,并找出他们的名字和地址.我发现他们中的一个是保守党议员的妻子.我泄漏'保守党的妻子是一个法西斯主义者!' 我知道一些博客.它触及互联网并传播病毒,推动选举.
那是一个严重的问题!
那么,在可能受到危害的机器上运行软件的最佳技术是什么,用户与软件的交互必须保密?
我这里有一个可以给我GPS坐标的设备.我可以定义的时间间隔.我想用它来计算驾驶或乘车旅行时的平均速度.实际上我使用了一个正交公式来计算两点之间的距离,然后将它除以给定的时间间隔.通过实施我遵循这个术语.不幸的是我只能找到一个德语链接,但我认为这个公式应该可以用任何语言理解;)
不幸的是,使用这个公式和1秒的时间间隔给出了非常不准确的结果.步行的速度在1公里/小时到20公里/小时之间.
所以我想知道是否有关于如何在两个GPS坐标之间实现距离计算的一般参考(我在SO上发现了类似的东西)和特别是,这是更新GPS坐标的最佳时间间隔?
有谁知道在CSS中链接专有过滤器属性的方法.
例如,我有一个div.example,我想给它一个背景渐变和一个投影.所以我想做这样的事情:
div.example {
/* gradient */
filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#cb141e78,endColorstr=#cb1dde78);
/* shadow */
filter: progid:DXImageTransform.Microsoft.dropShadow(color=00143c, offX=0, offY=3, positive=true);
}
Run Code Online (Sandbox Code Playgroud)
除此之外,当然只会留下阴影.有人知道一个好的解决方法吗?
考虑以下三个接口:
interface IBaseInterface
{
event EventHandler SomeEvent;
}
interface IInterface1 : IBaseInterface
{
...
}
interface IInterface2 : IBaseInterface
{
...
}
Run Code Online (Sandbox Code Playgroud)
现在考虑以下实现 IInterface1 和 IInterface 2 的类:
class Foo : IInterface1, IInterface2
{
event EventHandler IInterface1.SomeEvent
{
add { ... }
remove { ... }
}
event EventHandler IInterface2.SomeEvent
{
add { ... }
remove { ... }
}
}
Run Code Online (Sandbox Code Playgroud)
这会导致错误,因为 SomeEvent 不是 IInterface1 或 IInterface2 的一部分,而是 IBaseInterface 的一部分。
Foo 类如何同时实现 IInterface1 和 IInterface2?
c# implementation explicit interface explicit-implementation
如何为Android按钮设置固定宽度?每次我尝试设置固定宽度时,它都会填充当前父级(RelativeView).这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativelayout" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<EditText android:layout_height="wrap_content" android:editable="false" android:layout_width="fill_parent" android:id="@+id/output"></EditText>
<Button android:layout_height="wrap_content" android:id="@+id/Button01" android:layout_below="@id/output" android:text="7" android:layout_width="wrap_content"></Button>
<Button android:layout_below="@id/output" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button02" android:layout_toRightOf="@+id/Button01" android:text="8"></Button>
<Button android:layout_below="@id/output" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Button03" android:layout_toRightOf="@+id/Button02" android:text="9"></Button>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我怎么给它一个固定的宽度?
更新
说我有几个按钮,我想要彼此相同的尺寸和整个视图的1/3(肖像),然后我想要一个宽度加倍的按钮.然后是一个高度加倍的按钮.我怎么能完成另一个手动调整它们的尺寸?
我有兴趣在某些事件中从SQL Server存储过程返回一个空结果集.
预期的行为是L2SQL DataContext.SPName().SingleOrDefault()将导致CLR空值.
我现在正在使用以下解决方案,但我不确定它是否会被视为不良做法,性能危害(我无法通过阅读执行计划找到),或者是否有更好的方法:
SELECT * FROM [dbo].[TableName]
WHERE 0 = 1;
Run Code Online (Sandbox Code Playgroud)
执行计划是一项持续扫描,其中包含与之相关的微不足道的成本.
我问这个而不是简单地不运行任何SELECT的原因是因为我担心以前的SELECT @scalar或SELECT INTO语句可能导致意外的结果集被送回L2SQL.我什么都不担心?
我正在使用Droid Incredible进行开发(并且已经在1.5 AVD仿真器上进行了测试),我的选项卡小部件中的一个选项卡包含一个列表视图和一个带有EditText和一个发送按钮的行(用于聊天功能) .单击"发送"后,我将使用以下内容关闭软键盘,但它无法正常工作.这与我在其他地方发现的代码完全相同.
看到我错过的任何东西?
// in Button's onClick():
EditText chatTextBox = (EditText) findViewById(R.id.chat_entry);
// Handle button click ...
chatTextBox.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(chatTextBox.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
Run Code Online (Sandbox Code Playgroud)
我也尝试将旗帜改为0.没有运气.谁知道怎么了?
****编辑****刚刚意识到我最初使用的是hideSoftInputFromInputMethod()代替hideSoftInputFromWindow().改变它并没有使它工作,但......
TL; DR:想编写CGI :: CRUD :: Simple(CGI :: CRUD的极简主义接口模块),但是我想首先检查一下我是否忽略了已经这样做的模块.
我通常使用没有框架的细节的应用程序,这些应用程序已经到位.然而,不久前我发现自己处于一种情况,我在问自己:"我自己,我有一个DBI数据库句柄和一个CGI查询对象,是不是有一个模块可以用它来给我一些CRUD所以我可以继续前进并处理其他事情而不是花费数小时编写界面吗?"
对CPAN的快速调查给了我:
CGI :: Crud
Catalyst :: Plugin :: CRUD
Gantry :: Plugins :: CRUD
Jifty :: View :: Declare :: CRUD
CatalystX :: CRUD
Catalyst :: Controller :: CRUD
CatalystX :: CRUD :: REST
Catalyst :: Enzyme
现在,我在查看这些模块时没有特别深入,但是,第一个安全,他们似乎都需要某种框架的存在.请告诉我,如果我错了,我可以将其中任何一个插入一个准系统CGI脚本.
CGI :: CRUD似乎完全符合我的要求,尽管它确实坚持通过一个相当古老的C类脚本来使用,这些脚本必须在不同的网站上获得,然后以各种方式和方式进行激励以产生有用的东西.我继续使用它,发现它的工作非常简洁,并且编写一个简单易用的模块应该相当容易,该模块提供了一个非常基本的[dbh,cgi IN] - > [html OUT]接口.
然而,由于我之前的调查相当短暂而且我可能仓促地解雇模块或者错过了其他模块,我发现自己想知道这是否只会重复已经完成的工作.
因此,我在标题中思考这个问题.
PS:在我的一些解释中,我倾向于做得太短,做出太多假设,以至于其他人就像我一样思考事情,导致遗漏了关键细节.如果你发现自己想知道当我说CRUD时我到底在想什么,请在评论中戳我,我会修改这个问题.