Hunter的大杂烩 技术学习笔记

2009-03-12

Don’t make me think

Filed under: 技术话题 — hunter @ 11:56 pm

第一章

确保网页容易被用户使用的最重要原则是“不要让我思考”。设计师应尽量做到让网页不言而喻、一目了然、自我解释。好的设计应该能让用户立即上手使用,而无需花费精力思考。

网页上每项内容都有可能迫使用户停下来思考,例如,名字。那些看似很酷、很自以为聪明、带有营销性质及生僻技术的名字常常给用户带来困扰。又例如那些看起来不太明显的链接和按钮,用户没有义务思考某个地方是否能点击。
当我们访问网络时,每个微小的疑问都有可能打断我们的访问热情,它们会累积起来,直到让人抓狂、失去耐心。
一些不该让访问者思考的事:
1.我在什么位置?
2.我该从哪里开始?
3.他们把xx放在什么地方?
4.这个页面上最重要的是什么?
5.为什么他们给它取了这个名字?

(more…)

2009-03-04

【转】Compilers Programming资源收集

Filed under: 技术话题 — hunter @ 10:58 pm

from:http://www.cppblog.com/woaidongmao/archive/2008/12/24/70247.html

 

 

Lexer and Parser Generators
Bison++ and Flex++
Visual Parse++ 4.0
Visual BNF
A Compact Guide to Lex and Yacc
LRGen
ClearParse
The SYNTAX System
Language semantics
PRECC – A PREttier Compiler-Compiler
CppCC (C++ Compiler Compiler)
The LEMON Parser Generator
YooLex (Yet another Object-Oriente…
Grammatica
The LEX & YACC Page
Yacc++(R) and the Language Objects…
LLgen parser generator
Oolex (object-oriented lexer)
TextTransformer
ProGrammar
Re2c lexer generator
Pattern matching
Jay
Lex/YACC (actually Flex and Bison)
Soul
GNU Flex
Coco/R compiler generator
VLDesk (Visual Language Desk)
Spirit C++ Parser Framework
Rie

(more…)

2009-03-02

【转】Shirky定律以及(多数)社会化软件失败的原因

Filed under: 闲聊 — hunter @ 2:27 pm

from:http://www.yeeyan.com/articles/view/61984/25141 

简介

Shirky定律告诉你,如何才能做出一个好的社会化软件。

 

名字解释:
心理模型(mental model):
心理模型,是外在世界的某个实体在人思维中的内在表现。心理模型被认为对人的认知以及作决定有很大的影响。一旦心理模型
形成,它们会替代人的理性分析过程,直接得到结论,因为对于个人来说这样会节省时间和精力。举个简单的例子,对于野生动
物这个实体,人一般会有这样一个心理模型:它们很危险。因此,当遇到野生动物,比如蛇的时候,一般人的第一反应是,跑!但是一个认为野生动物不危险的人,即有着不同心理模型的人,遇到这种情况,他可能就不会有跑的冲动。

(more…)

【转】敦巴数字

Filed under: 闲聊 — hunter @ 2:25 pm

  由于Facebook、Twitter等社交网站减少了社交中的摩擦,并降低了与其他人保持联系的成本,因此,有关社交网站将提高人类社交群体的规模的说法是一种明显的假设:一旦你加入社交网站并召集“朋友”,即可通过照片、状态更新及其它方式参与到他们的生活中。在得到你的许可后,这些朋友也将分享你的生活。如果可以无所限制地增加很多朋友,当然是“多多益善”。

  但增加额外的朋友可能并非毫无限制,有人类学家将社交网站的部分活动称之为“装扮”(意思指在参加社交活动前的修饰打扮)。自然条件下,装扮是一项颇为耗时的活动,而电脑却使装扮活动变得轻松迅速,但弄清楚向谁装扮及其原因,则需要相当强的心算能力。你要记得与谁结盟,与谁为敌,对谁有性的渴求并以此行动。因此,目前在牛津大学任教的人类学家罗宾·敦巴(Robin Dunbar)几年前表示,人脑的认知力限制了社交网络的规模。敦巴根据智力大小和大猩猩的社交网络推断,人类智力所允许的、稳定的社交网络约为148人,约等于150人,该数字即著名的“敦巴数字”。

(more…)

2009-02-25

【转】61条面向对象设计的经验原

Filed under: C++ — hunter @ 3:53 pm

61条面向对象设计的经验原

thurJ.Riel
   (1)
所有数据都应该隐藏在所在的类的内部。p13   (2)
类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。p15   (3)
尽量减少类的协议中的消息。p16   (4)
实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。p16   (5)
不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。p17
如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。   (6)
不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。p17   (7)
类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。p18   (8)
类应该只表示一个关键抽象。p19
包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响.   (9)
把相关的数据和行为集中放置。p19
设计者应当留意那些通过get之类操作从别的对象中获取数据的对象。这种类型的行为暗示着这条经验原则被违反了。   (10)
把不相关的信息放在另一个类中(也即:互不沟通的行为)。p19
朝着稳定的方向进行依赖.   (11)
确保你为之建模的抽象概念是类,而不只是对象扮演的角色。p23   (12)
在水平方向上尽可能统一地分布系统功能,也即:按照设计,顶层类应当统一地共享工作。p30   (13)
在你的系统中不要创建全能类/对象。对名字包含Driver、Manager、System、Susystem的类要特别多加小心。p30
规划一个接口而不是实现一个接口。   (14)
对公共接口中定义了大量访问方法的类多加小心。大量访问方法意味着相关数据和行为没有集中存放。p30   (15)
对包含太多互不沟通的行为的类多加小心。p31

(more…)

« Newer PostsOlder Posts »

Powered by WordPress