Bryan Blog

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

基于 FastAPI 与 MongoDB 的数据流梳理

Data flow base on FastApi and MongoDB

背景介绍 自从 Python 3.5 以来,Python 在类型注解上的功能越来越强大,在 Python 3.7 又提供了的 dataclass, 可以比较便利地提供结构化的数据类。 与此同时,各种第三方的库也在基于类型注解提供了更便利好用的服务,其中 FastAPI 便是一款提供类型注解的 Web 服务框架,在保证了极高的性能的同时,提供了便利的数据管理。可以大大提升 Python 开...

虚拟 DOM 与 diff 算法

Virtual DOM and diff algorithm

基础背景 目前在使用前端框架的程序员们,或多或少都会知道框架背后的虚拟 DOM与 diff 算法,但是并不一定深入了解过为什么虚拟 DOM 要存在,以及不同前端框架如何进行更高效地渲染,这篇文章尝试去梳理一下这个完整流程 虚拟 DOM 介绍 有一些前端知识的都知道,对于 Web 页面而言,客户端最终可以展示的内容都是 html 页面,因此不管技术如何发展,最终都需要转化为 html 页...

PWA 与 Github Page

PWA and Github page

基础介绍 在开始介绍 PWA 的具体应用前,我们可以先介绍下 PWA 是什么。 PWA 是一系列的技术能力,可以用户增强 Web 的功能,可以让传统的 Web 网站对移动端用户更加友好。最终期望传统的 Web 网站在移动端可以达到接近 APP 的能力 PWA 另一个特点是来自于其名字,Progressive web apps,从名字上可以看到相关的技术都是渐进式增强的,因此技术人员可以根...

Form 的优化与思考

Form optimization and thinking

初始背景 最近在接触到前端校验的问题,本来是准备只是单纯地调研一下前端的校验问题。刚好又接触到黄金思维圈的思想,因此索性从源头出发,从基础的 form 功能开始考虑,分析痛点,逐步分析优化前端 form 的体验; 现状分析 良好的 form 一个体验良好的前端 form 需要的基础功能: 可以正确输入数据; 每个输入部分违反限制可以尽早校验,正确提示,方便用户尽早修改; ...

Canvas 基础应用

Introduction to canvas

基础介绍 最近开始接触 Canvas, 看到不少使用 Canvas 实现的酷炫动画,包括 butterfly ,3d-planet ,以及 动态网布 ,看起来功能十分强大,而且交互性也十分不错,看起来可以实现强大的前端功能。刚好最近有一个圣诞帽的需求,于是阅读了 基础教程 之后进行了简单实践。 Canvas 基础入门 Canvas 是 HTML5 中引入的一个新元素,直译为画布,实际中...

React router 入门

Introduction to react router

背景介绍 react router 是一个强大的 react 组件,可以提供强大的前端路由功能,算是 react 全家桶中一个相当重要的组件。如果使用 react 技术栈实现 web 服务,那么 react router 是一个极好的选择。 在介绍 react router 之前,首先需要明确介绍的 react router 的版本。 react router 3.x 和 react ...

生成器与协程

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, 修改之后本地测试良好...