代码改变世界

随笔档案-2013年3月15日

编程原则

2013-03-15 23:02 by java20130722, 337 阅读, 收藏,
摘要: 转自点击打开链接编程的原则,广为人认知的:1. KISS – Keep It Simple, Stupid! 小即是美2. DRY – Don’t Repeat Yourself 不要总重复自己作无意义的事情先说KISS, 这是Unix哲学的至高教义,引申起来就是:一个程序只做一件事,并做好;程序要能协作,程序要能处理文本流(因为这是最通用的接口)。再深入下来就可以概括如下:(1) 模块原则: 使用简洁的接口拼合简单的部件。(2) 清晰原则: 清晰胜于机巧。(3) 组合原则: 设计时考虑拼接组合。(4) 分离原则: 策略与机制分离,接口与引擎分离。(5) 简洁原则: 设计要简洁,降低复杂性。( 阅读全文

Ubuntu下设置默认java

2013-03-15 22:49 by java20130722, 286 阅读, 收藏,
摘要: 首先要把java的各种环境变量设置完接着执行update-alternatives --install /usr/bin/java java $(your_dir)/jdk1.6.0_12/bin/java 300 update-alternatives --install /usr/bin/javac javac $(your_dir)/jdk1.6.0_12/bin/javac 300通过这一步将我们安装的jdk加入java选单然后执行update-alternatives --config java 通过这一步选择系统默认的jdk然后执行java -version查看java 是否是我们 阅读全文

Connection listeners: accepting TCP connections 翻译

2013-03-15 22:35 by java20130722, 473 阅读, 收藏,
摘要: 连接监听器:接收TCP连接evconnlistener机制给我们提供一种监听和接收TCP连接的方法。在本节中所有的函数和类型都声明在头文件里。除非其他地方提到,否则这些在libevent-2.02-alpha首次给出。创建和释放 一个evconnlistener接口struct evconnlistener *evconnlistener_new(struct event_base *base, evconnlistener_cb cb, void *ptr, unsigned flags, int backlog, evutil_socket_t fd); struct ev... 阅读全文

代码之美中的二分搜索算法--Java版

2013-03-15 16:42 by java20130722, 151 阅读, 收藏,
摘要: 很多人写二分搜索的时候,都会存在一些纰漏,前段时间看到代码之美里面有一段程序,总结了二分搜索package com.algorithms.binsearch; public class BinSearch { // expert experience, absolute right ! public static int find(String[] keys, String target) { int high = keys.length; int low = -1; while (high - low > 1) { int probe = (high + lo... 阅读全文

一些用位运算解决的方法

2013-03-15 16:35 by java20130722, 214 阅读, 收藏,
摘要: 所有程序均来自于网上。1、判断奇偶bool isEven(int n) { if (n & 1) { return true; } else return false; }2、改变符号int changeSign(int n) { return ~n + 1; }3、取绝对值int abs(int n) { return (n ^ (n >> 31)) - (n >> 31); }4、高地位互换int exchange(unsigned int n) { return (n >> 16) | (n << 16); }5、二进制中 1 的个 阅读全文

HelloWorldForU ---九度Online Judge

2013-03-15 13:08 by java20130722, 326 阅读, 收藏,
摘要: 题目描述:Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, "helloworld" can be printed as:hde ll rlowoThat is, the characters must be printed in the original order, starting top-down from the left vertical line with n1 characters, 阅读全文

字符串组合

2013-03-15 12:28 by java20130722, 319 阅读, 收藏,
摘要: 题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。本文整理自http://zhedahht.blog.163.com/blog/static/2541117420114172812217/一般的做法请看原文链接。本文把评论中提到的方法整理出来,思路如下:模拟2进制加法器,某一个为1,则取对应的字符,若为0则不取,就能够实现字符组合。设有n个字符。int num 从 1 自增到 2^n -1, 将num右移i位,跟1做按位&操作,即可判断第i个字符取还是不取。int main(int argc, char** a 阅读全文