- 博客(91)
- 资源 (2)
- 收藏
- 关注
原创 常见的进程调度算法
摘要:进程调度算法是操作系统的核心机制,主要包括三类:1)经典基础算法(FCFS、SJF、RR、优先级调度),实现简单但各有局限;2)现代优化算法(MLFQ、CFS),通过多级队列或虚拟时间分配平衡性能与公平性;3)实时专用算法(EDF、RMS),确保关键任务按时完成。不同算法适用于批处理、交互式或实时系统,选择时需权衡吞吐量、响应时间、公平性等指标。现代通用系统多采用混合策略(如Linux的CFS)以满足复杂需求。
2025-11-22 16:49:19
226
原创 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
摘要:解决SQL Server 2021导入导出向导"未注册Microsoft.Jet.OLEDB.4.0提供程序"错误的方法:1)使用32位向导版本;2)安装32位Microsoft Access Database Engine 2016驱动;3)若需64位向导,需安装64位驱动并改用.xlsx格式文件。注意32/64位驱动不能共存,且需确保向导版本与驱动位数匹配。安装驱动前需关闭Office相关程序,遇到安装冲突可通过命令行静默安装解决。
2025-11-22 15:25:05
397
原创 为什么开启JWT全局认证后,CSRF失败会消失?
若使用Django REST Framework(DRF)实现JWT认证,DRF的 APIView 等视图类默认会关闭CSRF校验(通过重写 dispatch 方法,跳过 CsrfViewMiddleware 的检查)。这就是为什么开启JWT全局认证后,接口不再报CSRF失败的根本原因——两者的安全机制互不依赖,JWT天然规避了CSRF的攻击场景。由于JWT不使用Cookie,攻击者无法通过伪造Cookie来发起CSRF攻击,因此CSRF校验对JWT认证来说是多余的。2. JWT认证的特性。
2025-08-10 03:22:02
354
原创 drf-spectacular 库中 extend_schema 装饰器的参数列表
本文介绍了extend_schema装饰器的参数功能。该装饰器可用于扩展API文档,支持添加请求/响应示例、参数说明等信息。通过示例图示展示了装饰器的使用效果,能够帮助开发者更清晰地定义接口文档,提升API的可读性和可用性。该功能适用于需要完善API文档的Django REST framework项目开发场景。
2025-08-08 12:13:09
201
原创 在Django RESTful API 设计的最佳实践
Django RESTful API设计中,批量删除操作推荐使用POST方法而非DELETE。主要原因是POST方法允许在请求体中传输大量数据,且语义更清晰——表示"执行批量删除任务"而非"删除单个资源"。虽然HTTP标准允许DELETE方法携带请求体,但RESTful实践中不推荐这种做法。POST方法更适合处理复杂操作,符合RESTful设计原则,能明确区分简单删除与批量操作。
2025-08-02 11:19:50
199
原创 在Django使用@action规则
本文介绍了Django REST Framework中@action装饰器的使用方法和场景。@action只能在ViewSet类中使用,用于创建标准CRUD操作之外的自定义方法。文章详细说明了@action的参数配置,包括detail参数(决定操作是否针对特定实例)和methods参数(定义支持的HTTP方法),并提供了正确和错误的使用示例。当需要扩展API功能时,@action提供了一种灵活的方式来定义额外的操作端点。
2025-08-02 10:55:51
493
原创 Django使用jwt规则
本文介绍了在Django中使用JWT认证规则的配置方法。首先需要在settings中配置全局JWT认证和权限控制。文章对比了两种视图类的区别:原生View类不受DRF权限控制,APIView类则会自动应用JWT验证。详细说明了@action和@api_view两种API定义方式的适用场景和JWT控制机制,并指出@api_view默认会继承全局权限配置。最后提供了开放特定接口的方法,即使用@permission_classes([AllowAny])装饰器。文章通过配置示例和流程图,清晰地展示了Django中
2025-07-15 10:17:09
750
原创 在Django中,如何从请求体中获取参数?
Django 中从请求体获取参数的核心是根据Content-Type判断请求类型,然后选择合适的解析方式:表单数据:使用request.POST和request.FILESJSON 数据:手动解析request.body或使用 DRF 的request.data其他格式:自定义解析逻辑结合 DRF 框架可以大幅简化请求体处理流程,自动处理解析、验证和错误响应,推荐在 API 开发中使用。
2025-06-21 14:51:25
435
原创 Django参数的获取方式
本文详细介绍了Django框架中获取各类参数的多种方式,包括HTTP请求参数(查询参数、路径参数、请求体参数和请求头参数)、会话与Cookie参数、配置文件与环境参数,以及DRF的参数处理方法。文章还涵盖了高级参数处理技术,如中间件处理和装饰器参数验证。每种方法均配有代码示例,帮助开发者根据具体场景选择合适的参数获取方式。特别强调了安全注意事项和最佳实践,如敏感数据不应存储在Cookie中,以及使用环境变量管理生产配置等。
2025-06-21 13:54:48
523
原创 Python 函数
本文介绍了Python函数的基本概念和使用方法。函数以def关键词开头,后接函数名和圆括号,圆括号内可定义参数。函数的第一行可选择使用文档字符串进行说明,函数内容以冒号起始并缩进。文章详细讲解了函数的定义、调用、参数传递(包括不可变对象和可变对象)、参数类型(必需参数、关键字参数、默认参数、不定长参数)以及匿名函数(lambda表达式)的使用。此外,还介绍了Python 3.8新增的强制位置参数语法。通过多个代码示例,展示了如何定义和调用函数,以及如何处理不同类型的参数。
2025-05-09 10:00:00
221
原创 权限的设计模式
是一种比 RBAC更加灵活的授权模型,它的原理是通过各种属性来动态判断一个操作是否可以被允许。当用户权限分的很细的时候,几乎每个用户都对应一个角色。似乎有了ACL设计模式的样子。常见的操作包括“读取”,“写入”,“编辑”,“复制”和“删除”环境属性包含访问的时间和位置,对象的设备,通信协议和加密强度等。用户的属性包括 ID,个人资源,角色,部门和组织成员身份等。资源:资源是当前用户要访问的资产或对象,例如文件,数据,服务器,甚至 API。简单的菜单和人员直接挂钩,可以简单有效的做到每个员工访问不同的菜单。
2025-04-14 12:29:08
432
原创 npm : 无法加载文件
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1。未对文件 C:\Program Files\nodejs\npm.ps1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go。LinkID=135170 中的 about_Execution_Policies。所在位置 行:1 字符: 1。运行下方命令可以完成修复。
2025-03-06 13:43:32
354
原创 docker-报错Windows Hypervisor is not presentDocker&解决
需要打开win 的 Hyper-V 的功能。按照下述步骤即可解决,成功启动docker。运行docker报下述错误。
2024-06-04 17:03:36
1394
1
原创 Docusign如何取得附有授权码授予的访问令牌
Authorization头包含集成密钥和秘密密钥,由冒号字符连接,转换为base64,并以 Basic 作为前缀。获取访问令牌需要此值和授权码。注意:授权码仅在两分钟内有效。如果从获取授权码到尝试将其交换为访问令牌之间的时间超过两分钟,则操作将失败。Authorization 授权。例如,如果您的集成键是。
2024-01-09 16:34:29
1384
原创 FileContentResult 类下载二进制文件详解
命名空间:Microsoft.AspNetCore.Mvc程序集:Microsoft.AspNetCore.Mvc.Core.dll包:Microsoft.AspNetCore.App.Ref v7.0.5表示执行 ActionResult 时会将二进制文件写入响应的继承Object->ActionResult->FileResult->FileContentResult。
2023-09-06 10:45:04
848
原创 Redis 数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。不同的是每个元素都会关联一个double类型的分数。添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
2023-07-25 17:49:59
256
原创 Redis Windows 下安装
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
2023-07-24 14:03:56
120
原创 安装mysql服务无法启动
以下操作都是在启动管理员模式下的CMD,并将路径切换到mysql的bin目录的情况下操作。datadir=你自己的路径\data,这个\data不要自己写,后续会生成。切记一定是ANSI编码的文件哈(大家都这么说)我的就是没有data文件,所以会提示不成功。我的ini文件如下,没有的话自己建一个。初始化后马上就可以执行成功了。
2023-06-26 16:08:45
307
原创 JavaScript 页面可见性-监听用户离开页面-visibilitychange 事件
在过去,开发人员通常会在页面上运行许多 JavaScript 动画或视频播放等操作,这些操作会消耗大量的 CPU、GPU 或网络带宽资源,从而影响页面的性能和响应速度。通过监视visibilityState属性,可以在用户切换选项卡或最小化窗口时暂停或恢复某些页面活动(如动画或视频播放)等操作,从而优化页面性能和用户体验。在 HTML5 中,文档对象(即 document 对象)具有一个visibilityState属性,该属性表示当前文档对象的可见性状态。因此,可以通过监听这个事件跟踪页面可见性的变化,
2023-06-15 11:37:09
1623
原创 Microsoft Edge新功能测评体验
Microsoft Edge是一款现代化的浏览器,它拥有众多功能和强大的性能,为用户带来更加流畅的浏览体验。Edge最近推出了分屏功能,支持一个窗口同时显示两个选项卡,这可以大大提高生产力和多任务处理能力。
2023-05-08 11:41:46
690
原创 ASP.NET Core 中的内存管理和垃圾回收 (GC)
ASP.NET Core 中的内存管理和垃圾回收(GC)GC 会分配堆段,其中每个段都是一系列连续的内存。 置于堆中的对象归类为 3 个代系之一:0、1 或 2。 代系可确定 GC 尝试在应用不再引用的托管对象上释放内存的频率。 编号较低的代系会更加频繁地进行 GC。对象会基于其生存期从一个代系移到另一个代系。 随着对象生存期延长,它们会移到较高代系。 如前所述,较高代系进行 GC 的频率较低。 短期生存的对象始终保留在第 0 代中。
2023-05-06 17:44:21
1110
原创 git基礎操作
編輯.bashrc文件 alias git-log=‘git log --pretty=oneline --all --graph --abbrev-commit’5.git push 自己远程主机名 head:refs/for/master // 最关键的一步,把自己代码提交远程服务器上,git push 后面是自己的远程主机名称。head:refs/for/master表示自己远程分支 ,要把 head:refs/for/master替换成自己的远程分支哦。
2023-03-17 13:53:10
421
原创 ASP.NETCore学习资料
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。
2023-03-09 15:46:15
540
原创 Angular核心-路由和导航
多页面应用 :一个项目有多个完整的HTML文件,使用超链接跳转–摧毁一颗DOM树,同步请求另一颗,得到之后再重建新的DOM树,不足:DOM树要反复重建,间隔客户端一片空白。单页面应用 :称为SPA(Single Page Application),整个项目中有且只有一个“完整的”HTML文件,其他的页面都是DIV片段,需要哪个“页面”就将其异步请求下来,“插入”到“完整的”HTML文件中。==单页面应用的优势:==整个项目中客户端只需要下载一个HTML页面,创建一个完整的DOM树,页面跳转都是一个DIV
2022-06-28 10:09:51
869
原创 毕业毕业季·进击的技术-Angular
夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始。特此写下我的毕业感想和实习经验,为后来的同学提供一些帮助在2022年6月,我毕业了,我的大学4年生活已经画上句号。我的码农生活即将开始,很多人说过毕业就面临着失业,再加上就业环境并不理想所以说还是有些困难的,但是我觉得是金子总会发光,即使现在工资或者生活的方方面面都不如自己想象的那个样子,还是要不断地给自己充电,完善自己。接下来我想分享一下我的实习经验,在实习过程中企业在面对我们不会是像在校园里一样一点点教,在企业中很多都是给你制定一个方向
2022-06-26 14:26:15
161
原创 Angular核心-父子间组件传递数据-重难点
Vue.js和Angular中的父子间消息传递原理一样,都可以用口诀:“Props Down,Event Up”父组件通过“子组件的自定义属性”向下传递数据给子组件。步骤:child2.ts子组件定义扩展属性child2.ts子组件使用自定义属性方向二:子=》父子组件通过触发特定事件(其中携带数据),把数据传递给父组件(父组件提供事件处理方法)在父组件中找到子组件的模块:监听子组件的事件在ts文件中接收使用子组件传递的数据父子组件传递数据的简便方法:父组件直接使用子
2022-06-23 16:19:20
570
原创 Angular核心-组件的生命周期函数钩子函数
angular手册地址:https://angular.cn/guide/lifecycle-hooksAngular中的组件的生命周期钩子函数调用顺序:组件被创建的时候,其实他不算是真实意义上的生命周期函数组件绑定的值发生改变时。如果组件绑定过输入属性,那么在 ngOnInit() 之前以及所绑定的一个或多个输入属性的值发生变化时都会调用。注意,如果你的组件没有输入属性,或者你使用它时没有提供任何输入属性,那么框架就不会调用 ngOnChanges()。组件初始化完毕等同于Vue.js的mount
2022-06-22 14:18:19
611
原创 Angular&TypeScript
TypeScript是JavaScript类型的超级,他可以编译成纯的JavaScript。TypeScript可以在任何浏览器,任何计算机和任何操作系统上运行,并且是开源的。Angular从V2.x开始使用TS编写;Vue.js从V3开始使用TS编写;中文网:https://www.tslang.cn/浏览器不支持TS,其使用步骤:1.下载TS的编译器2.编写.ts文件,使用编译器转化为.js//得到hello.js使用Ts学习手册:https://www.tslang.cn/docs/hom
2022-06-21 17:12:47
1320
2
原创 Angular核心-创建对象-HttpClient
方式1:手工创建式—自己创建:let c2 =new Car()方式2:依赖注入式—无需自己new,只需要声明依赖;服务提供者就会创建被依赖的对象,注入给服务需要者Service:服务,Angular认为:组件与用户交互的一种对象,其中的内容都应该与用户操作有关系的;而与用户操作无关的内容都应该剥离出去,放在“服务对象”中,为组件服务;例如:日志记录,记时统计,数据服务器的访问…1.创建服务对象并指定服务提供者2.在组件中声明依赖,服务提供者就会自动注入进来,组件直接使用服务对象即可使用Angular
2022-06-21 10:08:07
435
原创 Angular核心概念:过滤器
Filter:过滤器,用于View中呈现数据时显示为另一种格式,过滤器的本质是一个函数接收原始数据转换为新的格式进行输出:function(oldVal){处理…return newVal}使用过滤器:{{e.salary | 过滤器名}}Angular2.x中,过滤器更名为“管道(Pipe)”1. 创建管道Class,实现转换功能创建一个文件sex.pipe.ts2. 在模块中注册管道在app.module.ts文件中声明3. 在模板中使用管道调用管道的时候可以使用:传递参数,如下创建管道
2022-06-15 17:26:27
860
kibana-8.15.0-windows-x86-64.zip kibana-8.15.0-windows安装包
2024-09-05
elasticsearch-8.15.0-windows-x86-64.zip
2024-09-05
IK分词器8.15.0 elasticsearch-analysis-ik-8.15.0.zip
2024-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅