敏捷开发

浏览: 380 2018年01月08日
在Web开发领域你大概听到过“敏捷开发”,或者接触过一些敏捷的方法和工具,比如站立会议、结对编程(Pair Programming)、持续集成,等等,你甚至可能正某个使用XP或Scrum开发方式的团队里工作(XP和Scrum都是敏捷的一种流派)。那么敏捷究竟是什么?为什么要敏捷以及如何做到敏捷呢...

8.3、进一步了解Git

浏览: 293 2018年01月05日
本章介绍了Git的基本命令和原理。你可以绕过原理先学习一些比较容易上手的命令以应付日常工作,在这方面有很多资料可供参考;但总有一天(也许很快)你会遇上麻烦,一筹莫展,甚至连解决问题的线索都没有,这时你可能会向原理求助(或者其它Git专家,如果你身边有这种人,并且他总是对你的问题热情洋溢)。另一方...

8.2、Git基本原理

浏览: 337 2018年01月04日
与CVS或者SVN等一般软件不同,要想掌握Git,必须对其实现原理有深入的理解;否则只能停留在表面的简单操作上,一旦遇到复杂问题就无从下手。了解Git的基本原理需要从Git仓库的数据结构入手。Git把一个项目所有的版本和历史数据保存在一个Git仓库(Repository)里。仓库通常位于项目根目...

8.1、Git基础操作

浏览: 325 2018年01月03日
基本流程使用Git的基本流程如下:首先你要决定是新建一个Git仓库(在本地),还是clone一个已有的Git仓库(到本地)。一个Git仓库(Repository)保存着一个项目的全部版本数据,包括历史版本、提交(commit)纪录等等。一个Git仓库,不论是在本地还是远程,都保存着一个项目的全部...

开发工具与技术Git

浏览: 312 2018年01月02日
Git一般被用作一种版本控制系统(Version Control System),由Linux的发明人Linus Torvalds发明。作为一种版本控制系统,Git有仓库(Repository)、版本(Revision)和提交(Commit)的概念,以及查看版本历史(history)、版本之间的...

7.3、邮件服务器

浏览: 377 2017年12月13日
有的Web网站需要发送注册确认邮件,或者订阅内容给用户,这就要用到邮件服务器。应用程序通过SMTP协议向邮件服务器传送邮件,由后者送达收件人的邮箱;如果需要收取邮件,则通过IMAP或POP3协议向邮件服务器收取邮件。与Web服务器不同,邮件服务器的配置和管理要复杂得多,因此使用可靠厂商提供的电子...

6.2、NoSQL数据库

浏览: 379 2017年12月12日
NoSQL数据库是一种非关系型数据库。跟使用SQL的关系型数据库相比,它具有以下一些特点:无模式(schema)易于水平扩展(horizontal scaling)需要为查询而设计文档结构对事务(transaction)的支持有限,或需要用户自己实现常见的NoSQL数据库有两类:面向文档的(do...

Web服务器的其他组件之Cron

浏览: 377 2017年12月11日
我们已经了解了Web服务器的基础,知道如何为Web服务器编程,以及数据库,但除此以外,一个Web网站往往还依赖一些其他工具来完成定时任务、后台任务以及发送邮件等功能。本章将对这些组件做一介绍。Cron是*nix系统上的一个软件工具,可以完成周期性的定时任务,比如在每天/每周/每个月的特定时间执行...

6.1、关系型数据库

浏览: 392 2017年12月11日
简单地说,关系型数据库即使用SQL进行操作的数据库。SQLSQL即结构化查询语言(Structured Query Language),是关系型数据库用来操作数据的语言。虽然叫做“查询”语言,但实际上从数据定义到数据插入、删除、更新和查询,它都能完成。另外,虽然SQL已经被标准化,但不同数据库对...

7.1、消息队列

浏览: 388 2017年12月10日
消息队列(Message queue)是一种进程间通信(Inter-process communication,IPC)机制。一个简单的消息队列的例子是:一个进程往队列里投递消息,另一个进程从队列里取出消息并执行相应的操作。消息队列可以使Web网站在后台异步完成一些比较花时间的任务——Web服务...

数据库

浏览: 339 2017年12月08日
一般在服务器端产生动态内容的网站都使用了数据库来做数据存贮或缓存。数据库(Database)简单地说就是一个结构化的数据集合1,通过数据库管理系统(DBMS)与用户交互(由于数据库和数据库管理系统的紧密联系,数据库管理系统有时也被宽泛地称为数据库,本指南也是如此,读者不难从上下文中推断出其具体含...

5.14、服务器推送

浏览: 452 2017年12月07日
服务器推送(Server Push)是一种由服务器发起的消息推送技术,用于把服务器端产生的消息即时地推送给客户端,典型的应用场景如Web聊天、微博消息等。服务器推送与通常的HTTP请求不同——后者都是由客户端发起的,但实际上在WebSocket出现以前,Web原生的服务器推送技术都是用普通的HT...

5.13、Web缓存

浏览: 405 2017年12月06日
什么是Web缓存Web缓存是指HTTP协议定义的缓存。它可以有效提高网站的访问速度、降低对网络带宽的消耗。Web缓存包括网站的反向代理(Reverse Proxy)缓存,中间代理(Intermediary Proxy)缓存以及浏览器缓存,如图所示:我们在上一节中提到的Web缓存,专指通过网站反向...

5.12、服务器架构

浏览: 410 2017年12月04日
简单的情况Web服务器位于整个网站的最前端,它接受客户端的HTTP请求,并作出应答,如图所示:流行的Web服务器有Apache HTTP Server、Nginx,以及微软的IIS等。另外,有一些Web编程技术依赖于特定的Web服务器,如前面提到的Java Servlet须要运行在Servlet...

5.11、RESTful Web API

浏览: 387 2017年12月02日
RESTful Web API就是按照REST方式设计的Web API。本章首先介绍Web API是什么,然后解释RESTful的含义,最后给出进一步学习的建议。Web APIAPI即应用程序编程接口,比如*nix操作系统提供的C语言接口的API可以完成创建进程、读取系统时间等各种操作。Web ...

5.10、 Node.js

浏览: 325 2017年12月01日
Node.js是JavaScript在服务器端编程的一种应用,它由Ryan Dahl在2009年发明。Node.js采用了一种事件驱动、异步IO的方式来响应HTTP请求,这与上面介绍的其他编程技术都大不相同。异步IO的好处在于它能用单线程处理高并发;同时这也意味着在编程中大量使用回调函数。下面的...

5.9、Ruby

浏览: 368 2017年11月28日
Ruby也是一门通用编程语言,由松本行弘(Yukihiro Matsumoto)发明,并在1996年达到了1.0版。它的主要特征包括开放类定义(open class)、混合器(mixin)和code block等。对于Ruby语言的学习,我推荐OReilly出版的《The Ruby Progra...

5.8、Python

浏览: 425 2017年11月26日
Python是一门通用编程语言,由Van Rossum发明,在1994年达到了1.0版。它的应用领域十分广泛,服务器编程只是其中一部分。关于Python语言本身,有很多优秀的读物可供参考。在此作者推荐OReilly出版的《Learning Python, 5th Edition》。这本书内容全面...

5.7、Java

浏览: 460 2017年11月22日
Java诞生于1995年,由Sun Microsystems公司创造。它不仅是一种通用编程语言,更是一套平台体系(包括JVM,即Java虚拟机在内)。Java的应用领域相当广泛,不只是服务器编程,它还是Android系统的主要编程语言。本文主要讨论它在服务器端的应用。关于Java语言本身,有很多...

5.6、PHP

浏览: 395 2017年11月20日
PHP最初的含义是“Personal Home Page”,于1995年由Rasmus Lerdorf发明,是他用来建立个人主页的一个工具集,并没有被设计成一种编程语言1。如今,PHP已经成为了一种十分流行的服务器编程语言,并且其应用范围也不再限于服务器编程领域。PHP也被重新(递归)定义为“P...