Taro 介绍
Taro 介绍
简介
Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。
现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。
特性
多端转换支持
Taro 3 可以支持转换到 H5、ReactNative 以及任意小程序平台。
目前官方支持转换的平台如下:
框架支持
在 Taro 3 中可以使用完整的
React /
Vue /
Preact /
Svelte / Nerv 开发体验,具体请参考:
- Vue
示例代码
1 | <template> |
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,可灵活的使用组件
学习资源
Skills使用详细教程
openclaw部署保姆级教程
Centos安装Docker
安装Docker
1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
启动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 | sudo mkdir -p /etc/docker |
面试题
java如何实现线程安全?
同步代码块
同步方法CAS是什么,如何解决ABA问题?
使用AtomicStampedReference类,AtomicMarkableReference类AtomicInteger的原理?
AtomicInteger内部声明了一个volatile修饰的变量value用来保存实际值
函数中调用了Unsafe函数的getAndAddInt方法可重入锁是什么,非可重入锁又是什么?
可重入锁:在同一个线程中,可以重复获取同一个锁,不会造成死锁
非可重入锁:在同一个线程中,获取锁的次数大于1,会造成死锁生产者消费者问题,一个长度100的buffer,10个生产线程,10个消费线程?
使用BlockingQueue实现生产者消费者问题,BlockingQueue有四种实现方式,分别是ArrayBlockingQueue,LinkedBlockingQueue,SynchronousQueue,PriorityBlockingQueue
ArrayBlockingQueue:基于数组实现的有界阻塞队列,容量大小是固定的,生产者线程和消费者线程都需要等待
SynchronousQueue:不存储元素的阻塞队列,每个插入操作必须等待一个相应的删除操作,反之亦然,容量大小是无限的
LinkedBlockingQueue:基于链表实现的有界阻塞队列,容量大小是可配置的,生产者线程和消费者线程都需要等待
PriorityBlockingQueue:基于优先级堆实现的无界阻塞队列,容量大小是无限的Spring,AOP是什么,IOC是什么?
Spring是一个轻量级的Java开发框架,它提供了IOC和AOP功能,IOC是控制反转,AOP是面向切面编程,通过配置的方式,可以将一些通用的功能模块化,从而实现代码的重用,提高代码的可维护性
IOC是Spring的核心概念,它通过依赖注入(DI)来实现对象的创建和依赖关系的管理,通过配置的方式,将对象之间的依赖关系进行解耦,从而实现松耦合的设计
AOP是面向切面编程的一种技术,通过配置的方式,可以将一些通用的功能模块化,从而实现代码的重用,提高代码的可维护性
Spring的核心思想是“约定优于配置”,通过配置的方式,可以实现对象的创建,依赖关系的管理,以及一些通用的功能的模块化,从而实现松耦合的设计什么是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模块,可以对应用进行实时的监控,如查看应用的健康状态,查看应用的统计数据,查看应用的日志等
- TCP三次握手的过程,重发报文的过程
- TCP和UDP的区别
- MySQL的事务特性,事务隔离级别,分别解决什么问题
- 间隙锁是什么,具体什么时候会加锁
- java里的锁,有哪几种?
- ReentrantLock有哪些特性?可重入是如何实现的?
windows安装docker
1.安装WSL
WSL指的是windows System for Linux
1. 检查是否打开虚拟化设置(一般默认是开启的,但以防万一,还是检查一下)
- 打开任务管理器(
Ctrl+Shift+Esc)>>性能
2.如果没有打开,打开BIOS系统设置,自行配置(不同电脑进入按键不同)
2.配置文件
- 打开windows的
启动或或关闭windows功能
- 打开!
适用于linux的windows子系统,系统会自动配置完成,可能会重启
3.下载WSL
- 打开windows的
PowerShell
- 运行
wsl --list --online,选择要安装的版本
- 以Ubuntu-20.04为例,输入以下代码,等待下载完成
1 | wsl --install -d Ubuntu-20.04 |
- 下载完成后,可能会报错

下载最新的wsl安装包,并运行安装,下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi - 重新打开后,会让你输入用户名,以及密码,完成后即为安装成功
6. 之后的操作迁移wsl从C盘到其他盘,可以选择不进行操作 - 检查当前wsl是否在运行

- 如果显示的是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 - 迁移
1 | wsl --export Ubuntu-20.04 D:\Ubuntu.tar |
- 进行用户配置
<username>是你前面注册的用户名
1 | ubuntu.exe config --default-user <username> |
4. 下载Docker Desktop
- 从官网下载Docker Desktop;https://www.docker.com/get-started/

- 建立存储路径软连接(Docker默认安装在C盘,如果想更得化,建立软链接)
1 | mkdir "D:\Program Files\Docker" |
- 安装Docker Desktop,默认就行
- 打开Docker Desktop,软件可能检测不到,然后自动退出,此时需要在打开时,快速点击右上角的设置按钮,并进行以下配置,并点击
apply

- 重新打开Docker Desktop,发现界面已改变

- 在
PowerShell查看版本号docker --version和测试docker run hello-world
至此在windows11中安装配置Docker成功
ollama+fstgpt搭建本地知识库
hexo搭建个人博客
1. 环境准备
1.1 安装Git
到Git 官网上下载安装。
安装好后,使用命令查看一下git版本,检查是否安装成功。
1 | git -v |
windows安装完git后,可以使用git bash敲命令。
1.2 安装node.js
直接到官网上下载。
同样,安装完成后,使用命令查看版本,检查是否安装成功。
1 | node -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 | cd myblog |
新建完成后,指定文件夹目录下有:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件
2.4 启动本地服务站点:
使用如下命令启动本地服务站点,每次提交新的部署之前也可以先启动本地服务站点检查。
1 | hexo g //生成静态网页 |
在浏览器输入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 | git config --global user.name yourname |
这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。
可以用以下两条命令,检查一下你有没有输对:
1 | git config user.name |
然后创建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 | deploy: |
这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。
1 | npm install hexo-deployer-git --save |
然后
1 | hexo clean |
其中 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 | hexo clean |
这样就可以在自己的博客网站上看到刚发布的文章了。
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 | .DS_Store |
而后
1 | git add . |
这样就上传完了,可以去Github上看一看hexo分支有没有上传上去,其中node_modules、public、db.json已经被忽略掉了,没有关系,不需要上传的,因为在别的电脑上需要重新输入命令安装 。

4.3 更换电脑操作
4.3.1 安装git
4.3.2 设置git全局邮箱和用户名
4.3.3 设置ssh key
1 | ssh-keygen -t rsa -C youremail |
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 | cd xxx.github.io |
生成,部署:
1 | hexo g |
以上内容摘自: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下截图有两种方式:
- 按下
Win+Shift+S截取当前屏幕,按下Win+Alt+S截取全屏。 - 按下
Win+Shift+S后,按住Shift再按下Win+S截取当前窗口。
wsl –list –running 没有正在运行的分发。
报错解释:
这个报错信息表示你正在尝试列出正在运行的Windows子系统Linux(WSL)分发版,但是没有发现任何正在运行的分发版。
解决方法:
- 确认你是否安装了WSL分发版。可以使用
wsl --list --verbose来列出所有安装的分发版。 - 如果已安装分发版,确保它们已正确启动。你可以尝试启动一个分发版,例如,如果你安装了Ubuntu,可以尝试运行
wsl --terminate Ubuntu停止它,然后运行wsl或wsl -d Ubuntu来启动它。 - 如果你刚刚安装了一个新的分发版,可能需要重启你的电脑来完成安装。
- 确认你的Windows版本支持WSL。需要Windows 10 更新版本1607或更高版本,以及特定的处理器架构。
H5
React Native
微信小程序
京东小程序
百度智能小程序
支付宝小程序
抖音小程序
QQ 小程序
钉钉小程序
企业微信小程序
飞书小程序