自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

使用Charles,在mac环境下对android app抓包

 HTTP包:1.安装抓包工具 Charles , 到官网http://www.charlesproxy.com/可下载到最新版本 2.用安装了charles的电脑,代理待抓包anroid手机的网络连接:     首先查看pc的网络IP地址;打开手机设置,进入当前wifi连接,设置代理为手动,将服务器填为上一步中获得的IP,端口默认为8888(在charles的proxy set...

2015-02-25 14:28:40 330

android中的设计模式--观察者模式

“在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,一来它的对象都会收到通知”场景:某一个对象(或者数据)更新了,其他的一些类也要跟着变化,比如,在Android中,某个数据发生了改变,多处的UI要同时随之变化。解决思路:1.建立一个被监听的内容类(Observable),这个类实现一个接口,里面有三个主要方法,register,unregister,notifyObserver。not...

2014-08-21 16:29:15 153

原创 android中的设计模式--策略模式

“策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于算法的客户”场景:一个基类有很多个子类,现在他们需要实现一个共同的函数,凡是各个子类的实现可能各有不同,这时候应该怎么办?思路1:把这个函数写在基类里,然后子类去根据自己的需要重写这个函数好处:代码可以复用,对应了设计原则“找出应用中可能变化之处,把它独立出来,不要和那些不变的代码混在一起”坏处:可能会有子类...

2014-08-16 23:33:35 146

android ListView实现翻页SeekBar功能

一。应用场景    当一个ListView中有很多条目(Item)时,为了方便浏览需要需要实现分页功能,目前常见的分页方法有下拉刷新,但是这种分页方法翻页速度太慢,例如某个论坛的帖子有10000条回复,如果用户想查看第9999条,就不得不下拉刷新很多次。于是我们实现了一个可以横向拉动的翻页器。 二。最终效果 拖动过程中上端显示当前页数,左下显示页码,右下按钮点击后隐藏这个Seek...

2013-11-08 14:44:27 362

android适配2.3遇到的问题(1)

一 android.support.v7.app.ActionBar导致的问题     这个项目使用了actionBar,为了让3.0一下的版本也可用,所以引入了官方的v7包,使用这个里面的actionBar,这个actionBar在构造的时候需要使用: ActionBar actionBar = getSupportActionBar(); 由此,在适配兼容性的...

2013-10-17 18:29:39 100

根据生日判断星座

输入String(“yyyy-mm-dd”)输出String(星座)public static String getConstellation(String birthday) { String[] constellationArr = { "水瓶座", "双鱼座", "牡羊座", "金牛座", "双子座", "巨蟹座", "狮子座",

2013-10-15 15:43:02 2330

android获取地理位置信息

  移动应用可以通过GPS或者网络的方式获取当前位置信息,一般来说,通过GPS获得地理位置往往精确度较高,但是在通信条件不好的地方可能获取不到,而通过网络信息获取地理位置精度低于GPS,但是只要网络通畅,即可保证能获取到地理位置信息 想获取地理位置信息,首先要在AndroidManifest.xml中加入获取地理位置信息的权限,(ACCESS_FINE_LOCATION允许应用从网...

2013-10-05 11:45:49 496

原创 Github使用技巧(2)

一.使用Git管理项目的总体思路    作为一个多人共同开发维护的项目,在Git中,必然需要一个主目录,里面负责汇总存放各个开发者编写测试完毕的成熟代码。当项目开发完毕,可以直接用这个目录里的代码生成相应的产品。    各个开发者在开发过程中,在Git上都需要一个自己的开发目录,这个目录可以fork主目录获得,然后开发者将这个目录clone到本地的硬盘空间,就可以开始coding了...

2013-10-02 11:19:06 102

用Genymotion与Intellij搭建ubuntu下的android开发环境

一.安装android sdk访问http://developer.android.com/sdk/index.html,下载对应系统的sdk。注意只下载sdk就好了,不需要下载ADT,Eclipse也不是推荐使用的IDE。设置环境变量,把sdk下的tools目录加到PATH里。如下面的.bashrc: export ANDROID_SDK_ROOT="/home/zhang/...

2013-08-31 15:13:26 72

差点毁掉豆瓣的一行代码

上午写了一段代码,像拿出浏览器request中的properties字段(格式是{‘rating': 'XXX', 'swf_href': 'XXX'}),然后将它转化成dict,方便取出其中的一个值代码写成这样:rating = eval(request.get_form_var('properties', '')).get('rating', '')这段代码存在巨大的安全隐患:...

2013-08-27 17:18:58 132

python中time类型,datetime类型的关系与互相转换

一.time模块time模块提供各种操作时间的函数       一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的 #当前时间的时间戳In [9]: time.time()Out[9]: 1376102328.536908        第二种以数组的形式表示即(struct_tim...

2013-08-10 11:16:40 552

python发送电子邮件

    算是在豆瓣的第一个任务吧:      写了一个脚本,每周跑一次,把上周任意一天的邮件统计下发个摘要邮件       首先,解决上周任选一天的问题,采用每个礼拜天去取系统时间,然后随机减去1到6天import timeimport randomprint str(int(time.strftime('%Y%m%d',time.localtime()))- random...

2013-07-27 21:16:09 123

Github使用技巧(1)

一.什么是Github    Git是一个分布式的版本控制器,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。也就是说,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态。     当新版本提交后,Git 并不保存这些前后变化的差异数据。而是当每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一...

2013-07-18 23:15:53 94

vim配置python开发环境

一.安装vim sudo apt-get install vim 安装的vim版本是7.3  二.vim基础配置在/etc/vim/vimrc中添加 set fileencodings=utf-8,gbk set ambiwidth=double“支持中文set smartindent set smarttab set expan...

2013-03-10 20:51:28 125

基于libvirt-java获得虚拟机对应vNic的id

整体思路分4步1.获得hypervisor中所有虚拟机的ID(使用listDomains方法)2.根据虚拟机ID查询它的UUID(通过domainLookupByID方法)3.根据UUID打印出虚拟机的详细信息XML文件(通过getXMLDesc方法)4.在XML文件中提取source bridge标签中的内容,即这个虚拟机的虚拟网卡的vNic package src;...

2013-02-19 16:35:54 287

原创 Libvirt-java 0.4.9 安装

Libvirt-java 0.4.9是虚拟化管理类库libvirt的java版API,0.4.9版的libvirt-java必须配合0.9.12版本以上的libvirt库同时使用。Libvirt-java的安装过程如下:一.下载libvirt-javagit clone git://libvirt.org/libvirt-java.git 由于libvirt-java是一个基于an...

2013-02-19 16:21:33 111

Java调用Linux终端命令

public void useLinuxCommond(){ try { Process p = Runtime.getRuntime().exec("sudo ovs-vsctl show"); //调用Linux的相关命令 InputStreamReader ir = new InputStreamReader(p.getInputStream()); ...

2013-02-18 13:30:10 726

Open switch得到port相关信息的命令

1.查看port所属bridgezg@cp42:~$ sudo ovs-vsctl port-to-br qvo500b9699-47br-int2.查看一个br下的所有port,port的排列顺序为创建时间先后顺序stack@cp42:/home/zg/kvm$ sudo ovs-ofctl show br-intOFPT_FEATURES_REPLY (xid=0x...

2013-02-18 13:13:50 348

原创 TRILL原理

一.TRILL原理 假设一个数据包要从A口传像B口:(1)     (1) A的网卡端口首先给数据打公网MAC,然后向C发送。这时数据包的格式是:  (2)     (2)C收到这个数据包之后,学习源的MAC地址,填MAC表,然后给数据包打上公网VLAN tag,RILL与传统二层无差异。在C的MAC表中查找des MAC,发现MAC表中对应的下一跳是一个nick...

2013-01-20 12:31:06 1037

ryu与OpenStack结合使用---ryu的安装

ryu是一个openflow的中央控制器,与openvswitch和openstack结合使用可以用于搭建一整套openflow网络。ryu分为两部分,ryu-manager运行在openstack的控制节点,用于处理开发者编写的网络集中控制逻辑,并将任务分发给下面的计算节点。计算节点也需要安装ryu,并使用ryu-client的api为openvswitch部署相应的配置策略。open...

2012-12-29 19:27:00 446

libvirt的问题

启动openstack计算节点的nova-compute时,报如下错误:error: Failed to connect socket to '/usr/local/var/run/libvirt/libvirt-sock': No such file or directory 这是需要启动libvirtd守护线程,执行启动命令:[paole@liangbo]# libvirtd ...

2012-12-26 20:23:47 216

原创 基于davstack搭建openstack folsom开发环境(4)

quantum虚拟网路配置(vlan模式) -------------------------物理网络拓扑图------------------------- 两台机器都需要双网卡,在eth0上创建网桥br-ex ,负责虚拟机以及hypervisor和外部网络间的通信;在eth1上创建网桥br-int,负责计算节点与服务节点之间的通信。这里需要把IP地址与网关都配置在...

2012-12-20 17:41:40 109

原创 基于davstack搭建openstack folsom开发环境(3)

为OpenStack添加计算节点:------------------------计算节点需要安装的软件------------------------1.NTP服务器   安装:apt-get –y install ntp   配置:/etc/ntp.conf中写入server 10.21.3.83(主同步节点的ip)  重启:/etc/init.d/ntp res...

2012-12-19 17:12:19 115

基于davstack搭建openstack folsom开发环境(2)

二.安装quantum模块    首先,需要保证quantum的版本和其他模块的版本匹配(我安装的是quantum-2012.2版本),否则会出如下错误:Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 249, in run_sub...

2012-12-14 09:50:02 111

基于DevStack的Openstack folsom版开发环境搭建(1)

一.使用DevStack搭建框架   DevStack是一个开源脚本,用于搭建单节点的openstack开发环境。但是,如果不在localrc脚本里修改相应配置,其搭建出来的openstack不包含quantum模块(如何配置使其包含quantum模块openstack官网有说明),并且这个是使用screen技术集成的各个模块,重启之后需要手动开启各个服务,并导入环境变量。开启各服务命...

2012-12-13 19:58:40 85

原创 KMP算法【转】

 我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I"m matrix67",字符串B="matrix",我们就说B是A的子串。你可以委婉地问你的MM:“假如你要向你喜欢的人表白的话,我的名字是你的告白语中的子串吗?”    解决这类问题...

2012-12-06 19:07:01 148

DevStack安装之后无法打开dashbroad的解决方案

DevStack提供来简单搭建Openstack开发环境的傻瓜式操作脚本,方便开发者搭建最简的Openstack环境,但是我在执行完devstack脚本后,进入dashborad时遇到一个问题: 解决这个问题只需要建立一个软链接即可:  sudo ln -s /usr/bin/nodejs /usr/bin/node ...

2012-11-19 15:45:33 759

原创 排序方法的选择

各种排序方法的选择:①就平均时间性能而言,快速排序最佳,其所需时间最省,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当n较大时,归并排序较堆排序省,但归并排序所需的辅助空间最大。 ②简单排序方法中,直接插入排序最简单,当待排序的结点已按键值“基本有序”且n较小时,则应采用直接插入排序或冒泡排序,直接插入排序比冒泡排序更快些,因此经常将直接插入排序和其他的排序方法结合在一起使用。 ③当n很...

2012-11-04 20:44:27 289

给定出栈序列和入栈序列,求出栈入栈顺序

亚马逊在线测评题:大牛写的代码,学习一下编码风格/* Enter your code here. Read input from STDIN. Print output to STDOUT */import java.util.Scanner;import java.util.StringTokenizer;public class Solution { publi...

2012-10-27 15:58:25 754

原创 如何判断一个分数是否能化成非循环小数

①若一个分数的分子为1,如1/a=x(x为有限位的小数)则可把x化为分母为10^n,分子为x×10^n的一个整数,n的取值要看x的小数位是几位则x×10^n=10^n/a=2^n·5^n/a,我们可知等式左边是个整数,所以右边的分母a定能整除10^n,即a=2^i·5^j(i,j都大于等于0)时,1/a就为有限小数 反之,若a的因子中还有不是2和5的其他数,则分数1/a为无限循...

2012-10-24 16:24:14 475

原创 关于TCP的问题总结

一. 什么是TCPTCP 协议是一种面向连接的,为不同主机进程间提供可靠数据传输的协议。TCP 协议假定其所使用的网络栈下层协议(如IP 协议)是非可靠的,其自身提供机制保证数据的可靠性传输。在目前的网络栈协议族中,在需要提供可靠性数据传输的应用中,TCP 协议是首选的,有时也是唯一的选择。TCP 协议是在最早由Cerf 和Kahn[1]所提出的有关网络数据包传输协议的概念之上建立的。TCP ...

2012-10-23 14:20:52 113

原创 IP地址的两种表达方式以及互相之间的转换

IP地址是32位的。例如:01110000000011110101101011000011好记吗?好写吗?所以把它均分成四段,每段8个,以点号分隔例如:01110000. 00001111 .01011010 .11000011这样还是不好记不好写,所以每段里面的二进制数转换成对应的十进制。例如:112.15.90.195这称为“点分十进制”表示方法。 点分十进制转二进制: publi...

2012-10-22 21:11:41 680

原创 java synchronized同步静态方法和同步非静态方法的异同

-------------------转自CSDN lonely_fireworks 的博客-----------------------synchronized关键字有两种用法,一种是只用于方法的定义中,另外一种是synchronized块,我们不仅可以使用synchronized来同步一个对象变量,你也可以通synchronizedl来同步类中的静态方法和非静态方法。synchroni...

2012-10-22 16:58:15 176

原创 趋势科技南京笔试--C++部分

Q1.UNICODE问题int Test(){ _TCHAR pszTemp[] = L"trend mirco";} sizeof(pszTemp) = ?   _countof(pszTemp) = ?    strlen(pszTemp) = ? A:字符串前加L表示将字符串转化为unicode型;unicode字符串每个字符占2个字节,扩展为:"X\nX...

2012-10-01 21:59:54 191

微软笔试:有关虚函数

 微软2011笔试题考点:虚函数,引用结果:7思考过程:整个程序其实只生成了一个实例 Derived2 *pDerived2 = new Derived2(),这是一个继承关系最上层的实例,所以就应该包含下面两层的所有信息。 后面就是很多不同类型的指针,同时指向这个变量。pBase是一个Base类型指针,GetValue不是虚函数,所以Base里的GetValue不会被覆盖掉;...

2012-09-21 22:28:08 70

原创 Bcube拓扑生成方法研究

紧接上一篇,本周的试验中,如何为Bcube拓扑结构生成一个邻接矩阵,收工输入显然是不现实的,虽然Bcube拓扑的节点规模不是很大,但是怎么说也有好几千个。然后我就想利用Bcube递归定义的特点来生成一个拓扑关系,但是没想出来。哪位大神有过类似的工作请联系我...再然后,我发现Bcube是一个规整的结构。可以推导出一个纯数学的公式,来算出节点间的拓扑关系,下面的代码以Bcube(4,3)为例。B...

2012-09-21 20:32:02 1201 2

原创 有关Bcube拓扑结构节点分层方法的思考

 Bcube是SIGCOMM2009提出的一种云计算数据中心网络拓扑结构,虽然说目前业界使用的DCN拓扑结构仍然以树形结构为主,但这丝毫不能影响Bcube在学术界地位,如果你做的工作只能适用于clos型结构,必然就会有人那Bcube来质疑你。Bcube是以服务器作为交换核心,整个结构采用递归定义,结构虽然工整但是比较复杂。因此对交换机归类就对我们研究网络自配置有一定的意义(其他方面的意义还没有...

2012-09-21 19:43:34 2207

蓄水池抽样算法

题目:要求从N个元素中随机的抽取k个元素,其中N无法确定 解法:首先选择N中的前k个数加入“蓄水池”中,然后从第k+1个数开始,以k/k+i(i=1,2,3...)的概率选择这个数,然后在蓄水池中随机选择一个数,并将其替换,N个元素遍历完毕后,蓄水池中的k个数就是随机选择的。 证明:这里即需要证明每个数出现在蓄水池中的概率都是相等的,拟采用数学归纳法          1....

2012-09-18 23:34:12 151

百度面试题:迭代打开url问题

一个url指向的页面里面有另一个url,最终有一个url指向之前出现过的url或空,这两种情形都定义为null。这样构成一个单链表。给两条这样单链表,判断里面是否存在同样的url。url以亿级计,资源不足以hash。本题可以抽象为有环和无环情况下的链表交叉问题: 情况一:两条单链表均无环     最简单的一种情况,由于两条链表如果交叉,他们的尾节点必然相等(Y字归并),所以只需要判...

2012-09-18 12:55:00 71

原创 编程之美2.3-发帖水王扩展问题

有3个发帖最多的ID,他们发帖数目都超过了帖子总数目的1/4,从发帖ID列表中快速找出这3个ID /** * 维护3个ID数据结构,里面name字段存放ID,count是一个计数器, * 遍历ID列表时,如果发现一个ID,与其中一个数据结构的name字段相等,这个数据结构的count++ * 如果发现一个新的ID没有被这3个数据结构记录,那么,如果这3个数据结构中,有一个的co...

2012-09-09 23:18:16 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除