前言

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

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

目录

阅读全文 »

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 开发小程序

前言

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

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

目录

阅读全文 »

前言

OpenClaw(俗称”龙虾”)是一款面向本地运行、轻量高效的开源AI工具,提供了强大的大模型部署和推理能力。它支持多种大模型,包括Llama、Mistral、Gemma等,并且可以轻松集成到各种应用场景中。本教程将详细介绍如何在不同平台上部署OpenClaw,以及安装完成后的配置和使用方法,帮助您快速上手。

目录

阅读全文 »

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

  1. TCP三次握手的过程,重发报文的过程
  2. TCP和UDP的区别
  3. MySQL的事务特性,事务隔离级别,分别解决什么问题
  4. 间隙锁是什么,具体什么时候会加锁
  5. java里的锁,有哪几种?
  6. ReentrantLock有哪些特性?可重入是如何实现的?

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成功

1. 环境准备

1.1 安装Git

Git 官网上下载安装。

安装好后,使用命令查看一下git版本,检查是否安装成功。

1
git -v

windows安装完git后,可以使用git bash敲命令。

1.2 安装node.js

直接到官网上下载。

同样,安装完成后,使用命令查看版本,检查是否安装成功。

1
2
node -v
npm -v

2. hexo安装与使用

2.1 安装hexo

创建一个文件夹blog,进入该文件夹,右键git bash here打开git bash,输入命令安装hexo:

1
npm install -g hexo-cli

2.2 初始化hexo

使用以下命令初始化hexo,其中myblog是自己随意取得名字

1
hexo init myblog

2.3 安装npm

进入myblog文件夹,安装npm:

1
2
cd myblog
npm install

新建完成后,指定文件夹目录下有:

  • node_modules: 依赖包
  • public:存放生成的页面
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题
  • _config.yml: 博客的配置文件

2.4 启动本地服务站点:

使用如下命令启动本地服务站点,每次提交新的部署之前也可以先启动本地服务站点检查。

1
2
hexo g //生成静态网页
hexo s //打开本地服务站点

在浏览器输入localhost:4000就可以看到生成的博客了,里面默认会有hello world这篇文章。

使用ctrl+c可以关掉本地服务。

hexo是一款静态框架,即我们在本地编写完文章后使用hexo g生成静态网页,然后将之部署到服务器上。

下面部署到github page上,以便大家可以访问。

3. Github建站访问

3.1 Github新建仓库

如果没有Github账号,注册一个,登录。

创建一个和你用户名相同的仓库,后面加.github.io。

在这里插入图片描述

注意:格式必须是xxx.github.io,其中xxx是你注册Github的用户名,只有这样部署到GitHub page的时候,才会被识别。

3.2 生成SSH添加到GitHub

回到git bash,输入以下命令:

1
2
git config --global user.name yourname
git config --global user.email youremail

这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。

可以用以下两条命令,检查一下你有没有输对:

1
2
git config user.name
git config user.email

然后创建SSH,一路回车

1
ssh-keygen -t rsa -C "youremail"

这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。

在这里插入图片描述

而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key把你的id_rsa.pub里面的信息复制进去。

在这里插入图片描述

在这里插入图片描述

Title随便写个名字,把id_rsa.pub里面的信息复制到key那里,点击Add SSH key

在git bash中,使用以下命令查看是否成功:

1
ssh -T git@github.com

在这里插入图片描述

3.3 将hexo部署到GitHub

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件_config.yml,翻到最后,修改为如下所示,其中YourgithubName就是你的GitHub账户。

1
2
3
4
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master

这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。

1
npm install hexo-deployer-git --save

然后

1
2
3
hexo clean
hexo generate
hexo deploy

其中 hexo clean清除了你之前生成的东西,也可以不加。hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写。hexo deploy 部署文章,可以用hexo d缩写。

注意deploy时可能要你输入username和password。

得到下图就说明部署成功了,过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!

在这里插入图片描述

3.4 发布文章

正式开始写文章了:

1
hexo new newpapername

然后在source/_post中打开对应的markdown文件,就可以开始编辑了。当你写完的时候,再

1
2
3
hexo clean
hexo g
hexo d

这样就可以在自己的博客网站上看到刚发布的文章了。

4. 多终端工作

4.1 原因

由于hexo d上传部署到github的其实是hexo编译后的文件,是用来生成网页的,不包含源文件,上传的就是本地目录里面自动生成的.deploy_git里面的文件。

而我们的源文件、主题文件、配置文件都没有上传,这也就意味着我们只能在一台电脑上操作,换了电脑就没法改变我们的网站了。

我们可以利用git的分支系统将源文件上传到仓库的另一个分支。

4.2 上传分支

首先在Github上新建一个分支hexo。

然后在这个仓库的settings中,选择默认分支为hexo分支(这样每次同步的时候就不用指定分支,比较方便)。

然后在本地的任意目录下,打开git bash,输入以下命令:

1
git clone git@github.com:snrt111/snrt111.github.io.git

将hexo分支克隆到本地。

接下来在克隆到本地的snrt111.github.io中,把除了.git 文件夹外的所有文件都删掉

把之前我们写的博客源文件全部复制过来,除了.deploy_git。

复制过来的源文件应该有一个.gitignore,用来忽略一些不需要的文件,如果没有的话,自己新建一个,在里面写上如下内容,表示这些类型文件不需要git:

1
2
3
4
5
6
7
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/

而后

1
2
3
git add .
git commit –m "add branch"
git push

这样就上传完了,可以去Github上看一看hexo分支有没有上传上去,其中node_modulespublicdb.json已经被忽略掉了,没有关系,不需要上传的,因为在别的电脑上需要重新输入命令安装 。

在这里插入图片描述

4.3 更换电脑操作

4.3.1 安装git

4.3.2 设置git全局邮箱和用户名

4.3.3 设置ssh key

1
2
3
4
ssh-keygen -t rsa -C youremail
#生成后填到github
#验证是否成功
ssh -T git@github.com

4.3.4 安装node.js

4.3.5 安装hexo

1
npm install hexo-cli -g

4.3.6 克隆项目

1
git clone git@………………

4.3.7 安装npm

进入到克隆的文件夹:

1
2
3
cd xxx.github.io
npm install
npm install hexo-deployer-git --save

生成,部署:

1
2
hexo g
hexo d

以上内容摘自:hexo史上最全搭建教程_zjufangzh的博客-CSDN博客_hexo

5. 使用Vercel代理Github Page

由于Github拒绝百度爬虫的访问,导致基于Github Page的个人博客无法被百度收录,这里介绍一个免费的方法,利用zeit(现在改名为vercel)代理。

5.1 Github账户登录vercel

打开vercel网站。选择 Continue with Github,利用自己的Github账号登录。
在这里插入图片描述

5.2 新建vercel项目

点击New Project,新建项目。
在这里插入图片描述

导入Github仓库。

在这里插入图片描述
为项目起个名字,点击Deploy
在这里插入图片描述
新建项目成功。

5.3 切换分支

vercel默认分支名是main,即上传到Github仓库main分支中才会触发更新,打开项目中的Settings,选择Git,将分支名改为自己部署静态网页资源的分支名。
在这里插入图片描述

5.4 配置个人域名

同样在项目里的Settings里面,打开Domains,新增自己的个人域名,然后在自己的域名服务商那里添加一条DNS解析。完成配置,这样百度爬虫就可以爬取我们的网站了。

在这里插入图片描述

浏览器不能加载crx插件处理方式

下载的crx文件 不能直接拖入扩展程序安装,其实浏览器只是默认隐藏了拖入安装 .crx 扩展功能,

打开 chrome://flags/#extensions-on-chrome-urls

将 Disabled 改为 Enabled,重启浏览器就行了。

windows截图

windows下截图有两种方式:

  1. 按下 Win+Shift+S 截取当前屏幕,按下 Win+Alt+S 截取全屏。
  2. 按下 Win+Shift+S 后,按住 Shift 再按下 Win+S 截取当前窗口。

wsl –list –running 没有正在运行的分发。

报错解释:

这个报错信息表示你正在尝试列出正在运行的Windows子系统Linux(WSL)分发版,但是没有发现任何正在运行的分发版。

解决方法:

  1. 确认你是否安装了WSL分发版。可以使用 wsl --list --verbose 来列出所有安装的分发版。
  2. 如果已安装分发版,确保它们已正确启动。你可以尝试启动一个分发版,例如,如果你安装了Ubuntu,可以尝试运行 wsl --terminate Ubuntu 停止它,然后运行 wslwsl -d Ubuntu 来启动它。
  3. 如果你刚刚安装了一个新的分发版,可能需要重启你的电脑来完成安装。
  4. 确认你的Windows版本支持WSL。需要Windows 10 更新版本1607或更高版本,以及特定的处理器架构。
0%