小编Uni*_*ron的帖子

在Java中将boolean转换为int

什么是一个转换的最接受的方式booleanintJava中?

java int casting boolean

328
推荐指数
11
解决办法
39万
查看次数

在使用PhoneGap/Cordova构建Android时,在Mac OS X 10.9 Mavericks上执行命令'ant'时出错

今天我尝试使用Mac OS X Mavericks的 PhoneGap/Cordova .适用于iOS的构建很顺利,但为Android构建并不是没有一些猜测.

我通过Android SDK管理器安装了Android 4.2.2(我不得不使用较旧的API v17,因为它与新版本不兼容),PATH environment variables为SDK 添加了platform-tools,tools并认为我已准备好通过运行命令来起飞:

phonegap run android
Run Code Online (Sandbox Code Playgroud)

不过,我收到以下错误:

[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...
[error] An error occured during creation of android sub-project. ERROR : executing command 'ant', make sure you have ant installed and added to your path.
Run Code Online (Sandbox Code Playgroud)

ant android cordova osx-mavericks

139
推荐指数
6
解决办法
10万
查看次数

Java中的标记接口?

我被告知Java中的Marker接口是一个空接口,用于向编译器或JVM发出信号,表明必须以特殊方式处理实现此接口的类的对象,如序列化,克隆等.

但最近我了解到它实际上与编译器或JVM无关.例如,在的情况下,Serializable接口的方法writeObject(Object)ObjectOutputStream不喜欢的东西instanceOf Serializable,以检测类实现是否Serializable与抛出NotSerializableException相应.一切都在代码中处理,这似乎是一个设计模式,所以我认为我们可以定义自己的标记接口.

现在我怀疑了:

  1. 上面提到的标记接口的定义在第一点是错误的吗?那么我们如何定义Marker接口呢?

  2. 而不是使用instanceOf运算符为什么不能使方法类似于writeObject(Serializable)有一个编译时类型检查而不是运行时?

  3. 注释如何比标记接口更好?

java design-patterns marker-interfaces

129
推荐指数
5
解决办法
9万
查看次数

检测Windows还是Linux?

我正在寻求在Windows和Linux中运行一个通用的Java程序.

该程序需要在每个平台上做一些不同的事情.

那么我的Java程序如何检测它是否应该在Linux与Windows之间运行?

java linux windows platform-detection

123
推荐指数
5
解决办法
10万
查看次数

检测"隐形"网络爬虫

有哪些选项可以检测不希望被检测到的网页抓取工具?

(我知道列表检测技术将允许智能隐形爬虫程序员制作出更好的蜘蛛,但我认为无论如何我们都无法阻止智能隐形爬行器,只会犯错误.)

我不是在谈论像googlebot和Yahoo!这样的好爬虫.啜食.我认为机器人很好,如果它:

  1. 将自己标识为用户代理字符串中的bot
  2. 读robots.txt(并服从它)

我正在谈论坏的爬虫,躲在普通用户代理后面,使用我的带宽,从不给我任何回报.

有一些陷阱可以构建更新列表(谢谢Chris,gs):

  1. 添加仅在robots.txt中列出(标记为禁止)的目录,
  2. 添加不可见的链接(可能标记为rel ="nofollow"?),
    • style ="display:none;" 在链接或父容器上
    • 放在另一个具有更高z-index的元素下面
  3. 检测谁不懂大写,
  4. 检测谁试图发布回复但总是失败的验证码.
  5. 检测对仅POST资源的GET请求
  6. 检测请求之间的间隔
  7. 检测请求的页面顺序
  8. 检测谁(一致地)通过http请求https资源
  9. 检测谁没有请求图像文件(这与已知图像功能的浏览器的用户代理列表组合工作惊人的好)

一些陷阱将由"好"和"坏"机器人触发.你可以把它们与白名单结合起来:

  1. 它触发陷阱
  2. 它要求robots.txt
  3. 它不会触发另一个陷阱因为它服从了 robots.txt

另一个重要的事情是:
请考虑盲人使用屏幕阅读器:给人们一种联系方式,或解决(非图像)Captcha继续浏览.

有哪些方法可以自动检测试图将自己屏蔽为正常人类访问者的网络爬虫.

更新
问题不是:我如何捕获每个爬虫.问题是:如何最大限度地发现爬虫的机会.

有些蜘蛛真的很好,实际上解析和理解html,xhtml,css javascript,VB脚本等......
我没有幻想:我无法击败它们.

然而,你会惊讶于一些爬虫是多么愚蠢.愚蠢的最好例子(在我看来)是:在请求之前将所有URL强制转换为小写.

然后有一大堆爬虫只是"不够好",以避免各种陷门.

web-crawler

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

在Android中删除SQLite中的行

这可能是一个愚蠢的问题,但我是SQLite的新手,我似乎无法解决这个问题.我有了列1台KEY_ROWID,KEY_NAME,KAY_LATITUDE,和KEY_LONGITUDE.我希望用户能够选择一个并删除它; 任何人都可以给我一个开始的方向吗?我的问题是实际删除了只给出其名称的行.

相关代码:

public class BeaconDatabase {

    public static final String KEY_ROWID = "_id";
    public static final String KEY_NAME = "beacon_name";
    public static final String KEY_LATITUDE = "beacon_lat";
    public static final String KEY_LONGITUDE = "beacon_lon";

    private static final String DATABASE_NAME ="BeaconDatabase";
    private static final String DATABASE_TABLE ="beaconTable";
    private static final int DATABASE_VERSION = 1;

    private DbHelper helper;
    private final Context context;
    private SQLiteDatabase db;

    public BeaconDatabase(Context context) {
        this.context = context;
    } …
Run Code Online (Sandbox Code Playgroud)

sqlite android delete-row corresponding-records

96
推荐指数
7
解决办法
25万
查看次数

有没有办法从解释器的内存中删除创建的变量,函数等?

我几天来一直在寻找这个问题的准确答案但是没有任何好处.我不是一个完整的编程初学者,但即使在中级水平也是如此.

当我在Python的shell中时,我输入:dir()我可以看到当前范围(主要块)中所有对象的所有名称,其中有6个:

['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
Run Code Online (Sandbox Code Playgroud)

然后,当我声明一个变量时,例如x = 10,它会自动添加到内置模块下的对象列表中dir(),当我dir()再次键入时,它会立即显示:

['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x']
Run Code Online (Sandbox Code Playgroud)

功能,类等也是如此.

如何在不删除开头可用的标准6的情况下删除所有这些新对象?

我在这里读过"内存清理","清理控制台",它会从命令提示符窗口中删除所有文本:

>>> import sys
>>> clear = lambda: os.system('cls')
>>> clear()
Run Code Online (Sandbox Code Playgroud)

但这一切都与我想要实现的目标无关,它并没有清除所有使用过的对象.

python memory-management dir

93
推荐指数
6
解决办法
22万
查看次数

字符串中所有出现的字符的索引

以下代码将打印2

String word = "bannanas";
String guess = "n";
int index;
System.out.println( 
    index = word.indexOf(guess)
);
Run Code Online (Sandbox Code Playgroud)

我想知道如何在字符串"bannanas"中获取"n"("guess")的所有索引

预期结果将是: [2,3,5]

java indexing loops character

88
推荐指数
6
解决办法
15万
查看次数

删除SQL Server中的重复记录?

考虑一个名为EmployeeNametable 的列Employee.目标是根据EmployeeName字段删除重复记录.

EmployeeName
------------
Anand
Anand
Anil
Dipak
Anil
Dipak
Dipak
Anil
Run Code Online (Sandbox Code Playgroud)

使用一个查询,我想删除重复的记录.

如何在SQL Server中使用TSQL?

sql t-sql duplicates delete-row

85
推荐指数
3
解决办法
8万
查看次数

删除numpy数组中的行

我有一个可能如下所示的数组:

ANOVAInputMatrixValuesArray = [[ 0.96488889, 0.73641667, 0.67521429, 0.592875, 
0.53172222], [ 0.78008333, 0.5938125, 0.481, 0.39883333, 0.]]
Run Code Online (Sandbox Code Playgroud)

请注意,其中一行在结尾处的值为零.我想删除任何包含零的行,同时保留所有单元格中包含非零值的行.

但是每次填充数组时,数组都会有不同的行数,每次都会将零位于不同的行中.

我使用以下代码行获取每行中非零元素的数量:

NumNonzeroElementsInRows    = (ANOVAInputMatrixValuesArray != 0).sum(1)
Run Code Online (Sandbox Code Playgroud)

对于上面的数组,NumNonzeroElementsInRows包含:[5 4]

五表示行0中的所有可能值都是非零,而四表示行1中的一个可能值为零.

因此,我试图使用以下代码行来查找和删除包含零值的行.

for q in range(len(NumNonzeroElementsInRows)):
    if NumNonzeroElementsInRows[q] < NumNonzeroElementsInRows.max():
        p.delete(ANOVAInputMatrixValuesArray, q, axis=0)
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这段代码似乎没有做任何事情,即使执行大量打印命令表明所有变量似乎都正确填充导致代码.

必须有一些简单的方法来简单地"删除任何包含零值的行".

任何人都可以告诉我要写什么代码来完成这个?

python numpy delete-row

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