遇见sharon ’ 的文章存档

Jeff Atwood倾情推荐——程序员必读之书

a1

 

英文版:《Code Complete 2》
中文版:《代码大全(第二版)》
作者:Steve McConnell
译者:金戈  汤凌  陈硕  张菲
出版社:电子工业出版社
出版日期:2007 年8月
Jeff Atwood的推荐:Steve McConnell的这本书是软件开发领域里的《烹饪的乐趣》。如果你对这本书感兴趣,说明你热爱你现在的工作,你对你正在做的事情是认真的,并且你想不断地提升自己。Steve在这本书里指出,普通程序员每年所读的技术书籍不足一本。仅仅只需阅读这本书,你就有可能超越身边90%的程序员。这绝对是个好主意!
阅读全文

require.js 简洁入门

前言

提到require.js大多数人会说提到模块化开发,AMD等等,其实require.js并没有这么多复杂的概念,这里我就希望排除这些概念,从实用的角度来简单说一下require.js是干什么的,我们要怎么用它。

1.为什么要用require.js

大多数前端开发者都用过jquery,那么用jquery之前我们首先要把jquery加载进页面,然后在之后的js之中才可以使用$,这里面我们知道了两个道理,一个是我们不能把所有js代码都放到一个文件里,有些东西可以单独提出来成为一个模块,比如jquery。另外一个道理,一部分js是依赖另一部分js的,比如$依赖jquery文件的载入。其实require.js主要做的事情就是这两点。

当你的js项目足够大,足够复杂,依赖的库足够多,你完全需要这样一种工具去做这些js的管理,否则你的项目扩展性很差,结构很糟糕,要找到想修改的地方会很困难。
阅读全文

Web开发者职业生涯的11个阶段

Web开发者的职业生涯有许多斜坡,非常有趣。考虑这陡峭的学习曲线,你完全可以从中经历从沮丧到启发再到自以为的心态起伏。本文将会通过一些有趣的动态图来描述这其中的各个阶段。

1. 小白

noob-o

 

在职业生涯的早期,通常都不知道自己要做什么。就像离开水的鱼,每一行代码都是一个谜。Doctype? 嗯嗯?div又是虾米东西?第一个阶段是一个吓人的、可怕的但是令人兴奋的过程。是有多少可怕的语言啊,魂淡?

但是,你最大的优势也许就是你永远不知道你前面的坑有多深。学习HTML是往前迈出的一小步。
阅读全文

MySQL在大型网站的应用架构演变

可扩展性
架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,
常用的扩展手段有以下两种:

  • Scale-up :  纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力
  • Scale-out : 横向扩展,  通过加节点(机器)来实现伸缩,提升服务能力

对于互联网的高并发应用来说,无疑Scale out才是出路,通过纵向的买更高端的机器一直是我们所避讳的问题,也不是长久之计,
在scale out的理论下,可扩展性的理想状态是什么?

可扩展性的理想状态
一个服务,当面临更高的并发的时候,能够通过简单增加机器来提升服务支撑的并发度,
且增加机器过程中对线上服务无影响(no down time),这就是可扩展性的理想状态!
阅读全文

JavaScript Promise启示录

本篇,主要普及promise的用法。

一直以来,JavaScript处理异步都是以callback的方式,在前端开发领域callback机制几乎深入人心。在设计API的时候,不管是浏览器厂商还是SDK开发商亦或是各种类库的作者,基本上都已经遵循着callback的套路。

近几年随着JavaScript开发模式的逐渐成熟,CommonJS规范顺势而生,其中就包括提出了Promise规范,Promise完全改变了js异步编程的写法,让异步编程变得十分的易于理解。
阅读全文

PHP程序的执行流程

为了以后能开发PHP扩展,就一定要了解PHP的执行顺序。这篇文章就是为C开发PHP扩展做铺垫。

Web环境我们假设为Apache。在编译PHP的时候,为了能够让Apache支持PHP,我们会生成一个mod_php5.so的模块。Apache加载这个模块,在url访问.php文件的时候,就会转给mod_php5.so模块来处理。这个就是我们常说的SAPI。英文名字是:Server Application Programming Interface。SAPI其实是一个统称,其下有 ISAPI,CLI SAPI,CGI等。有了它,就可以很容易的跟其他东西交互,比如APACHE,IIS,CGI等。
阅读全文

探索Javascript异步编程

异步编程带来的问题在客户端Javascript中并不明显,但随着服务器端Javascript越来越广的被使用,大量的异步IO操作使得该问题变得明显。许多不同的方法都可以解决这个问题,本文讨论了一些方法,但并不深入。大家需要根据自己的情况选择一个适于自己的方法。

目录

  • JavaScript 异步编程简介
  • 回调函数和异步执行
  • Javascript线程模型和事件驱动
  • Javascript异步编程带来的挑战
  • 代码可读性
  • 流程控制
  • 异常和错误处理
  • 更好的Javascript异步编程方式
  • Promise
  • Non-Promise
  • Non-3rd Party
  • 下一代Javscript对异步编程的增强
  • ECMAScript6
  • co、Thunk、Koa
  • 总结

笔者在之前的一片博客中简单的讨论了Python和Javascript的异同,其实作为一种编程语言Javascript的异步编程是一个非常值得讨论的有趣话题。

JavaScript 异步编程简介

回调函数和异步执行

所谓的异步指的是函数的调用并不直接返回执行的结果,而往往是通过回调函数异步的执行。
阅读全文

14个免费访客行为分析工具 – 揭示人们为什么放弃你的网站

为什么你网站的访客不断的离开,甚至有些永远都不再回来!本文介绍的14个免费访客行为分析工具将帮助你:

1. 了解你的访客需求
2. 提升用户体验
3. 提高网站可用性
4. 留住更多的回头客
5. 提高销售的成功率

toolstrimmed

 

关于网站设计有一个很大问题: 如果你想让你网站的访客更好的转换为你的客户(或者忠实读者),你需要理解这一点,为什么大多数的访问者不再返回你的网站!
阅读全文

如何对待开发团队中那个拖后腿的人?

每个开发团队中总有一个人是最差的,老跟不上整体水平。据我观察,队友们对待这个差生的态度是团队健康状况的重要标志。(注:原文用“贝尔曲线(bell curve)”,也就是“正态分布”来衡量团队的整体水平分布,这里意译成“整体水平”。)

我运气一直不错,在过去的几十年里,干过各种的行业和职业,在不少团队中待过,都是气氛融洽和技能娴熟的开发团队。并不是说每个项目都是成功的,(外部因素无法控制),但是经验永远有深刻的价值。

在成功的开发团队里,最显著的特点是队员们互相尊重——“他擅长做这个,也喜欢做这个。好极了。因为我不喜欢做这个”)。每个人都明白人多力量大的道理,并懂得珍惜队友的技能。如果你在这样的团队中待过(或者你曾管理过这样的一群家伙),你懂我的意思。

不论这些黄金组合团队是网络社区、公司部门还是志愿者组织,都有个共同特点:每个团队中都有这样的一个人——我们可以无恶意的称之为笨蛋,但重点是,大家却对这个人很好
阅读全文

程序员的办公桌

优秀的程序员和普通的程序员之间的生产力差距在10倍到100倍之间。窥视高手的办公桌看看能不能找到高手生产力的秘密,没有高手的智慧和经验但至少不要让自己输在工具上,好的工具真的可以提高生产力,飞机真的比汽车快。看看什么样的环境和电脑帮助这些高手提高生产力的,VPSee 发现有两点值得注意:

  • 最简风格,工具都很简单,大多办公桌上没有乱七八糟的东西;
  • 都用 Mac(有一人同时用 Mac 和 ThinkPad),这个不稀奇,三年前就讨论过:为什么国外程序员爱用 Mac?

Coderwall 是 Y Combinator 最近孵化的其中一家创业公司中,致力于聚合 Geek 们在 Github、Twitter、LinkedIn 等的项目和信息,为 Geek 打造一张“技术名片”。最近 Coderwall 社区分享了几位技术高手的工作平台,以下图片来自 Codewall.

Ilya Grigorik: Google 工程师。

igrigorik

 

Alex MacCaw: JavaScript 程序员,O’Reilly 作者,目前在 Stripe 公司工作。

a2

 

Sam Soffes: iOS 和 Rails 软件工程师,Synthetic 前雇员,目前在创业。

a3

 

Max Howell: Homebrew 的作者。

a4

 

Scott Hanselman: 微软工程师。

a5

 

Jeff Lindsay: 开源黑客,Hacker Dojo 创始人,目前在 Twilio 工作。

a6

 

Dr Nic Williams: 每个 Ruby 社区的人都应该听过或看过他的作品,贡献了超过100个开源项目,目前在 Engine Yard 工作。

a7

 

Phil Haack: 前微软 ASP.NET 程序经理,目前在 GitHub 工作。

a8

 

Michael Bleigh: 开发了几个被广泛使用的 Ruby 开源软件库。

a9

 

Chris Eppstein: Compass 框架作者和 Sass 贡献者。

a10

 

文章来自:vpsee.com