Vue 3 完全指南
从基础到进阶,全面讲解 Vue 3 的组合式 API、响应式原理、组件开发、状态管理以及项目实战,打造现代化前端应用。
从基础到进阶,全面讲解 Vue 3 的组合式 API、响应式原理、组件开发、状态管理以及项目实战,打造现代化前端应用。
在 Windows 10 专业版上安装 WSL(Windows Subsystem for Linux)非常简单。微软提供了一个一键安装的命令,这是最推荐的方法。
这是最简单快捷的安装方式,适用于 Windows 10 版本 2004 及更高版本(内部版本 19041+)。
以管理员身份打开 PowerShell
运行安装命令
在打开的 PowerShell 窗口中,输入以下命令并按回车:
1 | 1wsl --install |
这个命令会自动完成以下操作:
重启计算机
完成初始化设置
设置完成后,你就可以开始使用 WSL 了。
如果你的 Windows 10 版本较旧,或者 wsl --install 命令遇到问题,可以按照以下步骤手动安装。
启用 WSL 和虚拟机平台功能
以管理员身份打开 PowerShell,依次运行以下两条命令:
1 | 1dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
重启计算机
下载并安装 WSL 2 内核更新包
将 WSL 2 设置为默认版本
再次以管理员身份打开 PowerShell,运行以下命令:
1 | 1wsl --set-default-version 2 |
安装 Linux 发行版
Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。
现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。
Taro 3 可以支持转换到 H5、ReactNative 以及任意小程序平台。
目前官方支持转换的平台如下:
在 Taro 3 中可以使用完整的
React /
Vue /
Preact /
Svelte / Nerv 开发体验,具体请参考:
示例代码
1 | <template> |
https://taro-docs.jd.com/docs/#taro-ui
Taro 3 只能配合使用 taro-ui@next 版本
安装命令:
npm i taro-ui@next
一款基于 Taro 框架开发的多端 UI 组件库。
Taro UI 特性:
Taro 开发 UI 组件ReactNative 端暂不支持)1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
1 | sudo systemctl start docker |
1 | sudo systemctl enable docker |
1 | sudo systemctl status docker |
1 | sudo docker run hello-world |
1 | sudo yum remove docker-ce |
1 | sudo mkdir -p /etc/docker |
同步代码块
同步方法
使用AtomicStampedReference类,AtomicMarkableReference类
AtomicInteger内部声明了一个volatile修饰的变量value用来保存实际值
函数中调用了Unsafe函数的getAndAddInt方法
可重入锁:在同一个线程中,可以重复获取同一个锁,不会造成死锁
非可重入锁:在同一个线程中,获取锁的次数大于1,会造成死锁
使用BlockingQueue实现生产者消费者问题,BlockingQueue有四种实现方式,分别是ArrayBlockingQueue,LinkedBlockingQueue,SynchronousQueue,PriorityBlockingQueue
ArrayBlockingQueue:基于数组实现的有界阻塞队列,容量大小是固定的,生产者线程和消费者线程都需要等待
SynchronousQueue:不存储元素的阻塞队列,每个插入操作必须等待一个相应的删除操作,反之亦然,容量大小是无限的
LinkedBlockingQueue:基于链表实现的有界阻塞队列,容量大小是可配置的,生产者线程和消费者线程都需要等待
PriorityBlockingQueue:基于优先级堆实现的无界阻塞队列,容量大小是无限的
Spring是一个轻量级的Java开发框架,它提供了IOC和AOP功能,IOC是控制反转,AOP是面向切面编程,通过配置的方式,可以将一些通用的功能模块化,从而实现代码的重用,提高代码的可维护性
IOC是Spring的核心概念,它通过依赖注入(DI)来实现对象的创建和依赖关系的管理,通过配置的方式,将对象之间的依赖关系进行解耦,从而实现松耦合的设计
AOP是面向切面编程的一种技术,通过配置的方式,可以将一些通用的功能模块化,从而实现代码的重用,提高代码的可维护性
Spring的核心思想是“约定优于配置”,通过配置的方式,可以实现对象的创建,依赖关系的管理,以及一些通用的功能的模块化,从而实现松耦合的设计
Spring Boot是一个快速开发的脚手架,它简化了Spring应用的初始搭建以及开发过程,提供了各种开箱即用的功能模块,使得开发人员可以更专注于业务逻辑的开发,提高开发效率
Spring Boot的优点:
快速启动:Spring Boot通过内嵌的Tomcat或Jetty等服务器,可以快速启动应用,无需部署war包
内置Tomcat/Jetty:Spring Boot内置了Tomcat和Jetty服务器,无需安装额外的服务器软件
无需XML配置:Spring Boot使用Java配置,不需要编写复杂的XML文件
自动配置:Spring Boot会根据应用所需的依赖来自动配置Spring,从而简化了Spring的配置
无代码生成:Spring Boot使用注解来代替XML配置,可以使得配置更加简单,无需编写大量的代码
内置监控:Spring Boot提供了Actuator模块,可以对应用进行实时的监控,如查看应用的健康状态,查看应用的统计数据,查看应用的日志等
场景:
部门树、菜单树、地区树、评论树、BOM 结构。
表:dept(id, name, parent_id)
1 | WITH RECURSIVE dept_tree AS ( |
1 | EXPLAIN SELECT ... |
重点看:
YEAR(create_time)varchar 字段用数字查询% 开头show processlist 看耗时 SQLEXPLAIN 分析执行计划WSL指的是windows System for Linux
Ctrl+Shift+Esc)>>性能
启动或或关闭windows功能
适用于linux的windows子系统,系统会自动配置完成,可能会重启
PowerShell
wsl --list --online,选择要安装的版本
1 | wsl --install -d Ubuntu-20.04 |


wsl --shutdown1 | wsl --export Ubuntu-20.04 D:\Ubuntu.tar |
<username>是你前面注册的用户名1 | ubuntu.exe config --default-user <username> |

1 | mkdir "D:\Program Files\Docker" |
apply


PowerShell查看版本号docker --version和测试docker run hello-world
至此在windows11中安装配置Docker成功