Mongodb的学习与实践(1) 之前做项目时候使用的关系性数据库在面对一些不可控的字段情况下,变得很复杂.因此尝试学习下Mongodb,来寻找更快速方便的解决方案. Mongodb官方有免费的集群云服务器,帮你现搭了由3个mongodb服务组成的集群.如果不想自己本地配置的话,直接去官方注册一下,申请云mongo,然后会给你连接字符串,包括shell,mongodb compass,或者不同语言建立连接的字符串.这样就可以去构建 2020-11-15 Mongodb Mongodb
FastAPI框架学习笔记(一) 一 背景出入学习,简单介绍一下FastApi这个框架,它是具备高性能,支持异步的基于OpenApi和json scheme 协议模式的并适用于API快速开发的框架。其性能可媲美GO的web框架。是python的web框架速度最快框架之一。 声明:之前学习了DRF用于开发API的框架,所以现在学习FastAPI的过程中我有时也会对比思考两框架的相同点和不同点,这样更易于理解两个框架。 学习文档来源 2020-11-05 FastApi FastApi
探析cached_propety装饰器缓存的原理 一 背景今天在用FastDfs重写Django默认的Storage存储系统,跟着源码来设计一些常用的功能,正好看到了一个装饰器cached_propety,看着这个名字,非常好懂,缓存+描述器。于是我打算学习下源码中是如何利用描述器实现缓存的。 cached_property是我在Django的Storage类中找到的,其他地方也可以找到。 二 源码分析1234567891011121314 2020-10-21 Django Python 源码分析 Python 源码分析
详细理解并举例分析Python中的上下文管理器 理解Python的上下文管理器的原理和使用一 背景很久前看了《流畅的Python》一书,未做笔记,最近学FastAPI框架时,学到了在FastAPI中使用到了上下文管理器,特此来把笔记补上,加深学习印象! 二 简介with作为python上下文管理的关键字,它会设置一个临时的上下文,交给上下文的管理器对象控制,并且负责清理上下文,避免错误以及减少重用代码。 用一句话简要概括: 上下文管理器的存 2020-10-15 Python Python
Manjaro添加双屏的显示问题 背景今天刚到手便携显示器,刚连接manjaro发现,触摸屏幕不准,有意思的是两个屏幕上界面竟然不一样,讲道理不应该是共享嘛?用了几个小时,滑动屏幕,随着越左,偏移越多,竟然偏移到了主屏上。 经过百度了一番,最终确定是屏幕显示的问题,默认将第二屏幕向右扩展了。因此只需要修改复制屏幕就行了 解决方案首先查看显示器状态,xrandr 我这里连接了两个,eDP-1为主屏,而HDMI-2为副屏,因此只需要 2020-10-08 Linux Manjaro Linux Manjaro
从数据结构角度理解B和B+树的特性 一 背景之前通过网课学习了B树和B+树的一些知识,我再另一篇笔记中分析比较了4钟类型的树结构,文章地址,最近忙于考研,正好看到了王道书上B树和B+树的知识点,从数据结构角度来讲解的,为了加深理解,我将结合王道书的内容和自己的理解,写成本篇笔记。 二 B树的概念首先标明几个概念: 1.阶:B树中所有结点的孩子个数的最大值 2.终端结点:除叶子结点外最底层的那一层结点 1.概念:B树称为多路平衡 2020-10-05 MySQL 数据结构 MySQL 数据结构
从数据结构角度理解B树的特性 一 背景之前通过网课学习了B树和B+树的一些知识,我再另一篇笔记中分析比较了4钟类型的树结构,文章地址,最近忙于考研,正好看到了王道书上B树和B+树的知识点,从数据结构角度来讲解的,为了加深理解,我将结合王道书的内容和自己的理解,写成本篇笔记。 二 B树的概念首先标明几个概念: 1.阶:B树中所有结点的孩子个数的最大值 2.终端结点:除叶子结点外最底层的那一层结点 1.概念:B树称为多路平衡 2020-09-14 数据结构 数据结构 B+树
git pull失败,显示“本地文件修改将被合并操作覆盖”的问题(已解决) git pull 拉取项目出现 error: 您对下列文件的本地修改将被合并操作覆盖: settings.py一 背景在github上私有仓库做了几个月的项目,今天打算将项目public,上午一直在写readme,提交了7,8次。然后下午准备修改下配置文件,提交上去。因为远程仓库文件修改过了,所以首先要pull下最新版,于是乎出现了问题:” error: 您对下列文件的本地修改将被合并操作覆盖 2020-09-10 Git Git
Linux中添加环境变量的简单操作 一 Linux中添加环境变量Linux中一般手动下载tar.gz包的时候,安装服务的时候需要自行添加环境变量。而使用包管理器下载服务的时候,则会自动配置好环境变量。 二 步骤1.进入profile环境变量配置文件(针对所有用户的系统环境变量文件)或者~/.bashrc文件(每个用户目录下的环境变量文件) sudo vim /etc/profile 或 vim ~/.bashrc 2.添 2020-09-05 Linux Linux
偶遇新的问题---部署nginx访问静态资源时新的问题(已解决) 一 背景每一次的尝试都会产生新的问题,而每一次的解决都会让自己感到成就满满 二 问题所在及解决方法有了第一次部署的经验,第二次部署一切都很快,但是偏偏又出现了问题—-访问静态资源出现permission denied。 当时一出现这个问题,我立马想到了会不会是文件权限访问不够,我去查看了文件权限,都是我统一的非root角色,而且我启动nginx的时候是以root角色启动的,讲道理不应该会出 2020-09-01 Nginx 部署 Nginx 部署