2016-08-28 craneyuan
定义 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 more 算法步骤 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 伪代码如下: 继续阅读 »
2014-03-27 Lingxian Kong
写在前面 对一个东西不懂的时候,在网上到处搜教程,搜资料,如果资料少了,还会谩骂,会沮丧;等到好不容易弄懂,到自己总结的时候,却又嫌麻烦,不愿意从基本概念开始提起,觉得太简单,不值一写。 人总是这样,想获取帮助,却又不想提供帮助。当然了,写博客也不全是为了帮助别人,更是为了帮助自己。记得曾经读过一段话,具体怎么说忘记了,但大致意思是,自认为掌握的知识,不一定能准确无误的给别人讲出来,更不用说有体系、有章法的讲出来。我在工作中也发现很多员工,看了几天代码,处理了几个问题,就觉得自己已经炉火纯青了,但当我让他从头给我讲的时候,又没有任何头绪。所以,适时的总结和回顾,也是升华自我、构筑知识体系的过程。 好了,废话不说了,今天总结 继续阅读 »
2015-08-26 Li Shuai
项目中用到了MongoDB和mongoengine, 由于平时开发都是正式线、测试线两条线, 所以正式线连接生产环境下的数据库, 而测试线连接测试线的数据库, 两个库的物理服务器配置不同, 也就是IP和端口不一致。 之前他们一般把配置文件放在一个叫settings.py的文件里, 同时把本地配置放在local_settings.py里, settings.py里会在末尾执行一下import local_settings的动作, 这样, 在测试环境下, 一些线上配置可以通过在local_settings.py里重写从而被覆盖。 随着项目的演进, 开始出现一些测试线的服务必须调正式线的情况, 这样的话, 纯覆盖配置就不好使了, 有些 继续阅读 »
2017-02-27 zzyhappyzzy
一直感觉正则表达式很神奇,非常强大,但并没有系统学习过,今天抽空过一遍,希望能够彻底掌握它 more 简介 正则表达式在处理文本信息时非常有用,不限于代码、日志文件、文档等。在开始学习正则之前,需要有这种概念:任何文本都是由单个字符组成。 继续阅读 »
2017-11-25 findneo
不知有多少人了解IP地址127.0.0.1 一定程度上是完全等价于127.1 和0x7f.1 的,不过我从上回看到ping 127.1 能正常工作开始,就一直很好奇背后的原因,最近又在 一个CTF题目 用到基于IP表示法的技巧,于是决定稍微探索一下。 我发现一个IPv4地址可能拥有上百个不同的表示形式,而由于一些历史原因,在这方面的标准尚未完全统一,因此这些形式在大部分情况下都是可被正常解析的(举个例子,URL http://000000300.0x000000000a8.00102.00000000351 会解析成http://192.168.66.233/ ),这就在绕过限制和其他一些安全问题上提供了想象的空间。 本文主要介 继续阅读 »
2014-04-19 veryyoung
这是唯品会实习生招聘的压轴题 首先吐槽下vip.com ,暑期实习生一共才招21人!太少了吧! 笔试现场各种乱,Java,Android,Tester,PHP,IOS甚至还有管培,产品经理这些,全坐一起,...人挨人的 笔试题更坑爹啊!前面选择题,都是Java语法题,感觉没多大含金量。 大题更坑啊!操作系统,网络,组成原理,算法各一题 其中前三者,都是考死知识,神马解释操作系统进程通信方式,解释段页式管理,解释TCP和UDP 最后的算法题还算不错! 题目是:O(1)时间内删除单链表节点 拿到这道题的第一想法是,我擦!你TMD逗我呢!这TMD也可能实现?! 寻思一番之后,突然发现,卧槽!这真的可以实现啊! 好吧,开始进入 继续阅读 »
2017-09-22 Eric Wang
Byteman简介 Byteman由JBoss出品,JBoss大家应该都熟悉,顶顶大名的应用服务器JBoss也出自其手。Byteman的代码插入能力相比BTrace而言更强,似乎可以在代码中任意的位置插入我们的跟踪代码(当然,你可能需要对Java代码生成、字节码技术有一定的了解),以及访问当前方法中变量的能力(包括方法参数、局部变量、甚至于调用其它函数的参数值、返回值等),而BTrace在这方面的能力要弱很多。 安装Byteman 首先去官网下载最新的压缩包,解压,配置环境变量,开始操练,老熟悉了。新建BYTEMAN_HOME值是E:\byteman-3.0.10,编辑Path环境变量,在末尾添加;%BYTEMAN_HOME% 继续阅读 »
2013-07-01 Robert Zhang
分析:先考虑一个例子: x=babgbag z=bag 答案是5,如何数数? 假设函数times(x, z)返回z在x中的次数(z可以是字符串也可以是字符——后者相当容易处理),容易得到递归解(伪代码):more cpp times(x, z) { if z.size == 1 return times(x, z[0]) //寻找字符z[0]在串x中出现的次数 s = 0 for i = 0; i < x.size; i++ if x[i] == z[0] //s[i, j]表示s从索引i开始到j结束(包括j在内)的子串,索引-1的位置指向串的最后一个字符 s += tim 继续阅读 »
2018-02-15 Lingxian Kong
Magnum 简介 Magnum 是 OpenStack 社区在巴黎峰会(2014.11)后开始的一个新的专门针对Container的一个新项目,用来向用户提供容器服务。Magnum 项目曾经红极一时,发展迅猛,这一点其实从 Magnum 相对详细的开发者文档和提供 horizon plugin 以及 puppet module 就能看得出来,一般的小项目很少能提供这么多可用组件。但随着 OpenStack 社区的分化,以及容器功能从 Magnum 中剥离,Magnum 被限制在仅提供创建和维护 COE 的能力,而且随着容器社区的高歌猛进,很多 Magnum 的开发者(或者说 OpenStack 开发者)都去玩容器相关的项目(Do 继续阅读 »
2011-04-14 Jamling
前一段时间,写了两个关于j2me打包签名的工具,界面技术使用的是SWT。在eclipse测试OK之后,将src打包为jar。其中META-INF/MENIFEST.MF中指定Main-Class为 我的main类,并且classpath等也加进去了。但在双击jar并不能成功运行。 没办法,只好写bat文件来启动swt。但惊奇的发现,竟然找不到某些类。主要还是swt包中的。刚开始还以为是java.library.path的问题,最后确定不是,当时还懵了一下子,不知道怎么解决。 后来去eclipse swt网站查看swt example的运行。才恍然大悟,原来要这样运行。兹记之 原文请参考:http://www.eclipse.o 继续阅读 »