Bryan Blog

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

生成器与协程

Generator and Coroutine

背景介绍 在 Python 中由于 GIL 锁的存在,多线程的并发效率不高。为了比较高效地实现并发,在 Python 中一般的方案是采用多进程 + 协程的方案。 协程也被称为纤线程,是一种程序级别的并发控制,多个协程会执行在同一线程中。协程的思想是由程序自身指定中断点,在 IO 操作时,程序可以自行中断,主动放弃 CPU,此时调度另外的协程继续运行。当 IO 就绪后,再调度此程序从中断点...

Requests cookie 源码分析

Requests cookie source codes reading

背景介绍 之前介绍过 Requests 源码阅读 ,对 Requests 库中单次网络请求的完整流程进行过介绍,对于某些细节则直接掉过了。这次补上 cookie 相关的源码分析,丰富相关细节。 cookie 是一串数据,在网络请求中会带上相关数据,用于请求者身份的标识。如果对 cookie 基础原理还不了解,可以自行搜索。 Requests 中对 cookie 的管理依赖 Python...

基于 Tushare 进行数据分析

Data analysis base on tushare

背景介绍 最近对金融与投资产生了一些兴趣,了解了相关知识。在基金投资中,比较推荐的做法是进行定投。那么基金定投是否靠谱呢?在基金定投中,优化的策略是高抛低吸,这种策略有是否有效呢? 一个最简单的方法就是找历史数据来进行验证,作为一个程序猿,验证一下那还不是几行代码的事情。一番搜索之后,找到了数据源的提供方,Tushare ,一个使用比较广泛的开源的金融数据 API,而且其返回的数据是 D...

git 大小写问题

Git ignorecase issue

背景介绍 最近在项目中遇到一个比较奇怪的问题,在整理了前端的 React 编码规范 之后,在项目组内沟通之后,决定前端采纳此编码规范,对于旧的代码暂时不大范围的改造,新的代码按照规范来写。某一次对某个组件目录 listContainer 进行了比较多的重构,此时将组件目录名从驼峰命名修改为帕斯卡命名方式,即将目录的首字母修改为大写,改为 ListContainer, 修改之后本地测试良好...

Pandas 数据分析

Data analysis with pandas

基础背景 最近开始折腾第三方金融 API 接口,结果返回的数据都是 DataFrame 结构,于是入门了 Python 的数据处理库 Pandas,整理了相关的基础知识,方便后续查询。 在 Python 中最便利的数据处理库是 Pandas,而 Pandas 是建立在基础库 NumPy 的基础上。此文章也会涉及到部分 NumPy 的介绍。希望这篇文章帮助大家快速了解这些基础库。 Num...

Requests 源码阅读

Requests source codes reading

基础阶段 之前一直都有在实践中使用 Requests 库,基本上算是 Python 领域网络请求必备的,之前也一直有听过 Http for human 的说法,Requests 作为一个封装良好的代码库,一直被认为是值得一读的。 在实际的项目中,对 Requests 库有过简单的使用,主要是用于发起 get() 和 post() 请求,因此在阅读源码之前,先完整过了一遍 Requests...

源码阅读

Source codes reading

源码阅读 从开始正经写代码,就被各路前辈告知要经常阅读好项目的源码,提升代码能力。之前也一直有实践去阅读一些经典的源码,但是不得其法,啃得比较艰难,收获却比较有限。是阅读源码收益本身比较低吗?不应该吧,要不然也不会有那么多人推荐。想来想去,应该还是方法的问题。 随着经验的增长,也随着各种尝试,感觉开始找到一些的阅读好项目源码的感觉。在这边做个分享,也希望帮到阅读源码苦无收益的同学。 明...

Nginx rewrite 机制梳理

Nginx rewrite introduction

基础介绍 最近在做前端 SPA 的部署时,采用 nginx 作为代理,在进行前端资源的访问时,使用了 nginx rewrite 机制,因为不熟悉相关机制,导致折腾了好一会儿。nginx 官网 rewrite 机制 介绍得相当简略,对新手真心不友好,因此自己梳理一下,希望能帮到后续入坑的小伙伴们。 众所周知,nginx 在项目部署中,是作为一个代理服务器存在的。用户需要访问特定的网络资源...

RBAC 权限管理介绍与实现

Introduction and implementation of RBAC authority management

背景介绍 最近在看到 Flask Web开发实战 中提到 web 项目中的权限管理 RBAC,看起来比较简单,也比较实用,提供了一种比较合适的权限管理方式。如果在实践中实现一套权限管理策略,也极有可能会参考类似的思想。于是,梳理相关的基础概念,采用 Python 进行了简单的实现。由于 RBAC 一般是用于 web 服务,一般的实现是通过 DB 的设计进行体现,这边只是对 RBAC 思想的...

Airbnb React/JSX 编码规范

Airbnb React/JSX Style Guide

基础介绍 最近 react 的代码写的比较多,代码的编码规范并不明确,导致项目中出现不一样的命名风格。考虑了一下,还是需要统一一下前端的编码规范,搜索了 react 前端的编码规范,看到目前使用最多的应该是 Airbnb 的规范,于是我们也引入进来,有了统一的编码规范才能有统一的代码嘛,具体内容参考自 Airbnb React/JSX Style Guide 。 具体规范 基本规则 ...