API设计新思维:用流畅接口构造内部DSL
普通的API抽象方式存在天然的缺陷,通过基本元素/语义构造更高级抽象元素/语义的时候,语言的构造规则很大程度上限制了抽象的维度,我们很难跳出这个维度去,甚至可能根本意识不到这个限制。流畅接口不同于传统的API设计,它突破了语言抽象机制带来的定势思维,根据问题域选取适当的抽象维度,利用语言的基本语法构... ...
案例分析:项目组内踢皮球事件
你的项目出了严重问题,客户向你公司的领导投诉,你的领导兴师问罪要追究责任!这是测试的错?开发的错?PM的错?还是研发流程的错?中国教育制度的错?社会的错?反正、总之、一定、必须不是我的错! ...
项目管理的“三边六拍”!
“三边”是指:边计划、边实施、边修改,“六拍”是指:拍脑袋、拍肩膀、拍胸口、拍桌子、拍屁股、拍大腿!“三边六拍”很形象,引人深思! ...
试水Windows 8 Metro application(xaml)及我的一些理解
前不久,微软召开了Build大会,向开发者们公布了最新版本的Windows 系统,即Windows 8的一些信息。从各方面的反应来看,总体还是比较积极的(微软这次的大会算是舍了大本了,每个参会人员都免... ...
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用52
调整公司在吃午饭时一般都分为三派,吴言和研发中心的人员一般都去地下二层吃份饭,而王文斌、梁秀娟他们则是出去吃饭,还有几个人是自己带饭。这天,又到了吃午饭的时间,吴言一反常态,首先提议道:“王总,今天我请客,咱们去上地环岛那边的渔公渔婆去吃吧!”王文斌一听显得有些意外,不过还是说道:“好呀!难得吴总请... ...
C#客户端的异步操作
上篇博客【用Asp.net写自己的服务框架】我讲述了如何实现自己的服务框架,但我想很多人应该用过WebService这类服务框架,相比起来,似乎还缺少什么东西,是的,我也感觉到了。比如:我可以很容易地利用WebService, WCF框架编写一个服务,在客户端也可以很容易地通过【添加服务引用】的方式... ...
自动开机调用迅雷下载数据库备份,完成后自动关机
首先声明一下,本文并无多深的技术含量,只是记录下这两天实现的一个自动下载工具过程中遇到的一些问题和解决方法。欢迎大家讨论,另外如果您有更好的实现方式,欢迎提出宝贵意见,谢谢。问题需求:公司服务器上的数据库每天凌晨都会备份一次,我已经做了一个工具将备份好的数据库文件压缩,并放到一个配置好下载的文件夹下... ...
MP4文件格式的解析,以及MP4文件的分割算法
mp4应该算是一种比较复杂的媒体格式了,以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,毕竟mp4才是H.... ...
“品质在于构建过程”吗?
模型是软件的灵魂,在软件诞生之前就已经存在于设计者的心中,而软件的构建过程正是心中的世界向现实世界逐渐投影。如同光具有波粒二象性,软件开发也具有艺术创作和工业生产的二象性,它包含了柔性的设计和刚性的过程。 ...
Android环境搭建(XP/Win7)
Android环境搭建 版本记录 版本 修改/创建人 修改/创建时间 备注 V1.0.0 蓝燕 2010年12月28日 建立文档 V1.0.1 蓝燕 2011年5月26日 修改、补充文档 V1.0.2 蓝燕 ... ...
Android 创世纪 第二天
第二天,google说,荒芜要被开垦,系统便运作了,它是linux。 --xxx 荒蛮大地就要变得肥沃,linux已经运行起来了。。。。 linux就不多讲了,这里只讲讲被google大刀阔斧改了内核后的linux。 第一天最后,内核init已经干完了自己的事,把控制权交给了第一个用户级进程,也叫做... ...
【设计原则和建议】 方法
方法 1.一个方法内的代码不能超过30行.绝大部分方法都可以在30行内结束.这是一种强迫开发者优化设计和代码的方式. 2.什么样的方法不应该抛出异常?静态构造函数,抛出以后整个类型就再也无法使用了.构析函数.属性的get方法 (有些类的设计会违背这个特性).Dispose (理论上也不应该抛出异常,... ...
Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline
引子 引子 很久没更新了,今天写点关于Asp.Net MVC的PipeLine。首先我们确认一点,Asp.Net WebFrom和Asp.Net MVC是在.Net平台下的两种web开发方式。其实他们都是基于Asp.Net Core的不同表现而已。看下面一张图,我们就能理解了WebForm和Asp. ...
分享我对领域驱动设计(DDD)的学习成果
领域驱动设计之领域模型 加一个导航,关于如何设计聚合的详细思考,见这篇文章。 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设 ...
[T1 Silverlight Training] Day 1 : Overview & UI Elements
本文是从C#开发人员到Windows Phone 7高级开发人员只需3周的第一篇Day 1 : UI Elements (XAML, Controls, Layout, DP/AP, Style, RenderTransform)目录 Silverlight历史1Silverlight应用程序2 X... ...
Flash: 涅磐与重生
10月3号,Flash Player 11 和 AIR 3.0正式提供下载,一片安静。最近这两年来,关于Flash的新闻一向是以负面为主,先是 Silverlight 的挑战,然后是 iphone和ipad的不支持及html5的良好预期,Flash 看似风雨飘摇,明灭不定。实则不然。我个人观点:Si... ...
使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统。众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为LNMP(Linux+Nginx+MySQL+PHP with fpm),这是因为Nginx采用基于事... ...
探讨 T-SQL 的 EXISTS、EXCEPT、INTERSECT 算符
本帖先探讨 IT 人的职涯规划,再回到技术面,研究 T-SQL 的 UNION、EXISTS、EXCEPT、INTERSECT 运算符。 ...