自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 PostgreSQL 扩展安装

一、安装扩展 无需本地操作,内置含有包可直接命令行安装 CREATE EXTENSION "uuid-ossp"; 二、使用扩展 CREATE TABLE user( id uuid DEFAULT uuid_generate_v4() NOT NULL PRIMA...

2020-04-21 17:31:22 163 0

原创 PostgreSQL 基本安装总结

一、Mac 环境下的安装 $ brew install postgresql 1-1 查看当前环境版本 $ pg_ctl -V 1-2 初始化数据库 ​ 在开始使用数据库前,需要在磁盘上初始化一个数据库存储区域,通常称之为一个数据库集簇(SQL标准使用的术语是目录集簇)。 ​ 一个数据库...

2020-04-21 15:30:45 81 0

原创 RabbitMQ - 延迟队列

一、延迟队列 1-1 简单介绍 ​ 延迟队列:存储延迟消息的队列 ​ 延迟消息:消息存入队列,等待一定时间后才交于消费者进行消费 1-2 应用场景 场景一 :订单系统 ​ 用户下单的30分钟确认支付,若超过30分钟,则该订单被列为超时订单处理。可以使用延时队列,在30分的时候处理这个订单的状态。关...

2020-04-07 13:38:26 178 0

原创 Go - Goroutine

一、Goroutine 多个线程可以属于同一个进程并共享内存空间。因为多线程不需要创建新的虚拟内存空间,所以它们也不需要内存管理单元处理上下文的切换,线程之间的通信也正是基于共享的内存进行的,与重量级的进程相比,线程显得比较轻量。 虽然线程比较轻量,但是在调度时也有比较大的额外开销。每个线程会都占...

2020-03-30 09:11:03 86 0

原创 Go - Time

一、Time 1-1 time.Format() - 时间格式化 package main import ( "fmt" "time" ) func main() { now_time := time.Now() fmt.Println(now_...

2020-03-30 09:10:21 76 0

原创 Go-Func,Struct,Interface

一、Function Go 语言中,函数的参数,无论是基本类型、结构体、指针,都会对传递的参数进行拷贝。 但呈现方式并不都是值传递,原因是指针类型作为参数传递时,函数内部会对指针进行复制,会同事出现俩个指针指向原有的内存地址,所以 Go 语言中,传指针 == 传值 传值:函数调用时会对参数进行拷...

2020-03-30 09:09:34 35 0

原创 Go-Context

一、Context 简单介绍 context.Context,是专门用来简化对于处理单个请求的多个 goroutine 之间与传递请求数据、同步信号、截止时间等相关操作,这些操作可能涉及多个 API 调用。 1-1 应用场景举例 e.g.1 ​ 有一个网络请求 Request,每个 Request...

2020-03-30 09:09:09 38 0

原创 Go-Channel

一、Channel 设计原理 Go 中使用 Channel 即通信的方式共享内存,避免了使用内存共享的方式通信,解决了需要限制同一时间能够读写变量的线程数量去解决线程冲突的问题。 Go 语言虽然也能使用 共享内存+互斥锁 进行通信,但同时也提供了 通信顺序进程(Communicating sequ...

2020-03-30 09:08:31 37 0

原创 Go-同步原语

一、同步原语 - Sync 这些基本原语提高了较为基础的同步功能,但是它们是一种相对原始的同步机制,在多数情况下,我们都应该使用抽象层级的更高的 Channel 实现同步。 1-1 并发状态下的资源冲突 由于引用传递,在并发状态下的数据资源获取无序,导致最终结果重复或者错误。 package ma...

2020-03-30 09:08:00 92 0

原创 Go-关键词总结

一、For & For-Range 循环的两种方式:for 、 for range package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { sum += i ...

2020-03-30 09:07:28 66 0

原创 Go - 数据结构

一、Array 数组和切片是 Go 语言中最常见的数据结构。 数组是由相同类型的元素的集合的数据结构,被分配一块的连续的内存用来保存数据,且可以通过其中存储的索引进行快速访问其存储地址。 1-1 Array 的初始化 Array 是定长的,一旦初始化后,无法改变其长度大小;而 Slice 是不定长...

2020-03-10 09:48:20 55 0

原创 Go - 编译过程总结

一、 语言类型:编译型语言 代码在运行前,通过编译器生成二进制机器码,即,包含二进制机器码的文件才能再目标机器上运行。 Go 语言编译器的源代码在 src/cmd/compile 目录中 编译器分为前端和后端 编译器的前端一般承担着词法分析、语法分析、类型检查、中间代码生成; 后端主要负责目标代...

2020-03-10 09:47:04 61 0

原创 flask_apscheduler 封装应用

flask_apscheduler 封装应用 一、 常规初始化 # extensions.py from flask_apscheduler import APScheduler scheduler = APScheduler() # app.py import atexit import fc...

2020-02-21 10:28:13 95 0

原创 消息队列的高并发优化

消息队列的高并发优化 一、消息队列的基础总结 1-1 使用场景 - 解耦、异步、削峰 1-1-1 解耦 初级使用阶段,通常使用调用接口的方式,连接多个系统。 例如,A系统内调用了B/C/D的接口,若添加新系统E的接口调用,删除系统C的接口调用,则都需要修改A系统内的调用代码,存在耦合性。 A 系...

2019-11-12 11:16:34 430 0

原创 Locust - 压测 WebSocket 连接数超 1024 报错

文章目录一、错误信息二、错误可能性分析及处理2-1 使用 select() 支持并发连接数有限2-1-1 基于当前脚本的错误分析2-1-2 JMeter 下 WsbSocket 长连接数测试 - 排除系统原因2-1-3 Locust 的单机多进程使用(分布式运行)2-2 测试机内部端口等未调优2-...

2019-10-30 16:56:28 330 0

原创 RPC (remote procedure call) - 相关学习和总结

RPC (remote procedure call) - 相关学习和总结 文章目录RPC (remote procedure call) - 相关学习和总结一、概念总结1-1 RPC 的基本流程1-2 RPC vs REST二、RPC 下的 client 和 server - go2-1 s...

2019-10-25 17:11:58 140 0

原创 Protocol Buffers -基础学习和总结

文章目录一、 基本概念二、 基本组成及写法 - proto3 with Python2-1 Message descriptors2-2 Message implementations2-3 Parsing and Serialization三、 使用相关错误总结 一、 基本概念 Protobuf...

2019-10-25 15:49:44 105 0

原创 测试 - 基于 Locust 的 WebSocket-server 压力测试

基于 Locust 的 WebSocket-server 压力测试 文章目录基于 Locust 的 WebSocket-server 压力测试一、Locust 的基本学习1-0 最简单的事例1-1 基本使用1-2 基于内置 http 请求的源码分析二、实现基于 WebSocket 协议的压力测试三...

2019-10-24 15:45:17 928 0

原创 Flask - BUG - flask-sqlalchemy - sqlalchemy.orm.exc.DetachedInstanceError

目录 错误展示 代码展示 产生原因 解决方式 错误展示 flask - sqlalchemy - 官方解释文档 代码展示 产生原因 每次仅使用一个session,commit会将session内所有对象进行提交并删除,则后续session内无对象,需要手动add...

2019-09-19 16:32:38 471 0

原创 Celery - 配置文件总结

目录 一、broker or backend 连接 二、定时任务 celery - 官方配置文档 Setting name Replace with CELERY_ACCEPT_CONTENT accept_content CELERY_ENABLE_UTC en...

2019-09-12 14:14:17 579 0

原创 API Specification - API 书写规范格式总结

API - Specification API 书写规范格式总结 文章目录API - SpecificationOpenAPI-SpecificationAsyncAPI - SpecificationAsyncAPI vs OpenAPI - 异同对比 OpenAPI-Specific...

2019-09-10 10:03:40 174 0

原创 JavaScript - 作为 webclient 处理 WebSocket 返回数据

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Tornado WebSocket Tes...

2019-09-03 10:58:26 457 0

原创 Python - Pathlib - 面向对象的文件系统路径

文章目录一、Pathlib 替代 os.path 和 glob 模块1-1 pathlib vs os.path 应用对比1-2 pathlib vs glob (Unix风格的路径名模式扩展) 应用类比1-3 不同系统的文件路径规范1-4 path对象的接受1-5 string 和 path ...

2019-08-29 16:31:19 97 0

原创 Asynchronous - 相关总结整理

目录 一、asyncio 1-1 判断是否为async方法 1-1-1 方法一、inspect 标准库 1-1-2 方法二、asyncio 标准库 二、aiohttp vs tornado - 基于async的web框架 三、uvloop - 替代asyncio的事件循环 3-1 t...

2019-08-22 10:59:11 76 0

原创 Pandas - 基本构造方式及其转换

目录 零、Pandas 基本介绍 一、Series - 一维数据结构 二、DataFrame - 二维数据结构 2-1 二维数据构造方式 2-1-2 从dict 构造 2-1-3 从 python list 构造 2-1-4 从 numpy ndarray 构造 三、DataFra...

2019-07-17 11:00:43 209 0

原创 Pandas - K线数据处理 - 数据聚合

目录 一、K线分析 二、pandas.DataFrame.resample - 内置聚合方法 2-0 测试数据初始化 2-1resample 的 3分钟聚合 2-2resample 的 30s 拆成 2-3 自定义聚合逻辑 - apply 2-4 DataFrame 对象的 resa...

2019-07-16 17:38:12 1162 0

原创 Tornado - Middleware

目录 一、RequestHandler 基础类支持 RequestHandler.initialize() - 用于子类初始化,每个请求都会调用 RequestHandler.prepare() - 处理请求方法前的调用函数 RequestHandler.on_finish() - 请求结...

2019-07-10 14:49:02 278 0

原创 WebSocket - Tornado - Ping & Pong

目录 一、Tornado 内置 ping 设置 1-0 ping 帧 1-1 ping 帧 发送 1-2 Tornado setting 相关项 1-3 client & server 端处理 ping 帧 1-3-1 server 端 1-3-2 client 端 - 基于...

2019-07-09 09:42:48 1174 0

原创 WebSocket - Tornado 的基本实现总结

目录 零、基本信息 一、一对一长连接 1-1 server 端 1-2 client 端 二、一对多长连接 三、tornado 内置定时调度 四、实现脚本定时调度触发ws的消息推送 方式一、ioloop调度脚本触发ws推送 方式二、服务端开启http 和 ws 的api,脚本向发...

2019-07-04 15:57:26 689 0

原创 MongoDB - mongo 的数据监听

目录 一、 基于主从复制机制的oplog进行信息获取 1-1 mongodb单实例开启oplog 1-2 oplog的基本操作 1-3 基于pymongo的简单操作 1-3-1 oplog 对象获取 1-3-2 mongo 时间戳处理 1-3-3 多条件查询 1-4 Python ...

2019-07-03 17:29:09 1441 0

原创 WebSocket - 基于 Python 的主流实现方式总结

目录 一、WebSocket -网络通信协议 1-1 简介 二、Websockets servers and clients in Python 2-0 connect 2-0-1 建立一对一短连接 ​ 2-0-2 建立一对一长连接 2-0-3 建立一对多长连接 2-1 async...

2019-07-02 14:56:16 5167 0

原创 BUG - 数据爬取返回状态码“521”

目录 一、521返回分析和处理思路总结 二、代码实现 2-1 安装必要依赖 - PyExecJS 2-2 根据 521 返回数据生成新的 cookie 2-3 捕获 521 错误,并重新发起请求 一、521返回分析和处理思路总结 521处理 - 参考链接 浏览器访问网站时 第一...

2019-06-18 12:02:44 1954 1

原创 Mongodb - 数据自然排序问题

目录 数据自然排序问题总结 影响自然排序的情况 固定集合的自然顺序(Capped Collections‘ natural order)注意点 _id 和 $natural 数据自然排序问题总结 mongoDB 官方文档 -Document Field Order The_idfie...

2019-06-11 11:10:40 1316 0

原创 PyMongo - 连接错误 - pymongo.errors.OperationFailure: not authorized on test to execute command

错误代码 解决方式 参考链接 官方文档 - Connection String URI Format

2019-06-10 17:23:21 1836 0

原创 Scrapy - IP 池

目录 一、中间件的使用 1-1 具体方法详解 1-1-1process_request - 正常请求调用 1-1-2process_response - 正常返回调用 1-1-3process_exception - 捕获错误调用 二、Proxy 相关官方中间件 2-1HttpPro...

2019-06-06 17:16:22 437 0

原创 爬虫 - scrapy 框架 - 基本爬取流程

目录 一、项目启动 二、Item 指定对象内容 - 类比 ORM 三、Spider 爬取数据 四、执行爬虫 五、pipeline 数据数据库存储 5-1 存储 5-2 配置参数 5-3 激活管道 scrapy - 官方1.6版本文档 一、项目启动 scrapy 入门教程 ...

2019-06-05 15:37:56 203 0

原创 Mongodb - PyMongo - 基本使用

目录 一、安装 二、简单操作 2-0 建立连接 2-1 建库(database)、建表(collection) 2-2 文档操作 2-2-1 增 2-2-2 删 2-2-3 改 2-2-4 查 2-3 索引建立 一、安装 二、简单操作 菜鸟教程 - MongoD...

2019-05-29 12:02:12 723 0

原创 设计模式 - 创造模式(Creational Patterns)

设计模式 - 创造模式(Creational Patterns) 文章目录设计模式 - 创造模式(**Creational Patterns**)一、Borg Pattern - 共享单例模式1-1 简单认识1-1-1 Borg 特点1-1-2 Borg vs Singleton1-2 Pyth...

2019-05-27 15:15:16 238 0

原创 Flask - flask-pika 操作 Rabbit

目录 一、flask-pika 二、基于 Flask 框架的初步使用 2-1 生产者的队列堵塞问题 一、flask-pika 官方 github 安装 二、基于 Flask 框架的初步使用 生产者包装成API调用,消费者使用其他进程监听执行 ''...

2019-05-22 17:33:27 1096 1

原创 消息中间件 - RabbitMQ - Python pika 库

目录 零、RabbitMQ 总结 0-1 channel 0-2 Exchange、Queue、Route 三者的关系和交互 一、轮询消费模式 1-1 生产者 1-2 消费者 二、队列持久化 三、广播模式 - ECHANGE 3-1 fanout - 转发速度最快 3-1-1消...

2019-05-22 14:20:14 175 0

提示
确定要删除当前文章?
取消 删除