- 博客(52)
- 收藏
- 关注
原创 sql注入
SQL注入是一种常见的网络安全攻击手段,攻击者通过在应用程序的输入字段中插入恶意SQL代码,篡改数据库查询逻辑,从而非法访问、修改或删除数据库中的数据。通过以上方法,可大幅降低SQL注入攻击的风险,保障数据库和应用程序的安全。永远为真,攻击者可绕过身份验证。
2025-05-22 21:34:30
940
原创 Bcrypt 技术深度解析:从原理到实践
相比传统哈希算法(如 MD5/SHA),它有效防御了彩虹表攻击和暴力破解,同时通过内存消耗优化增加了 GPU 并行攻击的成本。在实际应用中,开发者应结合具体场景选择合适的工作因子,并依赖成熟的库(如。Bcrypt 会自动生成 16 字节的盐值,并将其编码为 Base64 格式嵌入最终的哈希字符串中。每个密码在哈希时都会生成一个唯一的随机盐值,确保即使相同密码生成的哈希值也不同。算法(Blowfish 的改进版)进行多轮迭代加密,增加计算复杂度。)实现密码的加密与验证,确保用户数据的安全性。
2025-05-22 11:50:25
768
原创 Bcrypt 转换原理深度解析
Bcrypt 是一种安全的密码哈希算法,其核心思想是通过盐值、多轮迭代加密和 Blowfish 密钥扩展将密码转换为不可逆的哈希值。其转换过程包括输入参数(密码、盐值、工作因子)、密钥扩展(EksBlowfishSetup)、加密固定字符串和输出格式编码。Bcrypt 通过盐值的随机性、慢哈希设计和恒定时间比较机制,有效抵御暴力破解和侧信道攻击。其工作因子控制计算复杂度,增加破解成本。Bcrypt 广泛应用于多种编程语言(如 Node.js、Java、Go)中,用于生成和验证密码哈希,确保用户密码的安全性。
2025-05-22 11:45:49
1022
原创 Typescript中的对象类型
创建对象字面量时,若包含目标类型未声明的属性,TypeScript 报错。固定属性类型必须符合索引签名类型,否则报错。只限制顶层属性,不影响内部对象的可变性。限制所有属性值类型一致,适用于字典模式。固定属性类型必须是索引签名类型的子集。使用解构赋值设置默认值,简化代码。标记属性为可选,调用时可省略。:命名复用性强的对象类型。:适用于更复杂的类型组合。:直接在函数参数中声明。描述未知属性名的对象。继承并扩展其他接口。:将所有属性变为可选。:将所有属性变为必填。:将所有属性设为只读。防止通过索引修改值。
2025-05-10 10:04:18
1061
原创 Typescript中的接口
是一种核心的类型定义工具,用于描述对象的形状(shape),即对象必须包含哪些属性、方法及其类型。接口的主要目的是提供一种。,确保代码的类型安全性和一致性。:可选属性必须出现在接口的末尾。TypeScript 中的。
2025-05-10 10:03:32
774
原创 利用flask设计接口
GET 请求示例app = Flask(__name__) # GET 请求示例 @app . route('/api/greet' , methods = [ 'GET' ]) def greet() : name = request . args . get('name' , 'World') return jsonify({name }!
2025-05-04 11:29:28
707
原创 TypeScript中的泛型函数
作为泛型参数的默认名称(避免与 TypeScript 内置类型。是类型参数(Type Parameter)。如果希望限制泛型参数的类型(例如,要求元素必须有。是用户自定义的名称,可以换成其他任意名称(如。,即数组的元素类型由泛型参数。是用户自选的名称,但通常用。
2025-04-29 09:13:56
458
原创 TypeScript之基础知识
接口(Interface):类型别名(Type Aliases):3. 函数类型4. 泛型5. 联合类型与类型守卫6. Vue 中的 TypeScript 使用6.1 安装与配置Vue CLI 项目:Vite 项目:手动配置:安装依赖:创建 :6.2 Vue 组件的 TypeScript 写法Options API:Composition API:6.3 Props 类型定义6.4 响应式数据与类型推断6
2025-04-28 22:14:19
970
原创 跨域问题(Cross-Origin Problem)
(如 CORS)或通过代理等技术绕过限制。根据项目需求选择合适的方案,优先使用 CORS 标准方案。跨域问题(Cross-Origin Problem)是浏览器出于安全考虑,对。跨域问题是浏览器为保护用户数据而实施的同源策略导致的,解决的关键在于。
2025-04-27 22:30:19
689
原创 前端高频面试题day2
在 Vue 3 中,使用 实现异步组件加载的步骤如下:代码示例:特点:区别:场景:在 Vue 中,计算属性的函数名和 中的属性 不可以同名,原因如下:属性覆盖机制Vue 将 、 等属性都挂载到 Vue 实例上。当名称冲突时,后定义的属性会覆盖先定义的属性。不可预测的逻辑错误命名规范代码审查在 Vue 中监听 Vuex 数据的变化,可以通过以下几种方法实现,根据场景选择最合适的方案:什么是路由守卫?路由守卫是 Vue Router 提供的钩子函数,用于在路由跳转的不同阶段插入控制逻辑(如权
2025-04-27 21:49:22
823
原创 前端热门面试题day1
Vue中的Slot(插槽)就像给组件预先留的“内容停车位”,让父组件能把自定义内容“塞”到子组件的指定位置。灵活定制组件内容比如一个卡片组件,父组件可以自由填入标题、内容甚至底部按钮,而不用改组件代码。复用组件,一处定义,多处适配像乐高一样,同一个组件框架,不同页面塞不同内容,避免重复造轮子。默认内容备着,以防万一如果父组件没提供内容,组件自己会显示预设的默认文字或结构,不会空空如也。
2025-04-23 22:44:37
1241
原创 Linux常用指令
最近在进行操作系统的实验,涉及到Linux系统的使用,下面总结一些常用指令,涵盖文件管理、系统信息、进程管理、用户与权限、网络工具、文本处理、压缩与归档、系统维护等核心功能。:将前一个命令的输出作为后一个命令的输入。:将命令输出保存到文件。
2025-04-23 21:40:52
2473
1
原创 TailwindCss快速上手
Tailwind 从一开始就被设计为可扩展和可定制的,因此无论您构建什么,您都不会感觉自己正在与框架作斗争。注意,下述内容都应在你自定义的css文件内操作,因为最新版本去除了配置文件如果您想要更改调色板、间距比例、排版比例或断点等内容,请使用@theme@theme {/* ... */
2025-04-16 16:33:32
1013
原创 逻辑损失以及梯度下降的实现
Jwb2m1i0∑m−1fwbxi−yi21wherefwbxiwxib2平方误差成本函数的特性是,沿着其导数的方向可找到最小值。它在线性回归中表现良好。fwbxisigmoidwxib会导致成本函数曲面不光滑(如存在平台区、局部极小值或间断点),这使得梯度下降难以收敛。因此,需要更适合逻辑回归非线性特性的成本函数。逻辑回归使用针对分类任务设计的(目标值为0或1)。损失函数定义如下:$$
2025-03-31 19:54:24
834
原创 逻辑回归和sigmoid函数
fwbxiw⋅xibto predictygivenxy在分类任务中,我们可以通过线性回归模型,根据输入 ( x ) 预测输出 ( y )。gz1e−z11在逻辑回归中,Sigmoid函数的输入 ( z ) 是线性回归模型的输出。:( g(z) in (0, 1) ),即输出在 0 到 1 之间。:函数关于 ( z = 0 ) 对称。:导数为 ( g(z)(1 - g(z)) ),这对梯度下降等优化方法至关重要。
2025-03-31 17:59:35
517
原创 机器学习day1(英)
在对特征进行归一化时,务必要存储用于归一化的值——即计算中使用的均值和标准差。在从模型中学习到参数后,我们通常需要预测之前未见过的房屋价格。给定一个新的 x 值(例如客厅面积和卧室数量),我们必须首先使用从训练集中计算出的均值和标准差对 x 进行归一化处理。
2025-03-27 11:20:23
443
原创 conda常用指令
以下是一些常用的 指令,涵盖了环境管理、包管理和基本操作:创建新环境示例:激活环境示例:退出当前环境列出所有环境或者:删除环境示例:克隆环境示例:2. 包管理安装包示例:指定版本安装示例:卸载包示例:更新包示例:更新所有包搜索包示例:列出已安装的包3. 清理与维护清理未使用的包和缓存检查 Conda 版本更新 Conda 自身4. 配置与源管理添加国内镜像源(加速下载
2025-03-24 22:42:28
1100
原创 uniapp特有生命周期钩子
在 UniApp 中,页面的生命周期与 Vue 的生命周期钩子紧密相关,并且针对小程序平台,UniApp 还扩展了一些额外的生命周期钩子。
2025-03-20 15:37:16
1073
原创 page.json和manifest.json
要点使用取消默认的原生导航栏时,需自行实现导航栏的功能。注意不同平台的兼容性问题,如微信小程序需要版本 7.0+ 支持。"style": {跨平台差异:不同的小程序平台对某些配置的支持程度不同,请务必查阅相应平台的文档。样式覆盖:页面级别的style优先级高于,合理利用可以减少重复代码。图标路径:确保图标的路径正确,特别是在使用相对路径时要注意目录结构。性能优化:通过分包加载和预下载规则来提升应用的加载速度,尤其是在网络条件不佳的情况下尤为重要。测试与调试。
2025-03-20 15:18:23
1337
原创 我的uniapp自定义模板
在当前文件夹新建一个.vue后缀的文件,将自己喜欢的模板粘贴进去,保存即可(文件名即模板名)上面是我认为比较方便的模板,可以根据需要自行更改。随意一个项目,点击新建页面。
2025-03-20 15:09:00
515
原创 热更新和热重载?
热重载是为了提高开发效率,让开发者能更快地看到代码更改后的效果。热更新则是为了减少停机时间,确保应用程序可以在不影响现有用户的情况下得到更新。因此,这两个术语并不是同一个概念,而是针对不同需求设计的不同技术解决方案。理解这两者之间的差异对于选择合适的技术栈和工具至关重要。如果你是在讨论开发环境中的快速迭代,那么你可能指的是热重载;如果是关于生产环境下的无缝更新,则更可能是热更新。
2025-03-20 12:10:51
465
原创 让人感到疑惑的const
在 JavaScript 中,const确保的是变量绑定的不可变性,而不是其所指向的数据结构的不可变性。若要使对象或数组本身成为不可变的,可以使用方法来冻结对象,防止其属性被修改。在C/C++中,const提供了更强的保护,防止变量被修改,但在某些情况下,仍然可以通过非标准手段修改这些值,这应当被视为不安全的做法。了解这一点对于正确使用const和维护代码的安全性和可预测性至关重要。
2025-03-18 23:58:59
505
原创 uniapp常用组件
尽管<button>组件提供了多种预设样式,但你也可以通过自定义类名或内联样式来进一步定制按钮的外观。< template > < view > < button class = " custom-button " type = " primary " > 自定义样式按钮 </ button > </ view > </ template > < style > .custom-button {
2025-03-18 23:56:07
1689
原创 我认为在正式上手uniapp之前你需要知道的事
iOS 和 Android 的原生应用微信小程序、支付宝小程序、百度智能小程序、字节跳动小程序、QQ小程序等各类小程序H5 网页应用跨平台开发:通过编写一次代码,可以编译并发布到多个平台,减少了针对不同平台重复编码的工作量。统一的开发语言和工具:使用 Vue.js 作为开发语言,并提供了一套完整的开发工具链,如 HBuilderX 集成开发环境。条件编译:支持基于条件编译的代码生成技术,可以根据目标平台的不同特性编写特定代码,同时不影响其他平台的应用程序。组件化开发。
2025-03-17 21:07:06
1147
原创 Nginx快速上手
Nginx 是一款开源的高性能 HTTP 和反向代理服务器,同时也提供了 IMAP/POP3/SMTP 代理功能。它由俄罗斯程序员 Igor Sysoev 于2004年首次发布,最初设计目的是为了解决 C10k 问题,即如何让单台服务器同时处理1万个并发连接的问题。
2025-03-14 23:11:03
1524
原创 ES6新特性
随着ES6的引入,JavaScript增加了对块级作用域的支持,这主要是通过let和const关键字实现的。块级作用域限制了变量的作用范围到最近的一对大括号{}内,比如在一个if语句、for循环或简单的代码块中。
2025-03-13 22:08:36
892
原创 Javascript进阶
作用域链可以被理解为一个对象列表,这些对象被称为变量对象(Variable Object, VO),它们包含了当前执行上下文中定义的所有变量和函数。当JavaScript引擎需要查找某个变量时,它会首先在当前的作用域内寻找该变量。**如果找不到,则会沿着作用域链向上一级作用域继续查找,**直到找到全局作用域为止。如果在全局作用域中仍然找不到该变量,则会在非严格模式下隐式声明该变量,或是在严格模式下抛出错误。闭包是由一个函数和与其相关的引用环境组合而成的对象**。
2025-03-13 22:02:57
1039
原创 Javascript基础
在 HTML 中,JavaScript 代码必须位于 与 标签之间。**注释:**旧的 JavaScript 例子也许会使用 属性:。**注释:**type 属性不是必需的。JavaScript 是 HTML 中的默认脚本语言。JavaScript 函数是一种 JavaScript 代码块,它可以在调用时被执行。例如,当发生事件时调用函数,比如当用户点击按钮时。**提示:**您将在稍后的章节学到更多有关函数和事件的知识。您能够在 HTML 文档中放置任意数量的脚本。脚本可被放置与 HTML 页面的
2025-03-13 20:21:10
919
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人