- 博客(55)
- 资源 (1)
- 收藏
- 关注

原创 【干货】如何实现安全的登录系统:从用户登录场景分析 Web 网络安全技术
摘要就是把 A单向映射B,所谓的单向就是指 B无法逆向推导出 A。如果知道 A 的值,那么这里可以推导出 B 的值;但是如果只知道 B 的值,那么是没有办法知道 A 具体的值的,比如这里 B 是 50,我们也不知道它对应的 A 到底是 99 还是 100 或者别的数。我们常常说的什么MD5冲突散列表base64哈夫曼编码之类的,其实都是一种摘要算法。
2024-11-03 18:37:26
1258

原创 Docker快速上手教程:MacOS系统【安装/配置/使用/原理】全链路速通
继续用通俗的话来说就是传统虚拟机(VM)就像是住在虚拟化的豪宅里,啥都有,但是成本高;而 Docker 容器就像是住在共享公寓的一个小房间里,直接用现成的设施,轻便又实惠。特征VMDocker虚拟化程度模拟完整的硬件环境只虚拟必要资源资源消耗分配独立的操作系统和硬件共享宿主机内核和资源隔离程度完全隔离一定隔离,共享内核应用场景高度隔离的应用微服务、CI/CD、开发环境特征镜像 (Image)容器 (Container)定义。
2024-10-26 04:16:06
1325
1

原创 【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片&str)
Rust 开源操作系统训练营:熟练掌握 Rust 的字符串类型——可变字符串 String 和字符串切片 &str
2024-10-03 00:49:58
1768

原创 【开发视角】大模型 RAG 检索增强生成究竟是什么
RAG 的意思是检索增强生成检索,就是给大模型加了一个搜索工具,可以让大模型检索它本身不懂的内容,从而增强它的生成的内容。用喝完一杯咖啡的时间,读完上述内容,也就能大概了解 RAG 是 怎么一回事了——相当赚!
2024-08-04 10:00:00
803
1

原创 【精解前端八股手写题】深入浅出柯里化
一行代码实现柯里化,大厂前端面试经典手写题目案例分析,精通柯里化与闭包,全面掌握概念、应用场景以及实现原理,做问不倒的最强前端应试者!
2024-03-10 03:46:20
1022
原创 【暴刷力扣】121. 买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;解释:在这种情况下, 没有交易完成, 所以最大利润为 0。输入:prices = [7,6,4,3,1]输入:[7,1,5,3,6,4]
2024-11-10 07:00:00
220
原创 【暴刷力扣】59. 螺旋矩阵 II
《算法竞赛入门指南》:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。
2024-11-09 11:00:00
234
原创 【精解前端八股】最大并发数控制:Promise并发任务调度器
题目:JS 实现一个带并发限制的异步调度器 Scheduler,保证同时运行的任务最多有 2 个。这个题几乎算是被考烂了,反复考但是说来惭愧,当年还真是反复没写上来平时明明一写就会…面试一写就错…还是简单写一下记录深刻反思一下。
2024-11-09 10:00:00
536
原创 【rCore OS 开源操作系统】Rust trait 特性快速上手
一些权威资料的描述是这样的:也就是说trait (特性)类似于其他语言中通常称为interfaces的功能,但存在一些差异。OK,那作为初学者我就不求甚解,就先理解为它可以当interface来使用就好了那学过其他语言,我们知道interface是干什么的呢?就是定义某个类型,有那些。由于 Rust 是超级的语言,约束比较多,trait 只允许定义方法所以trait。
2024-10-20 21:23:37
798
原创 【rCore OS 开源操作系统】Rust 类型转换
类型强转 (asFrom和IntoTryFrom和TryIntoAsRef和AsMutFromStr这些转换方式覆盖了从简单的类型转换到更复杂的、可能会失败的类型转换的各种情况。通过这些特质和操作符,Rust 提供了一种灵活的方式来处理不同类型之间的转换需求。希望这些信息能帮助你更好地理解和使用 Rust 中的类型转换。如果有任何其他问题或需要进一步的帮助,请随时提问。
2024-10-20 08:15:00
1757
原创 【rCore OS 开源操作系统】Rust 智能指针
在 Rust 中,“智能指针”是指那些实现了**特定智能行为**的指针类型。这些智能行为通常包括**内存管理**、**生命周期跟踪**以及**所有权转移等**。
2024-10-19 15:22:34
1059
原创 【rCore OS 开源操作系统】Rust 宏
参数传递:宏定义可以接受任意数量的参数,并且可以使用模式匹配来匹配传递的参数,而函数需要明确指定参数的数量和类型。宏可以通过定义好的宏名来调用,宏调用时传入的参数会被宏定义中的模式匹配所捕获,并根据定义的规则生成相应的代码。功能扩展:宏定义可以执行复杂的代码转换和代码生成,可以在编译期间进行元编程,而函数只能执行预定义的操作。代码生成:宏定义在编译期间进行代码生成,将宏展开为实际的代码,而函数在运行时执行。Rust 的宏支持模式匹配,这使得宏可以根据传入的不同参数生成不同的代码。调用方式:宏定义使用。
2024-10-19 03:59:55
778
原创 【rCore OS 开源操作系统】Rust 异常处理
正如一位故人所说的:“花钱要慎重,但是,你也得花呀!类似地,Rust 的异常处理虽然难学,但是呢,也得学呀!
2024-10-06 02:25:30
1053
原创 【rCore OS 开源操作系统】Rust 枚举与模式匹配
Rust 开源操作系统训练营:熟练掌握 Rust 的模式匹配——枚举、模式匹配、match关键字,if let和where let语法糖。
2024-10-05 23:22:07
630
原创 【rCore OS 开源操作系统】Rust HashMap应用 知识点及练习题
Rust 开源操作系统训练营:熟练掌握 Rust 的 HashMap 语法和常用API等
2024-10-03 04:24:59
707
原创 【rCore OS 开源操作系统】Rust mod模块和static生命周期 知识点及练习题
rCore OS 开源操作系统训练营学习模块化的章节,也涉及到了一些结构体访问控制,生命周期相关的知识点。
2024-10-03 02:39:36
805
原创 【rCore OS 开源操作系统】Rust 练习题题解: Enums
rCore OS 开源操作系统训练营学习中的代码练习部分。在此记录下自己学习过程中的产物,以便于日后更有“收获感”。后续还会继续完成其他章节的练习题题解。
2024-10-02 17:51:15
745
原创 【rCore OS 开源操作系统】Rust 练习题题解: Structs
rCore OS 开源操作系统训练营学习中的代码练习部分。在此记录下自己学习过程中的产物,以便于日后更有“收获感”。后续还会继续完成其他章节的练习题题解。
2024-10-02 16:59:22
1065
原创 OpenCV.js 入门教程指北:下载/安装/编译/代码实现/运行 一条龙
OpenCV 支持多种编程语言。它接受 LLVM 位码作为输入,该位码可以通过 clang 工具从 C/C++ 代码生成,并进一步将这些位码编译为 asm.js 或 WebAssembly,这两种格式均能在现代网络浏览器内部直接执行…之后每次版本更新,都得git拉取最新的代码然后走上面的步骤进行编译。学习计算机视觉接触到的第一个库,非常有意思的是,竟然有JS的版本。
2024-04-22 10:02:10
2265
3
原创 前端网络安全面试题:CSRF 与 XSS
跨站请求伪造是一种攻击手段,攻击者通过恶意构造一个链接或表单,诱使用户在已登录的目标网站上执行非本意的操作。当用户点击或提交这个恶意内容时,浏览器会自动带上用户的认证凭据(如session cookie),服务器误以为这是用户自己发起的合法请求,从而执行了攻击者设计的操作。例如,攻击者可能通过CSRF获取用户的转账权限,在用户不知情的情况下转走账户资金。防范措施使用CSRF令牌:服务器端为每个敏感操作生成一个一次性使用的随机令牌,并将其附加到表单中或作为Cookie的一部分发送给客户端。
2024-04-22 00:03:31
731
2
原创 Java 多线程加法求和
使用 Callable 通常结合 FutureTask(实现了 Runnable 和 Future 接口)来包装 Callable 任务,并将其提交给线程池执行,从而可以获得线程执行的结果。Thread 类提供了更多控制线程生命周期的方法,如 start()、join()、interrupt()、setName() 等。包下原子整数类,顾名思义,它所对应整数上发生的操作都是原子性的,线程只能串行的去累加它,就能避免竞态问题。上面的代码中结束线程工作的过程中,涉及到了两个API。Callable 实例。
2024-04-21 04:04:43
1018
原创 Java基本数据类型
8种基本数据类型。每种基本数据类型都有固定的内存分配,不允许为空,且它们不是对象,不涉及内存地址引用。Java还为每种基本类型提供了对应的包装类,如Byte、Short、Integer、Long、Float、Double、Character和Boolean,这些类的对象允许存储基本类型的值,并且能提供额外的方法和特性,如自动装箱和拆箱功能。
2024-04-21 02:47:41
505
原创 JS快速排序模板
快速排序 模板 给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:-5 * 10。
2024-03-27 16:03:15
344
原创 【暴刷力扣】1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。
2024-03-24 02:07:27
391
原创 【暴刷力扣】42. 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。
2024-03-24 01:47:30
618
原创 【暴刷力扣】15. 三数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:不同的三元组是 [-1,0,1] 和 [-1,-1,2]。
2024-03-24 01:31:02
421
原创 【暴刷力扣】11. 盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入:height = [1,1]输出:1。
2024-03-24 01:03:11
302
原创 【暴刷力扣】283. 移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。
2024-03-24 00:55:38
252
原创 Vue全家桶学习笔记:Vue Router篇
文章目录前言路由后端路由前端路由单页面应用程序(SPA)前言学完了一堆后端的知识之后呢,又去学了下git…嘛,现在又回到了前端的学习路由这个学了后端的servlet就知道是什么东西了。路由就是通过网络,把网络信息从源地址传输到目标活动地址(大概就是URL和页面之间的映射吧)路由本来是后端负责的,但是随着前端的不断发展,路由也进入了前端的范围。后端路由嘛,就是浏览器给后端发个请求,后端直接把整个页面(包括html css js等等)响应给浏览器这个过程中,页面已经在后端形成,并且由后
2021-10-22 19:11:33
832
原创 Java学习笔记_从零到Web全栈:Web后端基础篇
文章目录前言前置准备Servelet前言前置准备这里使用Intelligent Idea开发,Tomcat和Maven的安装配置不再赘述Servelet什么是ServeletServelet是动态开发Web的一门技术就是给你配置好了一堆交互操作的接口,然后你自己去实现一下。(如果不想手动实现,就直接一手继承内置实现就来了)如何使用Servelet1.首先编写一个类,实现Servelet接口2.然后把开发好的java类部署到Web服务器这其中,实现了Servelet接口的java程序就
2021-09-11 16:15:42
869
原创 Java学习笔记_从零到Web全栈:JDBC篇
前言爷要全栈(全干工程师)前置知识是Java基础和Mysql数据库,这两个可以参考我的保姆级入门教程:MySQL数据库学习笔记:0基础入门到入坑,2小时极速上手Java学习笔记_从零到Web全栈:Java基础篇这次我们用敲好看的仙女级编译器IDEA,美观得跺jiojio概念:什么是JDBCJDBC,Java数据库连接(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JD
2021-08-25 01:33:42
351
2
原创 Java学习笔记_从零到Web全栈:Java基础篇
前言本来以前是学过Java的…但是…但是主要是使用前端的知识,久了没碰Java就快忘完了…这也不是第一次把本就没学多少的Java知识忘得一干二净了,这边正好赶上学校要开Java课程了,所以这次痛定思痛决定写个学习笔记,希望能帮助自己的同时也能帮助到大家。本来想用IDEA的(毕竟方便又好看),但是为了适应学校的安排,还是用上了eclipse…因为是前端的,这篇笔记主要是为了速通,所以很多知识点不会说太细学什么前端,爷要全栈!前置准备安装JDKjava development kit java
2021-08-23 06:19:22
1021
1
原创 Vue全家桶学习笔记_零基础入门到入坑:Vue篇
什么是Vue,什么又是框架为了便于理解,我将Vue概括为:1.Vue是一个主要关注视图层的渐进式框架,即Vue可以只运用到局部代码。2.并且Vue实现了MVVM双向绑定模式M:模型层,指js对象V:视图层,指DOMVM:链接视图和数据的中间件3.而且兼顾了React的虚拟DOM和Angular的模块化开发至于什么是框架,我的理解是:自动生成各种文件配置及相关代码的,并且提供了许多更简洁高效的开发方式的东西另外,Vue读作view,而不是 微优易完善的准备需要安装下载的东西都写在这
2021-08-20 17:35:21
2056
2
原创 MySQL数据库学习笔记:0基础入门到入坑,2小时极速上手
MySQL学习笔记文章目录前言环境配置登录MySQLMySQL核心文件数据类型数值类型日期类型字符串类型DDl:数据定义语言`SHOW DATABASES``CREATE DATABASE``SHOW CREATE DATABASE``ALTER DATABASE`DROP DATABASEUSEselect database()可视化数据库工具DQL:数据查询语言前置准备`SELECT FROM``AS`有序查询`ORDER BY`条件查询`WHERE`逻辑`AND和OR和NOT`不等式`NULL``I
2021-07-20 01:36:13
1933
2
原创 三栏布局(固比固)的三种实现方式解析:怪异盒模型(border-box)、flex布局、calc()方法
文章目录概念实现①怪异盒模型实现(1)content-box(2)border-box③calc()方法实现②flex实现总结概念大概是长这个样子的布局:一开始是这样的我们来拉动一下窗口可见,固比固指的是,左右两边尺寸固定,而中间会根据窗口大小缩放。实现①怪异盒模型实现说起怪异盒模型我们就不得不得不先说一下box-sizing属性box-sizing属性有两个常用的值:(1)content-box标准盒模型,是默认值(所以图示的css中没有写box-sizing:content
2021-06-02 15:36:34
1053
1
【新机环境搭建】前端开发环境工具套件整合包
2024-05-17
【免费/不用积分】NVM 安装包 (NPM 版本管理器)
2024-04-17
H5贪吃蛇完整代码(前端HTML CSS JS)
2021-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人