使用gyp

GYP(Generate You Project),生成IDE项目的工具,使用Python脚本写成,配置文件为JSON格式。

使用gyp需要两个环境,python和gyp。gyp可以直接在这里下载

git clone https://chromium.googlesource.com/external/gyp

一般下载到build/gyp

使用python将我们的gyp文件加载并运行起来

args中可以添加工程的配置文件,大概格式如下:

target_name:工程名

type: 工程类型

dependencies: 依赖文件夹

sources: 源文件

conditions:条件判断

msvs-settings:msvs额外设置

 

Windows 10 回收站中文件无法删除的解决

Windows 10系统回收站的某些文件无法删除,选择清空回收站的时候,虽然能听到清空的声音,但所有的文件都还在,回收站已经有几个G的文件无法清空,这样很浪费磁盘的空间,可以用下面的办法来处理。

1.选择显示隐藏目录
Windows10Setting

2.在查看中显示受系统保护的操作系统文件

Windows10Setting2

3.在显示出来的隐藏目录中找到回收站的目录"$Recycle.Bin"

Windows10Setting3

4.双击目录找到“回收站”目录,并且点击进入
Windows10Setting4

5.点击输入栏,显示当前目录的完整的路径
Windows10Setting5

6.复制显示出来的路径

Window10Setting6

7.在左下角的搜索输入框中输入"CMD",点击显示出来的"命令提示符",右击选择"以管理员身份运行"

Windows10Setting7

8.在打开的命令行中,切换到刚刚复制的目录中,执行"del * ",执行删除操作。

Windows10Setting8

Android Studio 2.1 Preview: ':app:transformClassesWithInstantRunForDebug' FAILED

升级到Android Studio 2.1 Preview版本后,编译的时候,报告如下错误:

解决方法为:

禁用“Instant Run option in Android Studio 2.0 Preview”

nDO8x

参考链接:


Android Studio 2.0 Preview: ':app:transformClassesWithInstantRunForDebug' FAILED

Android Studio 多Library单元测试(testCompile project(":A"))提示找不到依赖库中定义的类

工程布局


工程 network-api
-> src/main/java
-> src/test/java
工程 network-biz
-> src/main/java (依赖工程 network-api的 src/main/java 下的文件)
-> src/test/java (依赖工程 network-api的 src/main/java 下的文件)

 

当编写network-biz的测试用例的时候,在build.gradle中增加

此时会发现network-biz编写的测试用例是无法编译通过的,提示找不到类定义。

这个问题是由于Android Studio没有正确的处理testCompile project导致的,这个BUG在Android Studio 2.0.0 Beta7版本中才获得修复,目前使用Canary Channel升级到最新的Android Studio 2.1 Preview 1版本以后是可以修正这个问题的。

参考链接:


Gradle (Android) - Multiproject dependency missing in testCompile
issue 200952: Library modules not added to classpath for testsz

Android Studio 1.5 集成的Android Monitor 中Logcat日志丢失

Android Studio 1.5 中使用集成的Android Monitor中的Logcat查看设备返回的日志,如果日志打印稍微密集一点,就会出现中间的部分信息丢失的问题,当使用独立版本的Android Device Monitor查看日志的时候,日志是完整的。
这个问题的根源是由于Android Studio 1.5 中使用集成的Android Monitor存在BUG导致的,目前已知的解决方法是升级到Android Studio 2.0 Beta 版本,目前看到这个问题已经被修复。

JS-深拷贝

在JS中使用变量,使用=号拷贝,如

obj1 = obj2

是浅拷贝,即改变obj1内容的时候也会改变obj2.

有时候我们是不希望看到这种情况的,JS使用深拷贝有很多方法,介绍一个简单好用的

这种用法会破坏obj2的构造类型,但一般情况是足够了。

大批WordPress网站被渗透 ,成为DDOS攻击源

1456369411312.jpg!small

近日,Sucuri的安全研究人员发现,数万WordPress站点被利用于实施第7层DDos攻击。共有两万六千个不同的WordPress站点持续向同一个网站以每秒一万到一万一千次的频率发送HTTPS请求,最多时能达到两万次每秒。更严重是,如果Pingback功能默认开启,全球任何一个WordPress站点都可能被利用,成为DDos攻击网络的一个源头。

HTTP Flood是针对Web服务在第七层协议发起的大规模流量攻击,不仅可以直接导致被攻击的Web前端响应缓慢,还间接攻击到后端的Java等业务层逻辑以及更后端的数据库服务,增大它们的压力,甚至对日志存储服务器都带来影响。

建议所有基于Wordpress的网站尽快禁用Pingback。虽然无法保证网站免于遭受攻击,但会终止黑客利用您的网站来攻击其它目标。

最好的做法是,如果你确定不用pingbacks,就和xmlrpc一并关闭。如果需要使用,可以简单修改.htaccess文件,只允许白名单中的IP来存取文件。流行插件Jetpack也可用于流量监控。

14562244766558.png!small

WordPress的pingback服务可被DDoS攻击利用,这个漏洞早有披露,但至今仍有大量网站存在此问题,原因在于网站所有者很少刻意防止网站被僵尸网络捕获。而由于这种DDoS攻击中流量来自数千个不同IP,基于网络的防火墙也无法识别和拦截,只能限制每个IP地址的访问频率。

1456224508906.png!small

研究人员还发现,大多数实施攻击的源网站托管在知名VPS/云服务提供商:亚马逊的AWS、Digital Ocean、谷歌云、微软的Azure、HETZNER、OVH和Linode。

原文地址:Thousands of WordPress websites used as a platform to launch DDOS

Linux入门-使用脚本

在linux上开发,经常有一些重复性劳动,建议写成脚本,省时省力还不出错。

1.新建一个文件

vi filename

如vi test.sh

2.编辑内容,linux上sh的形式比较一致

#!/bin/sh
#comments

然后跟上自己的命令就可以了,比如

mkdir tmp

cd tmp

3.最后chmod +x test.sh,可执行,就可以执行了

4.执行完毕后,你会发现确实创建了tmp,但当前目录没有变。

这是因为脚本执行时会创建一个子环境,执行完毕后回到当前环境,如果你想直接改变当前环境,使用source 来执行脚本就可以了

source test.sh

就可以看到目录切到tmp下。