Programmer十一月 8, 2024Nest-路由守卫介绍守卫是一个用@Injectable()装饰器注释的类,它实现了CanActivate接口。守卫有单一的责任。它们根据运行时存在的某些条件(如权限、角色、ACL等)确定给定请求是否将由路由处理程序处理。这通常称为授权。授权(及其通常与之合作的身份验证)通常由传统Express应用中的中间件处理。中NodeNest
Work九月 10, 2024工作内容-移动端返回触发俩次背景前端时间移动APP与h5的一个混合式开发项目中,遇到了一个比较搞笑的bug;刚开始有点纳闷,后来静下心来才觉得这个问题有点可笑;h5的项目采用的vue3+vant3开发的,h5页面的顶部tabBar结构为左中右,是对vant的二次封装;复盘是一个怎样的问题?在开发项目中,因为是混合式开发,h5会总结工作内容
Programmer八月 14, 2024快速排序{%noteinfosimple%}快速排序(Quicksort)是一种高效的排序算法,它的平均时间复杂度为O(nlogn),是目前最快的通用排序算法之一。{%endnote%}快速排序的基本步骤是:选择一个元素作为枢轴(pivot)。将所有小于枢轴的元素放在枢轴的左边,所有大于枢轴的元素放在枢轴的Javascript算法
Programmer八月 14, 2024插入排序{%noteinfosimple%}插入排序(InsertionSort)是一种简单的排序算法,它的工作原理是通过逐一将未排序的元素插入到已排序的序列中,直到整个序列都有序。{%endnote%}插入排序的步骤如下:从第二个元素开始(索引为1),将当前元素作为key与key之前的元素进行比较,如果之Javascript算法
Programmer八月 14, 2024冒泡排序{%noteinfosimple%}冒泡排序(BubbleSort)是一种简单的排序算法,它重复地遍历要排序的数据,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来,直到没有需要交换的元素为止。{%endnote%}冒泡排序的基本步骤如下:从第一个元素开始,比较相邻的两个元素。如果第一个元素大Javascript算法
Programmer八月 14, 2024选择排序{%noteinfosimple%}选择排序(SelectionSort)是一种简单的排序算法,它的基本思想是每次从未排序的数据中找出最小(或最大)元素,并将其放到已排序的数据的末尾。{%endnote%}选择排序的步骤如下:从未排序的数据中找出最小(或最大)元素。将最小(或最大)元素与当前元素交换Javascript算法
Programmer八月 8, 2024项目工程化-BrowserslistBrowserslist什么是Browserslist这个文件指定了项目的浏览器兼容性目标,用于指导自动化工具(如Autoprefixer或Babel)如何处理CSS和JavaScript,确保代码在指定的浏览器版本中正常工作。由于各种浏览器对ECMAScript和CSS的支持程度不同,因此开发者需项目管理工程化
Programmer八月 8, 2024项目工程化-changelogChangelo.md是什么Changelog.md是一个用于记录项目变更历史的文件,通常以Markdown格式编写。这个文件会详细列出所有版本的更新内容,包括新增功能、修复的bug、改进的地方以及其他重要变更。这对于开发者和用户来说非常重要,因为它可以帮助他们了解软件的演化过程以及每个版本的具体变项目管理工程化
Programmer八月 8, 2024项目工程化-CommitizenCommitizen?一个工具,用于规范代码提交信息的工具。cz-conventional-changelog是一个Commitizen的适配器,用于适配conventional-changelog的提交规范。为什么要介绍这么一个工具:当你在提交commit的时候,肯定会手动输入一些type:fix项目管理工程化
Programmer八月 8, 2024项目工程化-EditorConfigEditorConfig什么是EditorConfigEditorConfig有助于为在不同编辑器和IDE中处理同一项目的多个开发人员维护一致的编码风格EditorConfig项目由一个用于定义编码样式的文件格式和一组文本编辑器插件组成,这些插件使编辑器能够读取文件格式并遵守定义的样式EditorC项目管理工程化
Programmer八月 8, 2024项目工程化-env配置Envenv代表环境,不论是在前端还是后端开发,都有不同的环境,每个环境对应的一些配置都是不同的,例如:请求的地址,一些加密的字符等等;通常在node中会获取环境变量process.env.NODE_ENV等等;这样的一个好处就是:在前端项目本地开发对应本地的配置环境,而打包对应着生产环境,俩个环境项目管理工程化
Programmer八月 8, 2024项目工程化-eslinteslintESLint是一个可配置的JavaScriptlinter。它可以帮助您发现并修复JavaScript代码中的问题。问题可以是任何问题,从潜在的运行时错误,到不遵循最佳实践,再到样式问题配置文件配置文件的名字有很多,版本的不同会导致不同的导出语法:首先说明文件名的变动8.x版本modul项目管理工程化
Programmer八月 8, 2024项目工程化-git配置.gitignore和.gitattributes都是为git提交需要配置的一些信息,例如某些文件不需要提交,提交的格式是什么等等;.gitignore:文件是一个纯文本文件,包含了项目中所有指定的文件和文件夹的列表,这些文件和文件夹是Git应该忽略和不追踪的。在.gitignore中,你可以通过提项目管理工程化
Programmer八月 8, 2024项目工程化-prettierprettierPrettier是一个固执己见的代码格式化程序一般通过以下方式使用prettier使用vscode等代码编辑器的prettier插件:搭配快捷键如ctrl+s,保存时自动格式化,配置简单,使用方便,但是缺点是由于团队成员可能使用不同的编辑器,prettier版本、配置不同,从而格式化项目管理工程化
Programmer八月 8, 2024项目工程化-stylelintstylelintstylelint是一个用于检测CSS代码风格和错误的工具,它有点类似于ESlint,但是它专注于CSS。stylelint不仅可以帮助你在团队中保持一致的CSS代码风格,发现潜在的错误,并且确保代码符合最佳实践。Stylelint需要一个配置对象,并在以下位置寻找一个配置:sty项目管理工程化