Spring AOP 那些事儿

AOP 即 Aspect-Oriented Programming,面向切面编程,是对 OOP 编程思想的补充。OOP 核心是继承、封装、多态,是实现 OOP 模块化的基础。当 OOP 达到一定规模后,对...

Thrift 学习笔记:RPC Server 和 Client

在了解 Thrift IDL 后,就能开始编写自己的 RPC 服务端和客户端了。对 Thrift 的安装过程和命令操作略过不表,主要还是关注如何利用 Thrift 实现 Java 的 RPC 服务端和客户端。 服务接...

Thrift 学习笔记:IDL

上月底来到了 M 记,氛围和风格都和 J 记有很大不同,很舒服。开发工作还在按照 Mentor 定制的计划学习适应中,部分技术栈之前没接触过,比如 RPC,M 记用的...

[译] 一个行之有效的 Git 分支模型

原文 A successful Git branching model 是 gitflow 的作者 nvie 于 2010 年撰写的,最近才看到此文,恨晚。网上和微信公众号推送的 Git 最佳实践多多少少应该从这篇文章中获得过经验值。虽然文中...

探索 Spring MVC 重定向和转发

最近参与的一个微信公众号相关项目的开发中,业务包含大量的页面跳转逻辑,以及拦截器的数据获取校验。其间也遇到一些困惑,在探究 Spring MVC 中 redirect 和 forward 的源码...

读 Flask 源码:源码结构

打算对 Flask 的学习做个整理,以 Flask 的 GitHub 代码库的 master 分支为参考。其实早期的 0.3 版还是单文件,整个 flask.py 加上注释也只有 1426 行代码,非常简洁,很适合作为 Python 源码学习...

Spring Boot 学习笔记 1:起手式 Hello World

Spring Boot 是 Pivotal 团队开发的开源 Java Web 框架,相比同门师兄 Spring,Spring Boot 把开发者从繁重的配置中解放出来,遵循“约定大于配置”(convent...

通过反射统一 RPC 调用入口

最近项目开发中,有这样一个场景,依赖外部很多服务,每个服务从功能上彼此独立,因此各个外部服务的调用也是相对独立的。因此当时为每个调用都写了一...

Travis CI 持续部署静态站方案

这两天在想 GitHub Page 部署的最佳实践。本站之前的部署方案,是通过在 VPS 上创建 Git 仓库后,再把生成的静态文件同时 Push 到 GitHub Page 和 VPS 的 Git 仓库。其中,VPS 上的 Git 仓...

Docker 容器化应用

最近看了一篇博文,大受启发,也想着手尝试把自己 VPS 上的应用容器化,一方面尝试下新的开发方式,另一方面也便于应用迁移。 Dockerfile Docker 通过 dockerfile 配置来把应用构建...