《深入理解程序设计》读书笔记
计算机体系结构
冯诺依曼体系

当前计算机主要是基于冯诺依曼体系结构设计的,主要由五大部件组成:
-
存储器用来存放数据和程序
-
运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中
-
控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果
-
输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等
-
输出设备可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等

当前计算机主要是基于冯诺依曼体系结构设计的,主要由五大部件组成:
存储器用来存放数据和程序
运算器主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中
控制器主要用来控制和指挥程序和数据的输入运行,以及处理运算结果
输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等
输出设备可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等
简单工厂模式是一种创建型设计模式,一般又称为静态工厂方法(Static Factory Method)模式。这种模式通过一个静态方法或者函数来达到隐藏正在创建的实例的创建逻辑目的
客户端仅与工厂方法交互,并告知需要创建的实例类型。工厂方法与相应的具体产品进行交互,并返回正确的产品实例。
golang中的defer关键字是用来声明一个延迟函数,一般称这个函数为defer函数,该函数会在defer语句所在的函数返回之前会执行。通过defer关键字,我们可以修改函数命名返回值,进行资源释放等操作,总的来说defer函数有如下特点和功能:
本文将介绍defer上面的几个特性,如果想深入了解defer底层实现机制,可以阅读笔者写的《深入Go语言之旅 - 基础篇 - defer函数》。
当程序执行一个函数时候,会将函数的上下文(输入参数,返回值,输出参数等信息)作为栈帧放在程序内存的栈中,当函数执行完成之后,设置返回值并返回,此函数才真正完成执行。
defer语句函数会在函数返回之前执行,下面程序将会依次输出B A:
抽象是用来处理复杂性的主要工具。一个问题越复杂,就越需要抽象来解决
设计模式这个术语是由Erich Gamma等人在1990年代从建筑设计领域引入到计算机科学的。在《Domain-Driven Terms》一书中,设计模式被描述为:
设计模式是命名、抽象和识别对可重用的面向对象设计有用的的通用设计结构。设计模式确定类和他们的实体、他们的角色和协作、还有他们的责任分配
每一个设计模式都聚焦于一个面向对象的设计难题或问题。它描述了在其它设计的约束下它能否使用,使用它后的后果和得失
最近上线了go语言写的一个接口服务,由于接口服务是分布式部署的,服务的配置就需要使用分布式配置中心来管理。在调研了其他配置中心工具方案后,最终采用了Consul作为配置工具。一方面其学习成本较低,二来Consul本身作为服务注册和发现工具,可以一次学习多次适用。
清明放假三天,闲来无事,拿起角落里吃灰蛮久的《统计思维》一书聊以打发。现把读书笔记结合收集的相关资料内容记录如下。
描述性统计是一种汇总统计,用于定量描述或总结信息集合的特征。描述性统计又分为集中趋势(Measures of central tendency)和离散趋势(Measures of Dispersion)
均值(Mean),即所有数据相加后的总和除以数据的个数得出的结果, 也称算术平均值。设一组样本数据为x1,x2,...,xn,样本数据的个数为n,则均值为:

注入攻击是OWASP总结的十大web安全风险中排在第一位的攻击形式, 而SQL注入(SQL Injection)攻击是注入攻击中最常见的一种形式。SQL注入漏洞可以从数据库读取敏感数据,修改数据库数据(插入/更新/删除),对数据库执行管理操作(例如关闭DBMS),恢复DBMS文件上存在的给定文件的内容系统,并在某些情况下向操作系统发出命令。
作为开发要防范这些攻击,就需要了解这些攻击方式。现列出Mysql数据库下几种常见SQL注入攻击示例,以作参考。

Elasticsearch是基于Apace Lunence构建的开源,分布式,具有高可用性和高拓展性的全文检索引擎。Elasticsearch具有开箱即用的特性,提供RESTful接口,是面向文档的数据库,文档存储格式为JSON,可以水平扩展至数以百计的服务器存储来实现处理PB级别的数据。
Elasticsearch可以快速存储,搜索,分析海量,索引数据速度达到毫秒级(近实时Near Real Time)。Github的代码搜索就是使用Elasticsearch来实现的。Elasticsearch使用场景有:
春节期间,公司组织远程培训,请Aws讲师培训Architecting on aws,属于aws架构培训中级课程。以下内容是个人做的笔记。