呆贝斯的地盘

呆笨死,唯有勤学!

网站安全学习笔记

......

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

RabbitMQ学习笔记

......

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

Nginx学习笔记

......

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

Redis学习笔记

......

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

go和goland安装配置

安装 到 go官网下载找到对应安装包链接下载。 一路next安装,打开终端输入go version,如看到下图则代表安装成功。 打开GO111MODULE,更改go代理。 $ go env -w GO111MODULE=on $ go env -w GOPROXY=https://mirrors.aliyun.com/gopr...

QWeb学习笔记

......

介绍 QWeb 是 Odoo 2使用的主要模板引擎。它是一个 XML 模板引擎,主要用于生成HTML 片段和页面。 模板指令被指定为以 为前缀的 XML 属性t-,例如t-ifConditionals ,元素和其他属性直接呈现。 数据输出 QWeb 的输出指令out将自动对其输入进行 HTML 转义,从而在显示用户提供的内容时限制XSS风险。 out接受一个表达式,对其求值并将结果注入文档...

Docker部署Odoo16项目

...

准备工作 创建一个如下目录文件夹。 odoo16_addons ├── bin ├── local-addons // 个人开发的插件 ├── Dockerfile ├── docker-compose.yml ├── odoo.cfg // odoo项目配置文件 ├── requirements.txt ...

登陆方案学习笔记

...

主流Web应用是基于HTTP协议的,而HTTP协议是无状态的,就是服务器不知道谁发送这个HTTP请求,无法识别用户身份。 登录态就是服务器用来区分用户身份的,同时对用户进行记录的技术方案。怎么实现用户的登录态呢?常见的实现流程如下: 客户端用户输入登录凭据(如账户和密码),发送登录请求。 服务端校验用户是否合法(如认证和鉴权),合法后返回登录态,不合法返回第1步。 合法后携...

文件存储系统学习笔记

...

简介 go-fastdfs是基于HTTP协议的分布式文件系统,大道至简,运维和扩展更简单,高性能、高可靠、无中心、免维护。 最佳实践 海量存储不开启文件token认证功能。 尽量标准上传,上传后业务保存Path,在业务使用时再拼接域名。 断点续传,上传后要用文件id置换成Path。 尽量使用物理服务器部署,主要压力或性能在IO。 避免小文件合并,后期无法删除小文件。 ...

Django REST Framework 学习笔记

...

介绍 DRF是一个强大灵活的Django工具包,用于在Web后台构建Restful接口。 你可以在一个Web页面上浏览自己提供了哪些API,并且可以通过这个页面测试这些API 你不用自己写一套接口鉴权代码了,提供了各种开箱即用的API认证授权工具,如OAuth2 你不用自己写大量的CRUD接口了,简单配置即可 你不用自己写大量的条件查询接口了,简单配置即可 你不用自己写...

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

...

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

base64学习笔记

...

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

HTTPS学习笔记

...

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

设计模式学习笔记*

......

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