从零开始搭建一个简单实用的微服务模板 Part 2
引言 在 前篇文章 中我们搞定了最基础的三件事: 启动, 路由, 可观测性. 正因为基础, 所以这部分代码的变化频率也是最低的. 这次我们就集中精力来处理变化
从零开始搭建一个简单实用的微服务模板 Part 1
引言 微服务算是一个 Go 语言的主要应用场景, 与 Java 不同 Go 语言生态中并不存在一个像 Spring 那样具有绝对统治力的后端框架. 一般大家都是按照自己的业务需求, 组
重新思考错误处理 Part 2
引言 文中的源码在这里: https://github.com/gota33/errors 在 Part 1 中我们重新认识了什么是错误. 这次我们就以 Go 语言为例, 看看如何处理下面的问题: 如何告诉机器有没有错误? 如何告诉机
用 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 分页功能的实现
分页功能是阅读器类软件的基本功能之一, 也是自己之前写阅读器时遇到的第一个问题. 尝试了不少办法才解决, 现在把其中最容易实现的一个方法记录下来,