摘要: Problem Description ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗? Input 每个测试实例首先包括2个整数,N,M.(1 = 0。当N = 0, M = 0输入结束。 Output 对于每个测试实例,输出一个整数,代表ACboy攻克M个城堡所获得的最多宝物的数量。 Sample Input ... 阅读全文
posted @ 2013-08-09 23:59 坚固66 阅读(213) 评论(0) 推荐(0)
摘要: 在Web开发中会经常使用到个人信息注册,而个人信息中通常需要自己的头像或者照片。今天主要介绍一下使用FileUpload+img控件上传照片。FileUpLoad控件使用介绍FileUpLoad控件的PostedFile属性主要获取上传文件的一些基础信息。.ContentLength 获取上传文件的大小。返回值为int类型,单位为字节。用途1、判断上传文件的大小if (this.FileUpload1.PostedFile.ContentLength .ContentType 获取上传文件的MIME内容类型。PostedFile.ContentType这个属性通常用来判断上传文件的MIM... 阅读全文
posted @ 2013-08-09 23:58 坚固66 阅读(473) 评论(0) 推荐(0)
摘要: 代码在gitHub上托管,每次git pull完后,用git branch -a都可以看到一堆remotes/origin/pr/*分支:可以通过两种方式去除:1,修改git的config文件找到里面的:fetch = +refs/pull/*/head:refs/remotes/origin/pr/*删除。不过删除后就不能直接check pr分支了,参考:https://help.github.com/articles/checking-out-pull-requests-locally2,利用命令临时去除这些分支信息(推荐)。git remote prune origin 清理后-a 看起 阅读全文
posted @ 2013-08-09 23:56 坚固66 阅读(693) 评论(0) 推荐(0)
摘要: 这个错误算是发生最多的一个了。 其一:是在打开修改XX信息的窗体时都会遇见的错误,经网上查询得知是因为,Recordset里没有数据的原因,当首先添加一组信息后,就可以打开修改修改了,但这并没有解决根本问题。我是这样修改的:写一组判断语句加frmMain的菜单项单击事件中。Private Sub modifycinfoMenu_Click() txtSQL = "select * from class_Info" Set mrc = ExecuteSQL(txtSQL, MsgText) '得到class表,并显示 '判断记录是否为空,如果为空弹出提示框,确 阅读全文
posted @ 2013-08-09 23:54 坚固66 阅读(262) 评论(0) 推荐(0)
摘要: 数论跪了三天。。这个题不难得到(n+d)%23=p; (n+d)%28=e; (n+d)%33=i如何求解?首先介绍一个所谓“逆”的概念。给定整数a,有(a,m)=1,称ax=1(mod m)的一个解叫做a模m的逆。下面给出求逆的程序。#include #include using namespace std;typedef long long LL;void gcd(LL a, LL b, LL &d, LL &x, LL &y){ if(!b) { d = a, x = 1, y = 0; } else { gcd(b, a %b,... 阅读全文
posted @ 2013-08-09 23:52 坚固66 阅读(245) 评论(0) 推荐(0)
摘要: 先来了解一下存储卡的相关知识:我们新购买的磁盘或SD卡在使用之前,要让操作系统认得它,须先写入一些磁性的记号到磁盘上的每一扇区,便可在该操作系统下取用磁盘上的数据,这个过程就是格式化。格式化可以直白地看作把你的磁盘或SD卡分成若干个小格(block),然后才能往里面存数据,每个文件所占的“小格”是不同的。如果没有进行格式化是无法存数据的,现在买来的SD卡一般都已经格式化好了,可以直接用。可以做一个小实验,你可以在Windows系统下新建一个文本文件,然后往里面写入一个字符,查看属性里面的大小是1字节,但是占用空间却是4kb(4096个字节),只有当你的存储内容超过了4kb,这时,文件的占用空间 阅读全文
posted @ 2013-08-09 23:50 坚固66 阅读(395) 评论(0) 推荐(0)
摘要: 八月份cocos2d-x官网发布了v3.0版本,这次更新的内容特别多,包括2dx的架构以及使用总得来说,给开发者带来了很大的便利: 运行环境需求:Android 2.3 or neweriOS 5.0 or newerOS X 10.7 or newerWindows (which version?)Linux Ubuntu 12.04 (or newer) 编译环境需求: Xcode 4.6 (for iOS or Mac)gcc 4.7 for Linux or Android. For Android ndk-r8e or newer is required.Visual Studi.. 阅读全文
posted @ 2013-08-09 23:48 坚固66 阅读(571) 评论(0) 推荐(0)
摘要: 在Boardconfig.mk中添加一个IS_FLAG := true由于Boardconfig.mk和各目录的Android.mk是相互关联的所以我们可以在Android.mk 中添加一个ifdef IS_FLAG LOCAL_CFLAGS += -DHHHHendif在Android.mk中添加的这行相当于在 该目录下的文件中定义了一个宏#define HHHH如果我们想要在某个工程中根据工程的不同来对相关的代码中的某段参数进行选择时,可以参考此方法 阅读全文
posted @ 2013-08-09 23:46 坚固66 阅读(453) 评论(0) 推荐(0)
摘要: 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但是最常见的是如果不按照适合其平台的要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为 32位)如果存放在偶地址开始的地方,那么一个读周期就可以读出,而如果存放在奇地址开始的地方,就可能会需要2个读周期,并对两次读出的结果的高低 字节进行拼凑才能得到该int数据。显然在读取效率上下降很多。这也是空间和时间的博弈。struct A { char c; int a; short b; };stru 阅读全文
posted @ 2013-08-09 23:44 坚固66 阅读(716) 评论(0) 推荐(0)
摘要: 1. 背景llvm自2.9版以后,已经集成了对分支概率和基本块频率的静态分析。分支概率(branch probability)是指在程序的控制流图中,从控制流从一个基本块A到其任意后继基本块Si的概率。控制流从基本块A到其所有后继基本块的概率之和为1.基本块频率(block frequency)是指在程序的控制流图中,任意基本块的执行次数。这两种信息都可以通过静态分析得到。其原理如下【1】【2】:An alternative is static profiling, in which a compiler estimates execution frequencies (not absolut 阅读全文
posted @ 2013-08-09 23:42 坚固66 阅读(1119) 评论(0) 推荐(0)
摘要: 题目大意:输入是一个整数。输出他的拆分数(即拆分的方案数),本题与1028最大的不同之处就在于他的面额只能是整数的平方代码如下:/* * 1398_1.cpp * * Created on: 2013年8月9日 * Author: Administrator */#include int main(){ //数组要开到比n值大 int n , c1[310],c2[310]; while(scanf("%d",&n),n){ int i,j,k; for(i = 0 ; i <= n ; ++i){ c1[i] = 1; c2[i] = 0; } for(i 阅读全文
posted @ 2013-08-09 23:40 坚固66 阅读(200) 评论(0) 推荐(0)
摘要: 1 依赖属性1.1 依赖属性最终值的选用WPF属性系统对依赖属性操作的基本步骤如下:第一,确定Base Value,对同一个属性的赋值可能发生在很多地方。还用Button的宽度来进行举例,可能在Style或者Trigger中对其进行赋值,也可能在xaml中进行赋值(等同与在代码中赋值),这个Base Value就要确定这些值中优先级最高的值,把它作为Base Value; ButtonSubSub 在代码中查看ValueSource截图为图1 看到BaseValueSource是StyleTri... 阅读全文
posted @ 2013-08-09 23:38 坚固66 阅读(303) 评论(0) 推荐(0)
摘要: 在做学生信息管理系统的时候,遇到了一条代码。 txtName.Text = mrc!student_Name txtResult.Text = mrc!result代码本身理解没有问题,给文本框添加内容,但是里面的"!"让我蒙圈了。第一次看见这样写的代码,不明白有什么作用,但感觉它和 "."有点关系。去网上搜索了一番,! 表示从"!"前面的记录集中取出"!"后面指定的字段的值 mrc!result = mrc.fields("result"), 即 txtName.Text = mrc.Fiel 阅读全文
posted @ 2013-08-09 23:37 坚固66 阅读(524) 评论(0) 推荐(0)
摘要: 很多技术人员觉得上级经理和技术人员经常出技术难题。如把不同来源的数据显示在一起还不能显示来源。处理重名问题是个难题。出难题可能有各种原因,可能是考察技术人员技术水平,可能是为不长工资找借口,也有可能是为了提高其他人的形象。 下级人员一般不能问”你到底是什么意思?“。 作为技术人员一般应该尽自己能力解决。甚至可以借题发挥提出更高的功能,设计更大的方案,扩大自己的工作影响范围。 如:分析不同数据属性,用重要特性而非来源区分各个数据。找借口讲条件是应付恶意难题而不撕破脸皮的常见方法。 如:要求数据来源提供全局唯一名称。 把难题反推回去一般是不想干了。 产品架构师在给开发团队提要求时,需要讲明理由,. 阅读全文
posted @ 2013-08-09 23:35 坚固66 阅读(144) 评论(0) 推荐(0)
摘要: 以前写过两个Android开发配置文档,使用NDK进行JNI开发,这样能够利用以前已经写好的C++代码。前两篇博客地址:http://blog.csdn.net/watkinsong/article/details/8829072http://blog.csdn.net/watkinsong/article/details/8829235 但是这两篇配置介绍中,多少的有些错误,这里重新整理这些错误以及要注意的问题,作为勘误文。 简介:本系列博客介绍了安卓开发环境的配置,和在安卓开发中,通过JNI调用本地C++代码,使用opencv进行开发处理,本地代码通过NDK进行编译。 参考链接:h... 阅读全文
posted @ 2013-08-09 23:33 坚固66 阅读(699) 评论(0) 推荐(0)
摘要: 一.进程通信程序员必须让拥有依赖关系的进程集协调,这样才能达到进程的共同目标。可以使用两种技术来达到协调。第一种技术在具有通信依赖关系的两个进程间传递信息。这种技术称做进程间通信(interprocess communication)。第二种技术是同步,当进程间相互具有合作依赖时使用。这两种类型的依赖关系可以同时存在。一般而言,进程有单独的地址空间。我们可以了解下可执行程序被装载到内存后建立的一系列映射等理解这一点。如此以来意味着如果我们有两个进程(进程A和进程B),那么,在进程A中声明的数据对于进程B是不可用的。而且,进程B看不到进程A中发生的事件,反之亦然。如果进程A和B一起工作来完成某个 阅读全文
posted @ 2013-08-09 23:31 坚固66 阅读(311) 评论(0) 推荐(0)
摘要: 1. 安装pure-ftpd、MySQLapt-get purge vsftpd apt-get purge pure-ftpd apt-get purge pure-ftpd-common apt-get purge pure-ftpd-mysql apt-get purge pure-ftpd-ldap apt-get install pure-ftpd-mysql mysql-server 2. 配置pure-ftpdecho "yes" > /etc/pure-ftpd/conf/ChrootEveryone echo "yes" > 阅读全文
posted @ 2013-08-09 23:29 坚固66 阅读(486) 评论(0) 推荐(0)
摘要: nib loading的过程,这个是app文档里面有说到资源编程指南 1. It loads the contents of the nib file and any referenced resource files into memory。将nib文件和其中引用到的资源文件加载到内存中。 2.It unarchives the nib object graph data and instantiates the objects。 解析nib对象,并对其进行实例化。对实例的对象初始化规则. a .By default, objects receive an init... 阅读全文
posted @ 2013-08-09 23:27 坚固66 阅读(283) 评论(0) 推荐(0)
摘要: 最近总玩CloudStack + KVM,发现在重启CloudStack服务后,host(kvm)的状态老是为alert。日志里出现如下错误提示:ERROR [agent.manager.AgentManagerImpl] (AgentManager-Handler-7:) Monitor ClusteredVirtualMachineManagerImpl$$EnhancerByCGLIB$$121cf44e says there is an error in the connect process for 1 due to null java.lang.NullPointerExcept. 阅读全文
posted @ 2013-08-09 23:25 坚固66 阅读(278) 评论(0) 推荐(0)
摘要: /*poj 3130 How I Mathematician Wonder What You Are! - 求多边形有没有核*/#include #includeconst double eps=1e-8;const int N=103;struct point{ double x,y;}dian[N];inline bool mo_ee(double x,double y){ double ret=x-y; if(ret y + eps;} // x > yinline bool mo_ll(double x,double y) { return x y - eps;} // ... 阅读全文
posted @ 2013-08-09 23:23 坚固66 阅读(212) 评论(0) 推荐(0)
摘要: 一直没认真看过android的源码,也不太敢看,稀里糊涂也敲了一年的代码,现在想好好学习了,就把常用的源码都看了一下,小伙伴们来涨姿势吧,有错误的地方,直接指出,我脸厚不怕丢人。来吧。 刚开始学android的时候我经常使用SimpleAdapter,但是后来经常用到的对象实体,SimpleAdapter也就不符合要求了,一直自己继承BaseAdapter,但是有的地方用SimpleAdapter还是比较方便的,一句话就搞定了,也不用写Adapter,所以来悄悄源码吧。 SimpleAdapter的初始化:SimpleAdapter sAdapter=new SimpleAdapter... 阅读全文
posted @ 2013-08-09 23:21 坚固66 阅读(337) 评论(0) 推荐(0)
摘要: 第2章 程序,数据,变量和计算 2.1 数据和变量 变量是一段有名字的内存, 存储程序中的信息, 描述事物的数据项; 每段定义了名字的内存只能存储一种特定类型的数据. Type; 编译器会检测错误的类型使用; 程序中出现的显式数据值叫做字面量, 有特定类型; 2.1.1 变量的命名 标识符-选择的名称; 可以是任意长度, 必须以字母, 下划线或美元符号$开始; 标识符的其他部分最好使用字母数字或下划线, 不能使用运算符(+ - * /); 大小写敏感, 不能在一个名字中包含空格或制表符; 不能数字开头;不能使用关键字, 不能是常量; NoteJava通常约定变量名小写字母开始, 词的首... 阅读全文
posted @ 2013-08-09 23:19 坚固66 阅读(434) 评论(0) 推荐(0)
摘要: 题目在这里:点击打开链接 题意:F表示前进一步,T表示变成反方向给一串FT字符,和一个n,表示可以改变多少次,求可以走到的离原点最远的距离改变就是F变成T、T变成F 关键:dfs(int d,int pos,int i,int cnt) dp[][][][] 依次表示,方向、最长距离、到字符串的哪一个点了、还剩多少改变次因为你每到一步,下一步只有两种情况:一种是方向改变,pos不变一种个是方向不变,pos朝当前+1两种情况的cnt 根据当前值是F还是T -0或者-1 哎╮(╯▽╰)╭我还是想不到这样定状态感觉这样dfs里面dp的写法好奇怪。。但是自己不会写。。参考别人那样写的。。好省代码 PS 阅读全文
posted @ 2013-08-09 23:17 坚固66 阅读(254) 评论(0) 推荐(0)
摘要: 二叉排序树二叉排序树的性质:每个节点的左子树中的所有节点的关键字都小于该节点的关键值,而右子树中的所有节点的关键字都大于该节点的关键值。二叉排序树的构造二叉排序树的构造是指将一个给定的数据元素构造为相应的二叉排序树。基本思想为:对于任给的一组数据元素{ R1, R2, …, Rn } , 可按以下方法来构造二叉排序树: (1) 令R1为二叉树的根; (2) 若R2key=arrayA[i];//从arrayA[1]开始 s->lchild=s->rchild=NULL; t=InsertBst(t,s);//调用插入函数 } return t;} 二叉排序树的插入 ... 阅读全文
posted @ 2013-08-09 23:15 坚固66 阅读(428) 评论(0) 推荐(0)
摘要: 1、关机充电其实是进入adb shell很快的方式!2、手机关机时候插入USB,手机将进入关机充电模式,那么这个模式究竟是怎么进行的,这里分析如下!(1)uboot:这里代码大概浏览了一下:u-boot\arch\arm\lib\board.c下的函数board_init_r中倒数最后几行:do_cboot(NULL, 0, 1, NULL);选择启动模式 else if(charger_connected()){ DBG("%s: charger connected\n", __FUNCTION__); charge_mode(); 这里就进入了charge模式:vlx_ 阅读全文
posted @ 2013-08-09 23:13 坚固66 阅读(667) 评论(0) 推荐(0)
摘要: 转载自http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb当我向人们介绍node.js时,通常会得到两种反应,一种人马上就能了解,另一种则是非常困惑。如果你是第二种人,请看一下我对node的解释:它是一个命令行工具。你可以通过下载源码压缩包,编译并安装;它能让你在你的终端上运行JavaScript程序,只需要输入"node my_app.js";V8 javascript引擎(Google Chrome的脚本引擎,保证了Chrome的快速运行)负责执行JS 阅读全文
posted @ 2013-08-09 23:11 坚固66 阅读(213) 评论(0) 推荐(0)
摘要: 从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定自动配置。 如何使用Convention 1. 将struts-Convention-plugin-2.1.6.jar文件复制到WEB-INF/lib路径下 2. 对于Convention插件而言,它会自动搜索位于action,ac... 阅读全文
posted @ 2013-08-09 23:10 坚固66 阅读(188) 评论(0) 推荐(0)
摘要: 有次做一个for循环(1000次左右),做的事情也是很简单的事情,就是 Double testValue = (long类型 / 8 ) * long类型 的一些加减乘除操作,但是总是出现一些数据算的不对,大部分出现数据丢失了,出现了这样一个情况 (100/8)* 60 本来等于750 ,在for中却是720 。写个Uitls类吧,使用BigDecimal处理。这个Utils可以继续add的。package com.sencloud.dh.core.utils;import java.math.BigDecimal;/** * 算法工具类 * * * * @author xutian... 阅读全文
posted @ 2013-08-09 23:08 坚固66 阅读(236) 评论(0) 推荐(0)
摘要: 最近在做一个项目,要求实现上下能滚动,每项能左右滚动,最后效果是实现了,可数据的通信可能有点麻烦,暂时又被砍掉了,先放上来存档,转载请注明出处,谢谢代码如下 public class GroupActivity extends Activity { private List gbList; // private MyListAdapter adapter; private ItemClickEvent listener; // private MyHandler handler; private GridView[] gridvs ; // private LinearLayo... 阅读全文
posted @ 2013-08-09 23:06 坚固66 阅读(272) 评论(0) 推荐(0)
摘要: 创建动画一般过程:1、创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile("animations/grossini.plist"); cache->addSpriteFramesWithFile("animations/grossini_gray.plist", "animations/g 阅读全文
posted @ 2013-08-09 23:04 坚固66 阅读(223) 评论(0) 推荐(0)
摘要: 1、为何需要分析? 最近一直接触这类驱动,如果对它的原理不懂的话,驱动调试会很麻烦!!!!!!2、ecc?nand的纠错能力,目前有1位、4位和8位,也就是说在512字节中如果是4位的ecc那就可以纠正最多4个bit的错误,一般就是翻转的错误!3、oob? 冗余区域,一般存放的是ecc纠错码,一般4位的ecc的纠错后需要的字节数为:4 bit ecc, per 512 bytes can creat 13 * 4 = 52 bit , 52 / 8 = 7 bytes ,就是需要7个字节的空间 而我们目前的nandflash的页大小一般为2kb,也就是2kb/512bytes==4,也就是说至 阅读全文
posted @ 2013-08-09 23:02 坚固66 阅读(3248) 评论(1) 推荐(1)
摘要: 题意:给你最多100个字符串,求最长的且是一半以上的字符串的公共子串,如果有多个,按字典序输出。思路:先把各个串拼起来,中间加上一个之前未出现过的字符,然后求后缀。然后根据h数组和sa数组,求出最长的公共串。#include#include#includeusing std::sort;#define V 220000int r[V],sa[V],h[V],a[V],b[V],X[V],Y[V];int acl[120],len[110],tot,mark[V],mark_len,be[V],m[110],max_len;char s[V],out1[V],out2[V];void calh( 阅读全文
posted @ 2013-08-09 23:00 坚固66 阅读(140) 评论(0) 推荐(0)
摘要: 记忆化搜索记忆化搜索:算法上依然是搜索的流程,但是搜索到的一些解用 动态规划的那种思想和模式作一些保存。一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解一个状态,就将它的解保存下来,以后再次遇到这个状态的时候,就不必重新求解了。这种方法综合了搜索和动态规划两方面的优点,因而还是很有实用价值的。虽然不能使用传统意义上的动态规划解决本题,但动态规划的思想仍然能起到作用。搜索相对于动态规划最大的劣势无非就是重复计算子结构,所以我们在搜索 阅读全文
posted @ 2013-08-09 22:58 坚固66 阅读(249) 评论(0) 推荐(0)
摘要: 原始地址:XMPPFrameWork IOS 开发(一) XMPP : The Extensible Messaging and Presence Protocol 中文全称: 可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元 流式传输。XMPP以Jabber协议为基础,而Jabber是 即时通讯中常用的开放式协议。 下面是XMPPFramework几个常用到的扩展。协议列表:协议 协议简介 XEP-0009 在两个XMPP实体间传输XML-RPC编码请求和响应 XEP-0006 使能与... 阅读全文
posted @ 2013-08-09 22:56 坚固66 阅读(439) 评论(0) 推荐(0)
摘要: 原始地址:XMPPFrameWork IOS 开发(二)译文地址: Getting started using XMPPFramework on iOS 介绍ios上的XMPPFramework你能够在Xcode/iPhoneXMPP 目录找到,它只是实现了XMPP的一小部分功能。下面主要介绍在开发XMPPFramework ios应用之前的配置工作。你最好一步一步的来。 第一步下载最新的XMPPFramework代码。下载 第二步XMPPFramework 有许多关联文件,它们已经内置在你抓下来的工程中,下面是它们的简单介绍。 CocoaLumberjack 一个日志框架 第三步 Co... 阅读全文
posted @ 2013-08-09 22:54 坚固66 阅读(383) 评论(0) 推荐(0)
摘要: 很多时候,本地测试服务器想把文件传到线上服务器的时候,很多人都是通过登陆线上服务器ssh 传输,这样挺危险的,很多弊端....所以我找了下方法,发现scp挺好用的!模拟环境:192.168.147.130 线下测试服务器 192.168.147.128 线上服务器 如果想把 1.txt 传递到线上服务器,则可以使用一下命令 scp /www/1.txt root@192.168.147.128:/www会提示输入密码: root@192.168.147.128's password: 这样这个文件,就会被传递到线上服务器了,虽然这样,但是一直输入线上服务器密码也不好,而且麻烦..... 阅读全文
posted @ 2013-08-09 22:52 坚固66 阅读(273) 评论(0) 推荐(0)
摘要: Apache Tomcat8必备知识作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs 一、Apache Tomcat 8介绍Apache Tomcat 8RC1版于前几日发布。它 经过了2年的开发,引入了很多新特征,由于目前还只是Alpha版,故不推荐在产品中使用。但是我们应该了解它有哪些新特性,以便在稳定版出来后,用到我们的开发项目中去。 Apache Tomcat 8支持Java EE 7规范,包括Java Servlet 3.1、JSP 2.3、Java统一表达式语言EL 3.0等。 我们可以来看看Tomcat最近几个版本分别支持的Ja... 阅读全文
posted @ 2013-08-09 22:50 坚固66 阅读(278) 评论(0) 推荐(0)
摘要: Unix哲学:Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition, had this to say at the time(i) Make each program do one thing well. To do a new job, build afresh ratherthan complicate old programs by adding new features.译:让每一个程序只做好一件事儿,做新的任务时,因重新构建,而不是把 旧的程序添... 阅读全文
posted @ 2013-08-09 22:48 坚固66 阅读(295) 评论(0) 推荐(0)
摘要: 这里要用到一个Comparator的接口,里面只有一个方法,compare(),我们实现这个接口就好,很简单private class ValueComparator implements Comparator> { public int compare(Map.Entry mp1, Map.Entry mp2) { return mp2.getValue() - mp1.getValue(); } } 这里为啥用mp2-mp1呢,因为我想要的排序结果是从大到小,默认的是从小到... 阅读全文
posted @ 2013-08-09 22:46 坚固66 阅读(2443) 评论(0) 推荐(0)
摘要: 中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》。万能数据库查询分析器集哈希技术、链表等多种数据结构于一体,使用先进系统开发技术,经历4年的研究、开发、测试周期后在2006年面世。之后7年来一直在进行不断地完善、升级,到目前为止,最新版本为5.02 。万能数据库查询分析器具有长达5万多行代码的工作量,使得其具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件。“万能数据库查询分析器”最新版本5.02中英文版本,已于2013-8-8日在中关村在线、华军、太平洋电脑、非 阅读全文
posted @ 2013-08-09 22:44 坚固66 阅读(197) 评论(0) 推荐(0)
摘要: 因需要,从个人的理解顺序和需求角度对live555的分析与开发整理,包含RTSP Server与RTSP Client、如何直播H.264流与JPEG流等,均进行了探讨,对live555的初学者有一定的指导意义。本人习惯使用excel归档,所以本文均为excel的截图,源文件可以再资源中下载。 基于live555的视频直播 DM368IPNC RTSP分析 appro IPNC视频流直播部分用的RTSP,基于live555,通过改写wis-streamer实现的,在live555官网上有wis-streamer的代码下载,appro将其修改,在framedso... 阅读全文
posted @ 2013-08-09 22:42 坚固66 阅读(1025) 评论(0) 推荐(0)
摘要: about:config是火狐的设置页面,火狐提供了不少高级设置选项在这里以便让你可以更加详细地控制火狐的运行方式。(官方不推荐用户手工修改about:config的设置。所以,如果你对于你想修改的内容不是非常确定的话,请不要去改变它。)打开Firefox中about:config设置的方法是在Firefox地址栏输入about:config,然后回车。以下是火狐浏览器一些比较常用的功能的设置:1.关闭最后一个标签页时不关闭整个Firefox窗口: 在about:config中,将browser.tabs.closeWindowWithLastTab 设置为false。2. 作为Firefo. 阅读全文
posted @ 2013-08-09 22:40 坚固66 阅读(1803) 评论(0) 推荐(0)