从零开始搭建一个简单实用的微服务模板 Part 2

引言 在 前篇文章 中我们搞定了最基础的三件事: 启动, 路由, 可观测性. 正因为基础, 所以这部分代码的变化频率也是最低的. 这次我们就集中精力来处理变化
继续阅读 →

从零开始搭建一个简单实用的微服务模板 Part 1

引言 微服务算是一个 Go 语言的主要应用场景, 与 Java 不同 Go 语言生态中并不存在一个像 Spring 那样具有绝对统治力的后端框架. 一般大家都是按照自己的业务需求, 组
继续阅读 →

重新思考错误处理 Part 2

引言 文中的源码在这里: https://github.com/gota33/errors 在 Part 1 中我们重新认识了什么是错误. 这次我们就以 Go 语言为例, 看看如何处理下面的问题: 如何告诉机器有没有错误? 如何告诉机
继续阅读 →

重新思考错误处理 Part 1

引言 错误处理一直都是开发中绕不开的坑, 而且往往一时偷懒, 摔得更惨. 所以这次打算从头梳理下这个让人头大的问题. 先简单介绍下思路, 本文开篇会讨论
继续阅读 →

用 Go 实现配置中心 Part 2

引言 源码见: https://github.com/gota33/go-config-server/tree/v0.2.3 在 Part 1 中我们用少量代码实现了配置中心的最小可用版本. 其中只包含能够使流程跑通的基础功能: Git 后端存储 Jsonnet 渲染引擎 优雅退出 HTTP 接口 命令
继续阅读 →

用 Go 实现配置中心 Part 1

引言 源码见 https://github.com/GotaX/go-config-server/tree/v0.1.0 只要接触过微服务的同学都知道, 配置管理不好, 运维真的压力山大. 过去呢, 我一直都首选 spring-cloud-config-server 做配置服务器, 主要是因为: 遗留了不少 Java 服务,
继续阅读 →

[译] Go 项目结构规范

英文原文及项目结构示例: https://github.com/golang-standards/project-layout 这里列举的是一个 Go 项目的基础布局. 它并不是由 Go 核心开发团队定义的官方标准; 然而, 它是 Go 生态圈中新老项目常用的一组布
继续阅读 →

在 Golang 项目中使用 Spring Cloud Config Server 管理配置

引言 最近用 Go 写后端写得很开心, 写篇比较实用的博客总结下如何通过 Spring Cloud Config Server 管理 Go 程序中的配置. 实现并不复杂, 因此也可以很轻易地推广到其他语言的程
继续阅读 →

Java String 中一不留神就中招的坑

String 类型应该算是 Java 中最常用的类型之一了, 不过其中有一些函数用不好就容易中招. 我们就以分割字符串的函数举例, 一般我们都会这么写: String[] arr = "a,b,c".split(","); 非常简洁
继续阅读 →

利用 CMake 和 NDK 交叉编译 Android 下的可执行程序

之前开发 Android 下的二进制程序都是开个 jni 目录, 手写 Android.mk, 然后调用 ndk-build 生成可执行文件, 这样的步骤. 但最近的工程需要用到 Lua 解析器执行 Lua 脚本, 因此需要处理的文
继续阅读 →

如何在 Eclipse 下用 Gradle 构建 Web Application

以前一直用的 Maven 构建 Web Application, 现在打算试下更灵活的 Gradle, 现把配置过程记录下. 使用的环境是: Eclipse IDE for Java EE Developers Kepler + JDK 1.7. 好, 下面正式开始: 安装 Gradle 插件. 在 Eclipse Marketplace 中搜索
继续阅读 →

[Android] TextView 分页功能的实现

分页功能是阅读器类软件的基本功能之一, 也是自己之前写阅读器时遇到的第一个问题. 尝试了不少办法才解决, 现在把其中最容易实现的一个方法记录下来,
继续阅读 →