- 博客(97)
- 收藏
- 关注
原创 Redis的使用
lrem class_1 1 ws 移除元素 如果数字是0表示和ws相同的都删除 大于0表示从头开始删除这个写的几个ws值 如果是小于就从未开始删除。redis-cli 或 redis-cli.exe -h 127.0.0.1 -p 6379。lrange class_1 0 0 第一个参数为起始的索引 第二个参数为结束的索引。zrange order_1 0 -1 获取所有的值。lrange class_1 0 -1 获取所有的值。hgetall person 获取所有的值和key。
2024-06-30 19:48:12
505
原创 类的装饰器
yield i # 函数中有yieid 代表生成了生成器。result = re.match(正则表达式,要匹配的字符串)with 语句 结合上下文 管理器对象使用。print('进入上文方法')print('进入下午方法')4 使用contextmanager装饰器。print('开始生成数据')print('触发了吗')print('执行完了')深拷贝 :deepcopy。8 正则表达式 re模块。cory为浅拷贝函数。1 使用类定义装饰器。
2024-06-26 21:58:33
366
原创 logging日志级别介绍
3 设置logging的配置信息 创建出一个log.txt文件 用来记录日志。logging.debug('这是一个dug日志的信息')logging.debug('这是一个dug日志的信息')1 日志的等级可以分为5个 从底到高分别是。critical 特别验证 程序不能运行。debug 程序调式bug使用。warning 发出警告。info 程序正常运行。error 程序出错。
2024-06-26 20:55:53
294
原创 python之闭包以及服务器的开发
建立链接后 获取的客户端的内容 new_socket为二进制 ip_prot=127.0.0.1 还有链接的号码。fn() # 当函数被调用的时候 会执行 类中的__call__的这个方法 同时fn本身的这个函数也会被调用。print(e) # 13 先执行@c的这个装饰器将最后的结果 再给到@a的执行器再去执行。# 上面的代码修改为下面的 key:index.htmll fun:index()# 上面的代码修改为下面的 key:index.htmll fun:index()
2024-06-26 20:30:45
569
原创 python之mysql数据库的操作
create table 表名(id int unsigned primary key auto_increment not null, name varchar(20) not null, age tinyint unsigned default 0, height decimal(5,2), gender enum('男',‘女’,‘保密’))查询id为1,3,5的数据。count(col) 查询列的条数, sum(col)查询列的数据相加的和, max(col)该列的最大值。
2024-06-23 21:32:25
811
原创 创建web服务器
request_list = recv_content.split(' ', maxsplit=2) # 根据空格截取 只截取最前面的两个。request_list = recv_content.split(' ',maxsplit=2) # 根据空格截取 只截取最前面的两个。request_list = recv_content.split(' ', maxsplit=2) # 根据空格截取 只截取最前面的两个。# 对二进制消息进行解码 接收的是客户端 请求报文的消息。
2024-06-22 14:37:25
918
原创 python中websock的使用
socket.AF_INET : IP4地址 AF_INET6为ip6地址 SOCK_STREAM:tcp链接。# 第一个参数表示ip地址 一般不用指示,表示本机的任意一个IP地址 第二个参数表示端口号。print('接受服务端的数据'+recv_content)send_conetnt = '你好我客户端'# 对二进制编码为utf-8。# 等待客户端的链接请求。# 等待最大的链接个数。# 接收客户端的数据。
2024-06-22 10:08:22
374
原创 多任务的结束
这里的代码执行的顺序就是 1111 222 1111 11111 ..., 进程的执行是无序的,具体哪个函数先执行要看操作系统先运行哪一个。并行:对于多核cpu处理多任务,操作系统给每一个cpu安排一个执行的软件,多个内核是真正的一起执行的软件。os.kill(os.getpid(),9) #根据当前进程的id编号 杀死自己的进程。m1.join() # 让上一个进程先执行 这个进程执行完之后再执行下一个进程。线程是用来执行代码的。19 让当前的线程先执行完再执行下一个线程 f.join()
2024-06-19 21:40:31
301
原创 python之面向对象编程
print(f'地瓜烤了{self.time1}分钟,目前的状态是{self.status},添加的材料有{self.list}')第一种方式 在子类中调用需要先调用父类的 __init__(self) 的方法 再调用父类的属性或者方法。13 类方法的使用场景。01 第一步 创建类, self指向调用该函数的对象 也就是通过类实例出来的对象。08 类的属性和方法的覆盖 , 如果同时继承多个父类,有重名的打印的是第一个父类。17 在文件中定义导出的方法 使用 __all__ = ['导出的方法']
2024-06-17 22:38:42
972
原创 python基础
'aaa', 'demo.py', 'echarts.py', 'my_package', test[备份].txt', 'webSocket.py', '__pycache__', '基础柱状图.html']多个for循环:list3 = [(i,j) for i in range(3 for j in range(6))] [(1,0),(1,1),(1,2)...]带if推导式:list2=[i for i in range(10) i % 2 == 0] 符合i%2=0 的返回。
2024-06-16 12:28:55
399
原创 uni-app项目中常遇到的问题
解决办法: 我们可以给自定义的导航栏设置一个pading-top的距离为var(--status-bar-height)
2024-06-11 20:42:37
228
原创 支付宝支付流程
04 在跳转之后的页面中也就是http://localhost:4000/payment的界面中获取url参数,请求接口查询支付的状态。第一步前端:点击去结算,前端将商品的信息传递给后端,后端返回一个商品的订单号给到前端,前端将商品的订单号进行存储。06 从跳转路由界面的url地址上面获取支付宝携带的参数订单号等,进行接口请求查询是否支付成功。01 修改订单的状态,以及将准备结算的商品,从购物车的数据表删除。01 前端将订单号发送给后端,后端修改订单号的状态,对应的前端代码:然后再跳转到支付页面。
2024-05-04 16:28:20
3877
1
原创 项目使用git开发流程
在项目中打开git,切换到develop分支下,然后 git add . git commit -m '初始化', git push;04 因为feature/home分支下没有代码,所以需要将develop分支的代码合并到feature/home分支下。查看所有远程的分支, 然后将远程仓库的feature/home的分支拉取到自己的仓库下。git branch,发现。自己在develop的分支下。06 创建项目是要在从仓库中下载下来的文件夹中创建,将项目提交到远程仓库的develop的分支;
2024-05-01 10:41:52
1058
原创 TS的使用
let fn:()=> void = ()=>{} // ()=>void 这是函数的一个类型 没有形参没有返回值never类型:在项目中基本上用不到 在封装框架的时候可能会用上throw new TypeError('抛出了一个错误')while(true){ // 死循环fn()fn(A)return p1。
2024-04-28 20:51:06
827
原创 javascript进阶
AO:代表的是函数被调用的时候产生的私有上下文中的变量和函数体内部的函数声明(形参+实参+局部变量+内部函数)02-1-1:如果函数声明的变量名和function的函数名同名的情况下,无论是函数在var的前面还是函数在var的后面,结果都是函数整体会覆盖var声明的变量。08-1 在构造器中 如果返回的是基本数据类型相当于什么都没有返回,如果返回的是引入数据类型那么new出来的实例对象就是返回的引用数据了。每一个基本数据类型的__proto__属性的constructor的属性指向了该属性实例的本身。
2024-04-27 20:30:49
850
3
原创 http缓存协议
memory cache(内存缓存)内存缓存存储在浏览器内存当中,一般刷新网页的时候会发现很多内存缓存。disk cache(硬盘缓存)硬盘缓存是存储在计算机硬盘中,空间大,但是读取效率比内存缓存慢。强缓存之后不需要再向服务器发送请求。而是从浏览器读取分为(内存缓存)(硬盘缓存),缓存时间到期后就会向服务器重新发送请求。强缓存介绍: 状态码为200。协商缓存的状态码为304。
2024-04-21 14:08:11
166
原创 websocket聊天的功能
后端思路的分析:需要定义一个数据格式: 里面有几个房间 每个房间有几个人。node需要安装: npm i socket.io。第二步 前端cdn引入socket。第三步 编写服务端的代码。第四步 前端链接成功的代码。第五步 前端发送消息。
2024-04-21 11:14:32
470
原创 serverLess
执行 s 选择 y 选择阿里云, 选择HTTP node.js, 输入目录名称 xiaoman-serverLess,选择离我最近的服务器, 函数名称随便写 node-fn, 选择node版本 16, 选择秘钥serverLess。把对应的ID secret填写,第三个别名可以随便写: serverLess。查看是否生效 s config get -a serverLess。在项目的目录下执行 s deploy 就把代码上传到阿里云服务器了。选择 alibaba cloud (alibaba)
2024-04-21 10:11:56
328
原创 定时任务:在预定的时间,执行某些事情
aid=你的aid&uid=你的uid‘,{Referer:config.url, 这里是掘金的地址 https://juejin.cn/,调用掘金签到的接口: 第一个参数掘金签到的地址:aid和uid可以通过登录掘金打开对应的。import request from 'request' 调用接口用的。console.log('每隔5秒就会执行一次')第二步 创建一个node项目。
2024-04-21 09:59:26
312
原创 JWT---token
return jsonwebtoken.sign(data,this.secret,{expiresIn:'7d'}) 传递过来的数据 私钥key 过期时间。console.log(req.user) // 这里可以直接读取前端的用户信息 不需要传递了 因为携带了token。以上代码遇到的问题 我们无法直接req.user.id 访问到用户的id 需要在main.ts文件中进行扩展。1 passport 是一个留下的用于身份验证和授权的Node.js库。在src目录下创建jwt/index.ts。
2024-04-21 09:03:32
504
原创 nodejs(项目架构MVC,IOC,DI)
return await this.PrismaDB.prisma.user.create({ // 插入到数据库中。user/ controller.ts services.ts user.dto.ts三个文件。post/controller.ts services.ts post.dto.ts 三个文件。8 在src/user/controller.ts文件中将services.ts的引入。post请求的接口:http://localhost:3000/user/create。
2024-04-21 08:14:29
586
原创 mysql+express+yaml
await db('user').select().leftJoin('table','user.id','table.user_id') // 连表查询。await db('list').select().where({id:req.body.id}) // 根据id查询单个数据。await db('list').select().order('id','desc') // id倒叙排列。app.get('/user:id',async(req,res)=>{ // 把文章表的也一块查询出来。
2024-04-20 21:36:15
1008
原创 mysql语句
INSERT INTO user(`name`,`age`,`bobby`) VALUES ('xiao',23,'篮球'),('yao',34,'足球') 新增多个,SELECT * FROM `table` WHERE user_id = (SELECT id FROM `user` WHERE name = '小曼')INSERT INTO user(`name`,`age`, `hobby`) VALUES('xiaoman',23,'女人') 新增单个。输出第二天的时间,今天+1。
2024-04-19 21:22:04
561
原创 node-mysql数据库的下载与安装
打开之后往下翻 点击 MySQL Community (GPL) Downloads 》 点击 MySRL Community Server。打开vscode,扩展搜索 database ,点击Database Client插件安装,安装完左边会显示一个桶,04 启动mysql -u后面跟服务器的名称 -p之后回车 会让输入密码 进入到mysql之后就代表链接成功。第四步 查看表中的数据 select * from user;第二步 查看所有的表 show tables;01 mysql数据库的安装。
2024-04-18 21:57:50
283
原创 node 第三章
防盗链(Hotlinking)是指在网页或其他网络资源中,通过直接链接到其他网站上的图片、视频或其他媒体文件,从而显示在自己的网页上。这种行为通常会给被链接的网站带来额外的带宽消耗和资源浪费,而且可能侵犯了原始网站的版权。01 http动静分离将js DOM css img进行分离。04 express路由模块化。07 响应头与请求头。
2024-04-18 21:24:44
215
原创 node基础 第二篇
01 ffmpeg开源跨平台多媒体处理工具,处理音视频,剪辑,合并,转码等。06 crypto密码学 提供加密解密 对称加密 非对称加密 哈希函数。03 events 发布订阅模式。02 ffmpeg的使用。08 zlib 压缩文件。09 http 反向代理。
2024-04-17 22:06:30
465
原创 node項目的开发
14 CSR前端渲染 SSR服务端渲染 SEO: 爬虫在找的时候只会找html页面的不会找js, 前端渲染html的内容较少,不利于seo,服务端已经把整个html页面渲染完毕了。T值得是title,D指的是标签的description描述。02 关于package.json文件中:"test":"echo\'xxxxxx'\" && exit 1"12 prcoess.cwd() 可以获取当前文件执行的目录 相当于__dirname。04 npm 相关执行的命令。
2024-04-16 21:55:32
412
原创 vue3知识点补充第二节
02 实现一个函数同时支持hook和自定义指令,去监听DOM宽高的变化。03 定义全局的变量或者函数并使用。05 关于nextTick。01 自定义Hook。
2024-04-14 13:57:25
238
原创 03---webpack进阶用法
在项目中我们经常会定义一些变量或者方法,在项目中实际并没有被使用,那么在项目打包的使用同时也会将这些没有被使用的变量和方法进行一起打包,这样会造成代码的体积变大。解决方法:在项目打包的时候将没有被使用到的方法和变量不被打包到dist目录下。使用步骤: 在webpack.config.js文件中,如果mode模式是production的时候会自动开启tree Shaking的,不会将没有被使用到的变量和方法打包到dist目录下。
2024-04-05 13:57:09
473
原创 02---webpack基础用法
再执行 npm run build的命令 在dist目录下会创建出一个search.js文件,index.html页面中引入文件。
2024-04-04 10:16:14
483
原创 01---webpack的基础篇
同时需要创建index.html文件导入webpack打包生成的dist目录下的bundle.js的文件。第四步 打包的结果 会在项目的根目录中创建一个dist目录并有一个bundle.js文件。第二步 需要在项目的跟目录下创建src目录以及index.js,hello.js文件。
2024-04-03 21:01:17
402
原创 node项目中express的使用
05 ejs将文件的后缀由ejs修改为html, 以及通过express.static托管静态文件。03 views/index.ejs文件中使用ejs, ejs语法的使用。06 关于处理post请求的参数的第三方中间件body-parser。01 expres项目的基础配置。08 session的使用。07 cookie的使用。
2024-03-26 22:32:57
366
原创 MongoDb数据库介绍安装使用
db.order_item.insert({"order_id":"1", "title":'商品鼠标', "price":"50", "mum":1})db.order_item.insert({"order_id":"1", "title":'商品键盘', "price":"50", "mum":1})db.order_item.insert({"order_id":"2", "title":'牛奶', "price":"50", "mum":1})按照年龄进行升序 降序;
2024-03-23 20:16:02
2342
原创 node项目开发的基础知识
var data = fs.readFileSync(‘./data.mine.json’) 同步。fs.weiteFile(‘./index.txt’,‘向文件中追加的内容’,(err)=>{readStream.on(‘data’,(data)=>{ // 不断的读取数据。exports.post = ()=>{console.log(‘方法二’)}exports.get = ()=>{console.log(‘方法一’)}readStream.on(‘error’,()=>{ // 读取数据结束。
2024-03-22 21:41:02
497
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人