IT技术博客

IT技术博客,精选各种精华文章供您阅读,是您学习各种IT技术的博客优选之地

横看成岭侧成峰 列数据库也有自己的春天

列数据库是什么?它究竟有什么样的作用?这些问题可以说是质疑者们经常谈到的。虽然列数据库默默无闻,但是它们的能力与优势,却是不容抹杀的,列数据库也会有自己的春天。   列数据库的定义   列存储数据库就是以关系数据库中的属性或列为单位进行存储,数据表记录中的同一属性值被存储在一起,而一条记录中不同属性值则分别存放于不同的文件中。有列存储数据库就应该存在行存储数据库,传统以记录或行数据位单位进行存储

Tangram 前端库通过 Github 开源了

Tangram是百度内部一直在开发和使用的前端库之一,功能与jQuery、Prototype等库类似,主要功能是简化DOM操作,并且扩展JavaScript语言。这部分功能准确来说属于TangramCore,另外一个叫做TangramComponent的库提供一些类似YUI、Sencha这个级别的组件。   之前Tangram说要开源很久了,一直卡在流程上,并且也有人觉得必须把库做得足够好了才好意

突出重围

最近,在首页看到了太多的抱怨:潜心技术、不得志,陷入了某种窘境——身后无数小弟弟小妹妹不计一切代价的向这个行业涌来,眼前是经济危机需求萎缩,身边是老板压,同事迫。 是什么导致这个困境呢? 先看一个基本的经济规律:一个商品,假如需求一定,供给越多,价格越低。见下图: 程序员这一行当,无数的大学生和无数的培训班学员都往这一块在挤,黑云压城城欲摧。而此时,

在Mono平台开发前你应该知道

在Mono平台开发前应该做的第一个事情就是,调整好心情,降低期望值:   对于Linux本地C程序员而言,由于习惯了疯狂和有魔力的本地C程序员开发,因此对于Mono提供的诸多限制可能不太满意。大体而言,Mono和.Net程序一样,属于框架开发的范畴,对于框架开发,最好在框架规定的范围内工作,否则会陷入孤立无缘的境地。Mono没有C开发那些唾手可得的工具,也不能对系统进行无限的挖掘,Mono关注的是

与 吕震宇 的共鸣,有感于“专注于技术”

平时时间很忙,上cnblogs几乎都是一晃而过,今天无意中看到 吕震宇 兄弟的随笔,痛苦的选择:不再只专注于技术 ,觉得很有共鸣。 也记录一下自己的一些想法。   曾经也是一个技术的狂热爱好者,以追求最新最好的技术为目的,以手写代码为荣(当年哪知道IDE的好处),以落后的技术为耻,看行业中的事物都以技术出发,某某东东技术领先,我就说好,某某老掉牙的技术还在用,称之为垃圾。很长一段时间都

笨用户

用户很笨,用户很懒,用户根本不想动脑子,用户5秒钟内没搞明白该怎么做他们就会彻底放弃……   大部分讲互联网交互设计的文章都是这么说的,我对此时常有深深的怀疑。   在互联网上,一个产品受欢迎,常常不是因为它好用,而是因为别人在用。在我看来,QQ是全世界最难使用的软件。一个新用户,他如何知道要先去下载一个软件?在哪儿下载?如何知道软件下载后要安装?如何知道该去申请一个Q

不一样的简洁

少即是多(less is more)—路德维希·密斯·凡的罗;  少就是枯燥(less is bore)—罗伯特·文丘里。   less is more是设计领域对现代主义的解读,主张功能决定形式(forms follow function),废除一切不必要的装饰以及重复的信息,它的基础就是理性主义。如果它被解读成“要简

dotnet高级面试题(二)

1、在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 2、请详述在dotnet中类(class)与结构(struct)的异同: 3、根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写: namespace test { public delegate void OnDB

Linux开发者眼中的10本顶级书籍

如果您是一位正在搜寻资料的Linux开发者,那么下面的清单能够帮你找到你所想要的。  任何开发者都能告诉您,即便是专家也无法把一切记得清清楚楚。因此我们很常需要搜索资料。幸运的是,我们生活在一个书籍丰富而且相当便宜的年代。在鼠标的点击之下,您可以轻而易举地创建一个属于您自己的个人图书馆。这正是为什么今天我们需要看看Linux开发者眼中这10本顶级书籍的原因。毕竟,如果您开始投资创建个人图书馆,你也

白领们必懂的22条潜规则-你坚持几条?

第一条必须有一个圈子。无论如何做都是画地为牢:不加入一个圈子,就成为所有人的敌人;加入一个圈子,就成为另一个圈子的敌人;加入两个圈子,就等于没有加入圈子。只有独孤求败的精英才可完全避免圈子的困扰——这种人通常只有一个圈子,圈子里只站着老板一个人。   第二条必须争取成为第二名。名次与帮助你的人数成正比——如果是第一名,将因缺乏帮助而成为第二名;而第二

WCF从理论到实践(9):实例模式和对象生命周期

本系列文章导航WCF从理论到实践(1):揭开神秘面纱WCF从理论到实践(2):决战紫禁之巅WCF从理论到实践(3):八号当铺之黑色契约WCF从理论到实践(4):路在何方WCF从理论到实践(5):Binding细解WCF从理论到实践(6):WCF架构WCF从理论到实践(7):消息交换模式WCF从理论到实践(8):事件广播WCF从理论到实践(9):实例模式和对象生命周期WCF从理论到实践(10):异常

代码之丑(九)——退让的缩进

这是一个让我纠结了很久的话题:缩进。 for (int j = 0; j < attributes.size(); j++) { Attr *attr = attributes.get(j); if (attr == NULL ) { continue; } int IsCallFunc = -1; if(attr->status() ==

手把手教你如何扩展GridView之自动排序篇

最新重构源码下载:打造0代码全自动GridView-天具神力               看到这两天园子里面“强奸”GridView的兄弟们可真不少,自己也手痒,也凑凑热闹,写得好,大家鼓励鼓励,写的不好,大家多多指教。   首先说说本文要实现的目的,大家都知道G

.NET中的异步编程(一)-为什么需要异步

在2010年的PDC上,微软发布了Visual Studio Async CTP,大大地降低了异步编程的难度,让我们可以像写同步的方法那样去编写异步代码。Async CTP也在社区里掀起了不小的波澜。在这之后,我也学习了一段时间,这个系列会将这段时间的学习作个梳理。   好了,下面进入本文的正题。   为什么需要异步编程   既然同步的写法更自然简单,异步的代码(传统的)不好写,还容易出错,那我们

猫大叫,老鼠跑,人醒。(C#语言,有答案)

程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)要求:  1.要有联动性,老鼠和主人的行为是被动的。 2.考虑可扩展性,猫的叫声可能引起其他联动效应。 public interface Observer { void Response(); //观察者的响应,如是老鼠见到猫的反映 } public interface Subject

一步一步学Linq to sql(八):继承与关系

本系列文章导航一步一步学Linq to sql(一):预备知识一步一步学Linq to sql(二):DataContext与实体一步一步学Linq to sql(三):增删改一步一步学Linq to sql(四):查询句法一步一步学Linq to sql(五):存储过程一步一步学Linq to sql(六):探究特性一步一步学Linq to sql(七):并发与事务一步一步学Linq to sq

程序员创业怎样才能成功

韩少云经历了从程序员、软件架构师、职业经理人,最后到创业者这样一个职业发展的历程。他总结了程序员创业成功的四大要素。   做为一个软件开发者,还没有进入这个行当就开始揣测自己的职业前景;IT圈处处可见的成功者耀眼的光环;程序员创业成功者的先例让我们对我们的职业充满了理想和憧憬。创业也成为程序员永远的话题。   在近日“2007软件开发2.0技术大会”(SD2C)晚上的沙龙里

两个程序员的故事

本文是从 A tale of two programmers 这篇文章翻译而来。   当MSX和Atari ST还很‘火’的时候,我在荷兰的一家叫做Aackosoft的游戏公司里短暂的就职过一段时间,这个公司位于Leiderdorp ——离海牙不远的一个小镇。之所以短暂,原因是这个公司神奇的倒闭了(一天晚上财务主管一进来就开始粉碎各种文件,我只好拿

UniqueID和ClientID的来源

在《漫话ID》一文中,作者提出了一个问题:为什么在ItemCreated事件中访问ClientID会导致MyButton无法响应事件,事实上 MyButton无法响应事件是因为他在客户端的ID被改变了,而此文从UniqueID和ClientID入手,进行较为深入的探讨,展示 UniqueID和ClientID是如何生成的,在何时生成,并同时解答《漫话ID》一文中作者的疑问。 为什么有UniqueI

.NET 分布式架构开发实战之四 构建从理想和实现之间的桥梁(前篇)

前言:   上一篇文章讲述了一些实现DAL的理论,本篇主要是DAL实现的的初步的尝试。   本篇的主要议题如下:   1) 设计DAL的基本操作   2) 对基本的操作的进一步的思考   3) 查询对象的一些思考   1. 设计DAL的基本操作   Richard认为:在设计一个架构或者Framework的时候,有几点很重要:   a. 总体把握的能力。   b. 抽象的能力。   c. 分析的能