- 博客(68)
- 收藏
- 关注
原创 解决Mac使用脚本时提示:zsh: killed
了,但实际并不是,因为在关闭很多进程后腾出资源后任然存在这个问题。),在查询相关问题答案时,部分提供的是说明系统资源问题导致进程被。
2024-05-17 11:11:37
4483
4
原创 Golang 数据库操作
通过go-sql-driver/mysql操作MySQL数据库,不同数据库需要引入不同包Open:函数只是验证连接参数是否正确db.ping():测试是否能够正常连接数据库,返回`nil`表示可以全局定义`db`变量是为了连t接数据库成功之后任意地方都可以进行操作。
2023-10-24 11:11:31
629
原创 Django事务确保数据一致性
当处理的数据表存在关联性,我们需要确保关联数据之间的逻辑关系是否正确和完整B数据关联A,此时需要先创建A数据,再去创建B数据。创建B数据的同时还要进行逻辑处理(判断B数据有没有重复)如果B数据没有通过我们预设置的逻辑处理,A数据就要进行回滚B数据通过预设值的逻辑处理后,整个链路完整结束,数据是完整的以上4个环节,如果3个环节出现问题,那么我们就要回滚事务,不然则会出现数据不完整(意思就是B数据没有创建出来,但是A数据创建出来了)# 设置回滚点A_data = 创建A数据。
2023-09-19 10:48:15
575
原创 Go语言基础教程:变量、基本数据类型、输出、注释、运算符、if-else条件判断、函数
一、变量定义变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。1、变量声明方式:指定变量类型变量定义语法:var 变量名 变量类型 = 变量值变量声明方式:package mainimport "fmt"func main() { var age int // 声明并未赋值,int类型变量值默认为0 // 注意:Go语言中变量定义了必须使用,否则报错 fmt.Println(age)
2023-07-12 17:59:42
703
原创 Go语言教程,初识集简洁、性能与一体的语言
Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。Go是静态强类型语言,是区别于解释型语言的编译型语言(静态:类型固定 强类型:不同类型不允许直接运算)。Go 是一个开源的编程语言,它能让构造简
2023-07-12 17:31:48
536
原创 Go语言Channel深度理解
Go语言采用的是并发模型是(CSP),提倡"通过通信共享内存",而不是"通过共享内存实现通信",**如果说goroutine是Go程序并发的执行体,那么channel则是它们之前的连接。channel是可以让一个goroutine发送一个特定的值到另外一个goroutine的通信机制**
2023-07-12 17:28:20
310
原创 带你了解什么是Goroutine
操作系统的线程一般都有固定的栈(通常为2MB),而Go语言中的goroutine非常轻量级,一个goroutine的初始栈空间很小(一般为2KB),并且goroutine的栈空间大小不是固定的,通常可以根据内容进行扩容增大或减小,Go的runtime会自动分配合适的goroutine的栈空间。由于线程间切换需要进行一个完整的上下文切换过程开销较大,Go语言本身具有一套调度goroutine的系统。
2023-07-11 11:22:12
608
1
原创 开发模式、API接口
一、web开发模式在web应用中,有两种开发模式:1.1 前后端混合开发也可以理解为:前后端不分离开发前端的一些数据都是在后端通过模板语法渲染好以后再响应给浏览器。大致开发流程:前端写好静态文件交付给后端作为模板进行开发。后端根据模板语法(变量、以及一些逻辑操作)渲染数据到模板上。遇到模板本身的问题再交付给前端进行修改,然后再交付给后端直到项目开发完成。缺点:在前端调试的时候要安装完整的一套后端开发工具,要把后端程序完全启动起来。遇到问题需要后端开发来帮忙调试。我们发现前后端
2023-07-06 17:49:50
1286
原创 hint: Updates were rejected because the tip of your current branch is behind(git push线上与本地版本冲突问题)
使用Git push推送代码时,出现的问题及解决方案:hint: Updates were rejected because the tip of your current branch is behind
2022-10-24 14:03:57
21216
原创 一文学会DRF常用功能组件及API文档生成
本章节将会熟悉DRF更多功能的使用,在我们编写API时能够省却大量不必要的重复代码,以及在整体上提升代码的可读性,降低维护成本。在编写代码时,避免过度重复造轮子,感兴趣可以多研究现有比较好用功能的源码,这将会是后续能够编写出高质量代码的铺垫。......
2022-07-05 21:23:21
635
1
原创 Python ORM框架:SQLAlchemy的使用
一、SQLAlchemySQLAlchemy是一个ORM框架,使用它可以通过面向对象的形式来操作数据库。这也让不太熟悉SQL语句的小伙伴是如虎添翼啊。
2021-08-27 10:25:40
1037
原创 学习Django后你还不了解的DRF框架(一):缩短我们编写API的时间
一、Django Rest Framework框架简介该框架的核心思想就是缩短了我们编写API接口的代码量。Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流、过滤、分页、接口文档等功
2021-05-14 22:07:08
10773
12
原创 一起学习Django框架(一)简介、基本使用
介绍:Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0Django 采用了 MVT 的软件设计模式,即模型(Model),模板(Template) 和 视图(View)如果不清楚什么是web框架的,可以先了解一下:url
2021-03-21 23:03:34
3716
3
原创 Django框架入门前缀(HTTP协议)
一、http协议简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据
2021-03-21 22:50:19
867
2
原创 Django框架入门前缀(手搭web框架)
建议在看这一章节前,先了解一下HTTP协议的组成:URL前言:在了解Django之前,我们可以先了解web框架,了解它的好处是什么呢?在一步步搭建它的过程中,我们会逐步明白到Django是如何写的,以及如果处理页面接收与反馈给页面数据的。当然 这样讲可能有点抽象,那么我们先来了解一下吧!搭建web服务端这里的web服务端是我们使用socket套接字来实现的,以浏览器为客户端 朝我们搭建的服务端发送数据,以及我们的服务端给浏览器返回数据的过程。...
2021-03-21 22:43:58
820
1
原创 HTML 进阶:CSS盒子模型、页面布局
CSS 盒子模型(Box Model)所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距margin,边框border,填充padding,和实际内容(文本、或者图片、或者其它标签)。盒子模型允许我们在其它元素和周围元素边框之间的空间放置元素。下面的图片说明了盒子模型(Box Model):标准的W3C盒子模型:元素的宽度和高度重点: 当你指定一个 CSS 元素的宽度和高度属性时
2021-03-13 19:34:01
14214
3
原创 带你了解什么是MySQL数据库(九)事务隔离机制
前言:上一篇提到了事务的读现象,在本章节再进行补充说明,读现象是如何产生的,以及如何解决,其读现象也就是存在于不同事务内查询的结果差异,那么开始向下了解吧。事务隔离机制事务具有原子性、一致性、隔离性、持久性四大特性,而隔离性顾名思义指的就是事务彼此之间隔开,多个事务在同时处理一个数据时彼此之间互相不影响,如果隔离的不够好就有可能会产生脏读、不可重复读、幻读等读现象,为此,隔离性总共分为四种级别。不同级别会产生不同问题,由低到高依次为:Read uncommittedRead committe
2021-03-13 19:26:00
1042
原创 带你了解什么是MySQL数据库(八)数据库锁机制
前言:本章节即将了解到,数据库锁的机制。锁这个概念在很多地方都会出现,如Python、Java等等编程语言内,而锁的目的也很简单,保证数据的安全性,但是也随之降低了效率,我们必须根据情况而定,如果追求安全性的情况下,就不能盲目追求效率,而MySQL作为数据库,存入在里面的必定是很重要的数据,如果了解锁的机制是很有必要的。数据库的锁机制什么是锁?为何要加入锁机制?锁是计算机协调多个进程或线程并发访问某一资源的机制,那为何要加入锁机制呢?因为在数据库中,除了传统的计算资源(如CPU、RAM、I/
2021-03-13 19:20:51
1356
原创 带你了解什么是MySQL数据库(七)事务、数据库读现象
前言:本章节将学习到数据库中的一个很重要的内容:事务,其实在日常使用MySQL中事务早已产生,只是我们并没有注意到,那么现在来了解一下事务的概念、以及使用方法把!什么是事务?事务(Transaction):顾名思义就是要做的或所做的事情,数据库事务指的则是作为单个逻辑工作单元执行的一系列操作(SQL语句)。这些操作要么全部执行,要么全部不执行。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行
2021-03-13 19:19:03
1105
原创 带你了解什么是MySQL数据库(六)索引原理,如何建立与使用索引
前言学习过某一门编程后相信我们对索引不会陌生,如Python内的列表通过索引取值,其目的也很简单,就是在众多数据中快速取到我们需要的内容。如果没有索引的话,我们只能一个一个值的去找,这无疑大幅度降低了效率。那么我们本章节来了解一下MySQL内的索引机制。索引原理介绍什么是索引?索引在MySQL中又称为’键’,是存储引擎快速找到记录的一种数据结构、或者说数据的组织方式。建立索引会消耗空间和时间,但是好处是索引可以快速找到我们想要的内容。抽象理解:表 > 书记录 >
2021-03-13 19:16:30
1385
原创 带你了解什么是MySQL数据库(五)数据库备份、PyMySQL模块、SQL注入问题
前言:相信了解到这里,对MySQL数据库也有了一定的了解,那么我们再来学习一下较为重要的内容,数据备份,使用备份的目的也很简单, 防止数据遗忘或者丢失等等,通过备份文件就可以恢复备份时的数据内容,通常备份需要定期来执行,那么我们来了解一下MySQL的备份吧。MySQL数据备份备份方式有以下几种:物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。导出表:
2021-03-02 16:16:55
947
1
原创 带你了解什么是MySQL数据库(四)
单表查询语句where 条件group by 分组字段having 条件(通常跟在group by 后面判断)order by 排序字段limit 限制条数distinct 去重(去掉相同字段重复数据)下面再来逐个使用介绍我们先来创建如下实验表:create table employee(id int not null unique auto_increment,name varchar(20) not null,sex enum('male','female') not null
2021-02-05 19:20:05
1085
原创 带你了解什么是MySQL数据库(三)
模糊查询可以根据大致提供的内容,找到我们想要的数据,它与=查询不同,拿char类型数据和varchar类型数据举例:create table c1(x char(10));create table c2(x varchar(10));insert c1 values('io');insert c2 values('io');模糊查询使用到的是likeselect * from c1 where x like 'io';select * from c2 where x like 'io';
2021-02-05 19:19:33
2015
2
原创 带你了解什么是MySQL数据库(二)
目录库相关内容表的详细操作数据类型枚举与集合存储引擎(了解阶段)库相关内容部分MySQL可能没有test库,如笔者的8.0,用于sys代替了test库information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象mysql: 授权库,主要存储系统用户的权限信息te
2021-02-05 19:18:25
2395
2
原创 带你了解什么是MySQL数据库(一)
数据库的概念数据库:即存放数据的一个仓库使用数据库的优势:可供远程读取数据,存取数据方便我们在未使用数据库时,使用Python存取文件靠的是文件,而一次读和取数据,都会打开整个文件,增加了IO延迟,并且无法取到我们指定的内容,使用数据库存取可以很好解决这一问题,这只是其一优势。数据库的核心概念:数据:事务的状态记录:文件中的信息表:可以理解为文件,更方便读取和修改数据库:可以理解为文件夹,存放表的地方数据库管理软件:MySQL、Oracle等数据库服务器:运行了数据库管理软件的计
2021-02-05 19:17:53
1214
1
原创 Python 并发编程(协程)
一、引入本章节主要介绍,使用单线程实现并发,即只用一个主线程(很明显可利用CPU只有一个),为此我们需要先回顾下并发的本质:切换+保存状态ps:在介绍进程理论时,提及进程的三种执行状态,而线程才是执行单位,所以也可以将上图理解为线程的三种状态二、协程介绍单线程下并发称为:协程特点:单线程下的IO等待降到最低,也就是说协程时,遇到IO会切换执行另一个任务,因此将可以将单线程的能力发挥到最大缺点:不能实现并行单线程下的多个任务一旦遇到IO,整个线程都会阻塞,所有任务都停滞三、Ge
2021-01-28 14:44:41
1227
原创 Python 并发编程(进程)
前言:在学习并发编程前,可以了解进程与线程相同内容:进程与线程的关系,任务执行方式并发编程会运用到创建、管理进程与线程相关的内容。创建多个进程或线程,可以有效提高我们程序的运行效率,但其中也存在一些问题,那么现在来了解一下吧!多进程这里通过Python提供给我们的模块multiprocessing来向操作系统发送信号帮助我们创建一个子进程,为什么是子进程?因为它是基于我们已存在的进程所创建出来的,所以称为:子进程我们使用到的是multiprocessing模块内的一个Process类创建进程,
2021-01-28 14:43:20
1493
2
原创 Python 并发编程(线程)
多线程线程:执行单位,cpu执行的就是线程,一个流水线的运行过程(进程内代码的运行过程)进程:资源单位,会申请一块内存空间来存放程序,进程是线程包含线程的一个容器执行一个Python文件默认会开启一个进程,进程内默认包含一个线程(主线程),相当于执行每个操作都是由一个线程来执行的,而我们开启的子进程其中也包含一个线程,所以它占用的资源会远大于创建一个线程。多线程就是在一个进程内开启多个线程。线程 与 进程同一进程下的多个线程共享该进程的内存空间。开启子线程的开销远小于开启子进程多线程的
2021-01-28 14:42:37
1281
原创 Python socket网络编程
前言:平常我们会接触到两种框架,分别是:b/s架构与c/s架构。Socket属于CS架构,它也称为:套接字,应用程序通常使用套接字通过网络,实现与另一台计算机进行通讯。。
2021-01-21 16:52:06
10019
9
原创 Python 常用内置模块
前言在开发程序的过程中,无法避免模块的使用,Python具备丰富强大的内置模块及第三方模块,拿来即可使用,且拥有文档说明方便使用者更加了解,熟练的使用模块能够更快提升我们的开发效率,下面来介绍Python中的一些常用模块目录前言JSON格式转换模块序列化与反序列化json.dumps()json.loads()JSON格式内容转换实例json.dump()json.load()json补充说明JSON转换的页面Pickle格式转换模块pickle.dumps()pickle.loads()pickle
2021-01-18 14:41:06
1517
3
原创 Python re正则表达式
re 正则模块正则指的是一种规则(或是一种表达式):用于匹配字符串主要作用就是通过正则表达式来处理字符串,或者从中过滤出我们想要的内容。定义好规则以后,它会去字符串中查找符合规则的字符。正则表达式和语言无关,几乎所有编程语言都会用到。但re模块是Python独有的下面来介绍匹配规则的写法,规则书写借鉴至:博客园一位优秀博主下面来使用re模块配合上面的规则来匹配字符正则匹配规则字符匹配规则import reres=re.findall('el','hello 123_*&am
2021-01-15 18:21:28
1298
1
原创 Python 异常处理
Python异常处理在Python中存在着两种错误:语法错误、逻辑错误语法错误在写程序的必不能犯的。因为只要写出了语法错误,整个程序就无法运行。这Python的规定而逻辑错误,则是我们平常编写代码的过程中产生的,我们需要尽可能避免。其中有些逻辑错误我们可以避免,如下:inp = input('输入成绩:')if inp.isdigit(): inp = int(inp)else: print('请输入数字!')# 如果在inp输入完后就给它进行转换成int类型,那么必定会
2021-01-15 15:01:37
1151
6
原创 带你了解Python面向对象 高级篇:总结了21种魔法方法,7种类或对象自带的属性
魔法方法魔法方法存在于类中,指的是在调用这个类的时候触发的方法先来介绍一下与我们封装里面提到过的property类似效果的魔法方法分别是:__setattr__和__delattr__和__getattr__,俗称:点(.)触发方法__setattr__在对象.属性=值 时自动触发,也就是更改属性值时自动触发__getattr__在对象.属性时自动触发,也就是在获取对象属性时自动触发(当属性不在对象内的时候触发执行)__delattr__在del 对象.属性时自动触发,也就是在删除对象属性时自
2021-01-07 20:09:00
1344
3
原创 Python 单例模式:5种实现方式
目录单例模式模块实现单例类装饰器实现基于类绑定方法使用new方法实现元类实现单例模式单例模式单例模式(Singleton mode):一种常见的软件设计模式,该设计模式主要目的就是确保某一个类中只能有一个实例存在。如:产生很多实例,而它们做的事情只是执行发一个邮件的方法。这会特别浪费内存资源,因为频繁创建和销毁实例。优点:那么此时我们的单例模式就派上了用场,让它们使用我们定义好的一个实例。这样会节约了大量内存。单例一次只接受一次访问,如果还要访问,需要等待上一个访问者使用完。缺点:不适用于变
2021-01-07 20:00:39
2656
原创 解决天气较冷Mac开机显示没电的问题
在确认电量足够的情况下,开机后不到半分钟再次关机。有可能是天气较冷的情况,这时候开机会显示没有电量,需要连接电源,但是由于未带充电器的话,我们可以尝试长按5-8秒的电源键,即可正常开机。如若不行,再尝试其它方法。...
2021-01-03 11:22:20
11404
4
原创 Python中logging模块的基本使用(日志模块)
目录logging日志模块logging模块的介绍日志级别logging模块的基本用法配置logging默认参数logging对象配置日志字典:全局使用总结logging日志模块平时我们在使用所写的程序过程中,可能会通过print测试代码执行过程的问题,又或是debug来进行调试,但是在我们将程序开发完成以后,持续运行状态,整个程序就处于未知状态,如果说一直pirnt的话,那不是得一直盯着屏幕了!那么我们就需要一个日志来帮我们存储程序的运行状态,或是存放报错信息利于检测日志时发现程序的漏洞。当我们使用
2020-12-17 10:29:34
2069
2
原创 Python 简单介绍递归函数的应用 & 二分法
前言:函数可以嵌套定义以及嵌套调用,即可以在函数内部定义函数,也可以在函数内部调用另外一个函数,那么我们之前一直在调的都是其他函数,有没有想过调用本身的函数?那么这就要说到今天的内容,递归函数递归函数递归函数指的就是函数调用自身的过程,这样会有一个问题,在调用自身后,会产生一个循环,下一次运行到这个位置还是调用自身,例如def func(): print('my func 1') print('my func 2') func()func()这是一种错误的调用方式
2020-12-10 21:31:25
1479
原创 使用Python编写小游戏:“石头剪刀布”
前言:在学完Python部分基础以后,根据所学内容,制作了一个简单的小游戏,内容就是玩家与机器人进行石头剪刀布。所写代码思路尽量清晰易懂,哈哈,进入正题了。游戏原理玩家输入数字,然后数字对应石头剪刀布其中一种,机器人产生随机数也会对应石头剪刀布的一种。那么我们就需要根据他们输入的数字进行判断,开始代码实现。一、玩家以及机器人输入import random # 导入随机数模块# 提示信息:输入的数字代表结果是什么print('石头剪刀布游戏开始!玩家与人工智能小Q的对决,输入0代表剪刀、1
2020-12-02 11:27:36
17625
1
原创 Python基础教程,一文教你入门Python
Python可用于许多领域。Web应用程序开发,自动化、数学建模、爬虫、大数据等掌握一门编程语言以后就可以很容易将这门编程语言的知识应用到其它编程语言,诸多编程语言不同之处在于语法格式,而Python则是以简洁入门简单受到欢迎,所以初学者来学习Python这门编程语言不会有那么吃力的感觉。
2020-11-19 08:57:29
1659
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人