- 博客(173)
- 收藏
- 关注
原创 (待更)DRF: 序列化器、View、APIView、GenericAPIView、Mixin、ViewSet、ModelViewSet的源码解析
我们的url里面加了“/”,但是用apifox等非浏览器的工具发起请求时没有加“/”,而且还不是get请求,那么这个请求就会被加上“/”且重定向成一个get请求。从而导致返回None且报错。urls.py可以发现如果走DELETE方法,它结果返回的是get请求中的内容。但是为什么发送POST请求的时候,它不会返回的是get请求中的内容,反而报错如下呢?翻译为:你通过 POST 方法调用了这个 URL,但是 URL 没有以斜杠结尾,同时你的 APPEND_SLASH 设置为开启状态。
2024-04-21 18:33:53 925
原创 在mac上安装好python开发环境(pyenv、pyenv-virtualenv、docker-desktop、mysql5.7),一文解决环境问题
python各种版本管理器、包管理器实在是太多了,感兴趣的可以看我的另一篇博客:http://t.csdnimg.cn/SRRyC但是说实话,建议不要看,直接入手本文如下的环境配置就好了。保证都是比较前沿,运用范围都比较广的(本人踩过太多坑啦,服辣!另外本文都是macOs Intel系统,建议win找另外的博客。而且至少保证环境安装了homebrew,如果没有,请看本人的另一篇博客:http://t.csdnimg.cn/FVuHa。
2024-04-19 02:12:32 646
原创 (待更)DRF:限流(单视图或全局设置限流方案)
建议先看完本人的另两篇博客:认证(http://t.csdnimg.cn/G4idK)和权限(http://t.csdnimg.cn/0hpJf),或者了解认证和权限,有一定基础,再来看本篇博客。
2024-04-13 23:28:34 285
原创 DRF:权限(单视图或全局设置权限方案和源码分析、AuthenticationFailed和NotAuthenticated和PermissionDenied的区别、显示自定义错误消息)
接着我们来看,如果权限检查失败,想要显示自定义错误信息,能有什么办法呢。request,再顺便把调用图搬过来回顾下:那么就是说在check_permissions方法时我们可以看到向permission_denied传递了个变量message和code。所以如果我们在权限组件中定义了message和code,那么就是到时候权限不通过时显示的内容。else:测试如下:诶?有没有发现,明明定义了code,但是没有显示在响应内容里诶。这其实是DRF在后面又做了一层处理。如果你感兴趣的话请见下面的。
2024-04-13 21:13:00 1037
原创 (待更!)powershell和shell编程入门
sed是一种流式文本编辑器,可以用于对文本进行查找、替换和修改操作。-n 表示sed将默认不输出模式空间的内容。$ 表示匹配最后一行。= 表示输出匹配行的行号。5p 表示匹配第五行,同理6p就是第六行。
2024-04-12 01:53:22 356
原创 mac上通过homebrew安装的mysql崩掉的心酸历程ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket
太心酸了,昨天电脑运行还好好的程序,今天一过来就说mysql服务启动不了了。让我想到了上次pyenv崩掉的过程噜😭本机环境:macOs系统,用的homebrew安装的5.7和8.0版本的mysql。
2024-04-09 19:46:37 978
原创 DRF:认证(单视图或全局设置认证方案和源码分析、设置多个认证方案、如何设置不允许匿名访问、认证码不一致问题(authenticate_header))
DRF将尝试使用列表中的每个类进行身份验证,并使用成功完成验证的第一个类的返回值设置 request.user 和request.auth。如果没有类进行验证,request.user 将被设置成 django.contrib.auth.models.AnonymousUser的实例(也就是匿名用户),request.auth 将被设置成None。那么将上述的代码的f2去掉,只看类变量a,再修改一下,其实就是DRF中全局和局部设置认证方案的继承源码。同样的,打印的self.a,也是打印的Son中的a。
2024-04-05 23:25:29 742
原创 git:三、git rm删除文件+gitignore忽略+git diff比较差异(附带详细步骤教程)
注意以下所有操作都只针对工作区和暂存区,如果需要删除后真正生效,还需要额外提交把文件从工作区和暂存区同时删除把文件从暂存区删除,但保留在工作区中递归删除某个目录下的所有子目录和文件。
2024-04-05 18:40:45 867
原创 git:开发中可能遇到的问题:拉取远程分支相关(有远程仓库但是没有远程分支或者fatal: bad revision ‘origin/master‘)
可以看到git remote -v显示了远程仓库的信息,但是git branch -r没有显示远程分支的信息。此时用拉取一下远程分支的信息即可。
2024-03-29 16:29:47 290
原创 git:git rm --cached和git rm -f和git restore --staged的区别(附带详细步骤测试)和git diff比较本地分支和远程分支的区别(细分到文件/文件)
步骤六:这时我们再次git add,相当于再次回退到步骤一结束。然后在文件下再复制粘贴几行,此时文件的内容就和最后一次git add的内容不一致了。步骤四:但是我们如果输入git restore --staged test,发现可以文件的颜色变为红色,意味着从暂存区中删除。然后再输入git rm --cached test,发现文件的颜色变为红色,意味着从暂存区中删除。步骤三:这个时候我们输入git rm --cached test 会报错,意思就是我们现在工作区的内容和暂存区的内容不一致,会删除失败。
2024-03-29 15:37:03 433
原创 IMac、Chrome、vim、pycharm的常用快捷键和常用开发工具homebrew、iTerm2、oh-my-zsh、uTools(win的quicker)、obsidian安装与使用教程
用惯了windows的uu们(譬如本人)刚开始接触时可能就看不懂以下按键,多看几遍就好了⌥ (Option)⇧ (shift)⏏️ (Eject)
2024-03-26 18:11:01 434 2
原创 pyenv崩掉的心酸历程和历时两天修好的黄金总结!(pyenv install失败,尝试xcode、brew、设置环境变量SDKROOT、CFLAGS、 LDFLAGS、 PKG_CONFI)
pyenv通过在PATH头部插入shims路径来实现对python版本的控制,结合了pip和virtualenv的功能,使用思路是先创建一个指定python版本的环境,然后在这个环境上安装相应的包。
2024-03-25 22:44:12 566
原创 (持续更新中)DRF相关
如果你有需要被路由到的特别方法,你可以使用 @detail_route 或 @list_route 装饰器将它们标记为需要路由。@detail_route 装饰器在其URL模式中包含 pk 用于需要单个实例的方法。The @list_route 装饰器用于对对象列表进行操作的方法。装饰器可以另外获取为路由视图设置的额外参数。例如…...这些装饰器将默认路由 GET 请求,但也可以通过使用 methods 参数接受其他 HTTP 方法。...这两个新动作将在和上可用。""""""
2024-03-20 17:25:23 929
原创 venv、pip、conda、anaconda、miniconda的区别和优缺点,和彻底清除python多余的环境
这是一个虚拟环境管理器,它可以让你每个项目甚至每个脚本配置一个自定义的Python解释器环境,这最大的好处是我可以不污染开发环境。。
2024-02-27 17:39:22 948
原创 数据结构与算法:二叉树(寻找最近公共祖先、寻找后继节点、序列化和反序列化、折纸问题的板子和相关力扣题目)
可以层序遍历每个节点时用个HashMap存储该结点和其直接父节点的信息。然后从p开始溯源,将所有的父节点都添加到一个HashSet集合里。然后从q开始溯源,每溯源一步看是否在set集合中,在的话就返回。可以看到效率很低,12ms,击败7.89%使用 Java 的用户。
2024-02-17 01:55:49 929
原创 数据结构与算法:二叉树(前中后三种遍历的递归和非递归原理和板子、判断是否为搜索二叉树BST、完全二叉树、满二叉树、平衡二叉树)
很有意思的一个全新的角度:从递归序去看前中后三种遍历。首先来看一颗二叉树:和其遍历的函数那么这颗树的递归序便是1,2,4,4,4,2,5,5,5,2,1,3,6,6,6,3,7,7,7,3,1可以看到,任何一颗二叉树的节点的递归序实际上都会经过其自身三次。前序遍历、中序遍历、后续遍历就是在这三次中选取不同时候进行处理而已。譬如前序遍历便是经过自身第一次时就进行处理,这里假设为简单打印。那么就能很快地得到前序遍历的顺序为:1,2,4,5,3,6,7。
2024-02-13 19:54:24 1040
原创 LeetCode662:二叉树最大宽度(二叉树非典型最大宽度,BFS层序遍历重编号)
给你一棵二叉树的根节点 root ,返回树的 最大宽度。树的 最大宽度 是所有层中最大的 宽度。每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。题目数据保证答案将会在 32 位 带符号整数范围内。示例 1:输入:root = [1,3,2,5,3,null,9]输出:4。
2024-02-13 01:05:11 559
原创 LeetCode 399:除法求值(图的bfs遍历)
给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i]。每个 Ai 或 Bi 是一个表示单个变量的字符串。另有一些以数组 queries 表示的问题,其中 queries[j] = [Cj, Dj] 表示第 j 个问题,请你根据已知条件找出 Cj / Dj =?的结果作为答案。返回 所有问题的答案。
2024-02-11 19:31:47 1083
原创 LeetCode:210课程表Ⅱ(图论:拓扑排序判断是否有环)
做本题之前最好先做了LeetCode:207课程表,见本人另一篇博客http://t.csdnimg.cn/vSXgN。
2024-02-09 00:08:20 1163
原创 LeetCode 207:课程表(图论,利用拓扑排序判断是否有环)
你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1。在选修某些课程之前需要一些先修课程。先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1。请你判断是否可能完成所有课程的学习?如果可以,返回 true;否则,返回 false。
2024-02-08 23:36:38 1103
原创 redis:八、redis线程相关和I/O多路复用模型
目前的I/O多路复用都是采用的epoll模式实现,它会在通知用户进程Socket就绪的同时,把已就绪的Socket写入用户空间,不需要挨个遍历Socket来判断是否就绪,提升了性能。IO多路复用是利用单个线程来同时监听多个Socket ,并在某个Socket可读、可写时得到通知,从而避免无效的等待,充分利用CPU资源。在Redis6.0之后,为了提升更好的性能,在命令回复处理器使用了多线程来处理回复事件,在命令请求处理器中,将命令的转换使用了多线程,增加命令转换速度,在命令执行的时候,依然是单线程。
2024-02-08 14:38:14 394
原创 LeetCode 200:岛屿数量(图的简化版之网格结构上的BFS、DFS)
首先让我们回顾一下图的BFS和DFS遍历。可以看到这种BFS和DFS板子适用于图形状,或者说结构已经确定,即我们遍历的时候只需要从根节点从上往下遍历即可,不用考虑这个节点有几个叶子节点,是否会遍历到空节点等边界情况的问题。
2024-02-07 14:09:12 526
原创 redis:七、集群方案(主从复制、哨兵模式、分片集群)和面试模板
候选人:嗯,是这样的,单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,可以搭建主从集群,实现读写分离。一般都是一主多从,主节点负责写数据,从节点负责读数据,主节点写入数据之后,需要把数据同步到从节点中。
2024-02-06 02:56:50 1513
原创 mysql面试:主从同步原理、分库分表(mycat)
1,水平分库,将一个库的数据拆分到多个库中,解决海量数据存储和高并发的问题2,水平分表,解决单表存储和性能的问题3,垂直分库,根据业务进行拆分,高并发下提高磁盘IO和网络连接数4,垂直分表,冷热数据分离,多表互不影响。
2024-02-06 01:44:39 917
原创 mysql面试:索引失效(一般什么情况下索引失效?如何查看索引是否失效)、sql优化(表的设计优化、union all和union的区别、join优化原理)、相关面试题回答模板
首先我们执行计划explain,可以看到具体是否失效。
2024-02-05 00:18:49 1017
原创 mysql:事务的特性ACID、并发事务(脏读、不可重复读、幻读、如何解决、隔离级别)、undo log和redo log的区别、相关面试题和答案
事务是一组操作的集合,它会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
2024-02-05 00:18:13 1231
原创 (!待更)JVM虚拟机面试题:垃圾回收机制(对象什么时候可以被垃圾器回收、定位垃圾的两种方法、哪些对象可以作为GC Root、垃圾回收算法有哪些、垃圾回收三种算法对比总结)
标记清除算法:垃圾回收分为2个阶段,分别是标记和清除,效率高,有磁盘碎片,内存不连续标记整理算法:标记清除算法一样,将存活对象都向内存另一端移动,然后清理边界以外的垃圾,无碎片,对象需要移动,效率低复制算法:将原有的内存空间一分为二,每次只用其中的一块,正在使用的对象复制到另一个内存空间中,然后将该内存空间清空,交换两个内存的角色,完成垃圾的回收;无碎片,内存使用率低。
2024-02-05 00:17:18 358
原创 数据结构与算法:图论(邻接表板子+BFS宽搜、DFS深搜+拓扑排序板子+最小生成树MST的Prim算法、Kruskal算法、Dijkstra算法)
/点集,第一个参数是点的编号。和Node类中的value一致。不一定是Integer类型的,要看具体的题,有的题点编号为字母。//边集//点的编号,不一定是Integer类型的,要看具体的题,有的题点编号为字母。//入度//出度//出去的边直接相连的邻居。public ArrayListedges//出去的边in = 0;out = 0;//边上权重this.to=to;
2024-02-04 14:07:20 1211
原创 JSONP导致无法爬取网页数据的记录
于是研究下该sodar开头的请求的响应内容,发现也是比较特殊且不常见的数据,不是想要的表格内容。推测应该是页面的广告内容或者chrome自带的api返回的数据啥的。选择Average by Month并点击查询后会出现一个表格。想要爬取表格中的数据内容。发现唯一长得比较像表格数据的请求,其响应和标头如下。其他请求都没有响应数据。
2024-01-25 16:35:42 357
原创 企业公司门户网站团队页面设计(三维旋转轮播图片,html+css静态实现,响应式布局,带源码)
navbar.htmlnavbar.cssteam.css注意以上源码改编自https://www.bilibili.com/video/BV14z4y1w7cg,建议商用等行为先询问下原作者。
2024-01-25 16:34:43 398
原创 消息中间件之八股面试回答篇:三、RabbitMQ如何解决消息堆积问题(100万条消息堆积)+RabbitMQ高可用性和强一致性机制+回答模板
当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积问题。
2024-01-24 15:23:55 1462
原创 消息中间件之八股面试回答篇:二、MQ如何保证消息不重复消费(幂等性)+RabbitMQ死信交换机(延迟队列)+回答模板
因为我们当时处理的支付(订单|业务唯一标识),它有一个业务的唯一标识,我们再处理消息时,先到数据库查询一下,这个数据是否存在,如果不存在,说明没有处理过,这个时候就可以正常处理这个消息了。譬如,过期时间到了却仍未被消费的消息,或者要投递的队列满了,最早的消息就可能成为死信。嗯,这个我们还真遇到过,是这样的,我们当时消费者是设置了自动确认机制,当服务还没来得及给MQ确认的时候,服务宕机了,导致服务重启之后,又消费了一次消息。其实这个就是典型的幂等的问题,比如,redis分布式锁、数据库的锁都是可以的。
2024-01-24 15:22:40 988
原创 消息中间件之八股面试回答篇:一、问题概览+MQ的应用场景+RabbitMQ如何保证消息不丢失(生产者确认机制、持久化、消费者确认机制)+回答模板
目前主流的消息队列技术(MQ技术)分为RabbitMQ和Kafka,其中深蓝色为只要是MQ,一般都会问到的问题。浅蓝色是针对RabbitMQ的特性的问题。蓝紫色为针对Kafka的特性的问题。
2024-01-23 15:18:53 1550
原创 企业公司门户网站联系我们页设计(html+css静态实现,响应式布局,带源码)
注意的ak后面的参数要换成自己的百度地图ak参数。</</</</</</</</</</</</</</</</</</</</</</</</</</</</// 在页面加载完成后初始化地图onloadfunction// 创建地图实例varnewBMapMap"map";// 设置地图中心点和缩放级别newBMapPoint113.94893522.53566215;// 在地图上添加标记varnewBMapMarkernewBMapPoint113.948935。
2024-01-23 12:36:23 1670
原创 企业公司门户网站案例展示页设计(html+css静态实现,响应式布局,带源码)
/</</</br />小程序br />APP开发</</</</</</</</</</</</</</</</</</</</</</</</</</
2024-01-23 12:28:50 1189
原创 企业公司门户网站首页设计(html+css静态实现,响应式布局,带源码)
企业公司门户网站首页设计(html+css纯静态实现,响应式布局,带源码)
2024-01-22 10:07:20 747
原创 (自用)病理学第四章炎症重点知识思维导图和考试真题总结(深大特供)
思维导图部分截图如下:自己留档用,深大学生特供,其他人想要的画也可以参考一下,以下是笔记原件:画板原件:本章所涉及的深大真题总结:
2024-01-02 19:25:40 383
黑马头条初始化工程项目代码
2024-02-07
黑马头条初始化工程maven仓库
2024-02-07
sky-take-out阶段性工程代码(day04-套餐之分页查询、新增套餐、修改套餐、启用禁用套餐)
2023-11-05
sky-take-out阶段性工程代码(店铺营业状态查询与设置)
2023-11-01
redis可视化客户端Another-Redis-Desktop-Manager.1.5.5和redis win、linux版本
2023-11-01
sky-take-out资料
2023-10-17
javaweb:mybatis之mapper三种实现方式的代码,第一种是sql映射实现,第二种是代理实现,第三种是注解实现
2023-10-11
Django之十四、添加用户之django组件Form/ModelForm实现
2023-10-04
java常用映射器(b站黑马程序员瑞吉外卖代码资源)
2023-09-01
springboot练手项目reggie外卖的数据库、pom文件、application文件、前端资源
2023-07-15
Hypervisor脚本:解决电脑没有HyperV问题
2023-07-13
三、Django之使用模板并引用静态内容:jquery-3.6.0.min.js和bootstrap-3.4.1
2023-06-27
Vue3项目调用百度地图不成功
2024-02-08
vue页面文字自动左右翻转的问题
2024-02-08
一个vue3项目的页面跳转失效问题
2024-02-08
spring/springboot自定义aop注解失效
2023-10-21
使用mockjs模拟图片并展示在前端时报错
2023-09-20
设置的@TableId(type = IdType.AUTO)不生效
2023-09-19
springboot整合本机redis测试出错
2023-09-02
使用WEIBO数据集做中文实体识别时无法跑通项目
2023-07-05
请问Django可以直接在models.py里面用orm删除数据吗?
2023-06-29
使用Django的load语法加载图片失败
2023-06-23
使用Django的load语法加载图片失败
2023-06-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人