Bryan Blog

个人分享 但愿各位看官喜欢

12 要素

12 factors

背景介绍 由 Heroku 创始人 Adam Wiggins 提出的 12 条要素,定义了优雅的互联网应用设计的 12 条基本原则,参照这些原则可以帮助我们的应用更加健壮,拓展起来更方便。主要包含如下所示的优势: 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。 和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。 适合部署在现代的云计算...

This 关键字

Keyword this

基础介绍 在 javascript 中,this 是一个经常会需要碰到的关键字,但是实话实说,在 javascript 中,this 关键字没有那么容易理解,一不小心就会被误用。周末无事,梳理了这个关键字,希望之后可以避免踩坑。 基础规则 this 关键字指向的位置看起来比较诡异,但是,只有一个最基础的原则就是:this 关键字指向的是 this 所属的对象 。虽然不同情况下看起来 t...

ES6 概述

ES6

基础介绍 ES6 是 javascript 新的语法标准,从 2015 发布以来,已经得到浏览器广泛的支持, 具体的支持情况可以参考 caniuse 。本文主要介绍 ES6 新的语法特性,具体的内容参考自廖一峰老师的 ES6 标准入门 ,有兴趣的可以去买来支持一下。 新语法特性 ES6 新增了比较多的新语法特性,下面列举了其中最实用,使用最广泛的语法特性,对开发效率的提升还是很明显的。...

Flex 布局

Flex

背景介绍 Flex 布局是 2009 年 W3C 提出的一个新的布局方案,可以更好地进行页面布局。到目前为止,Flex 已经被各个浏览器广泛支持了。利用 Flex 可以实现一些之前比较难实现的效果,比如垂直居中。而且 Flex 功能相当强大,使用也十分灵活,开发需要的代码量少得惊人。 具体学习 本来预备大篇介绍 Flex 的基础概念,但是已经找到了更好的布局教程,对于需要熟悉 Flex...

React hooks 入门

React hooks

背景介绍 React 使用过程中,一个朴素的思想是代码的复用。通过拆分为基础的组件,React 已经可以方便地实现组件的复用。但是在 React 中,纯粹的逻辑复用是很困难的,因为在 React 中,各种逻辑代码是散步在 React 的各个生命周期方法中。因为这个现象,React 中的状态管理是很不清晰的。为了解决逻辑复用的问题,也为了更好地管理 React 中的状态,Hooks 就横空出...

升级 Python3

upgrade to python3

背景介绍 Python 2 目前已经逐渐落伍了,官方会在 2020 元旦放弃 Python 2.x 的支持,而且越来越多的包最新的版本都开始放弃对 Python 2 的支持,对于需要长期更新的项目,升级 Python 3 是一个更加明智的选择。而众所周知,升级 Python 3 是一个痛苦而长期的过程,但是升级完成,又可以享受 Python 3 带来的遍历语法特性。下面就来具体了解一下,相...

flask 信号机制实现

Signal in flask

背景 flask 从 0.6 开始支持信号机制,具体的功能实现是依赖 blinker , 通过使用 blinker,在 flask 内实现了一个简单的观察者模式。在 flask 中,可以对 flask 内的一些 内置的信号 可以监察,注册相关的处理方法,在信号发出时触发。使用起来十分方便,这篇文章就来具体探索一下 blinker 的信号实现机制 信号使用 在 blinker 中,信号机...

深入了解 gevent

Dive into gevent

背景介绍 在 python 的 web 部署中,经常会使用 gunicorn 启动 web 服务,同时,为了并发效率更高,一般会使用 -w 指定多个工作进程 (worker processes) , 同时可以通过 -k 指定工作进程的类型,目前支持的工作进程的类型包括: sync, eventlet, gevent, tornado, gthread。具体选择工作进程类型可以参考此博客 。...

Celery 3.x 升级至 celery 4.x

Celery 3.x upgrade to celery 4.x

背景介绍 定期升级项目依赖包是个好习惯,依赖包由于将近一年多没有升级了,最近集中整理进行了升级。大部分的升级都比较顺滑,但是 celery 的升级就真的是磕磕绊绊了。按照处理是顺序记录一下,为后来人节省更多时间。 首先介绍下项目中 celery 相关的依赖包,目前项目中主要使用的是 celery 进行异步处理,使用 celery-redbeat 设置定时异步任务,使用 flower 进行...

从 Flask-script 迁移到 Click

Migrating from flask-script to click

基础介绍 Flask-script 是一个适用于 Flask 框架的拓展,可以帮助更方便地写脚本,方便线上执行一些临时的代码。使用的流程如下所示: 首先你需要在 Flask 项目下新建一个manage.py 的脚本文件,此后增加临时执行的方法,比如下面增加一个hello 方法 # manage.py from flask import Flask from flask_script ...