Bryan Blog

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

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 ...

代码整洁之道

Clean code

基础介绍 程序员荐书的榜单上,屡屡看到《代码整洁之道》 ,处于程序员自我修养的需要,买来拜读一下,按照原书的章节,整理相关内容如下。 全书梗概 有意义的命名 代码中命名必须名副其实,保证命名不需要额外的注释来解释; 避免误导性的命名,比如与特定名词相同的命名,以及不同之处较小的命名; 命名应该是有意义,避免无意义的废号,比如 a, the, variable 等无意义的...

程序员的软技能

Soft skills

基础介绍 偶然看到一个荐书的榜单,提到2018的年度书籍,推荐了《软技能,代码之外的生存指南》 ,刚好有空,通读一遍,确实不错。虽然部分内容有鸡汤之嫌,干货还是蛮多的。有些想法真的是相见恨晚。按照原书的结构梳理记录。 全书梗概 全书以程序员的视角介绍了与程序员的生活相关的几块内容,主要包括职业,自我营销,学习,生产力,理财,健身,精神。有些部分看起来和程序员关系没有那么大,但是确实都是...