摘要: 要求:解法越复杂,越有趣越好。最好用上大学数学。有更厉害的,可以用上研究生数学。程序员的话,比谁代码写的长。越长越好。 阅读全文
posted @ 2010-03-19 18:46 暮夏 阅读(642) 评论(6) 推荐(0)
摘要: 早上还在床上的时候,用手机看到了博客园上一个全排列算法。刚才,出去晒了一下太阳,突然想起那个全排列算法,感觉还是比较的繁琐。回来后,我仔细分析了一个这个问题,觉得,实际上,3行代码就可以解决这个问题了。顺便,也说说,递归问题的一般解决思路吧。这个问题,非常明显,是一个 n! 复杂度的程序,如果是这样,基本上的递归结构是这样的。f(n) = n * f(n-1)看到这样的问题,典型的结构 应该就是 ... 阅读全文
posted @ 2010-03-19 15:18 暮夏 阅读(2606) 评论(0) 推荐(1)
摘要: 这篇文章,写的比较早,有一些错误的说法,我表示非常歉意。一些代码,没有经过严格的测试,以后写博客一定要非常谨慎。因为可能会对一些人产生误导。在写PHP 程序的时候,很多人在传递参数的时候,喜欢用一个引用。特别是在一个数组非常的大的时候,更是喜欢加。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function binsearch(&$arr,$key,$value) { $low=0; $high=count($arr); whil 阅读全文
posted @ 2010-03-11 21:31 暮夏 阅读(1206) 评论(12) 推荐(0)
摘要: 原文地址:http://bbs.chinaunix.net/viewthread.php?tid=11264411.概述早期U N I X系统把用户口令保存在一个纯文本可读的“口令文件”中,这可能在系统管理员注意不到的情况下被截取并暴露。它也可能在一次偶然事件中泄露。从AT&T UNIX版本6开始,Thompson 等决定采用一个不同的方式: U N I X口令采用... 阅读全文
posted @ 2010-03-10 20:47 暮夏 阅读(706) 评论(0) 推荐(0)
摘要: PHP扩展好的资源不多,转的这个朋友应该是个高手。他在实践中摸索出来的这些经验和大家分享。红色部分是我的注释。更多信息参看:http://blog.chinaunix.net/u1/57558/showart_455870.html常用的通用功能已经封装好了,在如zen_API.h 头文件中,不用费力查看内部细节,浪费时间。(参考:Extending and Embedding PHP 的附录A)... 阅读全文
posted @ 2010-03-09 19:20 暮夏 阅读(856) 评论(0) 推荐(0)
摘要: 暮夏,您好!rainbird给您发了短消息:已经写了不少后台运行的deamon了.用的挺顺手的,但是我现在想获取管道传过来的内容,不知道咋实现,类似echo "aaaa" |a.php,a.php怎么获得echo的内容,不知道您有什么高见.今天收到一条消息,解决的方法给大家分享一下:实际上,shell 的 | 实际上表示的是 前一个的 标准输出 作为后一个的标准输入。虽然实现是通过pipe来实现的... 阅读全文
posted @ 2010-03-01 11:55 暮夏 阅读(2564) 评论(0) 推荐(0)
摘要: 如何在batch文件中把当前的路径记录在一个变量里,并运用这个变量? 比如batch文件存储在c:\csdn\microsoft\google\中,我怎么获取这个路径,并把它存储在一个变量里? 谢谢a. 这个问题第1个回答:mark 这个问题第2个回答:@echo off setlocal EnableDelayedExpansion echo 当前正在运行的批处理文件所在路径:!cd! paus... 阅读全文
posted @ 2010-02-25 12:34 暮夏 阅读(3139) 评论(0) 推荐(0)
摘要: 今天我的服务器突然停止复制了。因为对这块不是很熟悉,就上网学习了一下,发现了一篇好文章。不敢独享,和大家来分享一下。 众所周知MySQL5.1的Replication是比较烂的。MySQL的每一个版本更新关于同步方面每次都是可以看到一大堆。但MySQL 5.1性能是比较突出的。所以经不住诱惑使用MySQL 5.1。所以也要经常遇到一些Bug。如: mysql> show slave stat... 阅读全文
posted @ 2010-02-04 15:26 暮夏 阅读(6382) 评论(0) 推荐(0)
摘要: 上面一个系列的教程:用 Socket 和 Pcntl 实现一个多进程服务器(一) PHP多进程编程(一) PHP多进程编程(二)管道通信 PHP多进程编程(三)多进程抓取网页的演示 说的都是只兼容unix 服务器的多进程,下面来讲讲在window 和 unix 都兼容的多进程(这里是泛指,下面的curl实际上是通过IO复用实现的)。 通过扩展实现多线程的典型例子是CURL,CURL 支持多线程的抓取网页的功能。这部分过于抽象,所以,我先给出一个CURL并行抓取多个网页内容的一个分装类。这个类实际上很实用,详细分析这些函数的内部实现将在下一个教程里面描述。 你可能不能很好的理解这个类,而且,ph 阅读全文
posted @ 2010-01-30 00:44 暮夏 阅读(5997) 评论(6) 推荐(2)
摘要: 要理解这个部分的代码,请阅读:用 Socket 和 Pcntl 实现一个多进程服务器(一) PHP多进程编程(一) PHP多进程编程(二)管道通信 我们知道,从父进程到子经常的数据传递相对比较容易一些,但是从子进程传递到父进程就比较的困难。有很多办法实现进程交互,在php中比较方便的是 管道通信。当然,还可以通过 socket_pair 进行通信。首先是服务器为了应对每一个请求要做的事情(发送一个url 序列,url序列用\t 分割。而结束标记是 \n)代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http 阅读全文
posted @ 2010-01-29 20:18 暮夏 阅读(3496) 评论(10) 推荐(2)
摘要: 1.非法的数据过滤1.1数据检查:通过链接传递的常数你永远要假定它可以是任意的值。一个合格的程序,它首先有一套过滤系统,过滤数据的有效性。一般来说,在js的客户端,会有一个过滤,提示你输入了非法的数据,但是js很容易被绕过,所以,服务器端还要执行相同的检查。一般检查的项目如下:1.是否是布尔类型2.是否是一个字母3.是否是整数4.是否是小数5.是否是个email6.是否是个url7.是否是个正确的... 阅读全文
posted @ 2010-01-28 15:07 暮夏 阅读(1090) 评论(3) 推荐(1)
摘要: 一个进程如果是个人英雄主义,那么多进程就是集体主义。(不严格区分多进程 和 多线程的差别)你不再是一个独行侠,而是一个指挥家。独来独往,非常自由自在,但是,很多时候,不如众人拾柴火焰高。这就是我对多进程的理解。多线程编程的主要问题是:通信 和 同步问题。更多PHP 多线程编程的背景知识见:PHP多进程编程(一) 在PHP 中,如果光用pcntl ,实现比较简单的通信问题都是很困难的。下面介绍管道通信:1. 管道可以认为是一个队列,不同的线程都可以往里面写东西,也都可以从里面读东西。写就是在队列末尾添加,读就是在队头删除。2. 管道一般有大小,默认一般是4K,也就是内容超过4K了,你就只能读,不 阅读全文
posted @ 2010-01-20 22:59 暮夏 阅读(6519) 评论(1) 推荐(3)
摘要: 错误处理是程序中的一个很重要的部分。合理的错误报告的的设计,可以让我们的调试变的轻松。通过位运算设计错误报告是一种很常见的方法,下面通过PHP 中处理错误报告的方式,阐述错误报告的处理方法。1. 定义错误。一般,每一个位代表一个错误,那么一个unsiged int 可以定义 32 种错误。这里列举PHP4 中的定义方法:编 号常 量报 告0x001E_ERROR致命的运行时错误(它会阻止脚本的执行... 阅读全文
posted @ 2010-01-20 10:45 暮夏 阅读(629) 评论(0) 推荐(0)
摘要: 虽然PHP 中,多进程用的比较的少。但是毕竟可能是会用到了。我最近就遇到这样一个问题,用户提交几百个url以后,要读出这个url 中的标题。当然,你不希望用户等待的太久,10s 钟应该给出个答案。但是,本身,你要获取一个url 的标题,少的要 0.1s ,多的要好几秒。显然,采用单个线程的方式是不行的。 我的第一个设计方案是这样的: 1. 用我前面提供的代码提供一个简单的服务器: http://www.cnblogs.com/niniwzw/archive/2009/09/27/1575002.html 这个服务器的作用是:提供一个url,然后,就读取标题。这里,可以每次读128个字节,看看. 阅读全文
posted @ 2010-01-18 22:23 暮夏 阅读(5725) 评论(1) 推荐(0)
摘要: 很想了解一些交易软件的数据存储方式。看到了一篇好文章,Mark 一下。核新同花顺数据结构(一):总览同花顺采用了简易的数据库组织方式。在同花顺的发布文件包中包括了SQLite 3的驱动,但不是很清楚同花顺是如何使用这个驱动的。基本上,对同花顺数据结构的解析不需要这么复杂,同花顺发布文件包中的SQLite文件被核新程序员重新编译过,不过就与SQLite Manager的简单配合使用来看,并不影响对标... 阅读全文
posted @ 2010-01-15 16:34 暮夏 阅读(2095) 评论(0) 推荐(0)
摘要: 因为工作需要,经常要写window 和 unix 系统兼容的程序。可是,我在visual studio 2005 上写好Makefile 以后,放到freebsd上,就是编译不了,报下面的错误:make: fatal errors encountered -- cannot continue我写了一个很简单的测试Make :helloworld:main.o mylib.ogcc main.o m... 阅读全文
posted @ 2010-01-07 11:28 暮夏 阅读(1055) 评论(1) 推荐(0)
摘要: 阅读全文
posted @ 2009-12-30 14:34 暮夏 阅读(950) 评论(1) 推荐(0)
摘要: C 语言的语法简单,也没有C++ 中,这样多的功能 和 概念。但是,用C 写一个好的程序却不是很简单的问题。一般来说,如果,你只想用C 写个 2000行的小程序,那么或许,你不需要遵守什么规则,可以自由的发挥。但是,如果写一个上万行的程序,如果太自由,你会发现,到最面很难控制。而原因就是因为C 太自由。 这篇文章先阐述函数的书写规则。 1. 函数的书写规则:1.1 函数的一个最重要的规则是,对任何... 阅读全文
posted @ 2009-12-28 23:33 暮夏 阅读(815) 评论(4) 推荐(1)
摘要: memcpy 和 一个字节一个字节的复制的一个区别就是,memcpy 可以复制一个cpu 的字 而 单字节复制只能复制一个字节。但是,今天还发现了一个很重要的特点,复制的速度 还和 内存的内容相关,如果目标内存 和 当前内存的内容差不多,发现居然复制速度要快一些。这个是我在测试字符串复制的性能的时候发现的,可以参考我前面的文章。http://www.cnblogs.com/niniwzw/arch... 阅读全文
posted @ 2009-12-28 14:11 暮夏 阅读(2623) 评论(0) 推荐(0)
摘要: strcpy 看似是标准函数库里面最简单的函数了,谁都可以实现这个函数,但是,并不一定谁都能实现的很好。林锐博士面试微软的时候,就做这个题目。他也没有把这个题目完全的做对。建议你自己先动手写一个自己的,不要先看答案。估计有 90%的人写出来的,达不到性能的要求。如果想看前面部分的答案,看上一篇文章:http://www.cnblogs.com/niniwzw/archive/2009/12/19/... 阅读全文
posted @ 2009-12-23 16:52 暮夏 阅读(1186) 评论(16) 推荐(1)