能力说明:
掌握企业中如何利用常见工具,进行前端开发软件的版本控制与项目构建和协同。开发方面,熟练掌握Vue.js、React、AngularJS和响应式框架Bootstrap,具备开发高级交互网页的能力,具备基于移动设备的Web前端开发,以及Node.js服务器端开发技能。
暂时未有相关云产品技术能力~
前端开发。
理解 Reflect 反射对象
TypeScript 类型谓词
Nest 实现OSS 服务端签名直传并设置上传回调
阿里云 OSS 是常用的对象存储服务,借助其提供的 SDK,客户端(浏览器,小程序等)可以非常方便的将文件上传到 OSS 进行管理。
JS 判断数据类型的9种方法。
上篇文章《Nest 核心概念:模块》中,我们介绍了 Nest 的模块,它是组织 Nest 应用的基本结构。Nest 应用接收请求,交给控制器处理请求,控制器中又调用服务,完成具体的业务逻辑,最后将结果响应给客户端。 本文会详细介绍控制器的用法,其实就是通过各类装饰器处理不同的请求和传参。
本文介绍了经典的 MVC 分层架构,以及各层和 Nest 应用的对照。然后讲解了 Nest 模块的具体定义,使用 @Module 装饰器声明的类,就是模块。@Module() 接收一些信息来描述此模块的构成,主要是声明此模块所依赖的其他模块,控制器,提供者,和要导出的供其他模块所使用的部分。
顶层 await 是ES2022的标准语法,在使用时需要注意,必须放到模块顶层使用。
本文讲解了 TypeScript 中两个很重要的语法:类和装饰器,可以帮助新手理解 Nest 应用中的一些代码写法的含义。
在正式使用 NestJS 进行开发之前,先来了解下 Nest 应用的目录结构,和一些常用的脚本命令。
本文介绍了使用 @nest/cli 脚手架快速创建和启动一个 Nest 应用,随后又对“Hello, World”示例代码做了分析,简单介绍了一些 TypeSscript 语法,比如装饰器,和一些 Nest 的概念。相信看到这里,大家基本上了解了 Nest 应用接收到用户请求后,走了哪些流程,完成了响应。
对于新安装的 MongoDB ,它是没有开启身份验证的。需要进入 admin 数据库,创建一个 root 角色的超级管理员用户。之后再针对具体应用的数据库,使用管理员用户为其创建不同权限的用户,从而做到针对数据库安全的基本保障。
本文详细介绍了在 Linux 系统中通过 Docker 下载 mongo 镜像,创建 mongo 容器的过程,同时介绍了宿主机访问容器内数据库服务的方式,也介绍了在本地远程访问服务器内数据库服务的方式。对于 Robo 3T 这个工具,非常好用,推荐使用。
本文主要介绍 MongoDB 最新版本 6.x 在Windows 和 Linux 操作系统下的安装方式,和过去 4.x 、5.x 有些许不同之处,供大家参考。
Axios 的二次封装是一项基础工作,主要目的就是将一些常用的功能进行封装,简化后续网络请求的发送。JS 版本的封装大家都已经非常熟悉了,可以信手拈来。但是使用 TypeScript 对 Axios 进行封装,稍微就复杂了些。主要是由于 TS 引入了类型系统,带来了一些类型的束缚。对于 TS 不太熟悉的小伙伴就容易绕晕。本文将从泛型入手,然后了解 Axios 中的部分类型,延续 JS 版本的极简风,教你封装出一个可用的清爽版 Axios。
经过初步体验,发现相比于 Vuex,Pinia 确实有了很大进步,最明显的就是删减了复杂的概念,简化了数据流转的过程,现在只剩下了 store、state、getters、actions 这四个核心概念。接下来使用一个用户登录的案例,来学习 Pinia 的使用。
前端开发中经常要配置接口代理服务,用来解决开发阶段的跨域问题。有一个常用的 changeOrigin 配置项,它究竟配置了个啥?本文做了一个小小的探究。
本文介绍了 Rust 中泛型的概念:在定义时不确定类型,再使用时再传入具体的类型。通过泛型能大大简化代码量,写出更优雅,更简洁的代码。在定义泛型时为泛型指定一个约束,可以提高安全性和可靠性。
本文首先介绍了 Typescript 中的联合类型,字面量类型,在平时开发中用的都比较多,联合类型让变量拥有更灵活强大的用法,字面量类型简化了类型系统的使用。然后介绍了 Typescript 的类型断言,它可以将一个变量的类型声明为另一个类型,从而方便调用另一个类型的方法。需要注意的是,类型断言并不是类型转换。
本文介绍了 Typescript 的 `any` 类型和 `unkonw` 类型,它们都简化了在 TS 中对类型的使用,方便快速开发,相比于 `any`,`unkonw` 类型更加安全。 然后介绍了 Typescript 的几个特殊的类型,`void`,`undefined`,`never`,它们主要应用在几个特定的场景,比较容易区分。
本文介绍了`Typescript` 的数组类型和元组类型,声明数组有两种方式,可以声明为静态类型的数组,也可以使用 `any` 声明为动态类型的数组。元组是一种特殊的数组,特点是长度固定,元素类型固定。然后介绍了 `Typescript` 的枚举类型,枚举类型在开发中经常使用,配合 `switch` 语句十分强大。
本文是 Typescript 的入门文章,主要介绍了`Typescript` 的开发环境的搭建,以及 TypeScript 的编译流程。 然后学习了 `Typescript` 的变量声名方式,主要使用 `let` 和 `const` 关键字。 最后介绍了几种 `Typescript` 中的基本数据类型,包括数字、字符串和布尔类型,以及 TS 在编程时强大的类型能力,能避免开发时的一些低级错误。
本文介绍了 TS 中的类型推导,联合类型,类型别名和类型断言,属于 TS 的基本类型知识,也都是最常用的语法。
本文简单介绍了 Typescript 中常用的数据类型和声明方式,基本上还是很好理解的。
本文经过阅读《五天玩转 EMAS Serverless》和官方文档整理而成。不得不说,前者是一本优秀的技术小册子,写得通俗易懂。EMAS Serverless 也是一个十分优秀的平台,不仅好用,每月还有免费的额度,十分适合还不熟悉 serverless 的朋友们上手体验。
本文主要介绍了使用 Tauri 开发一款桌面端应用的流程,包括创建项目,开发,调试和打包。
本文将从零至一,介绍如何在云服务器上通过 Docker 容器运行一个简单的Node应用。
本文介绍了如何实现一个可用的响应式系统,包括使用 reactive 完成数据变化的监听,使用 effect 封装更新视图的逻辑,使用 track 和 trigger 分别完成依赖收集和触发依赖更新。
本文介绍了 Vue2 和 Vue3 在响应式实现原理上的区别,并介绍了如何使用 Proxy 对象实现响应式 API reactive。
本文介绍了如何使用新一代的包管理工具 Pnpm 快速创建一个 Monorepo 环境,并使用 esbuil 实现了一个打包脚本。
本文会介绍 events 模块的主要作用和使用方式,以及自己实现一个简单的发布订阅模式,帮助加深理解。
本文介绍了 fs 模块的一些常用方法。
本文简单介绍了 React 是什么,以及使用官方脚手架工具,快速启动了一个 React 项目, 并演示了一个核心方法 `createElement` 方法的使用。同时简单介绍了 JSX 语法的基本使用。
本文总结了在 Koa.js 项目中使用第三方日志插件 log4js 的方法,首先是定义log4js的配置,它决定了该如何记录日志。然后在应用入口中使用 log4js,让其生效。
本文介绍了 Redis 的基本概念和安装方式。
本文简单介绍了如何在服务器中安装 Git 服务,可以使用 yum 包管理器安装,也可以下载源码编译安装。为了使用最新的版本,可以选择后者方式。最后介绍了如何设置 SSH 公钥来实现 SSH 协议的通信。
本文介绍了在 linux 系统中,如何禁用 root 用户登录,修改默认的 22 端口号,以及设置只能使用 SSH 秘钥登录的方式,从而在一定程度上提高了系统的安全性。
本文介绍了 Rust 中的流程控制语句,主要包括 if 条件判断、for 循环、loop 循环、while 循环。同时也会然后 Rust 函数的使用。
本文介绍了 Rust 中的三种复合类型,元组,数组和结构体。除了一些细节地方和其他语言有些不同,无论是声明方式还是使用方式,大都差不多。
本文简单介绍了 Rust 中声明变量的方式,主要是使用 let 和 const 关键字。然后介绍了四种基本数据类型,包括整数类型,浮点类型,字符类型和布尔类型。
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。 本文介绍了 Rust 环境的安装,以及实现一个 Hello World。
本文主要介绍了 SSH 协议通信的原理,以及如何在 Linux 系统中使用 SSH 公钥免密登录。
本文介绍了 Linux 操作系统下 Vim 编辑器的简单使用,通过两个简单的案例,基本上掌握了编辑一个文件的基本操作流程。
本文简单介绍了 Node.js 中 Buffer 对象的使用,包括创建实例 buffer 的方法,以及操作 buffer 的常用方法。
本文会介绍在 webpack 中处理 less 和 scss 文件的方法,以及 dart-sass 和 node-sass 的区别。
上文讲解了一个最基本的 Webpack 使用的示例。通过执行 wbpack 命令就可以进行打包,但是这种方式很受限,入口文件必须为src/index.js,输出文件只能是 dist/main.js。为了更加灵活的使用 Webpack,我们来了解一下它的常用配置,以及配置文件的使用。
自 2012年3月10日诞生,Webpack 到今年已经是一个有着悠久历史的老牌构建工具了。 Webpack 基于 Node.js 开发,默认采用了 CommonJS 模块化规范。每一个文件都是一个模块,默认支持的模块类型有 `.js` 和 `.json`。对于其他类型的模块,比如 `.vue`,`.jsx`,`.ts`、`.css` 以及图片类型的模块,都需要安装对应的 `loader` 进行编译处理。
上文讲解了 webpack 的简单配置和配置文件的使用,初步实现模块化的打包构建工作。本文将以在 webpack 中处理 css 样式文件为例,演示 loader 的使用。
本文我们介绍 CI / CD 的概念, 主要是帮助完成软件开发的自动化构建、测试和发布环节。同时会使用 Gtihub Actions 实现一个 Node.js 项目的自动化部署环境的搭建。