跳转至

Blog

没事别蹭wifi-告诉你公共的wifi有多不安全

经常看到一些朋友每到一个地方就先找wifi,没有密码就直接上了!汗……

今天通过两个小工具来显示一下公共wifi的安全隐患(爱蹭网的代价)

工具:wireshark与cain

下载:wireshark

https://www.wireshark.org/download.html Cain & Abel http://www.oxid.it/cain.html (被墙) 百度网盘链接:http://pan.baidu.com/s/18kshg 密码:9owu

md5:EA2EF30C99ECECB1EDA9AA128631FF31 sha1:82407EAF6437D6956F63E85B28C0EC6CA58D298A

如果没有校验工具,我写了一个python脚本来校验 链接:http://pan.baidu.com/s/1i3j93sp 密码:h6gz

appium简明教程(转)

乙醇的自动化教程写的挺好的,以下是转自他的cnblogs上面的博客

appium简明教程(1)——appium和它的哲学世界

什么是appium?

下面这段介绍来自于appium的官网。

Appium is an open-source tool you can use to automate mobile native, mobile web, and mobile hybrid applications on iOS and Android platforms. “Mobile native apps” are those written using the iOS or Android SDKs. “Mobile web apps” are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome on Android). “Mobile hybrid apps” have a native wrapper around a “webview” – a native control that enables interaction with web content. Projects like Phonegap, for example, make it easy to build apps using web technologies that are then bundled into a native wrapper – these are hybrid apps.

Importantly, Appium is “cross-platform”: it allows you to write tests against multiple platforms (iOS, Android), using the same API. This enables a large or total amount of code reuse between iOS and Android testsuites. 我们可以从上面的介绍里获得这样的一些信息:

  • 1,appium是开源的移动端自动化测试框架;
  • 2,appium可以测试原生的、混合的、以及移动端的web项目;
  • 3,appium可以测试ios,android应用(当然了,还有firefox os);
  • 4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上; appium的哲学

Android官方的uiautomator例子的实现

Android的自动化测试有很多框架,其中uiautomator是google官方提供的黑盒UI相关的自动化测试工具,case使用java写,今天实践了一下官方文档中样例程序,其中还是有一些小问题需要总结一下的。 前几天试着使用uiautoamtor在真实的项目中写了一个简单的测试 使用Uiautomator做基于UI界面的测试

使用ADT创建一个java的项目

在创建项目的时候要加上JUnit与你使用的Android platforms中对应的android.jar与uiautomator.jar

image

被潜意识蒙蔽的理性

最近在观察一些事情,发现很多时候我们的理性往往都被潜意识所蒙蔽。

公司内网中有段时间经常有人发表一些自已的东西被“偷”的帖子,于是在人们脑海中就有一个公司里有很多小偷的意识,自已的东西一旦找不到了,首先想到的就是被别人偷走了,甚至一些人还总发表一些放在冰箱里的食物饮料等被莫名的拿走的帖子,这些人无疑首先说的就是“偷”,遇到这样的事情首先想到的也是被别人拿走了,被别人吃掉了。

七牛cdn缓存导致ajax评论失效

在使用了七牛的CDN后,发现在评论的时候会出现405错误

{"error":"get from image source failed: E405"}

在网上查了查,这个问题出现的还挺多的,解决办法是改comments-ajax.js这个文件

1.在comments-ajax.js文件中下面这段程序的后面(参考cdn缓存导致ajax评论失效):

1
2
3
4
5
var i = 0, got = -1, len = document.getElementsByTagName('script').length;
while ( i <= len && got == -1){
    var js_url = document.getElementsByTagName('script')[i].src,
            got = js_url.indexOf('comments-ajax.js'); i++ ;
}

mysql与mongodb命令对比

之前一直在使用mysql,最近开始接触mongodb,觉得还是有一些相似的地方,只是相应的命令不大一样,这里做下记录,对比记应该相对简单一些,mongodb使用的是python的接口

连接: mysql: mysql -h localhost -u username -p mongodb:con = pymongo.Connection('localhost',27017) 显示数据库 mysql:show databases; mongodb:con.database_names() 使用某个数据库 mysql:use database; mongodb:db = con['database'] or con.database 没有将会创建 显示所有的表 mysql:show tables; mongodb:db.collection_names() 使用某个表(mongodb中称为colection) mysql: use table; mongodb:col = db.collection or db['collection'] 没有将会创建 遍历表中的内容 mysql: select * from table[where...] mongodb: for i in col.find():print i for i in col.find_one({'key':'value'}):print i 返回值是字典 向表中插入值 mysql: insert into table valuses(......) mongodb:col.insert({'key':'value',...}) d = {'key':'value'} col.insert(d)

java中面向对象的一点学习总结

最近开始看java的一些东西,感觉比python麻烦些,今天学习了面向对象的一些东西,觉得挺多挺复杂,这里做个知识总结

以一个简单的例子来说明java面向对象的三大特性,封装,继承,多态,有一个动物(Animal)基类,定义了run与eat方法,然后有一个猫(Cat)与狗(Dog)的子类继承了动物这个父类,子类重写(override)了父类的run与eat方法,同步又重载(overload)了run与eat方法,同时又定义了一个交配(Icopulation)的接口,让狗来implements交配接口,同时又创建一个Human类来专门implements交配接口

795ab47fjw1ejo4u6epeoj20ab083jrh

下面是具体的实现代码,没有什么实际的应用,只是作为学习用

中国男人形象气质差配不上中国女人?

前段时间网络上有人撰文说中国男人形象气质差配不上中国女人http://news.qq.com/a/20140723/062566.htm 

其实很久之前我也有过同样的感受,中国女人,无论气质谈吐似乎都要比身边的男士要更加优雅,偶尔遇到一些炸毛女,但观其身边的男人也无非是一些洗剪吹之流,女人如果出口成脏的话她身边的男人也更是流毒之辈。

男人如果能在形象气质上达到某个层次以后,也会刻意的寻找一些使自已进步的,同样的,如果你只是一个洗剪吹,那么在你的生活里接触到的也无非是一个炸毛女。

python中的Queue与多进程(multiprocessing)

最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程

一、先说说Queue(队列对象)

Queue是python中的标准库,可以直接import 引用,之前学习的时候有听过著名的“先吃先拉”与“后吃先吐”,其实就是这里说的队列,队列的构造的时候可以定义它的容量,别吃撑了,吃多了,就会报错,构造的时候不写或者写个小于1的数则表示无限多

import Queue

q = Queue.Queue(10)

向队列中放值(put)

q.put(‘yang’)

q.put(4)

q.put([‘yan’,’xing’])

在队列中取值get()

默认的队列是先进先出的

python的requests初步使用

早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urllib2等方法真是太搓了……

这里写些简单的使用初步作为一个记录