2013年8月14日

ceph主要数据结构解析1

摘要: 1.Msgr.h文件:定义消息传输层的数据类型,以供ceph使用(1)默认的监控端口:#define CEPH_MON_PORT 6789(2)客户端处理端口范围定义:#define CEPH_PORT_FIRST 6789//监控#define CEPH_PORT_START 6800 //开始#define CEPH_PORT_LAST 6900//结束(3)tcp协议标识和版本信息:#define CEPH_BANNER "ceph v027"#define CEPH_BANNER_MAX_LEN 30//最大长度(4)ceph中的实体名称:在网络传输中使用,例如md 阅读全文

posted @ 2013-08-14 19:46 bbsno 阅读(726) 评论(0) 推荐(0)

机器学习笔记之K近邻算法

摘要: 基于实例的学习方法 K近邻算法其实是一种基于实例的学习算法。基于实例的学习方法只是简单的把样例存储起来。把这些实例中泛化的工作被推迟到必须分类实例的时候。每当学习器遇到一个新的查询实例,它分析这个新实例与以前存储的实例的关系。并据此把一个目标函数值赋给心的实例。 基于实例的学习方法包括K近邻算法和局部加权回归。本文只讲K近邻算法。 基于实例学习方法与其他算法相比:基于实例方法可以为不同的待分类查询实例建立不同的目标函数逼近。事实上,很多技术只是建立目标函数的局部逼近,将其运用于与新查询邻近的实例,而从不在整个实例空间上建立表现良好的逼近。当目标复杂但却用这种不太复杂的局部逼近时,... 阅读全文

posted @ 2013-08-14 19:44 bbsno 阅读(443) 评论(0) 推荐(0)

[C++基础]在子类中向父类的构造函数传递参数的小例子,包括类中常量的初始化

摘要: //基类:#include class Animal(){public: Animal(int height,int weight) { cout<<"Animal"<<endl; } void eat() { cout<<"animal eat"<<endl; }};//子类:class fish:public Animal(){ public: fish():Animal(400,300),a(20)//在子类fish中向父类的构造函数传递参数.a(20)是初始化fish类中的常量... 阅读全文

posted @ 2013-08-14 19:42 bbsno 阅读(484) 评论(0) 推荐(0)

jquery插件-zTree 使用出现- NotSupportedError: DOM Exception 9 错误

摘要: NotSupportedError: DOM Exception 9 Uncaught TypeError: Object function (j,s){return new b.fn.init(j,s)} has no method 'isXMLDoc' 今天帮朋友定位一个问题,使用zTree来展示Tree数据,使用的jquery1.4.4 + zTree ,但是这个项目中又掺杂了些Extjs3.1的代码,可以使用chrome Sniffer插件工具查看到 导致在使用的时候出现JS冲突错误NotSupportedError: DOM Exception 9 。 1、问题出现有 阅读全文

posted @ 2013-08-14 19:40 bbsno 阅读(396) 评论(0) 推荐(0)

Linux下如何寻求帮助(2013.08.14)

摘要: Linux的命令实在是太多了,想要全部记住是基本不可能的事情,那应该怎么办呢?当然,那就是查了,下面介绍几种如果在linux中获得你想要的信息。1、你可以查询命令的简单描述,使用whatis命令,比如:[root@localhost ~]# whatis passwd passwd (1) - update a user's authentication tokens(s) passwd (5) - password file passwd [sslpasswd] (1ssl) - compute password hashes 2、可以通过命令本身的help进行查询,Command 阅读全文

posted @ 2013-08-14 19:37 bbsno 阅读(157) 评论(0) 推荐(0)

Hydra dvwa brute force使用小记

摘要: 刚刚开始学习web安全, 在本地机器上搭建了dvwa测试环境, 开始brute force的测试。下面是通过浏览器显示出来的html代码 Username: Password: Username and/or password incorrect. 通过下方的链接http://hiderefer.com/?http://www.owasp.org/index.php/Testing_for_Brute_Force_%28OWASP-AT-004%29提供了两个暴力美学破解的工具, 由于本机环境是linux, 很自然的选择hydra(hydra是九头蛇的意思, 一般看到英文的软件... 阅读全文

posted @ 2013-08-14 19:35 bbsno 阅读(1257) 评论(0) 推荐(0)

UESTC 1307 windy数

摘要: 数位dp,dp[i][j][k],i表示3类数字:1类表示windy,0类表示当前所有windy数,0类表示以0开头的windy但加上前导零就不是windy的数,2类表示除了0类以外的windyj范围0~9,表示以j开头的windy数。k表示位数 j表示以0~9开头的数字#include#include#define LL long longint dp[3][11][30];//1表示windy,0表示以0开头的windy但加上前导零就不是windy的数,2表示除了0类以外的windyint a[15];void init(){ int i,j,k; for(i=0;i=2)dp... 阅读全文

posted @ 2013-08-14 19:33 bbsno 阅读(190) 评论(0) 推荐(0)

排序算法c语言描述---归并排序

摘要: 排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。二。通过《大话数据结构》一书的截图,详细分析该算法 。在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确实是通俗易懂,值得一看。ps:一个较为详细的学习链接 http://blog.csdn.net/MoreWindows/article/category/859207 六。归并排序一。个人理解归并(Merge)排序法是将两个(或两个以上 阅读全文

posted @ 2013-08-14 19:31 bbsno 阅读(253) 评论(0) 推荐(0)

【机器学习实践(1)】配置python编程环境

摘要: 机器学习实践这一系列文章,是作者参考一些有价值的机器学习实践实例后的总结。和网上最多的机器学习文章的最大区别是:这一系列文章,都立足于代码实现和实际效果展现。大部分文章会使用python实现算法。欢迎转载,转载时请注明出处:转自 “Miner帆的博客《数据火花》:http://blog.csdn.net/dataspark"为什么选择python?作为一种看似简洁却内涵丰富的语言,python本身在机器学习/数据挖掘方面并没有什么优势。python虽然形式简单,但繁琐的语法细节让我觉得它的学习成本并不低。但scipy(http://www.scipy.org/)等强大的第三方库,让p 阅读全文

posted @ 2013-08-14 19:28 bbsno 阅读(826) 评论(0) 推荐(0)

【设计模式】学习笔记11:模板方法(Template Method)

摘要: 本文出自 http://blog.csdn.net/shuangde800 —— 工厂方法是模板方法的一种特殊版本。——如果你只想掌握一种设计模式,那么它就是模板方法! 走进模板方法 我们知道泡咖啡和泡茶的步骤是很类似的: 咖啡泡法:1. 把水煮沸2. 用沸水冲泡咖啡3.把咖啡倒进杯子4.加糖和咖啡 泡茶方法:1.把水煮沸2.用沸水侵泡茶叶3.把茶倒进杯子4.加柠檬 如何设计这两种饮料的类?一个简单的方法是直接分别针对茶和咖啡设计一个类咖啡Coffe类里面实现方法:boilWater();brewCoffeeGrinds();pourInCup();addSugarAnd... 阅读全文

posted @ 2013-08-14 19:26 bbsno 阅读(343) 评论(0) 推荐(0)

Coding the Matrix Week 3 The Matrix 矩阵

摘要: 本周共有三次作业。所花费的时间为一天左右,还算可以,需要注意的是考虑一些特殊情况,写出能够通用的程序,这就行了。 体会 set()和{}结果相同,可以通用,可以采取后者。>>> type({})>>> type(set())>>> type(dict())>>> {}==set()False>>> {}==dict()True 作业1 hw3 这一节讲的是矩阵的运算。值得注意的是左乘和右乘稀疏矩阵的意义,和矩阵求逆的方法和线性方程组的通解。 左乘矩阵,对于这个稀疏矩阵的任意点(i,j),相当于把矩阵第j行 阅读全文

posted @ 2013-08-14 19:24 bbsno 阅读(294) 评论(0) 推荐(0)

HDU 4276 树形DP The Ghost Blows Light

摘要: 原题直通车: HDU 4276 The Ghost Blows Light 题意: 一颗树有n个结点,每个结点有若干宝物,每条路径需要若干时间.一个人开始在结点1,问能不能在规定 的时间T内到达结点n. 若能, 算出他能在规定时间T内最多拿到多少宝物. 分析: 先DFS搜出结点1到结点n的路径及必过的结点并求出最短时间t,如果t超出T,则无法到达. 否则, 将必过的路径摧毁,记下能拿到的宝物数并且总时间减去t, 将必过的结点均作为0的子结点,路径为0. 这样则将树转换成以0为根结点. 此时只需求从0点开始在剩余时间(T-t)内最多能拿到多少宝物,普通DP即可. 代码:#include#in.. 阅读全文

posted @ 2013-08-14 19:22 bbsno 阅读(169) 评论(0) 推荐(0)

[C++基础]友元函数

摘要: 通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为public(共用的),然而这做带来的问题遍是任何外部函数都可以毫无约束的访问它操作它,c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作,避免把类成员全部设置成public,最大限度的保护数据成员的安全。 友元能够使得普通函数直接访问类的保护数据,避免了类成员函数的频繁调用,可以节约处理器开销,提高程序的效率,但矛盾的是,即使是最大限度的保护,同样也破坏了类的封装特性,这即是友元的缺点,在现在cpu速度越来越快的今天我们并不推荐使用它,但它作为c++一个必要的知识点,一个完 阅读全文

posted @ 2013-08-14 19:19 bbsno 阅读(171) 评论(0) 推荐(0)

[置顶] Eclipse IDE for c++配置

摘要: 从工作到现在已经有快一年多没用过C/C++了,现在想重新捡起来,但是以前一直是在windows下面进行开发,使用最多的是Eclipse和Myeclipse,因为这些都是开源的软件,并不收费,所以现在也想用Eclipse进行C/C++开发。 配置环境:Eclipse IDE for C/C++和Ubuntu13.04 32bit1)从http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplerr下载32bit的eclipse-ide-cc-developers2)解压eclipse-cpp-kepler-R. 阅读全文

posted @ 2013-08-14 19:17 bbsno 阅读(290) 评论(0) 推荐(0)

SICP 习题 (1.6) 解题总结

摘要: SICP 习题 1.6 还是讲的正则序和应用序,问题是从if过程的讨论开始的,习题说到名叫Alyssa P. Hacker的人觉的不需要为if提供一种特殊形式,可以直接用常规过程调用cond来实现。我第一次看到这道题的时候的完全不明白题目是什么意思,我当时的反应是,“if有特殊形式吗?”,我没觉的if有什么特殊呀。有这样的反应是因为没有认真思考习题1.5,这次做题目比较细致,做习题1.5的时候就想过,使用正则序展开过程的时候,不理会if,直接展开所有过程不是更简单一些吗?后来发现,不理会if,直接展开过程是会导致问题的,必须对if进行特殊的处理才能让解释器正常工作。 我们先回想一下习题1.5, 阅读全文

posted @ 2013-08-14 19:15 bbsno 阅读(755) 评论(0) 推荐(1)

Eclipse用法和技巧二十三:查看JDK源码

摘要: 使用java开发,如果能阅读JDK的经典代码,对自己的水平提高是很有帮助的。笔者在实际工作中总结了两种阅读JDK源码的方式。第一种下载android源代码,直接在android源码代码中,这里的代码虽然不是标准的JDK源码,但是也很不错值得一看。另外一种,就是笔者接触java之后一直使用的方式,直接访问JDK源码,无须下载其他文件。 步骤一:在eclipse中,按住Ctrl+鼠标右键访问String类 步骤二:在eclipse打开的空白页中选择change Attached Source,打开对话框 步骤三:在弹出的对话框中,选择external file,在安装的JDK目录下找到一... 阅读全文

posted @ 2013-08-14 19:12 bbsno 阅读(184) 评论(0) 推荐(0)

【机器学习实践(2)】K近邻(KNN)模型

摘要: 根据machine learing in action 第二章改编machine learing in action是一本介绍机器学习实例的书,书中大量使用了scipy系列库,像matlab一样使用python。对我们学习python科学计算和理解机器学习都有很大的帮助。本文根据其第二章内容改编,原作代码有一些问题,这里的代码都是作者重新写的。转载请注明出处: 本文来自数据火花 http://blog.csdn.net/dataspark1. 理论基础K近邻模型,也常被叫做K最邻近结点算法。它是直接拿已经标注的数据做模型的一种统计学习方法(即,不需要额外的训练过程)。 对于待分类的样本点,在已 阅读全文

posted @ 2013-08-14 19:10 bbsno 阅读(420) 评论(0) 推荐(0)

Spring Batch流程介绍

摘要: Spring Batch流程介绍:上图描绘了Spring Batch的执行过程。说明如下: 每个Batch都会包含一个Job。Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也就是这些Step,至于Step干什么活,无外乎读取数据,处理数据,然后将这些数据存储起来(ItemReader用来读取数据,ItemProcessor用来处理数据,ItemWriter用来写数据) 。JobLauncher用来启动Job,JobRepository是上述处理提供的一种持久化机制,它为JobLauncher,Job,和Step实例提供CRUD操作。 外部控制器调用JobLauncher 阅读全文

posted @ 2013-08-14 19:08 bbsno 阅读(197) 评论(0) 推荐(0)

构建Maven

摘要: 构建Maven Maven Ant 标准构建文件 project.xml 和 maven.xml build.xml 特性处理顺序 1. ${maven.home}/bin/driver.properties2. ${project.home}/project.properties3. ${project.home}/build.properties4. ${user.home}/build.properties5. 通过 -D 命令行选项定义的系统特性最后一个定义起决定作用。 1. 通过 -D 命令行选项定义的系统特性2. 由 任务装入的特性第一个定义最先被处理。 构... 阅读全文

posted @ 2013-08-14 19:06 bbsno 阅读(132) 评论(0) 推荐(0)

刚子扯谈:一个调皮小子也能鼓捣教育?

摘要: 文/刚子 2013年8月12日 北京阴霾 开片语:有点没想到,在线教育市场被这么多人关注,无论是现在传统教育机构还是投资分析师,他们都一股脑儿冒了出来,然后做了评论。同时该文在下午被搜狐教育等门户转载,被微博@今日头条 做了转载,瞬间被各大佬、同行、资本分析师等转载,如暴风冯鑫、知名博主陈志刚,安博公共部、优学网总经理,赛迪迪网、德同资本等等, 我为什么钟爱虎嗅网; 爱范儿、极客公园、梅花等是我去年还经常看的科技类网站,三年前我会看新浪科技、IT新闻网、艾瑞、TECHWEB等,但是去年自从炳叔推荐了虎嗅后,我基本上成了一个虎迷,特别是对一个互联网迷而言,这种内容犀利,观点新颖,可读性极... 阅读全文

posted @ 2013-08-14 19:03 bbsno 阅读(206) 评论(0) 推荐(0)

Spring Batch从csv文件读取再生成csv文件

摘要: Spring Batch从csv文件读取再生成csv文件目录结构为src/main/java/com/ermdashboard.SpringBatchCSVpackage com.ermdashboard.SpringBatchCSV;importorg.springframework.batch.item.ItemProcessor;importorg.springframework.stereotype.Component;/*** ItemProcessor类。*/@Component("csvItemProcessor")public class CsvItemPr 阅读全文

posted @ 2013-08-14 19:01 bbsno 阅读(811) 评论(0) 推荐(0)

poj 3245 Sequence Partitioning

摘要: Sequence PartitioningTime Limit:8000MSMemory Limit:65536KTotal Submissions:922Accepted:256Case Time Limit:5000MSDescriptionGiven a sequence ofNordered pairs of positive integers (Ai,Bi), you have to partition it into several contiguous parts. Letpbe the number of these parts, whose boundaries are (l 阅读全文

posted @ 2013-08-14 18:59 bbsno 阅读(201) 评论(0) 推荐(0)

mysql +java中文乱码

摘要: 第一种情况:mysql能插入中文,但是java查询、更新处理中文乱码 1,找到 Mysql 安装目录下的 my.ini 文件,用记事本打开:如果你的文件某部分与下面的部分内容一致 [mysql] default-character-set= latin1 -------------------------------------------------------------------------------------------------- [mysqld] # The TCP/IP Port the MySQL ... 阅读全文

posted @ 2013-08-14 18:57 bbsno 阅读(284) 评论(0) 推荐(0)

HDU 4666 Hyperspace【最远曼哈顿距离+优先队列】

摘要: 这个题是动态的求最远曼哈顿距离。做法和POJ 2926 Requirements一样,都是通过二进制枚举符号的情况。每插入一个节点都要询问最大值和最小值,因此用一个优先队列或者堆维护就可以了。 #include #include #include #include #include using namespace std;#define N 60010#define inf 0x3fffffffint q, k, a[5];bool vis[N];struct node1 { int x, id; bool operator a.x; }}t2;priority_queue ... 阅读全文

posted @ 2013-08-14 18:54 bbsno 阅读(259) 评论(0) 推荐(0)

Set集合容器

摘要: 1、set集合容器创建set集合对象//创建set对象时 要指定元素类型 元素排列按默认比较规则 比较规则可以自己定义#include#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ sets; return 0;} 2、set集合容器元素的插入与中序遍历//使用insert()方法 插入的具体规则在默认比较规则下 是按元素值由大到小插入的 比较规则可自己定义//set(集合)——包含了经过排序了的数据,这些数据的值(value)必须是唯 阅读全文

posted @ 2013-08-14 18:52 bbsno 阅读(184) 评论(0) 推荐(0)

堆排序实现

摘要: #include #define parent(i) i/2#define left(i) 2*i#define right(i) 2*i+1using namespace std;/* function: heapsort.*/void swap(int *a, int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;}void max_heapify(int *a, int i,int N) //保持堆的性质(递归版){ int l ; int r; int largest = -1; l = left(i); r = ri... 阅读全文

posted @ 2013-08-14 18:50 bbsno 阅读(134) 评论(0) 推荐(0)

手机网站调试神器之chrome控制台

摘要: 现在真是一个信息化的时代,每个人手里都拿着一款智能机,上班下班走路坐车之余都会玩玩手机,上上网。于是作为广大网站媒体来说,争抢手机市场无疑是刻不容缓。对于我们Web前端工程师来说,了解并掌握手机编程的任务也是刻不容缓。下面为大家推荐一款比较不错的手机调试软件chrome。经常调试手机网站的码农们,一定会为手机调试软件而发愁,找不到比较合适的手机网站调试工具。我也是无意中发现chrome控制台的软件设置中就具备了各种手机屏幕的尺寸。我们只要用它就很方便完成调试工作了。下面介绍一下chrome调试的方法。1、打开chrome(下面的步骤如果不成功,请先升级chrome浏览器)2、按F12打开Dev 阅读全文

posted @ 2013-08-14 18:48 bbsno 阅读(2165) 评论(1) 推荐(0)

CC Sereja and Ballons (主席树)

摘要: 转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove题意:有n个盒子,每个盒子有若干个气球,每次操作可以拿走某个盒子的一个气球,然后 给出一些区间,问每次操作后有多少个区间的盒子全为空。http://www.codechef.com/AUG13/problems/SEABAL 做法:用链表维护一下当前位置前一个非0位置,下一个非0位置。如果当前位置为k,前一个非0位置为l,下一个非0位置为r。那么当前位置减为了0,此时增加的区间应该是左端点在(l,k] ,右端点在[k,r)。那么接下来就是查询一下有多少个 阅读全文

posted @ 2013-08-14 18:45 bbsno 阅读(213) 评论(0) 推荐(0)

Multiset多重集合容器

摘要: 1、Multiset多重集合容器 multiset元素的插入//插入重复键值#include#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ multiset ms; ms.insert("111"); ms.insert("333"); ms.insert("222"); ms.insert("ada"); ms.insert("aba" 阅读全文

posted @ 2013-08-14 18:43 bbsno 阅读(177) 评论(0) 推荐(0)

ZOJ 3626 Treasure Hunt I

摘要: 题意:给定一颗无向树和点权值,问遍历树day次能得到的最大权n表示n个结点,下面一行表示所有点的权值下面n-1行给出边和边的花费最后一行给出起点和day一个树形dp状态转移:dp[x][j]=Max( dp[v][k] + dp[x][ j-dis[x][v]-k ] , dp[ x ][ j ] ); #include#include#include#include#include#include#include#define N 105#define M 300#define INF 1000000using namespace std;vectorG[N];int dis[N][N... 阅读全文

posted @ 2013-08-14 18:41 bbsno 阅读(197) 评论(0) 推荐(0)

hdu 2072

摘要: 题目链接 按常规方法得考虑各种情况,比较麻烦学习了一下STL的应用 #include #include #include #include using namespace std;set t;int main(){ string s,row; while(getline(cin,row)&& row!="#") //按行输入 { t.clear(); stringstream str; str>s) //>>每次输入以空格或'\0'结束 t.insert(s); //插入 cout<<t.si... 阅读全文

posted @ 2013-08-14 18:39 bbsno 阅读(146) 评论(0) 推荐(0)

poj 3498 (最大流,枚举汇点)

摘要: 题意:有n块浮冰,每块上有一定数量的企鹅,每块浮冰可以承受企鹅跳一定的次数后消失,给出企鹅跳的最大距离,求所有企鹅能跳到哪块浮冰上见面。建图:添加源点,汇点,源点与浮冰相连,容量为浮冰上企鹅的数量,浮冰之间可以相互连边,所以要拆点,拆完后点与拆点间连边,容量为浮冰能承受企鹅跳的次数,如果两块浮冰i,j间可以到达,加边i+n—>j,j+n—>i,容量无穷大。然后枚举所有浮冰与汇点相连求最大流。 #include#includeconst int N=210;const int inf=0x3fffffff;int dis[N],gap[N],head[N],num,start,end 阅读全文

posted @ 2013-08-14 18:36 bbsno 阅读(209) 评论(0) 推荐(0)

排序算法--冒泡排序

摘要: 冒泡排序是最简单入门的排序算法了。我们来分析分析。 1 假设我们要排序的数组如下,排序结果按升序排列。int array[] = {43,24,12,56,78,9,67,50}; 2 其数组长度为int n = array.length; 3 冒泡排序的定义是将最大值依次向数组右侧移动。也就是说需要相邻的元素进行比较。那么这么操作的规律就如下了: (1) 第一次循环比较,数组中的最大值被移动到最右侧。 (2) 第二次循环比较,数组中第二大的值被移动到倒数第二位。并且最右侧的值不用进行比较了。 (3) 第三次循环比较,数组中... 阅读全文

posted @ 2013-08-14 18:34 bbsno 阅读(134) 评论(0) 推荐(0)

IOS学习:在一个UIViewController中实现侧边菜单的思路及demo

摘要: 最近做项目要用到侧边菜单栏 网上找了一下,发现这个开源库:https://github.com/inferis/ViewDeck 功能强大(强大在哪没有深究) clone过来一看,代码太多了,不用了。还是自己搞一个能符合项目需求的就可以了。。 效果图: 实现思路:在ViewController的view里面放一个UIScrollView,将UIScrollView的contentSize的宽度设置成屏幕宽度加上侧边菜单的宽度,点击显示菜单的按钮时滑动UIScrollView到指定的位置即可。(不放到UIScrollView里面的话,主视图在菜单出现的时候没有向左的推动效果,是不动的... 阅读全文

posted @ 2013-08-14 18:32 bbsno 阅读(439) 评论(0) 推荐(0)

JSTL详解(四)

摘要: JSTL详解(四)迭代标签的使用如果使用scriptlets,那么,我们经常使用Iterator或者Enumeration来进行迭代,如: Iterator it = collection.iterator(); while(it.hasNext()){ SomeBean someBean = (SomeBean)it.next(); out.println(someBean.getXXX()); …………..}在前面的一次中,我们开发过一个迭代标签,JSTL中也提供了对迭代进行支持的标签,并且,他的功能比上一章的强大的多。JSTL中的迭代标签有两个:l ;l ;1、专门处理TokenStr. 阅读全文

posted @ 2013-08-14 18:30 bbsno 阅读(192) 评论(0) 推荐(0)

提高你的Java代码质量吧:多种最值算法,适时选择

摘要: 一、分析对一批数据进行排序,然后找出其中的最大值或最小值,这是基本的数据结构的知识。在Java中我们可以通过编写算法的方式,也可以通过数组先排序再取值的方式来实现。二、场景1.自行实现,快速查找最大值,代码如下:public static int max(int[] data){ int max = data[0]; for(int i :data){ max = max > i ? max : i; } return max; } 这是我们经常使用的最大值算法,也是速度最快的算法。它不要求排序,只要遍历一遍数组即可找出最大值。2.先排序,后取值... 阅读全文

posted @ 2013-08-14 18:27 bbsno 阅读(261) 评论(0) 推荐(0)

android之requestWindowFeature详解

摘要: requestWindowFeature可以设置的值有: 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定 3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时 4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度 5.FEATURE_LEFT_ICON:标题栏左侧的图标 6.FEATURE_NO_TITLE:无标题 7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启 阅读全文

posted @ 2013-08-14 18:25 bbsno 阅读(168) 评论(0) 推荐(0)

APUE读书笔记-第16章-网络IPC: 套接字

摘要: 16.1 引言*进程能够通过套接字网络IPC接口和其他进程通信。通过该接口,其他进程运行位置是透明的,它们可以在同一台计算机上也可以在不同的计算机上。实际上,这正是套接字的目标之一:同样的接口既可以用于计算机间通信又可以用于计算机内通信 *16.2 套接字描述符*要创建一个套接字,可以调用socket函数int socket(int domain, int type, int protocol);*套接字通信是双向的,可以采用函数shutdown来禁止套接字上的输入/输出int shutdown(int sockfd, int how); 16.3 寻址*确定一个目标通信进程使用进程标识的方式 阅读全文

posted @ 2013-08-14 18:23 bbsno 阅读(144) 评论(0) 推荐(0)

[置顶] Spring Framework Reference Documentation Translation(Overview of Spring Framework)

摘要: Spring框架参考文档(3.2.4)第一部分Spring框架概述 Spring框架是一个轻量级的解决方案以及潜在的一站式企业级应用。但是Spring又是模块化的,各个模块又是相互解耦的。可以在Struts的基础上使用IOC容器,也可以同时使用集成的Hibernate和jdbc。Spring框架支持声明式事务,还可以通过RMI或者Web服务远程访问逻辑层,以及各种类型的持久化数据的方式。它提供了功能强大的MVC框架,将AOP非侵入的植入到应用程序中。Spring被设计成非侵入式的,逻辑代码与Spring框架本身没有关系。在集成层(比如数据访问层)会依赖于第三方数据访问技术或者Spring架包。 阅读全文

posted @ 2013-08-14 18:21 bbsno 阅读(262) 评论(0) 推荐(0)

Pomelo杂记(一)

摘要: 1、通讯类 ------------------------------------- 目前Pomelo服务器提供两类connector:sioconnector和hybridconnector,分别对于基于socket.io和二进制的通讯。 1.1 sioconnector 支持基于socket.io的通讯协议,也是Pomelo框架默认采用的connector(主要是兼容老版本)。之前基于socket.io的服务器和客户端代码不用修改就可以使用(默认使用)。 1.2 hybridconnector 支持socket和websocket,使用二进制通讯协议,并且支持r... 阅读全文

posted @ 2013-08-14 18:18 bbsno 阅读(655) 评论(0) 推荐(0)

行列有序数组求给定数是否存在

摘要: 沿对角线二分,并对独行独列进行优化输入示例:样例输入:3 351 2 34 5 67 8 93 312 3 45 6 78 9 103 3122 3 45 6 78 9 10样例输出:YesNoNo #include #include #include using namespace std;const int kMaxM = 1000;const int kMaxN = 1000;int array[kMaxM][kMaxN] = {0};int m, n, k;bool IsExists(int x1, int y1, int x2, int y2) { // cout k) { ... 阅读全文

posted @ 2013-08-14 18:16 bbsno 阅读(142) 评论(0) 推荐(0)

indexedDB中创建和使用索引

摘要: 前言关于indexedDB的基础知识,可以查阅 Indexed Database API(W3C)sUsing_IndexedDB(MDN) 和使用IndexedDB (中文).关于indexedDB的索引,我仔细翻看了W3C API才弄明白是怎么回事,在上面另外2个链接的教程中,都没有介绍索引的使用。索引,就是以数据的快速查询为目的。本文展示如何在indexedDB中创建和使用索引来优化数据查询。网上搜索到的indexedDB入门教程中,都没有介绍索引的使用,或是只带过了一下怎么创建索引,没提可以用来干什么。我在这里给出一个简洁完整的例子,示范一下indexedDB索引的使用。 索引需求场. 阅读全文

posted @ 2013-08-14 18:13 bbsno 阅读(1145) 评论(0) 推荐(0)

linux下access函数的应用

摘要: Linux内核总是根据进程的有效用户ID和有效组ID来决定一个进程是否有权访问某个文件。因此,在编写调整用户ID的程序时,在读写一个文件之前必须明确检查其用户是否原本就有对此文件的访问权限。为了实现这种确认,需要使用access函数。 一般形式为; #include int access(const char *pathname,int mode); 其中,pathname是希望检验的文件名(包含路径),mode是欲检查的访问权限,如下所示 R_OK 检验调用进程是否有读访问权限 W_OK 检验调用进程是否有写访问权限 X_OK 检验调用进程是否有执行访问权限 F_OK 检验规定的文件... 阅读全文

posted @ 2013-08-14 18:11 bbsno 阅读(147) 评论(0) 推荐(0)

VBox中出现UUID have already exists 解决方法

摘要: 有两种方法:一种是利用vbox自带的更改uuid号的命令虚拟硬盘的uuid更改一下:命令如下VBoxManage.exe internalcommands sethduuid +“你的虚拟硬盘” 另一种是在vbox中的虚拟介质管理中把相同的那个uuid给删除掉(这是因为删除虚拟机时候没有选择“删除所有”,只是选择移除造成的) 阅读全文

posted @ 2013-08-14 18:09 bbsno 阅读(279) 评论(0) 推荐(0)

《linux命令行和shell脚本编程宝典》学习笔记2

摘要: 其中很多内容是这篇文章上的:http://coolshell.cn/articles/5426.html 第七章 使用编辑器 一、vim有两种运行模式:-------------正常模式:在正常模式下,vim编辑器会将击键解释为命令-------------插入模式:即输入字符模式有正常模式进入插入模式可以按i键;由插入模式进入正常模式可以按Esc键; 二、简单命令1、基础命令 x删除当前光标所在的一个字符 :wq存盘+退出,:w 存盘,:q退出 。:w filename 给文件重新命名 dd删除当前行,并把删除的行存到剪贴板里 p粘贴剪贴板 yy复制当前行 ... 阅读全文

posted @ 2013-08-14 18:06 bbsno 阅读(270) 评论(0) 推荐(0)

[置顶] C++

摘要: 由于今年报了C++,又不能够上补习班,所以只能自己找资料自学,先看了看题库,发现直接背是不可能的,因为不理解就想会也是很难的,所以只能现看书了。 刚开始看了第一章绪论,初步了解了以下C++,发现和VB有几分相像,而且C++是在C语言的基础上支持面向对象。换句话说也就是它全面兼容C,并且支持面向对象的方法。 面向对象的方法:首先,它将数据及对数据的操作方法放在一起,作为一个相互依存,不可分离的整体—对象。对同类型对象抽象出其共性,形成类。对象:面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成。类:面向对象方法中... 阅读全文

posted @ 2013-08-14 18:04 bbsno 阅读(191) 评论(0) 推荐(0)

调试flex生成的代码

摘要: c语言中可以使用词法分析器flex 通过写好的正则表达式来生成一些DFA自动机的c语言代码, 里面包含了自动机的状态。在网络协议分析尤其是应用层协议分析的时候会用到, 或者是使用BPF过滤器的语法的软件中, 比如libpcap, wireshark, nfdump, l7-filter等等。 如何使用gdb或者oprofile或者perf tool来进行调试呢? gdb老的版本可能就乱了或者每次进入到yy.lex.c之类的文件中运行n命令只会打印出行号, 并不会显示出本行的c语言代码, 最新的gcc版本编译的可能能够识别。但是oprofile和perf就没有这么强大的功能了, 尝试了到目前最新 阅读全文

posted @ 2013-08-14 18:02 bbsno 阅读(356) 评论(0) 推荐(0)

Pomelo杂记(二)

摘要: 1、访问后端服务器handler ------------------------------------- 客户端也可以直接调用后端服务器的handler,但是内部实际上是先连接到前端服务器,在components/server.js中执行 app.sysrpc[routeRecord.serverType].msgRemote.forwardMessage 通过rpc调用后端服务器的forwardMessage方法(/game-server/node_modules/pomelo/lib/common/remote/backend/msgRemote.js),在for... 阅读全文

posted @ 2013-08-14 17:59 bbsno 阅读(1182) 评论(0) 推荐(0)

hdu 4666 Hyperspace

摘要: 点击打开hdu 4666思路:n维空间计算最远的曼哈顿距离 分析: 1 这一题和poj2926很像,但是poj那题是静态的而这边则是动态的,对于静态的话我们知道只要去求出2^n状态下的最大值和最小值,然后求最大的差值即为ans 2 但是对于动态的来说我们需要去维护每一个状态的最大值和最小值,因此我们利用multiset来保存每一个状态下的所有的值,因为multiset是自动排序那么我们就可以很好的求出最大值和最小值 3 注意这边保存点不能够用struct要用数组,因为每次保存在结构体里面的话回去调用构造函数时间开销很大 代码:#include#include#include#include#. 阅读全文

posted @ 2013-08-14 17:57 bbsno 阅读(125) 评论(0) 推荐(0)

Extjs3.0 checkboxGroup 动态添加

摘要: Extjs3.0 中的CheckboxGroup默认不能动态添加item。虽然它继承了Ext.form.Field,但是却类似于容器。 CheckboxGroup配置中的items处理生成一个对应的panel,该处理过程只有一次,所以很难对CheckboxGroup进行动态添加。 如需要数据动态创建,试着创建整个CheckboxGroup,而不是动态添加item。var unitColumns=[];for(var i = 0;i < records.length;i++){ unitColumns.push({ boxLabel: records[i].data.A11, name: 阅读全文

posted @ 2013-08-14 17:54 bbsno 阅读(382) 评论(0) 推荐(0)

python 可变数据和不可变数据解析

摘要: python 的数据类型和C不一样,有一种类型:可变类型 (mutable)和不可变类型(immutable)Python中所有变量都是值的引用,也就说变量通过绑定的方式指向其值。 而这里说的不可变指的是值的不可变。 对于不可变类型的变量,如果要更改变量,则会创建一个新值,把变量绑定到新值上,而旧值如果没有被引用就等待垃圾回收。不可变的类型还有一个特性,就是可以计算其hash值,这样才能进一步作为字典的key。可变类型数据对对象操作的时候,不需要再在其他地方申请内存,只需要在此对象后面连续申请(+/-)即可,也就是它的address会保持不变,但区域会变长或者变短。不可变类型包括:int st 阅读全文

posted @ 2013-08-14 17:52 bbsno 阅读(171) 评论(0) 推荐(0)

导航