- 浏览: 38779 次
- 性别:
- 来自: 上海
最新评论
-
稍纵即逝:
这个玩意居然用到了android上了,好奇怪
Httpclient4.0 学习之四: 功能封装 -
coolqsdee:
好是好,就是写得太简单了,能不能详细点儿呀?
java调用系统资源 -
ostrichmyself:
补充个人理解:1. Intent和Activity关联关系 ...
Intents and Intent Filters -
ostrichmyself:
Category:指的是一个包含附加信息的String,附加信 ...
Intents and Intent Filters -
ostrichmyself:
Data:指的是操作的数据以及这个数据的MIME类型。不同的A ...
Intents and Intent Filters
文章列表
多项目持续集成的持续之道
- 博客分类:
- LifeThinking
似乎现在已经把cruisecontrol和持续集成划上了完美的等号, 目前三个小部门公用了一个持续集成环境, 那情况真的一个字: 惨. 持续集成最后成了应付领导审查的一个工具, CI报表没人理会,最后CI大厦轰然倒塌. 这篇文章所做的, 就是审视失败的原因, 建立起新的CI流程, 抛弃cruisecontrol,从最基础最实用的角度, 实践持续集成
Android应用程序基础:
Android 应用程序由Java编写。被编译好的java文件,跟数据以及资源文件一起,被aapt tool
打包成一个单独的apk文件。
从很多方面看来,一个.apk文件代表的应用程序生存在自己的世界中:
1: 默认情况下:所有的应用程序在各自的Linux进程中运行。
2: 每个进程有自己的VM,因此运行的代码和其它所有的应用程序是隔离的。
3: 默认情况下:每个应用程序分配给一个Linux User ID. Linux的权限设定,使得可执行程序文件只能够被
这个User和这个应用程序可见。——当然,也有方法可以将这些应用程序暴露给其它的应用程序。
将两个应 ...
敏捷(Agile)作为一种开发流程, 目前为各大公司所采用, 敏捷流程的具体实践有XP 和Scrum, 似乎很少有文章介绍这两者的区别,
发现一篇外文, 见解非常深刻, 特将其翻译一把.
原文(DIFFERENCES BETWEEN SCRUM AND EXTREME PROGRAMMING )在此:
http://blog.mountaingoatsoftware.com/differences-between-scrum-and-extreme-programming
文章来源:
http://blog.csdn.net/ostrichmyself
机器太破了,所以只能采用较早的Linux版本,选择了一个Fedora 9.0来安装。
遇到N多问题:
1. 本来有张DVD光盘, 但机器的光驱是VCD的...
2. 改为Tomcat Http server的方式安装,不成功
3. 通过其他机器的DVD光驱,copy一份, 然后通过网络传输到目标PC
下面讲安装, 从xp系统引导硬盘安装, 套路是:
1. 将系统启动引导grub4dos
C:\grldr="GRUB for DOS"
一般的做法是将grub4dos的exe, menulist,等copy出来,个人觉得完全不要这样, 改改路径就好了。 因为如果 ...
一些托业复习资料的下载链接,可根据需要自行下载
http://www.hjenglish.com/down/list/105/
http://www.beikoo.com/
托业考试的台湾官方网站
http://www.toeic.com.tw/
还有一个托业的论坛,里面有很多资料和经验分享
http://bbs.diandian.net/showforum-141.aspx
http://toeic.blog.hexun.com/16991441_d.html
以下资料名称:
Complete Guide Of The TOEIC Test
托业词汇
http://bbs.t ...
zz:
http://www.ooophone.com/redirect.php?tid=1929&goto=lastpost
$su
#cd /sdcard/download/
#cp com.metago.astro.apk /data/app/
#cd /data/app
#chmod 644 com.metago.astro.apk
#chown system.system com.metago.astro.apk
#exit
原理非常简单,android的apk文件分两类,一类放在system/app目录下,是Android自带的应用程序,另外一类放在data/app目录 ...
ubuntu软件源相当于一个包含所有ubuntu常用软件的的软件库,ubuntu在添加软件源后 ,会下载ubuntu源里的软件列表,ubuntu自带的新立得里面就能看到你的软件源里所有的软件,apt-get就是用命令将软件源里的软件下载并安装到你电脑上,而新立得也是一样,但相对简单—直接从里面查找所需软件,选择下载安装。像xp上能用的360安全卫士,不是有一个软件管理么,可以一键下载安装常用软件,原理差不多。
Tree,作为数据的器皿, 数据结构,同样是为了这个目的。为了适应处理方便处理不同的数据结构,
衍生出大量的Tree, 最常见的是二叉树。二叉树,再继续细分为红黑树,平衡二叉树,等等。
既然这些树都有各自特点,所以,提供访问的接口,自然不同, 就像消防栓,提供的接口是高压皮套,
解开水就喷涌而出,茶壶是涓涓溪流,饮水机的冷热开关...
二叉树用到最多,来看看它的集中形式:
二叉平衡树: 左右子树的深度相差不超过1.
二叉查找树:左节点小于父节点,有节点大于等于父节点(或者相反)
二叉平衡查找树:查找树,同时是平衡的。
AVL树: 是一种二叉查找树,每个节点记录平衡因子, 通过旋转的方 ...
- 2009-10-23 16:17
- 浏览 673
- 评论(0)
树概览:
全局来看:
组成: 根节点 + 方法
即:知道根节点,然后提供方法, 就能将这棵树的信息全部搞定, 从根节点开始,
攀爬到你需要的任何叶子或者枝干上去。
所以,如果你想写一颗树, 则应该这样:
Tree的类,
1. 这个类有一个Field,叫root, 类型为Node类型; 根节点下面会延伸出其他节点,也为Node
2. 这个类有无数的访问方法,大体是顺着节点去摸索其他的节点,让你方便的找到树中,你需要的任意信息
.
OK, 就这些!够简单!
然后再深入一点点:提到的类型Node,还没有定义,怎样定义一个节点?
定义一个Node主要有以下:
1. 她自己所描述的数 ...
- 2009-10-23 16:16
- 浏览 494
- 评论(0)
学习Python的BT序幕.
现有工具的算法是用JavaScript写的,但这个算法要被其它工具用到, 对方要求务必用Python实现, 理由XXXXX一堆,
经过一下午激烈的争吵, 对方出一个人来协助写算法. 不得已, 开始学习.
其实本人还是对Python有很强烈的兴趣的. GAE有一个Python实现的WIKI, 觉得还不错,所以Copy过来了, 惊讶于他的简介.
启动学习序幕:
从同事那边收集到的几个信息:
1. Python脚本执行, 没有像java那样类似的.class中间文件.
2. Python占地面积非常小,占用硬盘空间不大.
3. 执行效率和 ...
- 2009-10-22 17:12
- 浏览 441
- 评论(0)
public Object newInstance(String ClassName, Object[] args) throws Exception
{
Class newone = Class.forName(ClassName);
Class[] argsClass = new Class[args.length];
for (int i = 0; i < args.length; i++)
{
argsClass[i] = args[i].getClass();
...
- 2009-10-15 10:15
- 浏览 363
- 评论(0)
一般正则表达是都会选择最大的方式匹配如:
对象: abcdqqqqd
正则表达式: abc.*d
匹配的将不是abcd而是:abcdqqqqd
如果要匹配abcd,则需要在匹配处增加"?":
abc.*?d
这里:
.*表示的就是贪婪匹配: 先把输入字符全部纳入, 看看是否匹配,不匹配则吐出最后一个字符,然后再匹配,不断进行这样的过程。
.*?表示的是勉强.先纳入第一个字符,看是否匹配,然后逐渐将后面的字符放入,找到就OK, 并且能找到尽量多的符合条件。
另外还有一个:
.*+表示侵占, 这个不常用到,跟贪婪算法一样,也是把字符全部纳入, ...
- 2009-10-15 10:02
- 浏览 402
- 评论(0)
预定义
1. 定义基本变量
#define STAT_TIME_XXX 3000
2. 定义CString类型
#define RUNLOG_TABLE "(\
`ID` bigint(20) NOT NULL auto_increment,\
`frameNo` smallint(6) NOT NULL,\
`slotNo` smallint(6) NOT NULL,\
`subSysId` smallint(6) NOT NULL,\
`boardType` smallint(6) NOT NULL,\
`startTime` int(11) NOT NULL,\ ...
- 2009-09-24 15:10
- 浏览 414
- 评论(0)
void process(A a){}
当process发生调用时,如
A b;
process(b);
这个时候发生的故事,是b的值(此时是对象值)复制,
将该对象传给process, 因此process中的改变,对b没有影响。
----我们喜欢将这个归结为值传递。
void process(A* a){}
发生调用A b;
process(&b);
这个时候发生的故事,是&b的值(b的地址)赋值,
该地址传给Process, process中,通过地址,找到对象,并改变原对象。
所以,b发生改变。
----我们喜欢将其归结为传引用。
其实永远都是传值,但函数中操作的方式 ...
- 2009-09-23 14:23
- 浏览 1227
- 评论(0)