呆贝斯的地盘

呆笨死,唯有勤学!

Python的进程、线程和协程学习笔记

...

并发与并行 在操作系统中,某一时间段,几个程序在同一个CPU上运行,但在任意一个时间点上,只有一个程序在CPU上运行。 并发 如果系统只有一个CPU,当有多个线程时,那么CPU不可能真正同时进行多个线程,CPU的运行时间会被划分成若干个时间段, 每个时间段分配给各个线程去执行,一个时间段里某个线程运行时,其他线程处于挂起状态,这就是并发。 并发解决了程序排队等待的问题,如果一个程序发生阻塞...

网站安全学习笔记

......

什么是网站安全? 互联网是一个危险的地方!我们经常听到有关网站因拒绝服务攻击或在其主页上显示修改(通常是有害的)信息而变得不可用的消息。 在一些出名的案例中,上百万的密码、邮件地址和信用卡信息被泄露给了公众,导致网站用户面临个人尴尬和财务威胁。 网站安全的目的是防止这些(或者说所有)类型的攻击。更正式点说,站点安全就是为保护站点不受未授权的访问、使用、修改和破坏而采取的行为或实践。 有效...

Shell脚本学习笔记

......

介绍 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Shell环境 Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。 Li...

Docker Compose 搭建 Django 示例项目

......

准备工作 创建一个空的项目目录。 可以将目录命名为易于记忆的名称。此目录是应用程序映像的上下文。该目录应该只包含构建该图像的资源。 在项目目录中创建一个名为Dockerfile的新文件。 Dockerfile 通过一个或多个配置该映像的构建命令定义应用程序的映像内容。构建后,您可以在容器中运行映像。 将以下内容添加到...

RabbitMQ学习笔记

......

MQ的概念 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器,用于分布式系统之间的通讯。 AMQP,即Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的开放标准, 为面向消息的中间件设计。基于此协议的客户端,消息中间件可传递消息,并不受客户端、中间件不同产品, 不同开发语言的限制,200...

Nginx学习笔记

本文是学习竹子爱熊猫的https://juejin.cn/post/7112826654291918855和其他人文章编写

Nginx基本概念 Nginx(发音为“engine-x”)是用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议的开源反向代理服务器,以及负载均衡器、 HTTP 缓存和 Web 服务器(源服务器)。nginx 项目一开始就非常关注高并发、高性能和低内存使用,性能是其最重要的考量, 实现上非常注重效率,能经受高负载的经验,有报告表明能支持高达50000个并发连接数。 一个...

Redis学习笔记

......

Redis数据库介绍 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。 内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用, 通过Redis Cluster提供自动分区。官方给出的数据显示能够...

Access Token 与 Refresh Token 详解以及使用原则

分析Access Token 和 Refresh Token 的配合流程和安全要点,得到正确管理和使用Access Token 和 Refresh Token的方法和原则。

Oauth2 使用Token的基本流程 我们先看看一个来自RFC6749定义的Oauth2中token使用的基本流程,大概可以明白Access Token和Refresh Token两个的用法。 +--------+ +---------------+ | |--(A)------- A...

JWT的介绍与使用

了解JWT,认识JWT的优缺点,学习接口中通如何使用JWT

什么是JWT? JWT( json web token )是一个开放标准 ( RFC 7519 ),它定义了一种紧凑且自包含的方式, 用于在各方之间以JSON对象的形式安全传输信息。信息可以验证和信任,因为它是数字签名的。 JWT可以使用密钥( 使用HMAC算法 )或使用RSA或ECDSA的公钥/私钥对进行签名。 让我们进一步解释这个定义的一些概念。 紧凑:由于它的大小,它可以通过 URL...

IO 多路复用 – SELECT VS POLL VS EPOLL

...


双因素认证学习笔记

...


API接口设计学习笔记*

...

安全性 请求身份是否合法 可以通过给用户颁发API_KEY和SECRET_KEY,用户使用两个key换取接口token 请求参数是否被篡改 可以通过计算请求载荷的签名,服务器通过验证签名判断请求的载荷是否被修改 请求是否唯一 接口幂等 接口限流 接口请求日志 记录接口的请求与返回日志,方便出现错误时排查原因 敏感数据脱敏 将身份证号码和手机号等敏感数据隐藏几位数字,防止不法分子截获请求时解析...

Python开发注意点

...

str拼接时,注意变量要放在str()函数内转化,预防变量是其他类型 request请求要放到try…except…中运行,防止报错 导入excel文件时,注意去除空格 函数的默认参数要设计为不变对象 禁用递归 lis.sort()是对列表就地排序,不返回任何值;sorted()函数会返回一个排序列表,不改变原有序列。 默认参数要是不变对象

Docker制作自定义镜像并上传*

...

注册dockerhub账号 登陆自己dockerhub账号 查找自己想要的基础镜像 拉取基础镜像 制作镜像 使用Dockerfile制作镜像 准备基础原料 制作镜像 将容器制作成镜像 查看容器列表 使用容器制作一个新镜像 查看镜像 将镜像打标签 上传镜像 查看上传的镜像

base64学习笔记

...

概述 base64是一种用64个字符来表示任意二进制数据的方法,用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆代码, 因为二进制文件包含很多无法显示和打印的字符,所以,想要记事本这样的文本处理软件能处理二进制文件, 就需要一个二进制到字符串的转换方法,base64就是一个最常见的二进制编码方法。 编码过程 base64的原理很简单,选出64个字符——小写字母a-z, 大写...

HTTPS学习笔记

...

前言 了解https之前需要了解对称加密和非对称加密、http的弊端。 http的弊端 由上图可见,http在传输数据过程中,所有数据都是明文传输,自然没有安全性可言。 https使用了混合加密算法(对称加密和非对称加密),可以用密钥加密或还原数据,只要确保密钥不被第三方获取,就能确保数据传输的安全。 对称加密 vs 非对称加密 对称加密 优点:算法公开、计...

Python学习笔记*

......

Python简介 安装Python 运行一个Python程序 Python基础知识 Python的数据类型和变量 Python程序的流程 Python函数 Python面向对象编程 面向对象编程概念 面型对象:是一种符合人类思维习惯的编程思想。客观世界中存在多种形态的事务,这些事物之间存在各种各样的联系。 在程序中使用对象来模拟现实中的事务,使用对象之间的关系来描述事物之间的联系,这...

设计模式学习笔记*

......

创建型模式 抽象工厂(Abstract Factory):多套方案 抽象工厂模式是对创建不同的产品类型的抽象。对应到工作中,我们的确应该具备提供多套方案的能力,这也是我们常说的, 要提供选择题。当你有这样的前瞻意识,一般也会被打上思考较多的标签,但是内在来说,的确想问题更加全面了。 生成器(Builder):善于分解 生成器模式是对一个个体的创建过程进行细分,拆解为不同的创建部分。这个对...