博客园 - Birdshover
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=171941
2018-12-03T03:32:55Z
Birdshover
https://www.cnblogs.com/birdshover/
feed.cnblogs.com
https://www.cnblogs.com/birdshover/p/3807251.html
express-partials与express4.x不兼容问题 - Birdshover
在express中设置view engine为html,express-partials会导致语法不正确,其实只要做一行代码的改动就可以function renderer(ext){ if(ext[0] !== '.'){ ext = '.' + ext; } //新增一行代码 if(...
2014-06-24T16:38:00Z
2014-06-24T16:38:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】在express中设置view engine为html,express-partials会导致语法不正确,其实只要做一行代码的改动就可以function renderer(ext){ if(ext[0] !== '.'){ ext = '.' + ext; } //新增一行代码 if(... <a href="https://www.cnblogs.com/birdshover/p/3807251.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/12/02/1894703.html
选择结构(if..else..,switch,try..catch..)的拆分 - Birdshover
编程中经常遇到很多条件,以及条件套条件的情况,以至于一个方法会写得非常地长。有多种方法可以规避这个问题。比如反射,策略模式,表驱动等等。先抛开这些方法不讲,从根本需求来探索这个过程。
2010-12-02T09:17:00Z
2010-12-02T09:17:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】编程中经常遇到很多条件,以及条件套条件的情况,以至于一个方法会写得非常地长。有多种方法可以规避这个问题。比如反射,策略模式,表驱动等等。先抛开这些方法不讲,从根本需求来探索这个过程。
<a href="https://www.cnblogs.com/birdshover/archive/2010/12/02/1894703.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/06/25/1764828.html
该省代码的地方要省,反之亦然。 - Birdshover
意大利输球了,睡不着阿!现在就剩下德国和阿根廷是比较喜欢的球队了。还是聊聊代码上的事情吧。什么地方该省代码?在我参与、开发和接触到的很多项目中,曾经都很喜欢在开始阶段做一个设计。这本身没有错,问题在于,经常在还没有用户或者网站总用户才几十万的场景下,去考虑高并发,去考虑高负载,去设计能够跑在N台服务器上的架构。现在想来这都没有错,不去尝试,不去思考就不会进步。当然,所考虑绝不是仅仅这一个问题,而是...
2010-06-24T17:46:00Z
2010-06-24T17:46:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】意大利输球了,睡不着阿!现在就剩下德国和阿根廷是比较喜欢的球队了。还是聊聊代码上的事情吧。什么地方该省代码?在我参与、开发和接触到的很多项目中,曾经都很喜欢在开始阶段做一个设计。这本身没有错,问题在于,经常在还没有用户或者网站总用户才几十万的场景下,去考虑高并发,去考虑高负载,去设计能够跑在N台服务器上的架构。现在想来这都没有错,不去尝试,不去思考就不会进步。当然,所考虑绝不是仅仅这一个问题,而是... <a href="https://www.cnblogs.com/birdshover/archive/2010/06/25/1764828.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/03/21/1691090.html
dell笔记本的Broadcom 802.11b/g 无线网卡ubuntu 9.10下安装 - Birdshover
本本的无线网卡驱动一直安装不上,搞的很不方便。查阅了大量资料,dell和broadcom官方都没有提供linux下的驱动。现有的驱动是b43,参考http://linuxwireless.org/en/users/Drivers/b43不过说明都是英文的不说,按照上面的方式安装最后出现了问题。汗~~~~~~~~反正就是没搞定.............这下没辙了。又仔细查看了自己的网卡芯片类型:$s...
2010-03-21T10:29:00Z
2010-03-21T10:29:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】本本的无线网卡驱动一直安装不上,搞的很不方便。查阅了大量资料,dell和broadcom官方都没有提供linux下的驱动。现有的驱动是b43,参考http://linuxwireless.org/en/users/Drivers/b43不过说明都是英文的不说,按照上面的方式安装最后出现了问题。汗~~~~~~~~反正就是没搞定.............这下没辙了。又仔细查看了自己的网卡芯片类型:$s... <a href="https://www.cnblogs.com/birdshover/archive/2010/03/21/1691090.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/03/16/1687301.html
四步完成跨平台调用——thrift的开发应用 - Birdshover
一、安装thrift首先,你要有个Linux平台,反正安装好了就行,用不着太多的东西。thrift这个东东可以在http://www.thrift-rpc.org/下载。具体在http://www.thrift-rpc.org/?p=thrift.git;a=shortlog;h=refs/misc/instant,一般点第一个snapshot就行了,这是最新的。版本几个小时更新一个,太牛叉了。接...
2010-03-16T07:48:00Z
2010-03-16T07:48:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】一、安装thrift首先,你要有个Linux平台,反正安装好了就行,用不着太多的东西。thrift这个东东可以在http://www.thrift-rpc.org/下载。具体在http://www.thrift-rpc.org/?p=thrift.git;a=shortlog;h=refs/misc/instant,一般点第一个snapshot就行了,这是最新的。版本几个小时更新一个,太牛叉了。接... <a href="https://www.cnblogs.com/birdshover/archive/2010/03/16/1687301.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/03/12/1684439.html
facebookde 的 NoSQL数据库cassandra的配置与调用(java&&c#) - Birdshover
上次说了安装的问题,可以参考《VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题》。当然,在windows下也可以使用,但是要设置JAVA_HOME参数,然后启动目录bin里的cassandra.bat。编辑cassandra.bat看到if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%改成if NOT D...
2010-03-12T08:08:00Z
2010-03-12T08:08:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】上次说了安装的问题,可以参考《VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题》。当然,在windows下也可以使用,但是要设置JAVA_HOME参数,然后启动目录bin里的cassandra.bat。编辑cassandra.bat看到if NOT DEFINED CASSANDRA_HOME set CASSANDRA_HOME=%CD%改成if NOT D... <a href="https://www.cnblogs.com/birdshover/archive/2010/03/12/1684439.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/03/10/1682837.html
VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题 - Birdshover
本文记录一下我在VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题。
2010-03-10T10:51:00Z
2010-03-10T10:51:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】本文记录一下我在VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题。 <a href="https://www.cnblogs.com/birdshover/archive/2010/03/10/1682837.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/02/10/1667244.html
大道化简,重构的艺术 - Birdshover
这个题目貌似很大,有成为标题党人的嫌疑。其实我想说的是一些小事,就是我小时候经常去小渠里抓鱼。而抓鱼的方式也很简单,就是拿砖块,泥巴把小渠的两头堵起来,然后把中间的水舀出去。软件为什么要重构?那是因为你感觉不够好。之所以感觉不够好,原因可能会很多。我想,最严重的一个可能就是设计混乱。设计混乱牵扯的方面很多,有依赖上的,有调用上的。也有根本实现不了目的,或者很难扩展。有很多人重构时候干脆就是把代码重...
2010-02-10T11:10:00Z
2010-02-10T11:10:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】这个题目貌似很大,有成为标题党人的嫌疑。其实我想说的是一些小事,就是我小时候经常去小渠里抓鱼。而抓鱼的方式也很简单,就是拿砖块,泥巴把小渠的两头堵起来,然后把中间的水舀出去。软件为什么要重构?那是因为你感觉不够好。之所以感觉不够好,原因可能会很多。我想,最严重的一个可能就是设计混乱。设计混乱牵扯的方面很多,有依赖上的,有调用上的。也有根本实现不了目的,或者很难扩展。有很多人重构时候干脆就是把代码重... <a href="https://www.cnblogs.com/birdshover/archive/2010/02/10/1667244.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/02/08/1665972.html
读自己的书,走自己的路 - Birdshover
本文只是阐述我自己的想法。而我在思考,如何寻求编程的道理,而不是仅仅掌握技术。在我的观点中,术是最初级的东西,由术形成学,而最终总是能反映为道。道是什么东西?在我看来,道并不复杂。术要远比道复杂。目前讲各种各样技术的书籍非常多,相信没有一个人全部读过。但是这些书说阐述的道却不是太多,也有可能根本就没有讲到道。各种各样从入门到精通之类的书籍就不说了,这些书籍很少涉及到道,基本上全部是讲术。是教你如何...
2010-02-08T08:20:00Z
2010-02-08T08:20:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】本文只是阐述我自己的想法。而我在思考,如何寻求编程的道理,而不是仅仅掌握技术。在我的观点中,术是最初级的东西,由术形成学,而最终总是能反映为道。道是什么东西?在我看来,道并不复杂。术要远比道复杂。目前讲各种各样技术的书籍非常多,相信没有一个人全部读过。但是这些书说阐述的道却不是太多,也有可能根本就没有讲到道。各种各样从入门到精通之类的书籍就不说了,这些书籍很少涉及到道,基本上全部是讲术。是教你如何... <a href="https://www.cnblogs.com/birdshover/archive/2010/02/08/1665972.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/02/07/1665570.html
厨师炒菜与网站反爬虫问题 - Birdshover
上周部门同事中午一起吃饭时,有同事提到一个问题。具体这个问题干啥的忘记了,只记得是要你设计一个餐馆的工作流程。工作流程就啥也不说了,只是那天中午,我想到到的是合并炒菜。合并炒菜就是指,当某段时间内,如果有人要了同样的菜,那个这个菜就优先炒。当时就想,这在编程中和连接池很相似。而12月份在公司的挖宝任务中,就有一个关于反某IP在单位时间内访问次数的任务。当时想到的方法是在内存中建立一个列表,每次访问...
2010-02-07T14:47:00Z
2010-02-07T14:47:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】上周部门同事中午一起吃饭时,有同事提到一个问题。具体这个问题干啥的忘记了,只记得是要你设计一个餐馆的工作流程。工作流程就啥也不说了,只是那天中午,我想到到的是合并炒菜。合并炒菜就是指,当某段时间内,如果有人要了同样的菜,那个这个菜就优先炒。当时就想,这在编程中和连接池很相似。而12月份在公司的挖宝任务中,就有一个关于反某IP在单位时间内访问次数的任务。当时想到的方法是在内存中建立一个列表,每次访问... <a href="https://www.cnblogs.com/birdshover/archive/2010/02/07/1665570.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/02/01/1661239.html
jre6的webservice使用Php类库nusoap调用的问题 - Birdshover
jre6的webservice使用Php类库nusoap调用碰到的三个问题。
2010-02-01T10:13:00Z
2010-02-01T10:13:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】jre6的webservice使用Php类库nusoap调用碰到的三个问题。 <a href="https://www.cnblogs.com/birdshover/archive/2010/02/01/1661239.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/01/27/1657670.html
mysql master/slave 使用感受 - Birdshover
使用mysql的master/slave部署已经有一段时间。这种架构不能从根本上弥补数据结构设计失误带来的性能问题。聊胜于无。
master/slave模式中,数据同步非常快。而master/slave/slave则会相对慢一些(就是master->slave(作为新的master)->slave,是串联的三个节点),有时候可能会有延迟,不过不严重。
最近使用起来主要是在维护上积累了一些经验。以案例说明吧。
2010-01-27T08:30:00Z
2010-01-27T08:30:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】使用mysql的master/slave部署已经有一段时间。这种架构不能从根本上弥补数据结构设计失误带来的性能问题。聊胜于无。
master/slave模式中,数据同步非常快。而master/slave/slave则会相对慢一些(就是master->slave(作为新的master)->slave,是串联的三个节点),有时候可能会有延迟,不过不严重。
最近使用起来主要是在维护上积累了一些经验。以案例说明吧。 <a href="https://www.cnblogs.com/birdshover/archive/2010/01/27/1657670.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2010/01/11/1644267.html
java开发守护进程 - Birdshover
其实就是想开发个Windows下系统服务一样的程序。而查了好久资料,没找到java如何开发linux的守护进程。用C语言开发感觉太麻烦了,何况还要嵌入业务。使用Servlet的话也行,但是需要额外安装tomcat。
经过一天实验,终于发现,原来这么简单!
2010-01-11T08:59:00Z
2010-01-11T08:59:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】其实就是想开发个Windows下系统服务一样的程序。而查了好久资料,没找到java如何开发linux的守护进程。用C语言开发感觉太麻烦了,何况还要嵌入业务。使用Servlet的话也行,但是需要额外安装tomcat。
经过一天实验,终于发现,原来这么简单! <a href="https://www.cnblogs.com/birdshover/archive/2010/01/11/1644267.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/11/26/1611586.html
实现高效易用的java操作mysql包装 - Birdshover
为了简化一些操作,同时为了能兼容其他数据库,因此并没用使用SqlHelper的形式。
这只是个简单模型的开发方式,没用纳入数据连接池等内容。
我看了网上大部分的SqlHelper在类型转换方面都很有问题,而且返回结果使用ArrayList包装了一下。在这里的包装主要是为了避免这两个问题。
2009-11-26T12:53:00Z
2009-11-26T12:53:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】为了简化一些操作,同时为了能兼容其他数据库,因此并没用使用SqlHelper的形式。
这只是个简单模型的开发方式,没用纳入数据连接池等内容。
我看了网上大部分的SqlHelper在类型转换方面都很有问题,而且返回结果使用ArrayList包装了一下。在这里的包装主要是为了避免这两个问题。
<a href="https://www.cnblogs.com/birdshover/archive/2009/11/26/1611586.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/11/01/1593797.html
部分NLuke版本源码更新(2009-11-1) - Birdshover
产品名:NLuke版本号:0.1.3作 者:谢平项目地址:http://code.google.com/p/nluke/源码下载:http://nluke.googlecode.com/svn/trunk/ (使用svn checkout)更新时间:2009-11-1 02:04平台需求:.Net Framework 2.0帮助信息:Lucene.Net索引管理工具NLuke使用帮助(带界面图像)...
2009-10-31T18:13:00Z
2009-10-31T18:13:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】产品名:NLuke版本号:0.1.3作 者:谢平项目地址:http://code.google.com/p/nluke/源码下载:http://nluke.googlecode.com/svn/trunk/ (使用svn checkout)更新时间:2009-11-1 02:04平台需求:.Net Framework 2.0帮助信息:Lucene.Net索引管理工具NLuke使用帮助(带界面图像)... <a href="https://www.cnblogs.com/birdshover/archive/2009/11/01/1593797.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/10/31/1593691.html
单件模式的陷阱 - Birdshover
话说到这里就讲出了单件模式的陷阱。我又去网上随便翻阅了一下,大多数文章都是点在了如果构建单件模式,没有讲网站的实例。而TerryLee的文章讲到了,但是没有描述可能会遇到这个问题。
2009-10-31T13:35:00Z
2009-10-31T13:35:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】话说到这里就讲出了单件模式的陷阱。我又去网上随便翻阅了一下,大多数文章都是点在了如果构建单件模式,没有讲网站的实例。而TerryLee的文章讲到了,但是没有描述可能会遇到这个问题。 <a href="https://www.cnblogs.com/birdshover/archive/2009/10/31/1593691.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/10/26/1590264.html
一个不必要的设计 - Birdshover
这个不必要的设计应该说是当前时期的不必要设计更加准确一些。 10月份进了新公司,先了解业务,同时开始做技术架构,现在刚写完概要设计。这是一个全新的项目,在我来之前,只进行过需求的分析,分析文档已经很全面了。总得来说,这是一个需要面对业务扩展的项目的,因为项目二期、三期的扩张主要是业务上的扩张。 做的技术架构从整体上讲是一个三层架构(也可以称为4层),前端表现层(表现+业务组织),中间是BLL,后面...
2009-10-26T14:16:00Z
2009-10-26T14:16:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】这个不必要的设计应该说是当前时期的不必要设计更加准确一些。 10月份进了新公司,先了解业务,同时开始做技术架构,现在刚写完概要设计。这是一个全新的项目,在我来之前,只进行过需求的分析,分析文档已经很全面了。总得来说,这是一个需要面对业务扩展的项目的,因为项目二期、三期的扩张主要是业务上的扩张。 做的技术架构从整体上讲是一个三层架构(也可以称为4层),前端表现层(表现+业务组织),中间是BLL,后面... <a href="https://www.cnblogs.com/birdshover/archive/2009/10/26/1590264.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/09/25/1574280.html
网站、数据库的衍变之路(六) - Birdshover
这种方式很像是面试投递简历,你把简历投递出去,你并不知道简历是哪个人处理的,而处理完后,回复给你的还是这个邮箱地址就行了。这个邮箱要是是很多人公用的,那么就和这里的原理一样了。
2009-09-25T15:30:00Z
2009-09-25T15:30:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】这种方式很像是面试投递简历,你把简历投递出去,你并不知道简历是哪个人处理的,而处理完后,回复给你的还是这个邮箱地址就行了。这个邮箱要是是很多人公用的,那么就和这里的原理一样了。 <a href="https://www.cnblogs.com/birdshover/archive/2009/09/25/1574280.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/09/25/1574198.html
网站、数据库的衍变之路(五) - Birdshover
作为一个网站管理员来说,但网站遇到性能瓶颈,那就会思考,为什么网站遇到的性能问题,有什么样的解决思路。在前四篇中,我们讲到了一些办法,讲得最多的是拆分应用或者叫做垂直划分。那为什么会产生垂直划分这种思路?
2009-09-25T09:55:00Z
2009-09-25T09:55:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】作为一个网站管理员来说,但网站遇到性能瓶颈,那就会思考,为什么网站遇到的性能问题,有什么样的解决思路。在前四篇中,我们讲到了一些办法,讲得最多的是拆分应用或者叫做垂直划分。那为什么会产生垂直划分这种思路? <a href="https://www.cnblogs.com/birdshover/archive/2009/09/25/1574198.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/birdshover/archive/2009/09/22/1572065.html
ASP.NET Forms验证的安全性问题研究——为什么加密代码需要配置为服务 - Birdshover
申明:这个帖子不是要你去干啥坏事,就是提醒一下你可能会遇到的安全性问题。
本文将分三部分讲实际应用中将会遇到的安全性问题,并且加以研究,并尝试提出解决方案。
一、简单的Forms被破解危机
二、垂直划分站点的Forms被破解危机
三、危机将带来什么后果
2009-09-22T12:19:00Z
2009-09-22T12:19:00Z
Birdshover
https://www.cnblogs.com/birdshover/
【摘要】申明:这个帖子不是要你去干啥坏事,就是提醒一下你可能会遇到的安全性问题。
本文将分三部分讲实际应用中将会遇到的安全性问题,并且加以研究,并尝试提出解决方案。
一、简单的Forms被破解危机
二、垂直划分站点的Forms被破解危机
三、危机将带来什么后果 <a href="https://www.cnblogs.com/birdshover/archive/2009/09/22/1572065.html" target="_blank">阅读全文</a>