自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 macos中快捷键添加代码模板 snippets

最近在使用 Typora 的时候涉及了很多文本颜色相关的代码片段类似如下: <span style="background-color:#FFFF00">How do you find out different apps?</span>但是每次输入上述代码块的时候,不免十分麻烦,因此我们可以为 span 标签添加快捷键,从而加快书写速度。首先打开系统设置–>键盘–>文本,然后看到如下界面:3. 此时我们点击左下角的 `+` 号,在输入这一栏中输

2021-11-29 09:59:24 1103

原创 Golang基础

流程控制单分支控制if语法格式:// if 后面可以有一个语句// 例如 if err:revover(); err!=nil {if 条件表达式 { // 执行代码块}代码示例:package mainimport "fmt"func main() { var age int fmt.Println("请输入年龄:") fmt.Scanln(&age ) if age > 18{ fmt.Println("你年龄大于18,要对自己的行为负责!"

2021-11-19 15:23:55 1293

原创 Golang入门

简介GO 从C语言中继承了很多 理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和C语言一样的编译执行方式及弱化的指针。引入 包 的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。垃圾回收机制,内存自动回收,不需开发人员管理天然并发(1)从语言层面支持并发,实现简单。(2) goroutine,轻量级线程,可实现大并发处理,高效利用多核。(3)基于CPS并发模型(Communicating Sequential Proc

2021-11-11 11:45:23 1402

原创 Python 哈希表的实现与应用

介绍哈希表一个通过哈希函数来计算数据存储位置的数据结构,通常支持如下操作:insert(key,value):插入键值对(key,value)。get(key): 如果存在键为key的键值对则返回其value,否则返回空值。delete(key): 删除键为key的键值对。在 Python 当中最具代表的数据结构就是 字典 和 集合,底层所使用的都是哈希表这一数据结构。直接寻址表在学习哈希表之前,我们先了解直接寻址表的概念。假如我们当前定义了一个集合 U,这个集合 U 里面包含了所有的

2021-09-27 16:22:48 5582 3

原创 docker 镜像操作

一. 镜像的常用命令CommandUsagedetailbuilddocker build ./从Dockerfile构建一个镜像historydocker history查看一个镜像的历史变更inspectdocker inspect IMAGE查看镜像详情lsdocker image ls查看已下载的镜像列表prunedocker image prune删除所有未使用的镜像pulldocker pull IMAGE从远程仓库拉

2021-09-19 16:27:03 373

原创 docker 概念及容器操作

一、 初识DockerDocker 是⼀个开源的应⽤容器引擎,基于 Go 语⾔ 开发。让开发者可以打包他们的应⽤以及依赖包到⼀个可移植的容器中,然后发布到任何流⾏的 Linux 机器上,也可以实现虚拟化。容器是完全使⽤沙箱机制,相互之间不会有任何接⼝。Docker 是供开发者和系统管理员使⽤容器进⾏构建、运⾏、共享应⽤程序的平台。使⽤容器来部署应⽤程序称为 “容器化”。容器并不是新事物,但⽤于轻松部署应⽤程序的容器却是新事物。容器化越来越受欢迎,主要原因在于:灵活:即使最复杂的应⽤程序也

2021-09-19 16:21:45 237

原创 marshmallow——自定义类型

创建自定义类型有以下三种方式:继承 Filed 类,根据需求进行实现使用 Method 字段使用 Function 字段继承 FIled 类首先我们介绍第一种方法,书写 marshmallow.fields.Field 的子类,然后实现它的 _serialize 和 _deserialize 方法。from marshmallow import fields, ValidationErrorclass PinCode(fields.Field): """Field

2021-08-25 18:00:35 566

原创 marshmallow——Nested 类型

Model 定义这里先简单的定义一个 model.import datetime as dtclass User: def __init__(self, name, email): self.name = name self.email = email self.created_at = dt.datetime.now() self.friends = [] self.employer = Noneclas

2021-08-25 17:58:21 477

原创 marshmallow——快速入门

定义一个 schemaimport datetime as dtclass User: def __init__(self, name, email): self.name = name self.email = email self.created_at = dt.datetime.now() def __repr__(self): return "<User(name={self.name!r})>".

2021-08-25 17:54:05 731 1

原创 marshmallow——简介

一、mashmallow简介翻译自官方文档在mashmallow诞生之前,已经有很多优秀的模块来用于数据的格式化和数据校验中。因此书写mashmallow这个库的作者受这些库的启发,例如Django REST Framework, Flask-RESTful, 和colander这些。他同样从这些库中大量借用了设计和实现序列化、反序列化以及数据校验的点子以创作出灵活且有效的解决方案。1. AgnosticMarshmallow 原生的库没有基于任何web框架或者数据库的层面。它可以与ORM、O.

2021-08-25 17:48:32 2775

原创 Flask-mail 配置及使用说明

Flask-mail 邮件发送模块说明:当需要对用户进行登录时的邮箱验证时,我们可以通过 Flask-mail 来实现该需求。1. 安装配置pip install Flask-Mail2. flask-mail,载入和初始化from flask_mail import Mailmail = Mail()3. flask-mail SMTP邮箱服务器配置 配置 默认值 说明 MAIL_SERVER

2021-08-25 17:42:33 3459 1

原创 Git修改远程仓库地址后推送失败解决办法

今天同事希望我将仓库的名字进行规范,在修改完之后却发现自己本地的代码无法进行推送上去了,此时我们需要对本地仓库进行相关配置和修改:首先取消本地仓库的远程地址配置。$ git remote remove origin添加新的远程库地址$ git remote add origin http://xxx/xxx.git这里不能直接推送。因为git还是认为这是两个独立的仓库,需要拉取一下$ git pull origin master --allow-unrelated-histori

2021-08-25 17:14:21 1844

原创 全局异常处理-Python

问题缘起在开发的过程中,总会有一些异常需要我们进行捕获:例如数据库插入的时候,如果插入不成功,则需要捕获异常。如果数据删除的时候,如果删除不成功,则需要捕获异常。…诸如此类问题,每当程序捕获到异常,我们就需要对异常进行对应的状态码返回。最简单的方式就是,每当一个异常产生,我们都在对应的位置添加try except 语句块。然后根据接口文档事先定义好的状态码来进行异常值的返回。然而这对于有代码洁癖症的患者来说,重复性的 try except 简直就是一种折磨。因此在后端框架中,本人更推荐通

2021-08-18 14:06:22 2382

原创 单点登录问题

本文实现的功能:为了只让⼀个设备登陆⽽设置的⼀种机制。1. ⻓连接应⽤⽹络协议: TCP ⻓连接协议代表性案例: QQ、⽹络游戏、QQ⻜⻋、魔兽世界、传奇特点: 实时性⾼处理⽅式:服务器和客户端可以主动与对端通信服务器可以确定每⼀个客户端,当同⼀个账号进⾏第⼆次登陆的时候,服务器可以 主动断开与第⼀个客户端的连接代码示例:import socketall_connections = { # 'user_id': {'conn': 'xxx', 'addr':

2021-08-18 11:02:45 132

原创 gRPC-compression压缩的使用

简介grpc 为客户端和服务端提供了无损失的压缩方式,从而减少网络传输时的流量。主要有以下三种压缩方式:grpc.Compression.NoCompression: 不进行压缩(默认)grpc.Compression.Deflate: Deflate 算法grpc.Compression.Gzip: Gzip 算法客户端和服务端默认采用 grpc.Compression.NoCompression 的方式进行压缩。具体有关 Deflate 和 Gzip 压缩算法的区别可以参看下面

2021-08-16 10:33:55 3710

原创 client订阅服务器

简介这里订阅的意思就是当服务器没有启动的时候,默认情况下,如果客户端如果直接发送一个调用的请求的话,会立刻抛出一个异常:failed to connect to all addresses但是如果我们调用了 subscribe 方法,此时就可以让客户端对服务端的启动进行等待,当服务端完成启动之后,客户端接收到启动的通知后,再对对应的 grpc 方法进行调用。...# 创建一个 channelchannel = grpc.insecure_channel(server_address)

2021-08-16 10:30:36 2716

原创 python-gRPC 异常处理

简单介绍当我们通过 grpc 进行客户端服务端通信时,健全的代码应该尽可能的对不同的异常情况进行捕获并做出相应的处理。对于 grpc的话,我们可以通过 try-catch 的形式来进行捕获.例如像是下面这样子:应用层可以就像下面这样子进行书写,当然这种感觉不是特别好,具体可以参考本文后面的内容。try: response = stub.SayHello(...)except grpc.RpcError as rpc_error: if rpc_error.code() ==

2021-08-16 10:25:45 3209

原创 gRPC 传输 metadata

概念首先我们先看看什么叫 metadata:下面的内容摘录自 阮一峰的博客元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈!这段话里提供

2021-08-16 10:24:26 1306

原创 Python-gRPC传输加密

本文是关于 gRPC 内置安全验证的概述。这里非常感谢 Thomas French ,在阅读完官方文档之后,感到了晦涩且非常 toy,而他写的博客则较为全面,降低了对于 gRPC 安全认证这个功能学习的门槛。首先我们来讲下大致的一个流程:1. 生成认证文件和一个私有密钥**2. ** 定义一个 RPC 服务**3. ** 书写服务端代码**4. ** 书写客户端代码这里不知道为啥,通过命令行生成的 ssl 生成的证书有点问题。命令行如下:openssl req -newkey rs

2021-08-16 10:21:03 1606 1

原创 Python-grpc 基础手册

简要说明阅读收获通过 .proto 文件对服务端进行定义通过 protocol buffer 生成服务端和客户端的代码使用 Python gRPC 的接口来完成简单的客户端和服务器交互面向的读者已经阅读完 介绍 及 快速入门 相关内容,并熟悉 protocol buffers的书写:proto3 language guide and Python generated code guide获取示例代码示例代码保存在 grpc/grpc/examples/pyt

2021-08-16 10:09:50 403

原创 Python-grpc快速入门

环境搭建基础环境要求Python 3.5 及以上pip 版本高于 9.0.1gRPC 安装$ python -m pip install grpcio==1.38.0 grpcio-status==1.38.0 grpcio-tools==1.38.0 protobuf3-to-dict==0.1.5参考自GreenPillgRPC tools这个是用来生成 client & server stub 内容的 Python 文件,stub 暂时先放放。安装

2021-08-16 10:04:16 530

原创 gRPC 简介

简介gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。gRPC 是什

2021-08-16 10:00:27 1243

原创 collections模块_namedtuple

Author: 酱橙参考文档:python.org1. namedtuple介绍:collections.namedtuple方法是针对tuple类型数据的一个工厂方法,并且为tuple的每个值添加对应的字段,增强了 tuple 数据的可读性。并且,普通tuple对应的操作,namedtuple也可以执行,比如说tuple类型和 list类型的互相转化…等等。推而广之,对于简单的类来说,可以通过 namedtuple 来直接生成。具体可传入的参数:collections.namedtupl.

2021-01-29 11:20:41 311

原创 腾讯云数据万象小记_视频截帧

Author: 酱橙Referenced Document: Cloud Infinite本片内容主要介绍的是数据万象的视频截帧功能数据万象小记准备工作本片内容承接对象存储小记,即需要开通了对象存储,才能继续进行数据万象的相关操作。首先需要在数据万象的控制台界面绑定存储桶:此处我已经绑定了三个存储桶在准备存入文件的目标桶中创建一个工作流:如下图所示,里面的名为视频截帧的工作流在每次有视频文件存入到该桶中之后,工作流会自动进行处理可自定义模板,并且在工作流中选择当.

2020-12-23 14:10:13 965 4

原创 腾讯云对象存储空间分片、断点续传功能的封装与使用

以下参考自 腾讯云文档Author: 酱橙腾讯云对象存储空间小记API准备工作1. 开通服务前往【对象存储】控制台,依据提示开通对象存储服务2. 创建存储桶3. 获取访问密钥进入【访问管理】控制台进入【API密钥管理】页获取APPID、SecretID、SecretKey此处记录一下自己的:Bucket:xiang-pi-chi-66666666APPID: 125????957064SecretId : AKIDWjkWJUNslPPy??

2020-12-09 15:47:17 2283

原创 Twisted初识

Author: 酱橙参考资料:《Python高效开发实战——Django、Tornado、Flask、Twisted(第2版)_刘长龙(著) 电子工业出版社_2018-12-01》密码:9j57Python Twisted介绍python 网络框架twisted基础学习及详细讲解Python Twisted网络编程框架与异步编程入门教程Twisted初识1. Twisted是个啥?Twisted是一个历史悠久的开源事件驱动框架。支持很多协议,包括传输层的UDP、TCP、TLS,以及应用.

2020-11-13 18:18:08 565

原创 项目上线以及Nginx的配置

这里直接跳过Nginx的安装步骤,鄙人是使用源码进行安装的,这里就先不过多赘述了。配置的步骤:首先进入 nginx 的配置文件目录cd /usr/local/nginx/conf进入 vhost 文件夹cd /usr/local/nginx/conf/vhost创建 echarts.conf 对项目进行配置vim echarts.conf注意设置 nginx 动静分离,否则可能会出现无法加载静态文件的问题(这个根据自己的项目位置进行配置)root /data/w

2020-07-05 14:50:32 647

原创 Python快速排序的实现

一. 首先介绍快速排序实现的原理最简单的数组肯定就是只有一个元素的数据组,例如a = [2],这个时候列表的长度为1,因此根本无需进行排序,可以直接进行返回.此时列表长度为1的条件将被定义为基线条件,即递归函数的出口。因此,此时如果使用递归来进行排序的话,只要根据基准将待排序的列表逐步切割。把列表变成只有一个元素的列表,然后返回即可。二. 基本思路此时设定需要进行比较大小的基准数字为b[0],将列表中所有的数字和b[0]进行比较,将大的数字放在基准数字的后面,小的数字放在基准数字的前面。1.

2020-06-17 10:43:51 337

原创 matplotlib 饼图+ 柱状图的绘制(官方案例)

import matplotlib.pyplot as pltfrom matplotlib.patches import ConnectionPatchimport numpy as np# 创建 figure 图片, 然后分配子视图# make figure and assign axis objectsfig = plt.figure(figsize=(9, 5))ax1 = fig.add_subplot(121)ax2 = fig.add_subplot(122)fig.subp

2020-06-03 22:11:27 995

原创 Django 调用支付宝接口的沙箱环境的简单实现

一. 首先在自己的环境中进行模块的下载pip install python-alipay-sdk --upgrade二. 进入蚂蚁金服的开放平台,下载生成RSA 密钥的app链接如下: 密钥生成三. 将生成的公钥和私钥放到alipay_config的两个文件夹中注意:这时候需要将自己的应用公钥交给支付宝,由支付宝生成支付宝公钥,然后再将生成的应用公钥放在自己公钥文件内。并且保存页面中的APPID和支付宝网关, 用于后面的配置。支付宝公钥生成地址: https://openhome.ali

2020-05-13 20:59:13 628

原创 Flask模型迁移出现KeyError: 'migrate'的解决办法

每次模型迁移基本上都会因为一些小问题而使得结果抛出KeyError: 'migrate’这个问题:产生上述问题原因有以下两种原因:初始化Migrate对象时没有加dbmigrate = Migrate(app)解决方法如下:migrate.init_app(app=app,db=db)注意:并且使用关键词参数对参数进行赋值,防止赋值错误manager.py中没有使用c...

2020-04-15 21:55:03 1448

转载 Pycharm连接远程服务器并实现远程调试

当需要远程办公时,使用pycharm远程连接服务器时必要的。PyCharm提供两种远程调试(Remote...

2020-04-07 15:54:03 623

原创 高频面试题小记

一.概念性问题1.BS和CS的区别1)开发维护成本cs开发维护成本高于bs。因为采用cs结构时,对于不同的客户端要开发不同的程序,而且软件安装调试和升级都需要在所有客户机上进行。bs只需要将服务器上的软件版本升级,然后从新登录就可以了。2) 客户端负载cs客户端负载大。cs客户端不仅负责和用户的交互,收集用户信息,而且还需要通过网络向服务器发出请求。bs把事务处理逻辑部分交给了服...

2020-04-07 12:02:00 179

原创 基于vue和bootstrap的车辆查询案例

一.直接上代码1.head中的代码 <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> ...

2020-04-05 17:25:57 331

原创 基于jQuery中Ajax请求的注册案例

一.直接上代码1.register.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #available{ ...

2020-04-05 17:01:48 276

原创 基于jQuery发射弹幕的一个小案例

一.直接上代码1.style样式: <style type="text/css"> html, body { margin: 0px; padding: 0px; width: 100%; height: 100%; font-family:...

2020-04-05 16:45:14 194

原创 CSS清除浮动原理

每当我们需要使用float来设置元素的时候,因为float这个属性自身不占据空间的原因:下层块级元素挤压上层块级元素,导致画面无法显示出来,因此需要清除浮动,而清除浮动有两个方法:一.设置父元素的height属性当设置完父元素height属性以后,只需根据子元素的高度来对父元素进行变动:.father{ background-color: #0f0; ...

2020-03-30 13:42:42 208

原创 百度页面仿写

一. 直接访问的地址39.106.162.75/index.html二.完整代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>百度一下,你就知道</title> <link rel="stylesh...

2020-03-28 20:35:38 1184

原创 CentOS中Nginx的安装和配置

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。使用源码安装软件我们知道,在Linux平台里,我们可以下载一个rpm文件进行离线安装,也可以使用yum install 在线安装一个指定的软件。其实,除了这两种方式以...

2020-03-28 13:08:28 129

原创 Html中form标签的使用

当需要向服务器提交数据时,我们一般会选择使用form表单来实现数据的提交。<form>标签用来表示一个需要向服务器提交的数据表单,在这个form表单的子标签里,需要实现让用户 输入、单选、多选(input标签),下拉选择(select标签),点击(button标签或者input标签),输入大段文字(textarea标签)等操作。一.form标签的使用<form action...

2020-03-27 21:18:21 7253

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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