自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Unity 3D 博客汇总

Unity 3D 博客汇总本博客仅用于收集一些 Unity 3D 开发技术博客,供入门者学习。Unity 3D 博客汇总一、最有价值个人博客(Valuable Person Blogs /VPB)二、最佳单项博客(Valuabe Single Items /VSI)2.1 离散仿真系统与 Unity 事件模型2.2 IMGUI小游戏(井子棋等)2.3 太阳系仿真(SunSet...

2017-05-16 11:15:59 10143 1

原创 Golang 处理错误,panic defer PK try catch 机制

go 语言使用 panic defer 机制处理错误,但可能你喜欢使用 try catch 机制。因此,需知道两种机制之间的关系。演示代码如下:package mainimport ( "errors" "fmt")var ( internalError = errors.New("Don't need send out") KnowError = errors.New..

2018-10-16 10:56:01 929

原创 golang IO 流抽象与应用

golang IO 流抽象与应用文章目录golang IO 流抽象与应用1、 io.go 源代码与 IO流抽象1.1 io 包的职责1.2 IO 操作原语定义与基础接口1.3 实用 IO 处理函数1.4 典型的应用结构2、IO 抽象与流处理应用2.1 装饰模式2.2 字符流2.3 二进制流3、小结抽象,特别是面向接口的抽象,可以使程序变得更加通用。本文通过对 io 库设计的分析,介绍使用一些相...

2018-10-03 10:08:30 3286

原创 理解 goroutine 的并发

线程(Thread)对于语言的重要性不言而喻,每个语言都要“发明”自己最高效的线程库以说明自己的厉害,go 也不能免俗的。但 Go 语言却不认为自己是线程,叫 goroutine? Why? 本文通过案例加深对goroutine 的本质理解,在此基础上介绍 goroutine 编程涉及的内容以及四个编程准则。

2017-12-20 10:50:20 7336 1

原创 golang 反射(reflect)

反射是现代程序必备的元素,用于在运行时获取程序元数据,实现动态识别类型及其结构,以及相关的语义信息。

2017-12-20 10:41:04 2150

原创 go 构建微服务程序

Go 是面向现代云服务架构的语言,服务之间通讯在HTTP应用层仅友好支持 RESTful 的服务 。因此,掌握 HTTP Resource API 的设计方法与工具、golang 客户端与服务器编程要点是必须 get 的技能。 本文介绍 API Blueprint 的使用,以及 golang 相关编程,以 API 为核心,支持测试驱动的编程(TDD)

2017-12-06 09:37:35 4809

原创 容器基础与持续交付

本文主要关注容器作为服务的基础知识。容器服务涉及知识面广,要点是从实践的角度,理解容器(进程)的基本概念与原理,学会创建容器、运行与使用容器、管理容器。初步掌握 golang 程序镜像制作,初步掌握集成测试、自动构建、自动部署的开发流程。

2017-11-29 17:35:07 975

原创 golang 构建数据服务

本部分的目标是使用 golang database/sql 写出易于阅读、扩展和可维护的数据库服务。重点是掌握经典的 “entity - dao - service” 层次结构编程模型

2017-11-22 12:39:32 3708

原创 golang web 服务器 request 与 response 处理

介绍常见 web 服务的实现与输入、输出数据处理。包括:静态文件服务、js 请求支持、模板输出、表单处理、Filter 中间件设计。

2017-11-15 11:49:30 8558

原创 HTTP 协议 与 golang web 应用服务

本文仅是介绍 golang web 应用与服务的 hello world 的工作原理,开发工具等。

2017-10-31 16:25:25 8782

原创 golang CI 入门

CI(持续集成 | Continuous Integration)是 TDD(测试驱动开发 - Test Driven Development)核心内容。本文通过最简单的案例,了解如何利用 Github 和 Travis 完成在线构建任务。

2017-10-27 20:34:54 2751

原创 面向对象思考与 golang cobra 库实现原理

本文不打算纠结 golang 有哪些面向对象特性,仅关注面向对象的思想如何在 golang 中应用,让我们轻松一些写出类似 cobra 中 comamnd.go 这样易于使用、可扩展的程序。

2017-10-24 10:29:38 2773

原创 构建微服务实验环境(四):Kubernetes 集群

Kubernetes 集群

2017-05-25 11:44:33 813

原创 构建微服务实验环境(三):Rancher 管理平台

【摘要】微服务架构目前最流行的方案(最佳实践)是容器集群。AWS 的 ECS、Docker 的 Swarm、google 的 Kubernetes(K8s),apache 的 mesos,包括 Rancher Labs 的 Rancher 。 建议使用 AWS 或 阿里云 等共有云部署,会有更多技术支持,让你体验不同方案的优势。这里仅为了让你更好理解容器集群工作原理,介绍在 Centos 集群上部署 Swarm、K8

2017-05-20 17:30:07 2363

原创 构建微服务实验环境(二):Docker Swarm 集群

微服务架构目前最流行的方案(最佳实践)是容器集群。AWS 的 ECS、Docker 的 Swarm、google 的 Kubernetes(K8s),apache 的 mesos,包括 Rancher Labs 的 Rancher 。 建议使用 AWS 或 阿里云 等共有云部署,会有更多技术支持,让你体验不同方案的优势。

2017-05-13 08:37:13 6525

原创 构建微服务实验环境(一):容器与应用

【摘要】微服务架构目前最流行的方案(最佳实践)是容器集群。AWS 的 ECS、docker 的 Swarm、google 的 Kubernetes(K8s),apache 的 mesos,包括 Rancher Labs 的 Rancher 。 建议使用 AWS 或 阿里云 等,官方会提供更多的技术支持,让你体验不同集群方案的优势。

2017-05-02 17:10:51 3062

原创 CentOS7 使用 yum 安装 chrome

CentOS7 使用 yum 安装 chrome

2017-04-29 15:54:31 6512 3

原创 REST Service 开发 - 客户端

REST Service 的客户端开发是比较简单的,每种框架都提供了各种访问服务端的实现,如 Apache Httpclient, JAX-RS2 client,Feign Client。本文重点罗列客户端异步服务编排技术,服务端异步技术,这些将使得你的云服务更加健壮、高效。

2017-04-22 20:20:51 4070

原创 Java Reactive 异步与并发编程

Reactive 编程在多数人眼中是异步、并发的“银弹/神器”。本文分析了Reactive 执行原理,说明 Reactive 编程是数据驱动的,而不是“事件”驱动的。Reactive 编程分为数据源准备、数据流建模、调度者分配三个基本设计步骤,才能实现异步并发执行。最后,我们给出了基于数据流图的计算模型的设计与编程方案。

2017-04-22 17:16:20 24955 3

原创 REST Service 开发 - 测试驱动开发

【摘要】本文介绍了使用 Spring Boot 完成 REST 服务集成测试的方法。为了方便访问 Web 服务, 这里使用了 Feign 作为访问与测试 REST 服务的工具,具有简单、易用性。

2017-04-15 21:42:37 1034

原创 REST Service 开发 - JAXRS 基础

【摘要】本文介绍 JAXRS 常用语法与语义,案例则使用 Maven 多模块构建,集成 spring boot, 并使用 swagger 可视化工具测试服务。最终,给出同时支持 JOSN 和 XML 的服务配置。

2017-04-15 16:47:04 6466 2

原创 REST Service 开发 - Quick Start

【摘要】本文简单介绍了基于 CXF 的 RESTful 服务的开发,和基于模板技术 Feign 的服务客户端的开发。 他们都是开发云服务的常用工具。内容重点是定义服务到 HTTP 的映射,其中 CXF 使用 JAX-RS 标准, Feign 则是使用 retrofit 模板实现到 HTTP 的映射。

2017-04-14 19:53:54 1320

原创 用 vagrant 快速部署 docker 虚拟机集群

快速部署虚拟机集群是开发与测试团队面临的重要任务,常见的工具是 vagrant 与 docker machine。使用 vagrant 下载网上做好的虚拟机,速度“感人”!本文介绍 vagrant 在 VirtualBox 环境下创建 CentOS 虚拟机基础 Box 的方法,以及部署 docker 集群环境的应用。

2016-12-29 11:26:47 4927 1

原创 docker 集群(swarm)与服务编排(service orchestration)入门

服务集群管理与编排是云应用的基础。企业对云的期待已仅是资源弹性、成本优势等,业务的稳定性与灵活性是新的目标。本文使用 docker swarm mode 官方资料(略有调整),以案例体验为中心,介绍服务管理技术核心技术,包括:建立集群、部署服务、热按需部署、热更新、撤换节点、负载均衡等企业应用关切的需求,初步展现“Build, Ship and Run Any App, OnCloudy”。

2016-12-21 16:20:21 6328

原创 搭建 Docker 私有仓库 Registry-v2

从 docker v1.12 开始,docker 就不支持从 HTTP 仓库下载镜像,建立私有仓库必须走 HTTPs 加密协议。本文收集了网上中文、官方资料,总算搞定了自己签名证书的私有仓库。

2016-12-21 16:13:55 1178

原创 docker 集群网络规划与 VM 网络配置

【摘要】使用 K8s(Kubernetes)或 docker swarm 都需要 pc 或 vm 的集群,网络规划是开始工作的第一步。本文目标是在单机上使用 VirtualBox 创建 CentOS 7 服务器集群,特别是网络配置的基本知识,以及安装 CentOS 服务器。

2016-12-21 16:08:45 3158

原创 docker 与 services 入门

【摘要】容器是当前面向服务软件的最佳实践之一,了解容器技术及其发展是程序员必修功课。本文简单介绍容器技术的发展与服务的关系,并配了学习容器服务技术的系列入门教程。

2016-12-18 21:20:18 3543

原创 创建镜像 - 创建与定制 mysql 镜像

本文通过制作与定制 mysql 镜像为案例,一方面说明创建镜像简单,另一方面解释 docker image 的内容,直观描述 docker build 命令与 Dockerfile 主要配置。这些基本能满足日常工作需要,需要完整的命令和配置说明可参考官方文档或网上的翻译。

2016-12-17 16:06:13 6753

原创 docker 集群(单主机)部署web 应用入门(Nginx)

本文探讨的场景是使用 Nginx 部署一个应用,可能涉及 Nginx 服务,web 服务,web service 服务,缓存服务,数据库服务等,这时就需要多个容器协作,这些容器之间依赖关系非常复杂。面对动态地址,我们难以检查每个容器网络地址,然后做配置。这里仅是简单介绍单机 docker compose 的应用。

2016-12-16 20:17:18 5395

原创 快速发布 docker 应用之神器 - docker Maven

在开发集群应用或微服务架构应用(云原生 cloud native app)时需要启动多个应用服务容器,每次构建新的容器镜像比较麻烦,也不利于调试,使用 docker Maven 镜像就是最佳开发实践之一。本文仅合适开发环境应用,不合适生产部署。

2016-12-14 11:50:02 2171

原创 一张图读懂 docker 命令

docker 命令比较多,本文从容器使用流程图,介绍 docker 主要命令(version1.2+)与概念。试图回答 down 机后用户数据怎么保存之类的问题。

2016-12-13 21:34:08 2847

原创 使用 mysql docker 镜像

本文按 mysql 官方指南做了简化,按应用场景讲述了下载,启动,客户端与服务器通讯,发布主机服务等。类似 Redis docker 也就会用了。

2016-12-11 16:22:14 849

原创 centos 7 安装 Docker

这里介绍 ContOS 7 的安装 docker V1.2+,包括阿里云加速 docker 镜像下载的设置,这对提升使用 docker 体验至关重要。其他系统安装或升级请查官方手册。

2016-12-11 16:17:28 1279

原创 Java 日志(Logging)与协同调试

Java 日志(Logging)与协同调试对于一个应用程序来说日志记录是必不可少的一部分,不仅线上问题追踪,基于日志的业务逻辑统计分析离不日志,按约定编写日志,对于团队协同开发也是至关重要的。“队友看不懂你的代码”这绝对正确的假设。那如何把集成测试或开发中发现问题相关详细信息告诉问题人(异常输出常是天书),而不要两人坐在一起联合调试?利用日志,打印出业务类(Java 约定每个类都是唯一负责人的)的重

2016-12-09 13:13:54 724

原创 Java 进阶 hello world! - 中级程序员之路

Java 进阶 hello world! - 中级程序员之路Java 进阶 hello world - 中级程序员之路约定优于配置Convention over ConfigurationCoC1 环境配置2 概念与起源3 Maven 与约定测试驱动的开发Test-Driven DevelopmentTDD1 概念与起源2 持续集成3 快速交付4 TDD是必需的吗总结Java是一

2016-12-07 13:35:45 1144

原创 spring4 mvc 快速入门 - spring boot or not?

spring mvc 简洁易学。但自从 spring 4 开始,案例都采用 spring boot,无论老鸟菜鸟都懵了啊。本文介绍 mvc 的框架原理,使用简单案例分别使用spring boot 容器、其他 servlet 容器(jetty)的xml配置、无 xml 配置实现,讨论 spring4 mvc 不同环境实现程序之间的区别和联系。尽管每种方式不是代码兼容的(蛋疼),

2016-12-02 20:49:40 5229

原创 Centos 7 安装 Java 开发环境

本文介绍 Centos 7 桌面环境下 Java 开发工具的安装。重点是:介绍国内的源与镜像,使你的开发环境快速如飞;安装 openjdk jdk 开发包(不是 Oracle Java JDK) ;安装 Maven 和 Eclipse

2016-12-01 21:44:48 6075

原创 决战云时代--“微服务”连接企业级应用(SaaS)与云计算平台之间最后一公里

SaaS与云的结合,是一种全新的软件业态。本文从微服务架构概念、设计模式、基础设施、和开发部署等方面,探讨SaaS企业应用在云平台上的开发、运维与维护的过程、方法与工具。

2016-11-17 10:49:36 5017

原创 使用 Spring缓存抽象 支持 EhCache 和 Redis 混合部署

概述在分布式 web 项目中,通常即需要本地缓存提高程序性能,也需要共享缓存在多机之间交换数据。本文介绍了使用Spring缓存抽象机制混合部署的方法。Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,使用Spring缓存抽象,程序员仅需要使用少量的注释就实现了对象的缓存,不必了解复杂的面向对象的编程(AOP)技术。Spring 的缓存技术相

2016-11-10 15:41:31 7072 2

原创 VirtualBox 安装 Centos 7 笔记

VirtualBox 安装 Centos 7 笔记使用最新的版本总是要折腾半天,也给人带来许多新玩意。因为偶尔使用Linux,就需要使用虚拟机(好慢)。不装ubuntu了,改用Centos 7 吧! Contos 7 安装,网络部分与以往不一样,需要特别注意!VirtualBox 安装 Centos 7 笔记材料准备创建虚拟机运行环境安装 centos 7网络与配置安装常用系统材料准备

2016-05-29 21:46:46 2538

空空如也

空空如也

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

TA关注的人

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