一.对软件的认识 1. 什么是软件 2. 软件的分类 3. 软件开发的生命周期模型 (1)瀑布模型 (2)Scrum 其实对用瀑布模型这种臃肿不堪.要求严格.而无法适应软件开发周期变化的开发模型,渐渐兴起向更轻型的软件开发方法演化. 敏捷方法试图通过小型的,自我管理的团队用短小的合作发布周期来鼓励迭代式软件开发方法,软件的质量贯穿敏捷软件开发每一个阶段.敏捷软件开发方法有Scrum.极限编程(XP, EXtreme Programing).测试驱动开发(TDD).重构和持续集成. Scrum是敏…
第一章 对象的概念 抽象 Alan Kay 总结了对象的五大基本特征 万物皆对象. 程序是一组对象,通过消息传递来告知彼此该做什么. 每个对象都有自己的存储空间,可容纳其他对象. 每个对象都有一种类型. 同一类所有对象都能接收相同的消息. 服务提供 在良好的面向对象设计中,每个对象功能单一且高效.这样的程序设计可以提高我们代码的复用性,同时也方便别人阅读和理解我们的代码.只有让人知道你提供什么服务,别人才能更好地将其应用到其他模块或程序中. 封装 我们可以把编程的侧重领域划分为研发和应用. 使用…
PostgreSQL Replication系列翻译自PostgreSQL Replication一书 在本章中,将会介绍不同的复制概念,您会了解哪些类型的复制对哪一种实用场景是最合适的. 在本章的最后,您将能够判断某个概念在各种情况下是否是可行的. 我们在本章将介绍以下主题: • CAP理论 •复制的物理限制 •为什么延迟有影响 •同步和异步复制 •拆分和复制 在我们使用PostgreSQL实际工作之前,我们将引导您完成一些非常基本的与复制相关想法和事实. 1.1 CAP理论和物理限制 您可能…
/* Skogkatt 开始翻译于2015-01-24,仅作为学习研究之用,谢绝转载. 2015-01-31更新MFT entry 属性概念. 2015-02-01翻译完成. 译注:我翻译这本书的这三章虽然蓄谋已久,但并不是一个计划好的工作.因为之前和vczh.mili.darkfall曾讨论过everything这个软件,也曾想过要写一个开源的everything,于是就出来一个坑.everything这个软件其实是从底层直接parse了NTFS MFT,然后parse类每一个FILE ent…
一.前言 Vue.React.Angular,当今前端界的三驾马车,作为传统的后端程序员,前端再也不是我们想的那种切切图就可以了,第一次接触的话,先了解了解一些基础的概念. 学习系列目录地址:https://www.cnblogs.com/danvic712/p/9549100.html 仓储地址:https://github.com/Lanesra712/VueTrial/blob/master/docs/Concept.md 二.干货合集 1. Vue.js是什么? Vue (读音 /vju…
本章预热与后续系统编程有关的概念. 术语“操作系统”通常包含2种含义:一是指完整的软件包,包括管理计算机资源的核心组件,已经附带的标准软件:二是独指管理硬件的内核. 内核具有诸多概功能,包括: 进程管理 内存管理 文件系统支持 设备管理 在内核的管理下,操作系统会给每个用户营造一种抽象:虚拟化,即使得每个用户感觉自己在独占机器. 内核通过硬件将CPU分为2种状态,一种是用户态,又称目态:另一种是核心态,又称管态.两者区别是对CPU的限制,前面一种有很大限制,后一种无限制. 操作系统的一切活动都掌…
1.3 使用分片和数据分配 本节您将了解基本可扩展性技术,例如数据库分片.分片被广泛应用于高端系统并提供一个简单而且可靠的扩展设置方式来向外扩展.近年来,分片已经成为一种扩大专业系统规模的标准方式. 1.3.1 理解分片的目的 如果您的数据量增长超过一台机器的处理能力将会发生什么事情?如果您要运行这么多的事务,一台服务器根本跟不上怎么办?我们假设您有百万级的用户,上万用户想在同一时间执行特定的任务. 显然,某些时候,您再也不能通过购买能够处理无限大的负载的足够大的服务器来解决问题.显然在单个服务…
1.2不同类型的复制 现在,您已经完全地理解了物理和理论的局限性,可以开始学习不同类型的复制了. 1.2.1 同步和异步复制 我们可以做的第一个区分是同步复制和异步复制的区别. 这是什么意思呢?假设我们有两台服务器,希望从一台服务器(the master)复制数据到第二台服务器(the slave).下图说明了同步和异步复制的概念: 我们可以使用一个简单的事务如下所示: BEGIN: INSERT INTO foo VALUES ('bar'); COMMIT; 在异步复制的情况下,事务被提交到…
1.ZooKeeper是什么 ZooKeeper为分布式应用提供了高效且可靠的分布式协调服务,提供了统一命名服务. 配置管理和分布式锁等分布式的基础服务.在解决分布式数据一致性方面, ZooKeeper采用的是 ZAB (ZooKeeperAtomic Broadcast)的一致性协议. ZooKeeper是一个典型的分布式数据一致性的解决方案, 分布式应用程序可以基于它实现现诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知.集群管理. Maste选举. 分布式锁和分布式队列等功能. Z…
目录 语法 标识符 严格模式 关键字 保留字 变量 数据类型 运算符 表达式与语句 语法 "语法"指的是一门语言的书写风格,JavaScript 的语法风格很类似于 C 以及 Java. 语法又是一种概念上的统称,例如如何声明变量.定义函数.书写流程控制语句或者是进行条件判断等,这些都是属于语法风格的范畴. 标识符 所谓的"标识符"就是对变量.标签.函数.方法.属性以及参数名称的统称. 标识符可以分为"用户自定义标识符"与"系统标识符&…