自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (3)
  • 问答 (7)
  • 收藏
  • 关注

原创 code-inspector 源码浅析

通过学习的源码,收获还是很多的。在这个过程中,我还特意研究了 pnpm 的 monorepo 配置、vite 插件开发流程、magic-string 库的使用等多个方面的技术。当我准备本文时,发现原作者已在掘金发布了一篇功能介绍和原理解析的文章,里面的内容更加细致,是非常好的学习参考资料,链接放在文末。

2024-03-21 06:59:30 641

原创 NPM 仓库的超集 JSR 来了!

JSR是一个全新的包管理注册中心,它旨在为现代 JavaScript 和 TypeScript 的生态系统提供支持。原生 TypeScript 支持:JSR 能处理未编译的 TypeScript 代码,这让类型安全和开发体验得到了质的提升。ES 模块化:通过只支持 ES 模块,JSR 促使开发者采用最新的 JavaScript 模块标准,以适应实际 web 环境的需要。跨平台兼容:除了 Deno,JSR的设计考虑了与多个运行时环境的兼容性,包括但不限于 Node.js 和浏览器。

2024-03-17 18:10:41 1223

原创 使用 pnpm 搭建 monorepo 项目

在软件开发中,随着项目的逐渐庞大和复杂化,管理多个相关联的代码库就变成了一项挑战。这时,Monorepo(单体代码仓)应运而生,它能有效管理多个项目或模块。Monorepo 是指在一个单一的版本控制系统仓库中管理多个模块/项目的策略。统一的工作流程和工具链:整个仓库的项目可以共享构建,测试,部署等流程。更容易的代码共享和重用:不同项目之间共享代码变得直接和高效。依赖管理:确保各个模块间依赖的版本一致性。原子性提交和版本控制:可以在单个提交中跨多个项目进行更改,简化版本跟踪。

2024-03-17 11:01:16 1096

原创 你知道该如何使用 JS 创建 css 类样式吗?

提供了一种强大的方法来以程序化的方式管理和操作网页的样式。无论是小规模的样式调整,还是大规模的样式系统设计,CSSStyleSheet 都是一个很有用的 API,可以帮助你高效的维护和更新你的网站风格。

2024-03-05 13:48:53 999

原创 人性的弱点 - 如何友善的改变他人

这是第二篇阅读感受,第一篇关于如何让别人信服你,而这一篇是针对如何友善的改变他人。改变他人涉及一种尊重和理解他人观点的方式,而不是强迫或激进地试图改变他们, 这需要耐心、善意和尊重他人的个体差异。这是不是短期就能完成的,而是一项长期的过程,需要耐心和恒心。尊重他人,理解他们的感受,并通过建设性的方式交流,将有助于建立积极的互动,让人们更愿意倾听和接受你的影响。

2024-02-29 15:28:46 222

原创 人性的弱点之如何让别人信服你

早些年花时间拜读了《人性的弱点》一书,不可否认其中的一些观点和方法确实很有用,在后来的工作与生活中我有意无意的使用其中的一些语言上的技巧,确实化解了一些无意义的争端,在生活中与人相处也顺利、平和了许多。当然了,里面的一些观点与方法并不适合所有人,也许有人会觉得这样很累,也会有人觉得大可不必,因人而异吧, 如果有些朋友明显感觉到在生活、工作中因为说话频频损失了一些机会,那么我建议可以阅读一下这本书。本文是我对其中一部分章节的提炼与总结,也是后来时长翻阅警醒自己的摘要。

2024-02-29 15:28:34 739

原创 Linux 安装 MongoDB

官网下载地址:https://www.mongodb.com/try/download/community本文演示在 Fedora 上安装 MongoDB。

2024-02-28 08:15:57 400

原创 windows定时备份日志文件

之前项目因为各种原因没有上 CI/CD,也没有部署什么 nginx 管理工具,再加上 nginx 部署在 windows server 上,面对日积月累不停膨胀的日志文件,需要一个定时脚本处理自动分割日志文件。本篇文章主要讲解如何在 windows 上创建定时任务,以及如何编写一个简单的 bat 脚本。

2024-02-28 08:15:36 413

原创 husky 源码浅析

关于 husky 的实现主要是依赖于指定目录 和 npm prepare 钩子,严格来讲,如果不使用 husky 只使用这两个命令也是可以的,区别在于 husky 对跨平台一致性问题做了一些处理,同时避免了一些重复工作。

2024-02-27 08:04:37 981

原创 windows 文件授权问题

在类 Unix 系统(如 Mac, Linux)中,执行权限是通过文件的权限位来控制的。而在 Windows 系统中,执行权限通常取决于文件扩展名和关联的执行程序,所以,当我们在跨平台的开发环境中,可能会遇到这样一个问题:在 Windows 系统上创建的脚本文件缺乏类 Unix 系统上的执行权限标志,导致当在类 Unix 系统获取代码时,缺少可执行权限。

2024-02-27 08:04:17 936

原创 Google AI (Gemini)接入指南

Google 在 2023 年发布的 Gemini 人工智能模型旨在实现真正的通用人工智能。作为一个多模态模型,Gemini 能够跨多种模态无缝对话并提供最佳响应。它是 Google 迄今为止打造的最大、最强大的模型,能够理解我们周围的世界,处理各种类型的输入和输出,不仅限于文本,还涵盖代码、音频、图像和视频。在测试中,Gemini的性能在许多方面匹及甚至超越领域专家。:用于处理高度复杂的任务。Gemini Pro:适用于广泛的任务。:特别为设备端任务设计。

2024-02-26 08:30:00 1829

原创 Python + Google AI 自动修复 Sonar Bug 实践

在工作中总会遇到种种不期而至的需求,比如前段时间突然要修复所有 Sonar Bug,涉及各种琐碎的代码风格问题,包括但不限于语法不规范、废弃注释等问题。这些项目都已经持续开发几年了,Sonar 上的问题层出不穷,各种问题已经累积到了上万个,手动修复不但费时费力,而且过程异常枯燥。

2024-02-25 00:48:20 1290

原创 自定义 Git Hook

虽然这是一篇编写自定义 Git Hook 的教程,但实际讲的仍然是编写脚本的问题,除了用于编写 git hook, 我们平日里还可以通过编写脚本的方式来代替无意义、重复的工作,例如创建模板代码、数据处理、文件管理、生成 mock 数据、定时执行任务等等,再或者我们可以在脚本中发起请求,直接通过命令方式获取某些数据进一步处理等等。通过编写脚本解决日常重复性工作可以提高效率和减少人为错误,当遇到一些重复性高、繁琐的工作任务时,编写脚本来处理这些任务可以节省时间和精力。

2024-02-24 16:35:33 1075

原创 Git diff Word 文档

虽然这是一篇文档的文章,但究其原理终究是将二进制转换成正常的文本,所以类似的如excelpdf等等二进制文件只要找到相应的解析器,也可以进行比对处理。

2024-02-24 16:34:22 958

原创 CI/CD 之 gitlab-runner 部署与踩坑

gitlab-runner是一个开源项目,用于运行 Pipeline 作业并将结果发送回 GitLab。它与 GitLab CI 一起使用,GitLab CI是GitLab随附的开源持续集成服务,用于协调作业。gitlab-runner是用 Go 编写,可以作为单个二进制文件运行,不需要语言特定的要求。

2024-02-23 08:30:00 646

原创 CI/CD 之 gitlab-runner 注册执行器与踩坑

上一篇已经讲了 gitlab-runner 的部署方法,这一篇我们来讲一下如何注册 gitlab-runner 执行器并创建作业。

2024-02-23 08:30:00 889

原创 前端工程化解决方案浅析

前端工程化是将软件工程相关的方法和思想应用到前端开发中,从而提升前端开发效率、提高产品质量、降低开发难度、减少公司成本的方法和工具。前端工程化贯穿整个前端项目各个阶段,包括代码规范、流程规范、分支管理、程序开发、前后端联调、自动化测试、应用构建、系统部署和监控、运维等。前端工程化是前端开发的趋势,它可以提高开发效率、降低成本、提高代码质量。然而,在实施前端工程化时需要根据项目实际情况进行定制化选型,合理选择工具和框架。优化和测试是工程化中不可忽视的部分,它们对于提升应用性能和稳定性至关重要。

2024-02-22 08:31:15 791

原创 第三方认证中心跳转

由第三方认证中心将 token 放在 header (请求头) 中跳转系统,前端获取到第三方系统携带 header 中的 token。因为后端是可以从请求总直接拿到 header,所以这时由后端去处理 token ,在重定向到前端。可以直接存储到浏览器中,所以我们也可以通过直接设置 cookie 的方式处理。因为 nginx 中是可以获取 header 中的内容的,所以这时由。请求中才能拿到,所以直接打开页面时,肯定是无法拿到。中,存在一个问题,由于此时在前端静态代理上添加。的代理地址,用于转发地址,

2024-02-22 08:27:15 895

原创 Rust 学习笔记 - 函数详解

Rust 中的函数使用fn关键字定义,后跟函数名称和一对圆括号。在圆括号中,可以定义零个或多个参数,每个参数后面跟着一个冒号()和它的类型。函数体用大括号({})包围。如果函数需要返回值,必须声明返回类型,通过在参数列表后添加一个箭头(->)和返回类型来完成。

2024-02-21 08:30:00 977

原创 nginx 踩坑 之 mine.types

MIME(Multipurpose Internet Mail Extensions) 类型是一种用于标识文件内容类型的标准。它最初是为了支持电子邮件系统而设计的,但现在也被广泛用于HTTP协议中,用于指示在互联网上传输的文件的类型。MIME type现在称为「 媒体类型 (media type) 」,但有时也是「 内容类型 (content type) 」是指示文件类型的字符串,与文件一起发送(例如,一个声音文件可能被标记为audio/ogg,一个图像文件可能是image/png。

2024-02-21 08:30:00 1137

原创 CSS 实现 3D 书本展开动效

本文将使用纯 CSS 实现一个简单的 3D 书本展开动效。

2024-02-20 08:30:00 755

原创 milligram css 源码浅析

Milligram 是一个简洁、小巧 CSS 库,它专注于提供一个轻量级的样式库,使得在网页项目中添加样式变得非常简单。Milligram 的设计理念是尽可能少地干预你的设计,只提供了一些基础的样式和组件,使得你可以更容易地构建自己的定制化界面。轻量级:Milligram 非常小巧,通过 gzip 压缩后仅有 2KB 大小。现代化:Milligram 采用了现代化的 CSS特性 和响应式设计,适用于各类设备显示。基本样式。

2024-02-20 08:30:00 802

原创 LeetCode JS专栏刷题笔记(二)

算法的实现本身就多种多样的,我的个人见解未必是最优解,我非常欢迎读者对我在文章中提出的观点、方法或示例进行评价和反馈。这对于我个人的成长和进步非常重要,也有助于确保我传达的信息准确无误。所以,请不要犹豫,如果你有任何想法或建议,请在阅读文章后留下你的评论。

2024-02-19 18:13:15 1040

原创 LeetCode JS专栏刷题笔记(一)

算法的实现本身就多种多样的,我的个人见解未必是最优解,我非常欢迎读者对我在文章中提出的观点、方法或示例进行评价和反馈。这对于我个人的成长和进步非常重要,也有助于确保我传达的信息准确无误。所以,请不要犹豫,如果你有任何想法或建议,请在阅读文章后留下你的评论。

2024-02-19 18:09:52 959

原创 Rust 学习笔记 - 流程控制 与 Range 类型

本章介绍了条件判断、循环语句以及 Range 类型,这是在程序开发中最常用的语句。在 Rust 中,不支持do...whilei

2024-02-17 21:43:57 966

原创 Rust 学习笔记 - 注释全解

通过编写清晰和详细的文档注释,可以使代码更易于理解,并帮助其他开发者更好地利用你的代码或库。

2024-02-17 14:13:43 1108

原创 Rust 学习笔记 - 详解数据类型

任何一门编程语言几乎都脱离不了:变量、基本类型、函数、注释、循环、条件判断,这是一门编程语言的语法基础,只有当掌握这些基础语法及概念才能更好的学习 Rust。

2024-02-16 21:42:24 1347 1

原创 Rust 学习笔记 - 变量声明与使用

任何一门编程语言几乎都脱离不了:变量、基本类型、函数、注释、循环、条件判断,这是一门编程语言的语法基础,只有当掌握这些基础语法及概念才能更好的学习 Rust。

2024-02-16 15:59:15 1406

原创 Rust 学习笔记 - Hello world

是 Rust 官方推荐的项目管理工具,它可以自动处理复杂的编译任务,包括依赖管理、编译、测试等,适用于任何规模的项目,并且提供了一致的项目结构和构建过程,所以,我们通常使用 Cargo 管理项目。至此,一个简单的 ”Hello World“ 的示例已经讲解完成,本篇主要需要掌握的就是通过 Cargo 可以创建项目与运行项目。命令来编译 Rust 项目时,Cargo 会执行一系列操作来编译你的代码,并生成编译结果。编译结束后,Cargo 会提供反馈,告知编译是否成功,以及相关信息。

2024-02-15 23:34:57 1141 2

原创 Rust 基本环境安装

目前我本人在编写 Rust 程序时在使用 Zed, 主要 Zed 编辑器目前比较干净,没有太多乱七八糟的东西,对于 Rust 更是开箱即用,比较推荐,当然这个根据个人偏好自行选择便是,实际区别不大。: 这是 Rust 的标准库组件,包含了预编译的Rust标准库,供目标平台使用。: Cargo 是 Rust 的包管理工具,用于管理 Rust 项目的依赖、编译和发布。这样做的目的是为了确保你可以在任何地方(比如在终端或命令行中)运行 Rust 工具链的命令,无需指定完整的路径。

2024-02-14 17:40:57 1879

原创 Rust 简介

Rust的设计目标是成为C++的现代替代品,旨在解决C/C++语言安全性和并发性的问题,它提供更强的保障和抽象,同时保持高效性能。为了方便开发者管理 Rust 语言和工具链,Rust 社区提供了 rustup 和 cargo 两个强大的工具。:Rust使用所有权和类型系统来保证在编译时期避免数据竞争,使得编写高效、可靠的大型并发程序更加容易。:Rust的高级抽象,如迭代器、闭包等,经编译后能够转换为和手写底层代码几乎一样的机器码。:Rust的类型系统及特性系统可以避免很多运行时的错误。

2024-02-14 13:40:32 482

原创 URL 重定向漏洞

漏洞本身是无法直接危害系统和用户安全的,按照通用漏洞定级标准: URL 跳转漏洞属于低危漏洞,但该漏洞可以结合其他漏洞加以深入利用,主要的利用方式不限于钓鱼攻击,在工信部远程检测工作中,该漏洞定义为。开放重定向(Open Redirect),也叫 URL 跳转漏洞,是指服务端未对传入的 URL 变量进行检查和控制,导致诱导用户跳转到恶意网站,由于是从可信的站点跳转出去的,用户会比较信任。代码层忽视 URL 跳转漏洞,或不知道/不认为这是个漏洞。/ 绕过,可以尝试多个正斜杠一起用,如/、//、///

2024-02-13 12:51:10 935

原创 点击劫持攻击

点击劫持攻击(clickjacking)是一种欺诈性攻击方式,攻击者利用透明层让用户在不自知的情况下点击一个隐藏的页面元素。用户在点击诱饵,例如认为自己在进行正常操作时(如“提交”按钮),实际上点击的却是另一个透明。攻击者在自己的网页上添加诱饵,例如看起来正常的按钮或链接,它们在位置上与。当用户认为点击的是本网站的按钮时,其实触发了隐藏在。中显示此页面,即便是同域名下的页面也不允许嵌套。

2024-02-12 18:48:22 300

原创 子资源篡改攻击

简单来说,如果一个受欢迎的第三方资源被黑客篡改,那么所有使用这个资源的网站都可能受到影响。举个🌰,如果你的网站加载了一个流行的 JavaScript 库,而这个库在 CDN 上被人篡改成了含有恶意行为的代码。这确保了用户与你的网站之间的所有通信都是加密的,向用户证明他们正在与真实的服务器通信。如果受到攻击的网站被公司内部网络访问,篡改的子资源可能会用来渗透更为敏感的内部系统,并获得进一步的网络访问权限。恶意篡改的资源可能会诱导用户下载恶意软件,如勒索软件或间谍软件,从而在用户的设备上造成更广泛的破坏。

2024-02-08 17:47:49 447

原创 越权访问漏洞

假设用户x和用户y属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据x和数据y),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户x能访问到用户y的数据(数据y),那么用户x访问数据y的这种行为就叫做水平越权访问。垂直越权又叫做权限提升攻击,通常是因为后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。可以模拟不同的用户行为,尝试未授权操作。

2024-02-03 20:49:54 1076

原创 Leafer 插件开发教程

由于目前 Leafer 尚在成长期,现在仍然还只是一个单纯的 图引擎,许多功能可能还需要社区来支持,前段时间写了一个 Leafer 插件,整理了一下 Leafer 插件的开发方法,本篇主要是教大家如何为 Leafer 实现一个简单的。本来本篇文章应当更早一些就发出来了,但是为了保证严谨,一边阅读 Leafer 插件的源码,一遍撰写,在撰写过程中发现了一个问题,排查了很久才确定,提交 issue 后才继续撰写本文,这也就导致了延期发布。

2023-08-10 22:15:02 107

oracle,etl工程师--面试题锦集

oralcle,etl工程师面试题锦集,dba资料,Oracle入门资料等。。

2018-11-25

python参考手册

python详细参考手册,内置2.7API,3.4中文官方教程,中文手册,Python教程,科学计算等,物超所值,新手必备!

2018-11-24

Oracle资料参考手册

chm文档,内置Oracle函数文档,sql语言参考大全,物超所值,Oracle入门必备手册!

2018-11-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除