自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 资源 (3)
  • 收藏
  • 关注

翻译 微服务架构(四): 横切关注点/普适性问题

工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了微服务架构的应用普遍需要关注的点。翻译和整理自:http://microservices.io/patterns/microservice-chassis.htmlhttp://micro

2017-04-03 21:31:23 1812

翻译 微服务架构(三): 部署

工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章主要讲述了部署一个微服务架构的应用有哪些可选方案。翻译和整理自:http://microservices.io/patterns/deployment/single-service-per-

2017-04-02 21:34:36 4359 1

翻译 微服务架构(二): 如何把应用分解成多个服务

工作中使用了微服务,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。上一篇文章详细说明了单一应用架构与微服务架构各自的优缺点,这篇文章是对 http://microservices.io/patterns/decomposition/decompose-by-business-capabi

2017-04-02 13:59:51 18893

翻译 微服务架构(一):单一应用架构与微服务架构

工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。这篇文章是对 http://microservices.io/patterns/monolithic.html 和 http://microservices.io/patterns/microservices.html 的

2017-04-01 19:34:42 9951

原创 如何通过AWS助理级解决方案架构师认证

3月份花了很多时间去准备AWS Certified Solutions Architect - Associate的考试,最后也如愿通过了。在这里总结下如何通过这门考试,包括学习渠道、考试内容分析、考前准备等。一、学习渠道我是在ACloud Guru上面学习的课程, 这门课程从宏观上介绍了AWS整个平台所提供的各个服务,然后主要介绍了IAM, S3, EC2, VPC,

2017-04-01 17:39:21 13042 2

原创 浏览器同源策略与跨域请求的实现方法

最近在项目中遇到了跨域请求的问题,趁着这个机会详细地了解了下相关的知识,现在做个记录。Reference:http://www.ruanyifeng.com/blog/2016/04/cors.html https://developer.mozilla.org/docs/Web/HTTP/Access_control_CORS一、浏览器的同源策略1.什

2017-03-11 16:25:17 1845

原创 Docker与Kubernetes系列(七): Docker Swarm

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第七篇文章, 先不介绍K8S了, 我打算先来介绍我最近用的比较多的Docker Swarm(K8S以后再说吧)。本篇文章基本来自Docker官方文档

2017-02-25 23:44:10 2458

转载 Docker与Kubernetes系列(六): Docker的原理2_Linux CGroup

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第六篇文章, 将介绍Docker的原理之CGroup。前面,我们介绍了Linux Namespace,但是Namespace解决的问题主要是环境隔

2017-02-23 00:42:32 2574

转载 Docker与Kubernetes系列(五): Docker的原理1_Linux Namespace

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第五篇文章, 将介绍Docker的原理之Namespace。Docker容器本质上是宿主机上的进程。Docker 通过namespace实现了资源

2017-02-22 23:28:15 2813

原创 Docker与Kubernetes系列(四): Docker的数据卷

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第四篇文章, 将介绍Docker的数据卷。

2017-02-21 23:58:54 3541

原创 Docker与Kubernetes系列(三): 外部访问Docker容器

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第三篇文章, 将介绍如何访问Docker容器。一、外部访问容器容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p

2017-02-12 22:46:49 7102

原创 Docker与Kubernetes系列(二): Docker的基本用法

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第二篇文章, 将介绍Docker的一些基本用法。一、获取、运行、列出镜像从 Docker Registry 获取镜像的命令是 docker

2017-02-09 22:28:06 12527

原创 Docker与Kubernetes系列(一): Docker的基本概念

这段时间工作中用到了Docker以及Kubernetes(简称K8S),现在整理下我学习Docker以及K8S过程中看的一些比较好的资料,方便自己回顾,也希望能给容器小白一些帮助。给自己定一个小目标,二月底之前完成。这是本系列的第一篇文章, 将简单介绍什么是Docker以及Docker的一些基本用法。一、什么是DockerDocker 使用 Google 公

2017-02-09 00:01:28 37138 1

原创 Node.js构建HTTPS+服务集群

一、快速实现HTTPS1.利用OpenSSL生成证书进入项目根目录,使用以下命令行:~ openssl genrsa -out privatekey.pem 1024~ openssl req -new -key privatekey.pem -out certrequest.csr ~ openssl x509 -req -in certrequest

2016-10-21 21:21:05 691

原创 Node.js的内存管理

本文为读书笔记。一、V8的垃圾回收机制与内存限制Node使用chrome的V8作为JS脚本引擎,因此Node的内存管理与V8关系很密切。1.V8的内存限制因为V8是为浏览器环境设计的,所以内存限制很小,在64位系统下约为1.4 GB,32位系统下约为0.7 GB。2.V8的对象分配在V8中,所有的JavaScript对象都是通过堆来

2016-10-18 22:00:32 3230

原创 Node.js的异步I/O

本文为读书笔记。一、Node.js异步I/O的实现原理1.事件循环首先,我们着重强调一下Node自身的执行模型——事件循环,正是它使得回调函数十分普遍。在进程启动时,Node便会创建一个类似于while(true)的循环,每执行一次循环体的过程我们称为Tick。每个Tick的过程就是查看是否有事件待处理,如果有,就取出事件及其相关的回调函数。如果存在关联的回调函数,就执

2016-10-11 21:39:34 1306

原创 Node.js中的模块机制

本文为读书笔记。一、CommonJS的模块规范Node与浏览器以及 W3C组织、CommonJS组织、ECMAScript之间的关系 Node借鉴CommonJS的Modules规范实现了一套模块系统,所以先来看看CommonJS的模块规范。CommonJS对模块的定义十分简单,主要分为模块引用、模块定义和模块

2016-10-09 18:33:53 5320

原创 用React + Redux + NodeJS 开发一个在线聊天室

最近工作比较闲,所以学了点React相关的东西,然后又做了个简单的在线聊天室练手, 现在就记录下如何用React和Redux来构建一个项目。项目在线演示地址:https://murmuring-brook-22426.herokuapp.com/源码地址: 源码一、技术栈1.前端展示层:React2.前端数据流管理:Redux3.前端样式:Less4.后端: N

2016-09-29 19:33:22 11732 1

转载 JavaScript中的严格模式

最近详细了解了下严格模式,本想自己总结下,但是我太懒了,就直接转一篇总结文吧!如果不想要二手的,可以直接看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode=======================================================本文转自 

2016-09-05 21:45:47 2350

原创 使用NPM + Webpack进行前端开发的示例

最近在使用Webpack来帮助进行前端开发,觉得这个东西的确挺好用。所以用一个简单的示例记录一下,供他人以及自己以后的参考。这篇文章不是Webpack的教程贴,也不分析Webpack的优缺点,只是简单的记录我自己觉得还不错的一套用法,在阅读本文前,读者需要对NPM以及Webpack有个基础的了解。1.项目结构项目名称叫webpack-demo。源代码目录是a

2016-08-21 21:42:20 19502 1

原创 HTTP系列(七):重定向与负载均衡

1.将报文重定向到服务器2.将报文重定向到代理服务器

2016-06-07 22:22:28 1098

原创 HTTP系列(六):报文实体和编码

一、实体实体首部指出这是一个纯文本文档(Content-Type:text/plain),它只有18 个字节长(Content-Length:18)。一个空白行(CRLF)把首部字段同主体的开始部分分隔开来。 1.实体首部HTTP实体首部描述了HTTP报文的内容。HTTP/1.1版定义了以下10

2016-06-06 22:51:40 3998

原创 HTTP系列(五):HTTPS

1.数字加密技术一些基础概念:•密码对文本进行编码,使偷窥者无法识别的算法。比如循环移位算法,每个字母都用字母表中N位之后的字母代替。•密钥改变密码行为的数字化参数,循环移位算法中的N就是密钥。•对称密钥加密系统编 /解码使用相同密钥的算法。对称密钥加密技术的缺点之一就是发送者和接收者在互相对话之前,一定要

2016-06-01 23:56:10 1520

原创 HTTP系列(四):Cookie

一、Cookie成分这里我们只说cookies版本0的部分,不讨论cookies版本1(尚未得到广泛应用)。最初的 cookie规范是由网景公司定义的。这些“版本0”的cookie定义了 Set-Cookie响应首部、cookie请求首部以及用于控制cookie 的字段。版本0 的cookie看起来如下所示:Set-Cooki

2016-05-28 17:00:46 577

原创 HTTP系列(三):缓存

本文想要解释以下问题:HTTP 如何保持已缓存副本的新鲜度缓存如何与其他缓存和服务器通信一、保存缓存的新鲜1.If-Modified-Since 首部原始服务器的内容可能会发生变化,缓存要不时对其进行检测,看看它们保存的副本是否仍是服务器上最新的副本。这些“新鲜度检测”被称为HTTP 再验证。

2016-05-28 12:27:20 1032

原创 HTTP系列(二):连接管理

一.TCP连接TCP为 HTTP提供了一条可靠的比特传输管道。从TCP连接一端填入的字节会从另一端以原有的顺序、正确地传送出来。TCP的数据是通过名为 IP分组(或IP数据报)的小数据块来发送的。HTTP就是“HTTP over TCP over IP”这个“协议栈”中的最顶层了。其安全版本

2016-05-02 21:56:31 7542

原创 HTTP系列(一):报文

一、组成部分1.报文语法HTTP 报文是简单的格式化数据块。每条报文都包含一条来自客户端的请求,或者一条来自服务器的响应。它们由三个部分组成:对报文进行描述的起始行(start line)、包含属性的首部(header)块,以及可选的、包含数据的主体(body)部分。 起始行和首部就是由行分隔的 ASCII文本。每行都以一

2016-04-27 22:04:55 6492 1

原创 前端组件化开发和MVC

最近接触到了前端开发一些比较不错的思想:组件化开发、MVC,是我以前瞎写课程大作业的时候所不具备的。所以想写下来做个总结,也希望能给不太了解这一块的同学一点启发和帮助。这一篇,就用一个本地博客的demo,来简单地介绍一下组件化开发和MVC。前提准备:适当了解Backbone1.初步分析先看下页面长什么样:(因为主要讲编程的思想,css什么的就随意搞搞)可以看到,页面分为

2016-04-07 17:56:00 3377

转载 深入理解JavaScript系列(四): 模块化编程

本文整理自 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html1.模块的写法1.原始写法模块就是实现特定功能的一组方法。只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。  function m1(){    //...  }  function

2016-03-29 22:53:41 8451

原创 深入理解JavaScript系列(三): 作用域链与闭包

1.作用域链1.创建时函数的[[Scope]]属性包含这个函数被定义时它所有的域对象。var name = 'scope1'; function tellScope() { console.log(name); // [[Scope]] = [{name:'scope1'}]} function testScope() { var name = 'scope2

2016-03-28 21:54:36 1584

原创 深入理解JavaScript系列(二): 原型、原型链与继承

1.原型1.什么是原型我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。 如果按照字面意思来理解,那么 prototype 就是通过调用构造函数而创建的那个对象实例的原型对象。使用原型对象的好处是可以让所有对象实例共享它所包含的属性和方法。

2016-03-28 17:01:03 1827

原创 深入理解JavaScript系列(一): 函数的四种调用模式

1.四种调用模式1.方法调用模式当一个函数被保存为对象的一个属性时,我们称之为一个方法。当一个方法被调用时,this被绑定到该对象。function A() { this.x = 1; //定义a.x this.b = function () { //定义a.b this.helper = function () { //定

2016-03-24 22:27:31 2118

原创 《高性能JavaScript》读书笔记

1.加载和运行1.把标签放在尽可能接近标签底部的位置因为浏览器在遇到标签之前,不会渲染页面的任何部分。2.减少标签总数Yahoo! 为他的“Yahoo! 用户接口(Yahoo! User Interface,YUI)”库创建一个“联合句柄”,这是通过他们的“内容投递网络(Content Delivery Network,CDN)”实现的。任何一个网站

2016-03-20 15:34:42 1243

原创 《JavaScript高级程序设计》读书笔记(七):事件

1.事件流当浏览器发展到第四代时(IE4 及 Netscape Communicator 4),浏览器开发团队遇到了一个很有意思的问题:页面的哪一部分会拥有某个特定的事件?要明白这个问题问的是什么,可以想象画在一张纸上的一组同心圆。如果你把手指放在圆心上,那么你的手指指向的不是一个圆,而是纸上的所有圆。两家公司的浏览器开发团队在看待浏览器事件方面还是一致的。如果你单击了某个按钮

2016-02-27 22:48:35 946

原创 《JavaScript高级程序设计》读书笔记(六):DOM

1.Node类型JavaScript 中的所有节点类型都继承自 Node类型 每个节点都有一个 nodeType 属性,用于表明节点的类型。节点类型由在Node 类型中定义的下列12个数值常量来表示,任何节点类型必居其一: Node.ELEMENT_NODE(1); Node.ATTRIBUTE_NODE(2);

2016-02-27 14:47:43 822

原创 《JavaScript高级程序设计》读书笔记(五):BOM

1.window对象BOM 的核心对象是window,它表示浏览器的一个实例。在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的 Global 对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window 作为其Global 对象,因此有权访问parseIn

2016-02-18 16:42:51 952

原创 《JavaScript高级程序设计》读书笔记(四)

1.函数定义函数的方式有两种:一种是函数声明,另一种就是函数表达式。函数声明的语法是这样的:function functionName(arg0, arg1, arg2) {//函数体} 关于函数声明,它的一个重要特征就是函数声明提升(function declaration hoisting),意思是在执行代码之前会先读取函数声明。这就意味着可

2016-02-18 11:43:19 983

原创 《JavaScript高级程序设计》读书笔记(三):面向对象

1.属性的特征用对象字面量来创建对象:var person = { name: "Nicholas", age: 29, job: "Software Engineer", sayName: function(){ alert(this.name);}}; 1. 数据属性

2016-02-17 16:05:16 1023

原创 《JavaScript高级程序设计》读书笔记(二):引用类型

一、引用类型1.Object类型创建 Object实例的方式有两种。第一种是使用new 操作符后跟Object 构造函数 ,如:var person = new Object();另一种方式是使用对象字面量表示法。对象字面量是对象定义的一种简写形式,目的在于简化创建包含大量属性的对象的过程。

2016-02-16 18:19:44 909

原创 《JavaScript高级程序设计》读书笔记(一)

1.JavaScript的组成(简单介绍)一个完整的JavaScript实现应该由下列三个不同的部分组成:核心(ECMAScript)、文档对象模型(DOM )、浏览器对象模型(BOM)1.ECMAScript常见的 Web浏览器只是 ECMAScript实现可能的宿主环境之一 。既然ECMA-262 标准没有参照Web 浏览器,那它都规定了些什么内容呢?大

2016-02-15 18:05:55 1355

Android UI模板之自定义Topbar

Android UI模板之自定义Topbar,利用自定义属性、配置式赋值等方式,提高代码可复用性。

2015-06-07

Android APP版本更新源码

Android APP版本更新源码,利用进度条实时显示下载进度。

2015-06-04

Android仿QQ下拉刷新

自定义ListView,仿QQ下拉刷新效果

2015-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除