从基础到进阶,全面讲解 Vue 3 的组合式 API、响应式原理、组件开发、状态管理以及项目实战,打造现代化前端应用。

阅读全文 »

前言

本教程将介绍如何使用自定义的PowerShell脚本来一键安装OpenClaw。相比官方安装脚本,自定义脚本具有以下优势:

  • 📝 全程中文提示,更易理解
  • 🎨 彩色输出,状态一目了然
  • ⏳ 进度显示,知道安装进行到哪一步
  • 🔧 自动检测环境,提前发现潜在问题
  • 📦 支持离线安装包(可选)
  • 🇨🇳 支持国内镜像加速下载
  • ⚙️ 高度可定制化安装

目录

阅读全文 »

前言

Spring AI Alibaba是阿里云推出的面向Java开发者的AI应用开发框架,它基于Spring AI构建,提供了与阿里云大模型(通义千问)的无缝集成。通过Spring AI Alibaba,开发者可以快速构建RAG(检索增强生成)知识库系统,实现智能问答、文档处理等功能。

本教程将手把手教您从零开始搭建一个完整的Spring AI Alibaba知识库系统,包括环境准备、项目搭建、向量数据库配置、文档处理、检索问答等全流程。

目录

阅读全文 »

前言

Skills是Trae IDE中的一项强大功能,它允许用户创建和使用自定义的技能来增强AI助手的功能。通过Skills,您可以定义特定的任务流程、代码模板、自动化脚本等,让AI助手更好地理解您的需求并提供更精准的帮助。

本教程将详细介绍Skills的概念、创建方法、使用技巧以及最佳实践,帮助您充分利用这一强大功能。

目录

阅读全文 »

前言

OpenClaw(俗称”龙虾”)是一款面向本地运行、轻量高效的开源AI工具,提供了强大的大模型部署和推理能力。本教程将手把手教您在Windows系统上安装和配置OpenClaw,即使是电脑小白也能轻松完成。

目录

阅读全文 »

在 Windows 10 专业版上安装 WSL(Windows Subsystem for Linux)非常简单。微软提供了一个一键安装的命令,这是最推荐的方法。

🚀 快速安装(推荐)

这是最简单快捷的安装方式,适用于 Windows 10 版本 2004 及更高版本(内部版本 19041+)。

  1. 以管理员身份打开 PowerShell

    • 在开始菜单搜索 “PowerShell”。
    • 右键点击 “Windows PowerShell”,选择“以管理员身份运行”。
  2. 运行安装命令

    • 在打开的 PowerShell 窗口中,输入以下命令并按回车:

      1
      1wsl --install
    • 这个命令会自动完成以下操作:

      • 启用“适用于 Linux 的 Windows 子系统”和“虚拟机平台”这两个必需的 Windows 功能。
      • 下载并安装 WSL 2 的 Linux 内核。
      • 将 WSL 2 设置为默认版本。
      • 从 Microsoft Store 下载并安装默认的 Linux 发行版(通常是 Ubuntu)。
  3. 重启计算机

    • 命令执行完成后,根据提示重启你的电脑以使更改生效。
  4. 完成初始化设置

    • 重启后,系统可能会自动打开一个终端窗口,或者你可以从开始菜单启动刚安装的 Ubuntu。
    • 首次启动时,会提示你创建一个新的 UNIX 用户名和密码。
      • 用户名:可以是任意名称,不必与你的 Windows 用户名一致。
      • 密码:输入时屏幕上不会显示字符,这是 Linux 的正常安全特性,请放心输入并牢记。

设置完成后,你就可以开始使用 WSL 了。

🛠️ 手动安装(备选方案)

如果你的 Windows 10 版本较旧,或者 wsl --install 命令遇到问题,可以按照以下步骤手动安装。

  1. 启用 WSL 和虚拟机平台功能

    • 以管理员身份打开 PowerShell,依次运行以下两条命令:

      1
      2
      1dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      2dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  2. 重启计算机

    • 运行完上述命令后,重启你的电脑。
  3. 下载并安装 WSL 2 内核更新包

    • 从微软官方链接下载适用于 x64 计算机的更新包:
      WSL2 Linux 内核更新包
    • 下载完成后,双击运行安装程序。
  4. 将 WSL 2 设置为默认版本

    • 再次以管理员身份打开 PowerShell,运行以下命令:

      1
      1wsl --set-default-version 2
  5. 安装 Linux 发行版

    • 打开 Microsoft Store,搜索你喜欢的 Linux 发行版(如 “Ubuntu 22.04 LTS”、”Debian” 等),然后点击“获取”或“安装”。
    • 安装完成后,从开始菜单启动它,并按照“快速安装”中的第4步完成初始化设置。

Taro 介绍

简介

Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。

现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。

特性

多端转换支持

Taro 3 可以支持转换到 H5、ReactNative 以及任意小程序平台。

目前官方支持转换的平台如下:

框架支持

在 Taro 3 中可以使用完整的 react React / vue Vue / preact Preact / svelte Svelte / Nerv 开发体验,具体请参考:

  • Vue

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<template>
<view class="index">
<text>msg</text>
</view>
</template>

<script>
export default {
data() {
return {
msg: 'Hello World!',
}
},
created() {},
onShow() {},
onHide() {},
}
</script>

Taro UI

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 端暂不支持)
  • 提供友好的 API,可灵活的使用组件

学习资源

https://taro-docs.jd.com/docs/#学习资源

【资讯】Taro 团队博客

【教程】5 分钟上手 Taro 开发

【视频】5 分钟快速上手 Taro 开发小程序

安装Docker

1
2
3
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce

启动Docker

1
sudo systemctl start docker

设置开机启动

1
sudo systemctl enable docker

查看当前docker状态

1
sudo systemctl status docker

验证Docker

1
sudo docker run hello-world

卸载Docker

1
sudo yum remove docker-ce

配置阿里云镜像加速器

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

基础

1. java如何实现线程安全?

同步代码块
同步方法

2. CAS是什么,如何解决ABA问题?

使用AtomicStampedReference类,AtomicMarkableReference类

3. AtomicInteger的原理?

AtomicInteger内部声明了一个volatile修饰的变量value用来保存实际值
函数中调用了Unsafe函数的getAndAddInt方法

4. 可重入锁是什么,非可重入锁又是什么?

可重入锁:在同一个线程中,可以重复获取同一个锁,不会造成死锁
非可重入锁:在同一个线程中,获取锁的次数大于1,会造成死锁

5. 生产者消费者问题,一个长度100的buffer,10个生产线程,10个消费线程?

使用BlockingQueue实现生产者消费者问题,BlockingQueue有四种实现方式,分别是ArrayBlockingQueue,LinkedBlockingQueue,SynchronousQueue,PriorityBlockingQueue
ArrayBlockingQueue:基于数组实现的有界阻塞队列,容量大小是固定的,生产者线程和消费者线程都需要等待
SynchronousQueue:不存储元素的阻塞队列,每个插入操作必须等待一个相应的删除操作,反之亦然,容量大小是无限的
LinkedBlockingQueue:基于链表实现的有界阻塞队列,容量大小是可配置的,生产者线程和消费者线程都需要等待
PriorityBlockingQueue:基于优先级堆实现的无界阻塞队列,容量大小是无限的

6. Spring,AOP是什么,IOC是什么?

Spring是一个轻量级的Java开发框架,它提供了IOC和AOP功能,IOC是控制反转,AOP是面向切面编程,通过配置的方式,可以将一些通用的功能模块化,从而实现代码的重用,提高代码的可维护性
IOC是Spring的核心概念,它通过依赖注入(DI)来实现对象的创建和依赖关系的管理,通过配置的方式,将对象之间的依赖关系进行解耦,从而实现松耦合的设计
AOP是面向切面编程的一种技术,通过配置的方式,可以将一些通用的功能模块化,从而实现代码的重用,提高代码的可维护性
Spring的核心思想是“约定优于配置”,通过配置的方式,可以实现对象的创建,依赖关系的管理,以及一些通用的功能的模块化,从而实现松耦合的设计

7. 什么是Spring Boot,它有什么优点?

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模块,可以对应用进行实时的监控,如查看应用的健康状态,查看应用的统计数据,查看应用的日志等

8. TCP三次握手的过程,重发报文的过程

9. TCP和UDP的区别

10. MySQL的事务特性,事务隔离级别,分别解决什么问题

11. 间隙锁是什么,具体什么时候会加锁

12. java里的锁,有哪几种?

13. ReentrantLock有哪些特性?可重入是如何实现的?

MySQL面试题

1. 什么是 CTE?什么场景用递归 CTE?

  • CTE(公共表达式):临时结果集,让 SQL 更清晰。
  • 递归 CTE:专门查询树形结构、层级结构

场景:

部门树、菜单树、地区树、评论树、BOM 结构。

2. 写一个递归查询部门树(最高级到最低级)

表:dept(id, name, parent_id)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
WITH RECURSIVE dept_tree AS (
-- 锚点成员:顶层部门
SELECT id, name, parent_id, 1 AS level
FROM dept
WHERE parent_id = 0

UNION ALL

-- 递归成员:子部门
SELECT d.id, d.name, d.parent_id, t.level + 1
FROM dept d
INNER JOIN dept_tree t ON d.parent_id = t.id
)
SELECT * FROM dept_tree ORDER BY level;

3.如何查看 MySQL 执行计划?看哪些关键字段?

1
EXPLAIN SELECT ...

重点看:

  • type:最好是 const /ref/range,最差 ALL(全表扫描)
  • key:是否命中索引
  • rows:扫描行数越少越好
  • Extra:不要出现 Using filesort、Using temporary

4.Using filesort 是什么?怎么优化?

  • 表示排序没有用到索引,MySQL 在内存 / 磁盘排序。
  • 优化:
    1. 给 ORDER BY 字段建索引
    2. 避免 SELECT *
    3. 避免大结果集排序

5. 一条 SQL 很慢,你怎么排查?

  1. 看是否全表扫描(EXPLAIN type: ALL)
  2. 看是否没走索引
  3. 看是否有Using filesort / Using temporary
  4. 看联表是否小表驱动大表
  5. 看是否数据量太大,需要分页 / 分库分表
  6. 看是否锁等待

6. 索引失效的常见原因?

  • 索引列使用函数:YEAR(create_time)
  • 隐式类型转换:varchar 字段用数字查询
  • 模糊查询以 % 开头
  • OR 条件中有非索引列
  • 联合索引不满足最左前缀原则

7. MySQL 锁等待是什么原因?

  • 一个事务持有锁,另一个事务等待锁释放,造成阻塞。
  • 常见:
    • 事务过大、执行时间太长
    • 没加索引,导致行锁变表锁
    • 热点行更新(秒杀、库存)

8. 如何优化锁等待?

  1. 给更新条件加索引,避免行锁变表锁
  2. 事务拆小,快开快提交
  3. 避免更新热点行
  4. 降低隔离级别(RC 比 RR 锁压力小)
  5. 避免长事务、避免在事务中做外部调用

9. 如何定位线上慢查询?

  1. 开启慢查询日志(slow_query_log)
  2. show processlist 看耗时 SQL
  3. EXPLAIN 分析执行计划
  4. 优化索引、优化 SQL 逻辑、拆大事务

10. 联表查询优化原则?

  1. 小表驱动大表
  2. 关联字段必须建索引
  3. 只查需要的字段,不要 SELECT *
  4. 尽量用 INNER JOIN 代替 LEFT JOIN(如可行)
  5. 避免大结果集,必须分页

1.安装WSL

WSL指的是windows System for Linux

1. 检查是否打开虚拟化设置(一般默认是开启的,但以防万一,还是检查一下)

  1. 打开任务管理器(Ctrl+Shift+Esc)>>性能
    image
    2.如果没有打开,打开BIOS系统设置,自行配置(不同电脑进入按键不同)

2.配置文件

  1. 打开windows的启动或或关闭windows功能
    image
  2. 打开!适用于linux的windows子系统,系统会自动配置完成,可能会重启
    image

3.下载WSL

  1. 打开windows的PowerShell
    image
  2. 运行wsl --list --online,选择要安装的版本
    image
  3. 以Ubuntu-20.04为例,输入以下代码,等待下载完成
1
wsl --install -d Ubuntu-20.04
  1. 下载完成后,可能会报错
    image
    下载最新的wsl安装包,并运行安装,下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
  2. 重新打开后,会让你输入用户名,以及密码,完成后即为安装成功
    6. 之后的操作迁移wsl从C盘到其他盘,可以选择不进行操作
  3. 检查当前wsl是否在运行
    image
  4. 如果显示的是running,则输入命令wsl --shutdown
    wsl –export Ubuntu G:\Virtual_Machines\Ubuntu.tar
    wsl –unregister Ubuntu
    wsl –import Ubuntu F:\Virtual_Machines G:\Virtual_Machines\Ubuntu.tar –version 2
  5. 迁移
1
2
3
wsl --export Ubuntu-20.04 D:\Ubuntu.tar
wsl --unregister Ubuntu-20.04
wsl --import Ubuntu-20.04 D:\Ubuntu_2004 D:\Ubuntu.tar --version 2
  1. 进行用户配置<username>是你前面注册的用户名
1
ubuntu.exe config --default-user <username>

4. 下载Docker Desktop

  1. 从官网下载Docker Desktop;https://www.docker.com/get-started/
    image
  2. 建立存储路径软连接(Docker默认安装在C盘,如果想更得化,建立软链接)
1
2
mkdir "D:\Program Files\Docker"
mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
  1. 安装Docker Desktop,默认就行
  2. 打开Docker Desktop,软件可能检测不到,然后自动退出,此时需要在打开时,快速点击右上角的设置按钮,并进行以下配置,并点击apply
    image
    image
  3. 重新打开Docker Desktop,发现界面已改变
    image
  4. PowerShell查看版本号docker --version和测试docker run hello-world
    image

至此在windows11中安装配置Docker成功

0%