- 浏览: 182460 次
- 性别:
- 来自: 杭州
最新评论
-
abc20899:
对啊!报错!楼主你测试了吗?
Java7 - 新特性之对集合类的语言支持 -
zskangs1126:
Facebook 的系统架构 -
ccxiajie:
List list={"hello"}; ...
Java7 - 新特性之对集合类的语言支持 -
luoyahu:
请不要把你的兴趣变成工作,因为那样会毁了你的兴趣。
一些对程序员的建议(不要轻易的让人帮你决定,那怕是你的家人) -
coral0212:
我也尝试创过业,但我觉得我这种人是“谋士”,不是能攻城拔寨的“ ...
一些对程序员的建议(不要轻易的让人帮你决定,那怕是你的家人)
文章列表
考虑这样一个情况,使用者可能快速翻页浏览文件中,而图片档案很大,如此在浏览到有图片的页数时,就会导致图片的载入,因而造成使用者浏览文件时会有停顿的现象,所以我们希望在文件开启之后,仍有一个背景作业持续载入图片,如此使用者在快速浏览页面时,所造成的停顿可以获得改善。
Future模式在请求发生时,会先产生一个Future物件给发出请求的客户,而同时间,真正的目标物件之生成,由一个新的执行绪持续进行(即 Worker Thread ),真正的目标物件生成之后,将之设定至Future之中,而当客户端真正需要目标物件时,目标物件也已经准备好,可以让客户提取使用。
一个简单 ...
来源:http://www.quora.com/What-is-Facebooks-architecture (由Micha?l Figuière回答)
根据我现有的阅读和谈话,我所理解的今天Facebook的架构如下:
Web 前端是由 PHP 写的。Facebook 的 HipHop [1] 会把PHP转成 C++ 并用 g++编译,这样就可以为模板和Web逻贺业务层提供高的性能。
业务逻辑以Service的形式存在,其使用Thrift [2]。这些Service根据需求的不同由PHP,C++或Java实现(也可以用到了其它的一些语言……)
用Java写的Service ...
首先,我想说的是,这些东西只是我根据我的经历给出的建议,仅仅供大家去参考,你的路你的人生要你自己决定,不要轻易的让人帮你决定,那怕是你的家人。
一、对技术的热情
如果我们喜爱编程,喜爱技术的话,那么,我们就会投入热情,自己会去专研很多东西。就像你以前对某个东西痴迷一样,你可以在工作之余还在学习和专研这些东西,你会经常和人讨论这些东西。不知道你是否会和我一样有一种感觉,如果你不学习技术,你不去专研,你就怕被淘汰,你就会感到不舒服。
所以,我们一定要问我们自己一下,我们自己喜欢技术吗?喜欢技术到什么程度。只是感兴趣还是喜欢?这两个不一样。兴趣能让你开始让你执着,但只有喜爱才会投入 ...
下图是一个搞笑的图片——程序员眼中的编程语言。
图片的横轴是编程语言。
纵轴是各语言的程序员、粉丝、信徒。
中间的各个小图片则是,粉丝眼中的编程语言的形象。
比如说,
第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。
第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。
多线程模型是主流的并发编程模型。在过去几十年来,多线程模型一直是开发并发程序的有力工具。然而,它的历史并非总那么美好。1997年,NASA 的“火星探路者”号在执行任务的途中遭遇了严重的时序异常(参见 “What really happend on Mars“,注目 follow-up 中的现身说法),无法发回探测数据。如果不是 NASA 远程刷新了程序,它的结局就只能是报废在火星上。这一切都是由程序中潜藏的一个优先级反转 bug 造成的。更早的例子还有80年代的一系列 Therac-25 型医用粒子加速器事故。在这些加速器释放出的过量辐射照射之下,数位病人死亡。事后调查显示,至少有一次 ...
建造者模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.
建造者模式目的:
将复杂对象的部件内部表象和其构建过程分开
同样的构建过程可以创建不同的表象的 ...
工厂模式:负责动态决定将有某种接口的类实例化。
三个模式:
简单工厂(simple Factory)模式。又称:
静态工厂方法模式(State Factory Method)。
工厂方法(Factory Method)模式。又称:
多态性工厂(Polymorphic Fac ...
express是为NodeJS而生的高性能、一流的web开发框架,由于入门指引篇幅较长,本文仅对express框架的安装及配置进行中文翻译,如需原文直接去Express官方网站即可,转载请保留出处,谢谢。
安装
$ npm install express
创建服务器
要创建express.HTTPServer的实例,只需简单的调用createServer()方法即可。通过HTTPServer实例app我们可以定义基于HTTP动作(HTTP verbs)的路径映射(routes),下面的示例中我们定义了app.get()。
var app = require('express') ...
我们知道Express是一个基于NodeJS的非常优秀的服务端开发框架,本篇CSSer将提供express框架的route和route control章节,route实现了客户端请求的URL的路径映射功能,暂且译为路由或URL映射吧。如果你还是不太理解,相信看完本篇文章 ...
Express的中间件和路由中间件为路径映射及控制提供了更方便和强大的功能,本文将提供这些内容的使用指引。
中间件(Middleware)
中间件可以通过Connect传入express.createServer(),就像正常的连接服务器一样,比如:
var expres ...
HTTP方法
在CSSer前面的文章中我们已经接触过app.get()多次了,同时Express也提供了对其它HTTP动作的封装,如app.post(), app.del()等。
对于POST最常见的例子,就是当我们提交一个表单时,下面我们在HTML中将表单的method特性设置为“post”,然后需要在服务端定义对该表单提交的路由控制。
<form method="post" action="/">
<input type="text" name="user[name]" /& ...
MVC模式可谓无人不知,它除了能增强团队协作的效率,还可方便产品的维护升级,本文我们将对Express框架的模板和视图(V)相关功能进行介绍。
模板引擎
Express支持许多模板引擎,常用的有:
Haml haml 的实现
Jade haml.js 接替者,同时也是Express的默认模板引擎
EJS 嵌入JavaScript模板
CoffeeKup 基于CoffeeScript的模板引擎
jQuery模板引擎的NodeJS版本
instanceof 操作符
instanceof 操作符用来比较两个操作数的构造函数。只有在比较自定义的对象时才有意义。如果用来比较内置类型,将会和 typeof 操作符 一样用处不大。
比较自定义对象
function Foo() {}
function Bar() {}
Bar.prototype = new Foo();
new Bar() instanceof Bar; // true
new Bar() instanceof Foo; // true
// 如果仅仅设置 Bar.prototype 为函数 Foo 本省,而不是 Foo 构造函数的一个实例 ...
typeof 操作符
typeof 操作符(和 instanceof 一起)或许是 JavaScript 中最大的设计缺陷,因为几乎不可能从它们那里得到想要的结果。
尽管 instanceof 还有一些极少数的应用场景,typeof 只有一个实际的应用(译者注:这个实际应用是用来检测一个对象是否已经定义或者是否已经赋值),而这个应用却不是用来检查对象的类型。
类型转换
JavaScript 是弱类型语言,所以会在任何可能的情况下应用强制类型转换。
// 下面的比较结果是:true
new Number(10) == 10; // Number.toString() 返回的字符串被再次转换为数字
10 == '10'; // 字符串被转换为数字
10 == '+10 '; // 同上
10 == '010'; // 同上
isNaN(null) == false; // null 被转换为数字 0
// 0 当然不是一个 NaN( ...