深入浅出多线程系列之二:关于Thread的那些事
1:你可以调用线程的实例方法Join来等待一个线程的结束。例如:
public static void MainThread() { &nbs
http://www.cyqdata.cn/cnblogs/article-detail-37836
关于程序员的痛苦的一种悖论
我所说的“关于程序员的痛苦的一种悖论”描述如下:
“好的程序员大部分的时间都在干他们厌恶的事情、使用他们厌恶的技术和工具。”
这是反常理的,看上去就是悖论;你会认为烂程序员才会把时间都花在烂技术上,优秀的程序员会把时间花在那些尖端的技术上。不是吗?
我在自己的体验中发现了这个悖论,直到后来我才明白为什么会是这样。
什么样的工作会让程序
http://www.cyqdata.cn/cnblogs/article-detail-37806
2.6.39发布了-最近关于内核开发的一些感受
linux kernel 2.6.39终于发布了,感觉从rc1到rc7,挺长时间了,这是一个值得纪念的内核版本。当然,只是对于我而言,是值得纪念的一个内核版本,从39-rc1开始,决定正式参与内核的开发了,从刚开始不成熟地改了几个format的错误,到后来改了几处函数错误,再到后来为驱动核心写了注释,一点点进步了,也越来越专业了。可以说我为开源做贡献之路是从39这个版本开始的,值得纪念。
其实感受
http://www.cyqdata.cn/cnblogs/article-detail-37733
关于CellSet转DataTable的改进方案
一、问题的提出
在利用MDX查询多维数据集的时候,经常会遇到这样一种情况,行轴或列轴含多个维度(CrossJoin),CellSet返回了多个维度成员的值,在将CellSet转成DataTable的时候,我们希望能返回这些维度成员的值。而利用网上搜索到的方法,如前文“FusionChart对MDX查询结果的数据展示案例”所述,是不能满足
http://www.cyqdata.cn/cnblogs/article-detail-37703
关于Redis的几个认识误区
前几天新浪微博发生了一起大的系统故障,很多搞技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James pape
http://www.cyqdata.cn/cnblogs/article-detail-37660
关于技术争论(尤其是ASP.NETWebForms 和 ASP.NETMVC 之争)
技术争论在博客和twitter里无休止地进行着,这些争论涵盖每个开发人员社区。每个语言,框架,工具,和平台在某个特定的时间都不可避免地会至少有几个争论在进行中。
下面是我多年来对技术争论所做的几个总的观察,以及对一些我最近看到的,尤其是关于ASP.NET Web Forms 和 ASP.NET MVC的最新讨论的一些评论。
关于技术争论的总的观察
下面是几个总的观察,无关任何具体技术
http://www.cyqdata.cn/cnblogs/article-detail-37600
关于HtmlHelper:是MVC自作聪明,还是我不够明白?
在asp.net框架里,mvc框架是我了解的使用最方便、设计最合理的框架。特别是它从架构上提供了很多实用的工具,其中之一便是HtmlHelper,它将程序员从写表单控件标签的繁琐工作中解放出来,同时也减少了服务器端代码与客户端代码搅在一起的局面。HtmlHelper甚至可以帮助我们自动加载对象,为某些表单赋值。我今天就碰到了这样的情况,发生在我把一个隐藏字段命名为“Url ”
http://www.cyqdata.cn/cnblogs/article-detail-37532
关于TextArea里获取光标相对位置的问题
可能许多朋友会对新浪微博和沪江碎碎里,敲入@时弹出用户列表的功能是如何实现的比较困惑。
、
其中,最难解决的问题应该就是获取当前光标据文本框的相对位置了。因为一个普通的<textarea></textarea>通过正常的途径是无法获取到的。
那怎么办呢~
第一步:创建一个普通的TextArea框,然后在TextArea外层套一个DIV(DIV的Position设为relat
http://www.cyqdata.cn/cnblogs/article-detail-37525
关于软件多版本升级的一些思考
最近一直在思考web软件的升级的管理,之前都是单独写的,一个一个版本的升级,但是后来发现夸版本升级比较麻烦,随着版本的升级,代码越来越多,代码不能重用,一直想不到一个即简单代码又简洁的方法。
using System;
using System.Web;
namespace Caicai.Jingpin.UI.Update
{
public class U_1_2 : System.W
http://www.cyqdata.cn/cnblogs/article-detail-37261
处女项目后关于IC验证经验的总结
完整的、详细的设计规范是验证工作的重要起点。
验证工作根据设计规范(Specification)进行,详细的Spec是RTL代码的编写工作的依据,也是验证工作的依据。当验证过程发现DUT的响应与testbench预计的不符时,需要根据Spec判断是DUT出现错误还是testbench出现错误。
参数化的全局定义
Register相关位及其数值的全局宏定义。reg_define.v
相关路径的
http://www.cyqdata.cn/cnblogs/article-detail-37224
关于性能比较的应用误区
今天周末,就不写太长的文章了,刚不小心看了篇性能比较的文章,有感而就写了此篇。
这年头,好多人都对性能比较产生了兴趣,然后就开始写比较示例,之后就得出了一个正确但误导新手的误区。
本文不是性能比较文章,只说说观点,没有具体的测试数据,相关的性能比较文篇,园子里一搜,都是一堆一堆的。
这里举较常见的说:
1:string和StringBuilder
2:反
http://www.cyqdata.cn/cnblogs/article-detail-37091
关于WPF装饰器的笔记
关于装饰器
参见这几篇文章,较为详尽
详解Adorner Layer
http://www.cnblogs.com/nankezhishi/archive/2010/07/10/adornerlayer.html
WPF学习笔记之11: Adorner (装饰器)
http://www.cnblogs.com/jacksonyin/archive/2008/04/28/1174393
http://www.cyqdata.cn/cnblogs/article-detail-37028
关于js中单引号(')和双引号(")的使用以及转义的理解
这几天一直在画页面,身为开发人员的我之所以要画页面是因为当前项目中的页面上所有的东西都是从数据库中取得的,也就是动态的,类似于我们设计自己的个人QQ空间,但因为是大型平台,有自定义业务的概念 ,所有更为复杂,在这就不多说了,我所谓的画页面就是如何把数据结合逻辑,变成HTML,其中遇到的最大的问题就是我今天要说的;
一个页面上有一个查询,当然查询的条件,字段类型都是动态的,要根据数据
http://www.cyqdata.cn/cnblogs/article-detail-37007
关于JSBuilder2的使用.
最近开始做新项目,准备在项目中使用JSBuilder来进行文件管理.
到网上查了一下 最新的Builder2版本: http://www.sencha.com/products/jsbuilder
这个版本没有GUI,是一个命令行的版本 也不需要安装.
每个项目需要建立一个.jsb2的文件作为项目配置. 内容是JSON的,更合JSer的口味.哈哈.
程序运行需要JRE,没有的
http://www.cyqdata.cn/cnblogs/article-detail-36951
关于ListView (2)——SimpleAdapter源码解析与ViewBinders的用法
如题,这里主要讲解SimpleAdapter的源码,ViewBinders只是作为该类的一个知识点。
说到android源码,很多人看下去可能会开始觉得头越来越晕,最后就不了了之。不过理解源码确实能让自己更深入的了解android的运作,更顺手的写出优秀的代码。其实看android源码,一开始不一定就立即从重要或者核心开始下手,即使能够看下去,也会很累,浪费的时间也多。就如解剖一只牛,让我来,我就
http://www.cyqdata.cn/cnblogs/article-detail-36900
关于代码规范
今天被培训了C#代码规范,为了统一风格。其中我比较有异议的两点如下:
类型实例的私有字段应采用骆驼命名法(camelCasing),不应该有任何前缀,在使用时前边加"this.”;
要用FCL类型而不是C#的基元类型,例如要使用Int32代替int。
首先对于第一点,个人比较习惯的做法是前边加下划线,说不上好坏,这两种写法在各种开源框架的源码中都见到过。由于VS默认并不提供像E
http://www.cyqdata.cn/cnblogs/article-detail-36846
关于Silverlight动态加载的疑问
最近在搞sl的项目,正好用到动态加载,就找了一下。发现网上基本上都是用webClient下载,之后异步加载。
当然了SL只能异步加载,但是我使用了压力测试的情况下发现,事情没有这么简单。
首先MSDN上明确指定这个异步加载的方式,在不阻止调用线程的情况下.
之后好玩的事出来了,首先是在webclient下载前线程为1
1 WebClient wc = new WebClient();3 w
http://www.cyqdata.cn/cnblogs/article-detail-36801
关于Repeater如何获取控件对象
第一步:得到id
1 for (int i = 0; i < repWarehouseList.Items.Count; i++)2 {3 text += repWarehouseList.Items[i].Controls[1].ClientID+" , ";4 }
第二步:获取了ID,在用FindControl("txt")这个获取
//TextBox tb = repW
http://www.cyqdata.cn/cnblogs/article-detail-36749
关于代码民工的一些见解
首先声明一下,我是一个新手,本人发表文章意在交流学习,如果大家不同意我的看法还请手下留情。
前几天看了一篇园子里的文章,下面的留言让我惨不忍睹,到现在还心有余悸……..
先大体介绍一下,我今年毕业,出来也和很多人一样:写代码的。如果你愿意称我为代码民工也可以
http://www.cyqdata.cn/cnblogs/article-detail-36640
关于--从淘宝数据结构来看电子商务中商品属性设计
昨天看了 活雷锋的从淘宝数据结构来看电子商务中商品属性设计,对表之间的结构关系不是很清楚于是就整理了下相关结构
图1
图1中,可以确定商品由分类+属性组成,属性又分关键属性,销售属性,非关键属性等,具体的从淘宝数据结构来看电子商务中商品属性设计有说明,这里需要注意的是属性是一个多层结构(树型)如分类“台式机”的属性:"品牌->系列->型号". 数据
http://www.cyqdata.cn/cnblogs/article-detail-36620