自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stephen Ling

keep learning, keep coding

  • 博客(47)
  • 收藏
  • 关注

原创 [Ubuntu] 关于ohmyzsh下载被443拒绝连接

关于github 443 问题>>> curl: (7) Failed to connect to raw.githubusercontent.com port 443: 拒绝连接解决方案换国内镜像

2019-12-18 21:10:43 19117 28

原创 [Django 0-1] Core.Serializers 模块

通过继承类,可以自定义序列化器。self,queryset,*,**options,):""""""else:if ():else:if ():if ():Django 提供了一系列格式的序列化器使用,包括jsonjsonlyamlxmlpython等。通过继承Serializer类,可以自定义序列化器。自定义后的序列化器可以通过在。

2024-05-06 10:46:28 317

原创 [Django 0-1] Core.Management 模块

Management 模块是 Django 的核心模块之一,它承担了 Django 脚手架命令。通过学习该模块,可以指导自己如何设计脚手架,以及了解脚手架需要哪些功能。

2024-03-25 15:04:09 313

原创 [Django 0-1] Core.Email 模块

Django 的邮件模块提供了多种邮件后端,可以根据需要选择不同的后端。留有 dummy,console,locmem,filebased,smtp 多种类型后端。通过 Django 邮件模块,避免重复编码,针对各类邮件服务器的特定规则只需自己实现发送后端逻辑,不需要重头编写。

2024-03-18 11:01:56 341

原创 [Django 0-1] Core.Handlers 模块

Handler 模块封装了 wsgi,asgi 两个类,分别用于处理外部的请求信息,asgi 提供异步处理能力。很好的实现了请求的处理流程,并提供了中间件的功能。

2024-03-15 16:00:33 649

原创 [Django 0-1] Core.Files

对于 web 服务端开发,文件操作是日常。但是文件的用途有很多,处置方式也很多。例如不同的文件类型放置在不同的存储后端,以及文件的访问控制、时效性也可以通过拓展存储后端来实现。利用 django 这种分离文件操作和存储后端的框架,在开发中可以很好的解决大部分文件类需求。

2024-03-14 14:19:05 533

原创 [Django 0-1] Core.Checks 模块

Django 通过加入checks包,来执行一系列运行时检查,确保错误能在启动加载时期及时发现,避免扩大影响,同时制定了此类错误的表现方式和级别定义方式。对于日常项目值得借鉴

2024-03-13 14:36:11 545

原创 [Django 0-1] Core.Cache模块

Django的cache模块,通过实现一个CacheHandler的manager类,来实现多缓存后端的统一管理和调用,避免到处实例使用。

2024-03-12 11:51:58 500

原创 [Django 0-1] Apps模块

Django 框架中的apps包,包含了每个应用的初始化、模型初始化,以及初始化后的集中实例存储在registry中

2024-03-11 19:19:13 342

原创 【通用消息通知服务】0x4 - 目前进展 阶段复盘

通用消息通知服务阶段复盘

2023-08-29 11:03:58 141

原创 【通用消息通知服务】0x3 - 发送我们第一条消息(Websocket)

实现websocket消息,发送和接收websocket消息

2023-08-28 17:00:42 769

原创 【通用消息通知服务】0x2 - 初始化服务

sanic和fastapi都是优秀的asyncio网络框架, 相比之下fastapi目标是Django,sanic追求的是flask。fastapi内置足够多的优良特性,对开发者非常友好。但是有时候我就是愿意选复杂的一条路。

2023-08-28 16:48:04 332

原创 【通用消息通知服务】0x1 - 前期设计

开发一款通用消息通知服务的前期设计思考

2023-08-28 16:09:56 78

原创 【通用消息通知服务】0x0 - 构思服务

构思服务需要的功能、流程、服务对象,制定基础服务指标

2023-08-23 11:08:15 84

原创 GraphQL strawberry的使用回顾和体会

简单来说GraphQL 比起 RESTful 集成额外一些功能这些都是优点了。开发效率在项目初期是很重要的,需要快速原型化。但是后期稳定后,性能也很重要。

2023-08-17 22:52:18 922

原创 [Leetcode] 1513.仅含 1 的子串数 - Rust 实现

Leetcode 1513. 仅含 1 的子串数问题描述给你一个二进制字符串 s(仅由 ‘0’ 和 ‘1’ 组成的字符串)。返回所有字符都为 1 的子字符串的数目。由于答案可能很大,请你将它对 10^9 + 7 取模后返回。解题思路连续1串的包含子串数具有规律,满足等差数列.所以题目就变成了找到所有连续1串,记录其长度后计算长度和。由于结果可能中途上溢,所以用了64位来保存中间结果。如果64位也不够,因为2^32-1 > 10 ^ 9 + 7,可以考虑在加法前判断是否溢出如果溢出先取

2021-08-26 00:00:30 143

原创 Rust学习 实现一个单线程事件驱动模型

实现一个单线程事件驱动模型需求描述实现一个主事件循环,不停往主事件循环中塞入事件,事件可以描述他的名称、事件类型(不等待,等待,终止)、携带的数据、指定的事件处理。代码实现main.rsmod event;mod handler;use event::{EventType, Event};use handler::Handler;use std::thread;use std::time::Duration;fn main() { let mut event_loop:

2021-08-21 13:28:39 1187

原创 [LeetCode] 1047 删除字符串中的所有相邻重复项

基本计算器Codeimpl Solution { pub fn compress(stack: &Vec::<char>) -> i32 { let mut is_positive: bool = stack[0] != '-'; let mut ans: i32 = 0; for i in 0..stack.len() { if stack[i] != '-' || stack[i] != '+

2021-08-19 15:03:26 150

原创 零信任技术概念

零信任默认一切参与因素不受信,最小权限原则,动态访问控制和授权,持续的安全防护。

2021-07-13 10:26:49 978

原创 批量Clone Git仓库代码

批量Clone Git仓库代码问题经常在工作中需要clone大量项目代码,仓库特别多,git一条命令一条命令下载太过于繁琐。解决办法使用GitPython下载并安装GitPythonpip3 install GitPython编写批量Clone代码import argparseimport osfrom concurrent.futures import ThreadPoolExecutorfrom git import Repoargparser = argparse.Arg

2021-07-04 11:18:44 2012 2

原创 [Python] 类变量继承重复利用父类变量

类行为问题问题类变量在继承过程中,子类直接使用了父类的同一份变量,导致行为错误。错误代码class Builder: _inventory: list @classmethod def buildPartA(cls): raise NotImplementedError @classmethod def buildPartB(cls): raise NotImplementedError @classmethod

2021-06-21 17:54:56 295

原创 UML类图

UML类图关系实现关系空心三角箭头虚线, 继承抽象类泛化关系空心三角箭头实线,继承非抽象类关联关系箭头实线,没有方向,互相关联,关联时二者建立关系依赖关系箭头虚线,一般表示为一种属性,默认不标注方向组合关系实心菱形箭头实线,整体由部分组成,部分强依赖整体。聚合关系空心菱形箭头实线,整体由部分组成,但相互各自不强依赖。...

2021-06-20 10:29:35 128

原创 C++ 小练手

诊所信息管理系统项目简介为一个诊所设计一个信息管理系统。设计医生和患者两种角色,在此基础上,通过增加患者和账单,使他们共用于表示一家诊所的信息管理。功能要求管理员用户名: admin管理员密码: 123456管理员:添加患者的用户名和密码重置患者的用户名和密码添加医生的账号记录,包括医生的专业说明,年龄,姓名和挂号费用添加患者的门诊记录,包括医生信息,患者信息,门诊费用,医药费,诊断显示每个患者的门诊记录能够统计患者的门诊费用患者:7. 修改自己的密码和基础信息8. 查看

2021-06-19 23:47:44 273 1

原创 快速理解简单的短链接生成原理

快速理解简单的短链接生成原理原理计算长链接整体为一个十进制数,将其映射成一个62进制数。这个62进制由26个小写字母,26个大写字母和10个数字表示。假设有long-url这么一个长网址,其10进制数 108+111+110+103+45+117+114+108=816, 其62进制表示就是kna。为了解决相同值冲突的问题,可以在最后加入自增ID或者先通过摘要函数取得长网址的hash再映射来降低冲突概率。代码实现DB部分是来实现从短网址到原始网址的步骤,从而实现重定向。import strin

2020-12-23 16:16:20 1135

原创 踩坑 Python mock.patch 不起作用

踩坑 Python mock.patch 不起作用原因mocl.patch其实是在对象被调用处去替换成一个新对象。解决方法target的值应该是对象被调用的引用路径# test.py # 无效 @mock.patch("api.sum", return_value=1) def test_compute_sum(mock_sum): ... # 起效 @mock.patch("foo.sum", return_value=1) def test_compute_sum(mock

2020-10-15 16:45:51 2411

原创 查看进程的环境变量

LINUX系统中一切皆文件,所以进程的环境变量同样存放于文件中。通常放在/proc/进程pid/environ中ps -ef | grep xxxcat /proc/(xxx的pid)/environ

2020-08-15 13:29:40 1428

原创 [linux就该这么学] 第三章. 管道符、重定向及环境变量

文章目录输入输出重定向输入重定向i. < 标准输入重定向ii. << 读取命令行输入,直到遇到指定的分界符停止iii. 命令 < 文件1 > 文件2输出重定向i. > 标准输出重定向ii. 2> 错误输出重定向iii. >> 标准输出追加到文件原有内容后ix. 2>> 错误输出追加到文件原有内容后x. >>文件 2>&1, &>>文件 输出和错误输出共同追加到文件原有内容后管道命令符举个例子: 批

2020-08-15 13:24:09 130

原创 [Python] pip 命令和参数整理

什么是 Pip?Pip是现代的、通用的Python包管理工具。提供了对Python 包的查找、下载、安装、卸载的功能。命令install安装包无参数, 直接从pypi中查找下载pip install Django # 安装最新稳定的版本,可能会将某些依赖的版本更新为符合的版本。所以要可能的话,项目中版本号全部都限制好。pip install Django==3.0 # 安装3.0版本pip install Django>=3.0 # 安装3.0及以上的版本pip install

2020-07-19 23:30:46 20622

原创 [LeetCode] 每日打卡 146.LRU缓存机制

146. LRU缓存机制来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lru-cache著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, v

2020-05-20 00:58:33 154

原创 Flask+React 实现一个简单前后分离博客系统[后端篇] 02.数据库模型

数据库设计ER-DiagramORM# models.pyfrom collections import OrderedDictfrom datetime import datetimefrom flask import current_appfrom flask_sqlalchemy import BaseQuery, SQLAlchemyfrom werkzeug.security import check_password_hash, generate_password_hash

2020-05-17 21:58:34 419

原创 Flask+React 实现一个简单前后分离博客系统[后端篇] 01. 准备工作

Flask + React 实现一个简单博客系统[后端篇]准备工作docker-ce 19.03配置环境为了之后方便部署以及方便分享,使用docker进行环境的搭建配置blog-flask 镜像文档结构.├── docker-compose.yml└── flask ├── Dockerfile ├── pip.conf ├── requirements.txt └── sources.list编写pip.conf[global]index-

2020-05-17 20:47:43 601

原创 [LeetCode] 每日打卡 221. 最大正方形

221. 最大正方形来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximal-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解答我自己的垃圾算法。鬼知道怎么想到的,我的状态转移方程没找到。class Solu

2020-05-09 01:04:01 126

原创 [LeetCode] 每日打卡 572.另一树的子树

572. 另一个树的子树来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subtree-of-another-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s ...

2020-05-08 00:23:13 107

原创 关于逻辑删除的思考

数据库数据的逻辑删除什么是逻辑删除顾名思义就是非物理的删除,数据实质上仍存在但是不再被展示。如何实现通常添加一个is_deleted的标志位,True就隐藏,False就正常显示。单标志位可能出现的问题虽然is_deleted=True后不再显示,但是某些unique字段可能因此被限制。例如:1 . 现在存在一个用户表, 其中email,phone,username都是unique的...

2020-05-07 00:17:41 1675

原创 [LeetCode] 每日打卡 983.最低票价

983. 最低票价来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-cost-for-tickets著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 ...

2020-05-07 00:02:13 91

原创 [python] - No such file or dictionary: limits.h when installing argon2 in alpine

[python] - No such file or dictionary: limits.h when installing argon2 in alpineProblem/usr/include/python3.8/Python.h:11:10: fatal error: limits.h: No such file or directory 11 | #include &l...

2020-04-07 12:19:06 1560

原创 [算法] 字符变位

字符变位找出一种方法,使我们能检查出两个字符串之间是否存在着字符变位.Example:1.“debit card” 和 “bad credit”2.“apple” 和 “plepa”Solution:def solution(str1: str, str2: str) -> bool: mp1 = dict() for w in str1: # 建立...

2019-12-23 22:28:50 131

原创 [Ubuntu] Win+Ubuntu 双系统引导

Ubuntu + Win 双系统单硬盘引导先安装Ubuntu再安装Windows可以解决,启动引导中只有Ubuntu的问题。或者安装在不同硬盘中,也可以直接从BIOS中选择相应的系统对应硬盘直接启动。所以本文是针对单硬盘且先安装了WINDOWS再安装Ubuntu的解决方案。...

2019-12-17 14:28:59 590

原创 [Ubuntu]替换软件源

Ubuntu 替换源目的:让你更快下载、更新软件。原因:国内访问原始站点慢。1.选择替换的镜像清华大学开源镜像阿里巴巴开源镜像2.修改sources.list文件打开该文件>>>sudo gedit /etc/apt/sources.list替换原先内容,感到害怕可以注释原有内容。#alibaba 开源镜像deb http://mirrors.ali...

2019-12-15 21:07:49 111

原创 2017.12.31 JS拖拽本地图片显示

HTML部分 <div id="img1" class="box1" ondragover="dragOver(event)" ondrop="picture(event)"></div> <div id="img2" class="box2" ondragover="dragOver(event)" ondrop="picture(event)"></div> <div id

2019-12-09 20:32:13 717

空空如也

空空如也

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

TA关注的人

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