读 Flask 源码:Context

Flask Context 类似 Spring 框架的核心组件 Context,给应用程序提供运行时所需的环境(包含状态、变量等)的快照。如果程序本身就包含了运行所需的完备条件,那...

跨域请求之 JSONP 和 CORS

Web 开发中,跨域请求是个经常碰到的问题,因为涉及到网站安全,所以浏览器是拒绝跨域请求的。通常解决跨域会采用 JSONP(JSON with Padding) 和 CORS(Cross-Origin Resource Sharing)。 首先理...

Java 常用容器小结

无论是什么编程语言,容器都是非常重要的概念,在 Java 的实际开发中更是无处不在,各种 List、Set、Map。很多时候就是随着编程的惯性用了 ArrayList 或者...

理解 Python 装饰器

前一篇水文里记录的 Click 包,大量的运用了 Python 的装饰器。装饰器是非常实用的编程思想,Java 开发里经常看到的 AOP 也是同样的思想。Python 装饰器使用...

Python Click 学习笔记

Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现。恰好我最近在开发的一个小工具需要在命令行...

Gunicorn 驱动工厂模式 Flask 应用

之前用 uWsgi 部署过 Django 应用,但当时的开发和部署都还手生,有很多不合理的地方,最近写的一个 Flask 应用,用了另一个 wsgi 容器 —— Gunicorn,并且利用工厂...

JDK 8 中 HashMap 的工作原理

Java 容器类中,HashMap 是一个绕不开的重点,无论是实际开发还是求职面试。由于对 JDK 6 下 HashMap 的讨论已经很多了,而且 JDK 8 对 HashMap 做了比较大的改进,本文...

Spring AOP 本地模拟线上 RPC

成熟的互联网公司内部一般都会有多个线上环境,像在 JD,就有测试环境,预发布环境,生产环境。开发过程通常是现在本地编写代码,功能差不多了提到测...

Docker 部署 GitLab

前几天给自己的域名添加了子域名 git,用来访问自己搭建的 GitLab。顺便实践了一把 Docker 的应用部署。 GitLab 的外部依赖很多,有 Nginx、Rails...

为子域名安装 SSL 证书

今天把小站所在 Linode 服务器升级到了 4G 2CPU 的配置,可以搞搞大新闻了,打算用 Docker 部署下 GitLab 作为和前辈小伙伴们写作开发的代码库,把 GitLab 绑定到小站的子域名下。另...