Java
未读基于 XML 管理 Bean准备项目
创建 maven 工程(spring-ioc-xml-01)
导入 SpringIoC 相关依赖
pom.xml
123456789101112131415<dependencies> <!--spring context依赖--> <!--当你引入Spring Context依赖之后,表示将Spring的基础依赖引入了--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.0.6</version> </dependency> <!--junit5测试--> <dependency> <groupId>org.junit.jupit ...
Maven 介绍Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。
场景概念
场景 1: 例如我们项目需要第三方库(依赖),如 Druid 连接池、MySQL 数据库驱动和 Jackson 等。那么我们可以将需要的依赖项的信息编写到 Maven 工程的配置文件,Maven 软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!确保依赖版本正确无冲突和依赖完整!
场景 2: 项目开发完成后,想要将项目打成.war 文件,并部署到服务器中运行,使用 Maven 软件,我们可以通过一行构建命令(mvn package)快速项目构建和打包!节省大量时间!
依赖管理:
Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。
构建管理:
项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程!
Maven ...
TypeScript
未读1. 两数之和要求
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
示例 1:
123输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
我的思路
利用双重 for 循环来判断,数组第一个和第二个相加判断是否等于 target,不是则换数组为第一个与第三个相加依次类推,第一轮循环结束则继续判断数组第二个与第三个相加是否等于 target,一直循环下去,如果相等则返回对应的数组下标,注意的是第二个数组下标不能与第一个相同,因为数组可能会是[3, 3]而 target 是 6 的情况。
我的代码
1234567891011121314151617181920212223function twoSum(nums: number[], target: number): number[] { ...
1. 帮助启动类命令1234567891011121314151617181920212223# 启动dockersystemctl start docker# 停止dockersystemctl stop docker# 重启dockersystemctl restart docker# 查看docker状态systemctl status docker# 开机启动:systemctl enable docker# 查看docker概要信息docker info# 查看docker总体帮助文档docker --help# 查看docker命令帮助文档docker 具体命令 --help
2. 镜像命令123456789101112131415161718192021# 查看docker镜像docker images [options] -a(列出本地所有镜像) -p(只显示镜像id)# 查看指定名称镜像docker images nginx# 搜索docker镜像docker search xxx [options] --limit(限制镜像数量)docker search no ...
目录结构Linux 的一切资源都挂载在 / 节点下。/bin: Binary 的缩写。存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行。/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev: Device 的缩写。该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。/etc: Etcetera 的缩写。这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/lib: Library 的缩写。这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。/lib64: 64 位相关的库会放在这。/media: linux 系统会自动识别一些设备,例如 U 盘、光驱 ...
在 nodejs 中使用 grpc 编写接口1. 创建一个 user.proto 文件123456789101112131415161718192021syntax = "proto3";package user; // 包名称// 请求参数message LoginRequest { string username = 1; string password = 2;}// 响应结果message LoginResponse { string access_token = 1; int32 expires = 2;}// 用户相关接口service User { // 登录函数 rpc login(LoginRequest) returns (LoginResponse);}
2. 安装相关依赖1npm i @grpc/grpc-js google-protobuf grpc-tools grpc_tools_node_protoc_ts
3. 生成 user_pb.js 和 user_grpc_p ...
TypeScript
未读实现 TypeScript 内置工具类实现 Partial1234567891011121314151617181920// 将所有属性变为可选 浅层type MyPartial<T> = { [P in keyof T]?: T[P]}// 将所有属性变为可选 深层type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P]}type message = { name: string; age: number; address: { province: string; city: string; };}type m1 = MyPartial<message>type m2 = DeepPartial<message>
实现 Required123456789101 ...
Promise 基础版123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778class MyPromise { static PENDING = "pending" static FULFILLED = "fulfilled" static REJECTED = "rejected" constructor(fn) { this.PromiseState = MyPromise.PENDING this.PromiseResult = null this.onFulfilledCallback = [] // 保存成功回调 this.onRejectedCallback = [] // 保存失 ...
完赛奖牌
成绩
index.ts
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182import axios from 'axios'import type { AxiosInstance } from 'axios'import { MyAxiosRequestConfig } from './type'class Request { instance: AxiosInstance constructor(config: MyAxiosRequestConfig) { // 创建一个aioxs的实例 this.instance = axios.create(config) // 每一个实例都会经过 全局拦 ...