- 浏览: 275455 次
- 性别:
- 来自: 北京
最新评论
-
WeaponLin:
您好,weaponlin.com@gmail.com是我的邮箱 ...
Bcube拓扑生成方法研究 -
johnkeepmoving:
师兄, 想不到搜蓄水池算法搜到你这来了哈...
蓄水池抽样算法 -
AzraelWarrior:
...
libvirt的问题 -
lvchao3707007:
你好,有几个问题想请教下,1.如何看ryu是否运行起来?2.r ...
ryu与OpenStack结合使用---ryu的安装 -
qinchenchong:
...
libvirt的问题
文章列表
HTTP包:
1.安装抓包工具 Charles , 到官网http://www.charlesproxy.com/可下载到最新版本
2.用安装了charles的电脑,代理待抓包anroid手机的网络连接:
首先查看pc的网络IP地址;打开手机设置,进入当前wifi连接,设置代理为手动,将服务器填为上一步中获得的IP,端口默认为8888(在charles的proxy setting中可以改这个端口号)。这时Charles弹出确认框,点击Allow按钮即可
3.中文乱码问题解决
在charles的content/info.plist 中 的vmoption ...
“在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,一来它的对象都会收到通知”场景:某一个对象(或者数据)更新了,其他的一些类也要跟着变化,比如,在Android中,某个数据发生了改变,多处的UI要同时随之变化。解决思路:1.建立一个被监听的内容类(Observable),这个类实现一个接口,里面有三个主要方法,register,unregister,notifyObserver。notifyObserver方法当监听对象发生变化时调用,把这个消息告诉所有的监听者(Observer)register方法提供给Observer 这注册使用,Observer调用此方法后,就能收到notif ...
“策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于算法的客户”场景:一个基类有很多个子类,现在他们需要实现一个共同的函数,凡是各个子类的实现可能各有不同,这时候应 ...
一。应用场景
当一个ListView中有很多条目(Item)时,为了方便浏览需要需要实现分页功能,目前常见的分页方法有下拉刷新,但是这种分页方法翻页速度太慢,例如某个论坛的帖子有10000条回复,如果用户想查看第9999条,就不得不下拉刷新很多次。于是我们实现了一个可以横向拉动的翻页器。
二。最终效果
拖动过程中上端显示当前页数,左下显示页码,右下按钮点击后隐藏这个SeekBar, 这个SeekBar的升起与隐藏有动画效果。
三。实现
1。前端布局:
<?xml version="1.0" encoding="utf-8&q ...
android适配2.3遇到的问题(1)
- 博客分类:
- android
一 android.support.v7.app.ActionBar导致的问题
这个项目使用了actionBar,为了让3.0一下的版本也可用,所以引入了官方的v7包,使用这个里面的actionBar,这个actionBar在构造的时候需要使用:
ActionBar actionBar = getSupportActionBar();
由此,在适配兼容性的时候遇到了如下一些问题:
1.PreferenceActivity无法使用v7.app.ActionBar
没什么好办法,只能自己实现一个关于设置的activity
2,s ...
输入String(“yyyy-mm-dd”)
输出String(星座)
public static String getConstellation(String birthday) {
String[] constellationArr = { "水瓶座", "双鱼座", "牡羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座",
...
android获取地理位置信息
- 博客分类:
- android
移动应用可以通过GPS或者网络的方式获取当前位置信息,一般来说,通过GPS获得地理位置往往精确度较高,但是在通信条件不好的地方可能获取不到,而通过网络信息获取地理位置精度低于GPS,但是只要网络通畅,即可保证能获取到地理位置信息
想获取地理位置信息,首先要在AndroidManifest.xml中加入获取地理位置信息的权限,(ACCESS_FINE_LOCATION允许应用从网络信息中获取地理位置,ACCESS_COARSE_LOCATION允许应用从GPS中获取地理位置)
uses-permission android:name="android.permi ...
一.使用Git管理项目的总体思路
作为一个多人共同开发维护的项目,在Git中,必然需要一个主目录,里面负责汇总存放各个开发者编写测试完毕的成熟代码。当项目开发完毕,可以直接用这个目录里的代码生成相应的产品。
各个开发者在开发过程中,在Git上都需要一个自己的开发目录,这个目录可以fork主目录获得,然后开发者将这个目录clone到本地的硬盘空间,就可以开始coding了。这个个人目录主要负责同步开发者硬盘上的代码和远程的主目录。
整个开发的流程大概是这样的:
1.开发者在本地硬盘上创建一个开发分支(dev),在dev上写代码,当一个功能开发完成之后 ...
一.安装android sdk
访问http://developer.android.com/sdk/index.html,下载对应系统的sdk。注意只下载sdk就好了,不需要下载ADT,Eclipse也不是推荐使用的IDE。
设置环境变量,把sdk下的tools目录加到PATH里。如下面的.bashrc:
export ANDROID_SDK_ROOT="/home/zhang/android/sdk"
PATH="$PATH:ANDROID_SDK_ROOT/tools:ANDROID_SDK_ROOT/platform-tools:PATH ...
差点毁掉豆瓣的一行代码
- 博客分类:
- Python
上午写了一段代码,像拿出浏览器request中的properties字段(格式是{‘rating': 'XXX', 'swf_href': 'XXX'}),然后将它转化成dict,方便取出其中的一个值
代码写成这样:
rating = eval(request.get_form_var('properties', '')).get('rating', '')
这段代码存在巨大的安全隐患:
eval 函数的功能是将字符串生成语句执行,黑客们可以恶意的像服务器发request,然后将properties字段注入各种恶意代码,这些代码都将被执行,例如:
eval(import os;os ...
一.time模块
time模块提供各种操作时间的函数 一般有两种表示时间的方式: 第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的
#当前时间的时间戳
In [9]: time.time()
Out[9]: 1376102328.536908
第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同
In [2]: time.localtime()
Out[2]: time.struct_time(tm ...
python发送电子邮件
- 博客分类:
- Python
算是在豆瓣的第一个任务吧:
写了一个脚本,每周跑一次,把上周任意一天的邮件统计下发个摘要邮件
首先,解决上周任选一天的问题,采用每个礼拜天去取系统时间,然后随机减去1到6天
import time
import random
print str(int(time.strftime('%Y%m%d',time.localtime()))- random.randint(0,6))
然后解决用python发邮件的问题:
import random import smtplib from email.mime.text
import MIMETe ...
Github使用技巧(1)
- 博客分类:
- Tools in Douban
一.什么是Github
Git是一个分布式的版本控制器,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。也就是说,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态。
当新版本提交后,Git 并不保存这些前后变化的差异数据。而是当每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。
二.Github中文件的三种状态
在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示 ...
vim配置python开发环境
- 博客分类:
- 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 expandtab
set tabstop=4
set softtabstop=4
set ...
整体思路分4步
1.获得hypervisor中所有虚拟机的ID(使用listDomains方法)
2.根据虚拟机ID查询它的UUID(通过domainLookupByID方法)
3.根据UUID打印出虚拟机的详细信息XML文件(通过getXMLDesc方法)
4.在XML文件中提取source bridge标签中的内容,即这个虚拟机的虚拟网卡的vNic
package src;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException; ...