上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: let emptyList = []let oneItem = "one" ::[]let twoItem = "one" :: "two" ::[] let shortHand = ["apples" ; "orange"] let twoLists = twoItem @ shortHand let objList = [box 1 ; box 2.0 ; box "three"] for x... 阅读全文
posted @ 2010-07-23 15:02 飞林沙 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 在正式的工作中使用ASP.NET MVC也有一阵子了,也看了听了很多关于ASP.NET MVC别人的想法和代码,我认为很多人对于它的理解是错误的。 在这里我只谈谈对ASP.NET MVC我的一些想法,希望大家多多讨论。 1. ASP.NET MVC区别于ASP.NET在于设计理念 我听过的关于ASP.NET  MVC的第一个看法是ASP.NET MVC最大的特点在于Controll... 阅读全文
posted @ 2010-07-19 00:01 飞林沙 阅读(8019) 评论(42) 推荐(10) 编辑
摘要: 原文地址:http://highscalability.com/blog/2010/7/11/so-why-is-twitter-really-not-using-cassandra-to-store-tweets.html当前讨论的中心是Cassandra作为NoSQL的主要产品已经被剥去了华丽的衣裳。首先是Twitter已经放弃了Cassandra,并且据说作为Cassandra诞生的地方,F... 阅读全文
posted @ 2010-07-18 04:13 飞林沙 阅读(3052) 评论(2) 推荐(3) 编辑
摘要: 园子里的首页已经在所谓的C#大论战和语言大作战上,风风火火地持续了快一个月了,我想也该告上那么一段落了。 我只在这里写下我眼中的看法。 1. C#的语法糖 在之前,每当别人问起我,某个C#的新语言特性的时候,我总会说,其实就是这么一回事,他不过是一个语法糖,没什么稀奇的,你可以看一下Reflector反编译出来的代码。 可是现在当我仔细思考之后,发现其实语法糖更多地不仅仅是为了我们使用上的... 阅读全文
posted @ 2010-07-06 03:10 飞林沙 阅读(7093) 评论(38) 推荐(11) 编辑
摘要: 花了一天的时间读完了《未来产品的设计》第一章。 这一章主要就是将未来产品的自动化设计,虽然作者是在讲机器人的设计,但是在我看来,有的观点放到传统的互联网行业上也未尝不可,可是 有的观点就有失偏颇了。 First,无容置疑,完全的自动化是未来电子产品的方向,作者也在原文中说了这样的话“设计师往往把注意力放到科技的运用上,企图尽 可能地将安全和便利都自动化”,但是我并不完全... 阅读全文
posted @ 2010-07-01 18:20 飞林沙 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://blog.csdn.net/ppooqq/archive/2006/07/28/994849.aspx PV原语通过操作信号量来处理进程间的同步与互斥的问题。其核心就是一 段不可分割不可中断的程序。 信号量的概念1965年由著名的荷兰计算机科学家Dijkstra提出,其基本思路是用一种新的变量类型(semaphore)来记录当前可用资源的数量。有两种实现方式:1)sema... 阅读全文
posted @ 2010-05-31 10:38 飞林沙 阅读(1327) 评论(0) 推荐(0) 编辑
摘要: 1. Javascript的数值类型 《Javascript语言精粹》中有这样一句话:Javascript只有单一的数字类型。 在我看来,这句话说的并不准确,应该说,Javascript在声明时,只有单一的数据类型。或者说,Javascript的所有数值类型都被存储成同一种格式,就是64位的浮点数类型。 这样说比较准确。 这样无论把i换成整数还是浮点数,都会得到Number的结果。但是我说... 阅读全文
posted @ 2010-04-25 21:45 飞林沙 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 1. 连接器 C语言有个思想是分别编译,也就是把一个C语言的项目分成若干个源程序,让他们在不同的时候单独进行编译,然后在恰当的时候整合到一起。这个整合的过程就是由连接器完成的。 大多数时候,连接器和编译器都是分开的,连接器本身并不懂得太多C语言的语法规则。因为他一般不与C直接接触,我们想想之前说过C语言的编译运行过程,编译器的责任其实就是将C语言翻译成连接器能够理解的形式。 连接器把由编译器... 阅读全文
posted @ 2010-04-23 23:50 飞林沙 阅读(663) 评论(1) 推荐(0) 编辑
摘要: 在C语言中,经常会出现一些复杂的类型声明。而大多数都是涉及到指针的类型。 那么就在这一节来集中认识一下。 首先,我们先来了解*,()和[]的组合。在看实际例子前,先来看一个重要的规则: 在做选择时,始终使[]和()的优先级大于*。举个简单的例子: int *arr[10]。由于[]的优先级大于*。也就代表,首先这是一个含有10个元素数组,那么数组内的内容是什么呢?是int *arr。去掉类... 阅读全文
posted @ 2010-04-18 14:44 飞林沙 阅读(463) 评论(6) 推荐(0) 编辑
摘要: 编译器中负责将程序分解成一个一个token的部分,就是词法分析器。 token:程序的最基本组成单元,是程序表义的基本单元。一个token,无论出现在哪里,都应该表示同样的意思,同样的语义。 在C语言编译器进行词法分析时,会采用“贪心法”的处理策略。 意思就是说,每一个token都会包含尽可能多的字符,具体地说,编译器从左到右一个字符一个字符地杜甫,如果该字符可能组成... 阅读全文
posted @ 2010-04-18 02:00 飞林沙 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1. 位域 我们来看一个表示日期的结构体: 但是我们可以发现,其实year最大也不会超过四位数,month也就是12,而day最大也就是31。但是我们在上述的结构体中,却为其分配了4*3=12字节的内存,是不是很浪费呢?C语言为了解决这个问题,提出了一个概念,叫位域。看段代码:这个的意思是,我为结构体中的每一个字段分配指定的位数,比如,我为year分配了7位。这样就有效地节省了内存。网上有着有... 阅读全文
posted @ 2010-04-17 00:32 飞林沙 阅读(555) 评论(1) 推荐(0) 编辑
摘要: 1. 动态内存分配 先来介绍三个动态内存分配的函数:malloc,calloc和realloc。说来惭愧,以前只知道malloc。现在来看下他们的区别: malloc:最常用的分配内存块,但是不对内存进行初始化。 calloc:分配内存块,但是对内存块进行清零操作,这就造成此函数的效率要比malloc要低。 realloc:调整(增加或者减少)之前分配内存块的大小。 由于上面的函数只是开... 阅读全文
posted @ 2010-04-16 00:40 飞林沙 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 1. 结构体声明学习C#/Java的我们,结构体相信都非常熟悉了。简单先来介绍下语法,声明一个结构体:当然,我们也可以在声明时直接初始化:但是我们在这里可以发现一点,声明的结构体是不能重用的,也就是说,必须要在结构体后一次性地把所有需要用到的结构体变量全部初始化,于是,我们更多的是这么做。如果你写习惯了Person person1这样的代码而对在结构体名字前跟着struct而感到不爽,那你也可以这... 阅读全文
posted @ 2010-04-15 00:04 飞林沙 阅读(617) 评论(11) 推荐(0) 编辑
摘要: 1. 条件编译 条件编译是指预处理根据测试的结果来包含或排除程序的片段。 2. #if和#endif 也不多说,举个例子就懂了。 其实效果就是类似于这样的代码:不同的是:预处理命令是由预处理器来处理。#if指令会测试DEBUG的值,如果DEBUG的值是0,那么这个printf就不会保存在目标程序中占用空间,也不会消耗程序的运行时时间。因此,我们在测试时可以将这段代码保存到最终代码中。3. ... 阅读全文
posted @ 2010-04-12 23:25 飞林沙 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 1. 预处理指令 在第一篇文章中,我们就提到了预处理器的概念。预处理器就是用来处理预处理指令。预处理指令包含以下三种: A. 宏定义  #define B. 文件包含 #include C. 条件编译 #if #ifdef等等。 2. 简单的宏定义 在之前我们就广泛地运用了宏定义,在此不在赘述。 3. 带参数的宏定义 带参数的宏定义,也称为函数式宏。 举个简单的例子: ... 阅读全文
posted @ 2010-04-12 21:01 飞林沙 阅读(473) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页