This commit is contained in:
2025-12-27 11:44:50 +08:00
commit ccd43fac1f
1193 changed files with 384161 additions and 0 deletions
@@ -0,0 +1,22 @@
#jpa
### 查询条件
使用Persist Object存查询条件
```java
QuestInfoPO po = new QuestInfoPO();
po.setCreatorId(StringUtils.isBlank(creatorId) ? null : creatorId);
po.setCreatedBy(StringUtils.isBlank(creatorName) ? null : creatorName);
po.setName(StringUtils.isBlank(questName) ? null : questName);
po.setStatus(status);
```
### 过滤规则
使用ExampleMatch指定过滤规则,matcher的properties使用的是表字段名
```java
ExampleMatcher matcher = ExampleMatcher.matching()
.withMatcher("creator_id", match -> match.exact())
.withMatcher("created_by", match -> match.contains())
.withMatcher("name", match -> match.contains())
.withMatcher("status", match -> match.exact())
.withIgnoreNullValues();
```
### 排除空条件
使用withIgnoreNullValues()排除po中的null条件
@@ -0,0 +1,40 @@
#firewall #linux
### 基本操作:
配置firewalld-cmd
查看版本: `firewall-cmd --version`
查看帮助: `firewall-cmd --help`
显示状态: `firewall-cmd --state`
查看所有打开的端口: `firewall-cmd --zone=public --list-ports`
更新防火墙规则: `firewall-cmd --reload`
查看区域信息:  `firewall-cmd --get-active-zones`
查看指定接口所属区域: `firewall-cmd --get-zone-of-interface=eth0`
拒绝所有包:`firewall-cmd --panic-on`
取消拒绝状态: `firewall-cmd --panic-off`
查看是否拒绝: `firewall-cmd --query-panic`
添加端口:`firewall-cmd --zone=public --add-port=31702/tcp --permanent`
重新载入:`firewall-cmd --reload`
查看:`firewall-cmd --zone=public --query-port=80/tcp`
删除:`firewall-cmd --zone=public --remove-port=80/tcp --permanent`
允许IP段对某端口的访问:`firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.3.1/16" port protocol="tcp" port="8383" accept"`
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.3.1/16" port protocol="tcp" port="18180" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.3.1/16" port protocol="tcp" port="11434" accept"
firewall-cmd --permanent --add-forward-port=port=54320:proto=tcp:toaddr=192.168.3.225:toport=54321
@@ -0,0 +1,196 @@
# CentOS8 安装 MySQL8.0RPM
[作者博客](https://blog.51cto.com/u_11261718) [原文地址](https://blog.51cto.com/u_11261718/2465227)
> 环境:Linux centos8 4.18.0-80.el8.x86_64、Mysql8.0.18
## 1、Mysql官网下载RPM包
![CentOS8 安装 MySQL8.0RPM_linux](https://cdn.learnku.com/uploads/images/201912/21/32495/2TNOZ7kvVK.png!large)
![CentOS8 安装 MySQL8.0RPM_mysql_02](https://cdn.learnku.com/uploads/images/201912/21/32495/Dx4o27N0Ll.png!large)
## 2、检查是否安装过
```html
rpm -qa | grep -i mysql
```
## 3、卸载之前的安装
```html
rpm -e --nodeps 软件名 //强力删除,对相关依赖的文件也进行强力删除
```
## 4、安装客户端(mysql-client
```html
rpm -ivh rpm包
* 安装mysql-community-common-8.0.18
* 安装mysql-community-libs-8.0.18
* 安装mysql-community-client-8.0.18(前两个是其依赖)
```
![CentOS8 安装 MySQL8.0RPM_mysql_03](https://cdn.learnku.com/uploads/images/201912/21/32495/jO9Z6eEuME.png!large)
![CentOS8 安装 MySQL8.0RPM_mysql_04](https://cdn.learnku.com/uploads/images/201912/21/32495/nvlaQ3ER3H.png!large)
![CentOS8 安装 MySQL8.0RPM_mysql_05](https://cdn.learnku.com/uploads/images/201912/21/32495/dzHM5ERPtc.png!large)
## 5、安装服务端(mysql-server
![CentOS8 安装 MySQL8.0RPM_linux_06](https://cdn.learnku.com/uploads/images/201912/21/32495/Jtq8ljgSZ2.png!large)
![CentOS8 安装 MySQL8.0RPM_linux_07](https://cdn.learnku.com/uploads/images/201912/21/32495/6rIYWqftHM.png!large)
## 6、查看是否安装成功
```html
有以下方式查看:
* ps -ef | grep mysql
* cat /etc/group | grep mysql
* cat /etc/password | grep mysql
* mysqladmin --version
...
```
![CentOS8 安装 MySQL8.0RPM_mysql_08](https://cdn.learnku.com/uploads/images/201912/21/32495/aEIQJoMWwS.png!large)
![CentOS8 安装 MySQL8.0RPM_mysql_09](https://cdn.learnku.com/uploads/images/201912/21/32495/zwDTan2oHb.png!large)
![CentOS8 安装 MySQL8.0RPM_mysql_10](https://cdn.learnku.com/uploads/images/201912/21/32495/9bee6xP8Gr.png!large)
## 7、初始化mysql
```html
mysqld --initialize //创建数据文件目录和mysql系统数据库 产生随机root密码
```
## 8、启动mysql服务
```html
systemctl start mysqld
```
![CentOS8 安装 MySQL8.0RPM_linux_11](https://cdn.learnku.com/uploads/images/201912/21/32495/V4NWWzkibu.png!large)
```html
启动失败,因为/var/lib/mysql目录权限不够
```
![CentOS8 安装 MySQL8.0RPM_mysql_12](https://cdn.learnku.com/uploads/images/201912/21/32495/IJ2fjGgagY.png!large)
## 9、/var/lib/mysql目录权限授权
```html
chown -R mysql:mysql /var/lib/mysql/
```
![CentOS8 安装 MySQL8.0RPM_mysql_13](https://cdn.learnku.com/uploads/images/201912/21/32495/Zt9K5iXW3S.png!large)
## 10、启动mysql服务
```html
systemctl start mysqld //启动
ps -ef | grep mysql //查看mysql服务
```
![CentOS8 安装 MySQL8.0RPM_mysql_14](https://cdn.learnku.com/uploads/images/201912/21/32495/sEFjMpxsAi.png!large)
## 11、查看初始化随机生成的root密码
```html
cat /var/log/mysqld.log | grep password
```
![CentOS8 安装 MySQL8.0RPM_linux_15](https://cdn.learnku.com/uploads/images/201912/21/32495/hvgBsYLCbs.png!large)
## 12、安全设置
```html
mysql_secure_installation
```
![CentOS8 安装 MySQL8.0RPM_linux_16](https://cdn.learnku.com/uploads/images/201912/21/32495/LjRTaqHLuG.png!large)
![CentOS8 安装 MySQL8.0RPM_mysql_17](https://cdn.learnku.com/uploads/images/201912/21/32495/XIiZ6Cifxi.png!large)
## 13、mysql登录
```html
mysql -uroot -p //随机密码登录
```
![CentOS8 安装 MySQL8.0RPM_linux_18](https://cdn.learnku.com/uploads/images/201912/21/32495/Q9wTS3ocCT.png!large)
## 14、重置密码(Mysql8.0+有变化)
```html
先把root的旧密码置空
use mysql;
update user set authentication_string='' where user='root';
备注:Mysql5.7+ password字段 已改成 authentication_string字段
```
![CentOS8 安装 MySQL8.0RPM_mysql_19](https://cdn.learnku.com/uploads/images/201912/21/32495/hTmWm4KY6g.png!large)
```html
重置成新密码
alter user 'root'@'localhost' identified by 'newpassword';
备注:Mysql8.0修改密码方式已有变化(此处是个坑,需要注意)
Mysql8.0之前:
update user set password=password('root') where user='root';
```
![CentOS8 安装 MySQL8.0RPM_mysql_20](https://cdn.learnku.com/uploads/images/201912/21/32495/TlnCt0b6CK.png!large)
## 15、退出后使用新密码再登录mysql
```html
mysql -uroot -proot
```
![CentOS8 安装 MySQL8.0RPM_mysql_21](https://cdn.learnku.com/uploads/images/201912/21/32495/GsubKaox9h.png!large)
## 16、如何停止、重启和查看mysql服务
```html
systemctl stop mysqld //停止服务
systemctl restart mysqld //重启服务
systemctl status mysqld //查看服务
```
## 17、mysql的相关安装目录文件
```html
/usr/bin //相关命令
```
![CentOS8 安装 MySQL8.0RPM_linux_22](https://cdn.learnku.com/uploads/images/201912/21/32495/rzdrV1NbjT.png!large)
```html
/usr/share/mysql //配置文件目录
```
![CentOS8 安装 MySQL8.0RPM_mysql_23](https://cdn.learnku.com/uploads/images/201912/21/32495/bRGS2J2pnT.png!large)
```html
/var/lib/mysql //数据库文件存放目录
```
![CentOS8 安装 MySQL8.0RPM_mysql_24](https://cdn.learnku.com/uploads/images/201912/21/32495/wQYYNnmAeJ.png!large)
```html
/etc/my.cnf //mysql的启动配置文件
```
![CentOS8 安装 MySQL8.0RPM_mysql_25](https://cdn.learnku.com/uploads/images/201912/21/32495/avhSyrSOim.png!large)
## 18、后记
```html
my.ini //windows操作系统下的配置文件
my.cnf //linux操作系统下的配置文件
mysqld //是后台守护进程,即mysql daemon
mysql //是客户端命令行
```
@@ -0,0 +1,37 @@
##### 拉流RTMP
OpenCV
<div class="rich-link-card-container" style="width:600px"><a class="rich-link-card" href="https://blog.csdn.net/qq_44942565/article/details/124511323" target="_blank">
<div class="rich-link-image-container">
<div class="rich-link-image" style="background-image: url('https://g.csdnimg.cn/static/logo/favicon32.ico')">
</div>
</div>
<div class="rich-link-card-text">
<h1 class="rich-link-card-title"> python opencv拉rtmp流</h1>
<p class="rich-link-card-description">
OBS推流 rtmp服务器(docker python opencv拉流
</p>
<p class="rich-link-href">
https://blog.csdn.net/qq_44942565/article/details/124511323
</p>
</div>
</a></div>
##### RTMP推流
OpenCV + ffmpeg
<div class="rich-link-card-container" style="width:600px">
<a class="rich-link-card" href="https://blog.csdn.net/Mind_programmonkey/article/details/102732555" target="_blank">
<div class="rich-link-image-container">
<div class="rich-link-image" style="background-image: url('https://g.csdnimg.cn/static/logo/favicon32.ico')"></div>
</div>
<div class="rich-link-card-text">
<h1 class="rich-link-card-title">Python实现推流直播</h1>
<p class="rich-link-card-description">
Python实现推流直播首先给出展示结果,大体就是检测工业板子是否出现。采取检测的方法比较简单,用的OpenCV的模板检测。大体思路opencv读取视频将视频分割为帧对每一帧进行处理(opencv模板匹配)在将此帧写入pipe管道利用ffmpeg进行推流直播中间遇到的问题在处理本地视频时,并没有延时卡顿的情况。但对实时视频流的时候,出现了卡顿延时的效果。在一顿度娘操作之后,...
</p>
<p class="rich-link-href">
https://blog.csdn.net/Mind_programmonkey/article/details/102732555
</p>
</div>
</a>
</div>
@@ -0,0 +1,29 @@
```console
docker create --name some-moodle \
-p 8080:8080 -p 8443:8443 \
--env MOODLE_DATABASE_TYPE=mysqli \
--env MOODLE_DATABASE_HOST=192.168.3.212 \
--env MOODLE_DATABASE_PORT_NUMBER=3306 \
--env MOODLE_DATABASE_NAME=moodle \
--env MOODLE_DATABASE_USER=root \
--env MOODLE_DATABASE_PASSWORD=GDcyy@123 \
--env ALLOW_EMPTY_PASSWORD=yes \
--volume /data/moodle_data:/bitnami/moodle \
bitnami/moodle:latest
```
```
docker create --name moodle \
--env ALLOW_EMPTY_PASSWORD=no \
--env MOODLE_DATABASE_USER=moodle_user \
--env MOODLE_DATABASE_PASSWORD=GDcyy@123 \
--env MOODLE_DATABASE_NAME=moodle \
--env MOODLE_DATABASE_HOST=192.168.3.212 \
--env MOODLE_DATABASE_TYPE=mysqli \
--env MOODLE_HOST=moodle.cyysvc.com \
--network svcnet \
--volume moodle_data:/bitnami/moodle \
--volume moodledata_data:/bitnami/moodledata \
bitnami/moodle:latest
```
@@ -0,0 +1,65 @@
```
docker create --name docker_mysql -e MYSQL_ROOT_PASSWORD=Pureblood001 \
--network=bgsvc_network --ip=10.1.100.110 \
-e MYSQL_DATABASE=assistant_db \
-e MYSQL_USER=assistant_dber \
-e MYSQL_PASSWORD=Pureblood001 \
-p 3306:3306 \
-v /Users/gao/Workspace/docker_ws/mysql/conf:/etc/mysql/conf.d \
-v /Users/gao/Workspace/docker_ws/mysql/data:/var/lib/mysql \
mysql:latest \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
```
```
docker network create --driver bridge --subnet=10.1.100.0/24 --gateway=10.1.100.1 bgsvc_network
```
```
docker create --name docker_redis \
--network=bgsvc_network --ip=10.1.100.120 \
-v /Users/gao/Workspace/docker_ws/redis/data:/data \
-v /Users/gao/Workspace/docker_ws/redis/conf:/usr/local/etc/redis \
-p 6379:6379 \
redis:latest
```
```
docker create --name assistant_svr \
--network=bgsvc_network --ip=10.1.100.130 \
registry.cn-guangzhou.aliyuncs.com/space_ship/assistant_server:latest
```
```
[
{
"Name": "svcnet",
"Id": "168942da1295af6289cb618652e629797d467df7ccd3b287b9433e6aa711bab0",
"Created": "2024-04-22T17:01:04.672365314+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.16.100.0/24",
"Gateway": "172.16.100.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
```
@@ -0,0 +1,8 @@
```bash
docker create --name gitlab-postgresql \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=password' \
--env 'DB_EXTENSION=pg_trgm,btree_gist' \
--volume /data/gitlab_postgres_data:/var/lib/postgresql \
-p5432:5432 sameersbn/postgresql:12-20200524
```
@@ -0,0 +1,13 @@
```
docker create --name ghost \
-e NODE_ENV=production \
-e url=https://ghost.gdcyy.com.cn \
-e database__client=mysql \
-e database__connection__host=192.168.3.212 \
-e database__connection__user=root \
-e database__connection__password=GDcyy@123 \
-e database__connection__database=ghost_db \
-p 2368:2368 \
-v /data/ghost/data:/var/lib/ghost/content \
ghost:5.27.0-alpine
```
@@ -0,0 +1,12 @@
```
docker create --name nas-minio \
--publish 9000:9000 \
--publish 9001:9001 \
--env MINIO_ROOT_USER="kyugao" \
--env MINIO_ROOT_PASSWORD="Pureblood001" \
--volume /var/services/homes/kyugao/minio_home:/data \
--network=fixbridge --ip=172.16.0.4 \
bitnami/minio:latest
```
@@ -0,0 +1,14 @@
```
docker create --name nas-gitea -e APP_NAME="爱德姆不喜欢喝咖啡" \
--network=fixbridge --ip=172.16.0.4 \
-e RUN_MODE=prod \
-e DB_TYPE=mysql \
-e DB_HOST=nas-mysql:3306 \
-e DB_NAME=gitea_db \
-e DB_USER=gitea_user \
-e DB_PASSWD=pureblood \
-v /volume1/docker/gitea_home/data:/data \
-p 0.0.0.0:3000:3000 \
-p 0.0.0.0:2222:22 \
gitea/gitea:latest
```
@@ -0,0 +1,7 @@
![[docker启动minio]]
![[docker 启动gitea]]
![[Mysql docker部署总结]]
![[PostgreSql docker部署]]
@@ -0,0 +1,8 @@
```bash
$ docker create --name showdoc --user=root \
--privileged=true \
--net svcnet \
--add-host=api.openai.com:192.168.5.186 \
-v /home/showdoc_data/html:/var/www/html/ star7th/showdoc
```
@@ -0,0 +1,8 @@
* secret
manager节点保持状态的一致是通过Raft Database分布式存储的数据库。
secret 存在swarm manager 节点raft database里面;
secret 可以assign给一个service,这个service就能看到这个secret
在container内部secret看起来像文件,但是实际是在内存中。
* config
在集群环境中配置文件的分发,可以通过将配置文件放入镜像中、设置环境变量、挂载volume、挂载目录的方式,当然也可以通过 docker config 来管理集群中的配置文件,这样的方式也更加通用。
* volume
@@ -0,0 +1,11 @@
Container:一个便利的容器Widget,可以设置Widget的背景、尺寸、定位。
Row:在水平方向上布置子窗口Widget列表。
Column:在垂直方向上布置子窗口Widge列表。
Image:显示图像的Widget
Text:单一样式的文本。
Icon:符合Material Design设计规范的图标
RaisedButton:符合Material Design设计规范的凸起按钮。
Scaffold:实现Basics 的Material Design布局结构。
AppbarMaterial Design的应用栏。
FlutterLogo:以Widget形式来展示一个Flutter图标,可以调整样式。
Placeholder:绘制一个框,为将来添加的Widget的占位。
@@ -0,0 +1,7 @@
[[无状态widget]]
[[有状态widget]],通过[[state]]来保存和管理widget的状态。
[[组件的类别]]
![[根Widget]]
[[基础组件-basic widget]]
@@ -0,0 +1,11 @@
widget状态的生命周期方法
|name|desc|
|:----|:----|
|initState| create之后被insert到渲染树时调用的,只会调用一次|
|didChangeDependencies| state依赖的对象发生变化时调用|
|didUpdateWidget| Widget状态改变时候调用,可能会调用多次|
|build| 构建Widget时调用|
|deactivate| 当移除渲染树的时调用|
|dispose| Widget即将销毁时调用|
@@ -0,0 +1,4 @@
每一个APP最底层,最基础的一个widget。如:
- WidgetsApp: 如果需要自定义风格,可以使用WidgetsApp。
- MaterialAppMaterial Design风格的Widget。
- CupertinoApp iOS风格的根Widget。
@@ -0,0 +1,13 @@
[[Basics]]:在构建第一个Flutter应用程序之前,需要知道的Basics Widget。
Material ComponentsMaterial Design风格的Widget。
CupertinoiOS风格的Widget。
Accessibility:辅助功能Widget。
Animation and Motion:动画和动作Widget。
AsyncFlutter应用程序的异步Widget。
Input:除了在Material Components和Cupertino中的输入Widget外,还可以接受用户输入的Widget。
Interaction Models:响应触摸事件并将用户路由到不同的视图中。
Layout:用于布局的Widget。
Painting and effects:不改变布局、大小、位置的情况下为子Widget应用视觉效果。
Scrolling:滚动相关的Widget。
Styling:主题、填充相关Widget。
Text:显示文本和文本样式。
@@ -0,0 +1,15 @@
区别在于 jar包在参数前,还是参数后
```
java -jar blade-auth.jar --spring.cloud.nacos.discovery.server-addr=${nacos_addr} \
--spring.cloud.nacos.config.server-addr=${nacos_addr} \
--spring.cloud.nacos.discovery.namespace=${namespace} \
--spring.cloud.nacos.config.namespace=${namespace}
```
```
java -jar -Dspring.cloud.nacos.discovery.server-addr=${nacos_addr} \
-Dspring.cloud.nacos.config.server-addr=${nacos_addr} \
-Dspring.cloud.nacos.discovery.namespace=${namespace} \
-Dspring.cloud.nacos.config.namespace=${namespace} blade-user.jar
```
@@ -0,0 +1,4 @@
```
kubectl expose service -n ctrl-center nacos-headless --name=nacos-9848 --type=ClusterIP --external-ip=192.168.3.224 --port=9848
```
支持pod (po), service (svc), replicationcontroller (rc), deployment (deploy), replicaset (rs)
@@ -0,0 +1,22 @@
# kubectl返回很慢
metrics-server一堆报错 日志里有cni的报错
删除metrics-server的pod 重启一下。
恢复正常日志也不在报错了
# kubectl命令失效
报错 the server is currently unable to handle the request (get nodes.metrics.k8s.io)
需要在apiserver里加入--enable-aggregator-routing=true
修改/etc/kubernetes/manifests/kube-apiserver.yaml文件 假如该配置之后 apiserver会自动删除 重启
# 节点NotReady
是因为kubelet服务与kube-apiserver没有正常通信,需要检查kube-apiserverkubelet服务是否正常。
# 节点SchedulingDisabled
是因为节点被隔离,需要uncordon节点
```bash
$ systemctl restart kubelet
$ kubectl uncordon k8s-node2
```
@@ -0,0 +1,2 @@
# 节点被标记为“none”
https://blog.csdn.net/total0/article/details/135407409
@@ -0,0 +1,20 @@
安装方式:一键安装
1. 安装choerodon-platform和choerodon-message时,初始化数据库,需要非常非常非常长的时间,因此安装程会给出错误信息,"lost connection to pod",这个没有关系,是安装程序的一个重试机制。在数据库初始化完成后,会继续后面的安装的。
2. GITLAB安装,如果一不小心需要重来,GITLAB就无法安装通过,即使删掉release也是一样,这里要清掉与GITLAB有关的PVC的内容,找到pvc对应的目录,进去后rm -rf **
3. GITLAB安装,如果gitlab-core启动不起来,报错如:“# permission denied to create extension "btree_gist“,此时,可以通过edit statefulset添加一条环境变量来解决:
1. env DB_EXTENSION=pg_trgm,btree_gist
4. Nexus制品库与choerodon关联,一键安装完成后,需要手动初始化一些脚本,可以通过平台级别的任务手动触发。任务名:“Nexus默认服务初始化”,程序:"prod-repo-service",成功初始化后,可以在nexus管理后台,System->API->运行Script下的GET /v1/scripts看到返回结果。
5. 在安装完choerodon-platform后,会执行一个任务create-gitlab-client,安装程序里的任务执行失败,因为一个sql出错。这里自己去数据库insert一条,后重新执行安装程序,可以通过。
INFO[0111] choerodon-platform performs the necessary post operations
INFO[0111] Executing task create-gitlab-client of choerodon-platform
6. GITLAB-SERVICE的安装,需要读取gitlab-database的用户名与密码,可是怎么试都不行,于是,修改configMap c7n-logs的status为succeed,跳过gitlab-service,之后查找分部安装gitlab-service的方法手动安装吧。
7. code-repo-service对gitlab-service有依赖
8. gitlab runner token获取路径:设置->Overview->Runners
9. gitlab-database重启,卡在initializing datadir… ,导致gitlab服务启动不了。每次gitlab-database启动的时候,会对data目录,进行一次chmod -R,如果目录下有比较多的文件,这里运行的时间较长,因此改了 statefulset的liveness delay 时间到300s最大,让k8s不要那么快就检查重启。
10. gitlab-database重启,在执行过程中因为权限问题中止,进入gitlab-database容器,查看目录的权限/var/lib/postgresql,应该是777
```
sed: can't read /var/lib/postgresql/12/main/postgresql.conf: Permission denied
‣ Setting postgresql.conf parameter: data_directory = '/var/lib/postgresql/12/main'
sed: can't read /var/lib/postgresql/12/main/postgresql.conf: Permission denied
```
11. 创建应用工作流,发现在应用列表里没有代码库,结果是因为猪齿鱼需要判断代码库里有master分支。
@@ -0,0 +1,5 @@
[参考资料 I](https://www.cnblogs.com/cuipengchong/p/16181047.html)
[参考资料 II](https://www.cnblogs.com/Andya/p/12402844.html)
思路
![思路](http://thoughts.taotechip.com/uPic/ga7674.jpg)
@@ -0,0 +1,17 @@
<div class="rich-link-card-container"><a class="rich-link-card" href="https://blog.csdn.net/weixin_49345590/article/details/112273851" target="_blank">
<div class="rich-link-image-container">
<div class="rich-link-image" style="background-image: url('https://g.csdnimg.cn/static/logo/favicon32.ico')">
</div>
</div>
<div class="rich-link-card-text">
<h1 class="rich-link-card-title">python基础进阶:线程间协作 lockconditionevent的使用_49.99%的博客-CSDN博客</h1>
<p class="rich-link-card-description">
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理本文章来自腾讯云 作者:我是李超人想要学习Python?有问题得不到第一时间解决?来看看这里“1039649593”满足你的需求,资料都已经上传至文件中,可以自行下载!还有海量最新2020python学习资料。点击查看多线程并发时会出现线程安全问题,如果不解决线程并发安全问题可能会让程序出现不可预料的情况。python提供了一些工具包来解决多线程安全问题,下面介绍其中常见的工具。
</p>
<p class="rich-link-href">
https://blog.csdn.net/weixin_49345590/article/details/112273851
</p>
</div>
</a></div>
@@ -0,0 +1,11 @@
---
title: 《阿里巴巴JAVA开发手册》读书笔记
type: collection
category: bookNotes
tags: bookNotes
ref-link: https://github.com/alibaba/p3c
---
```
annotation-target:: http://thoughts.taotechip.com/uPic/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E5%B5%A9%E5%B1%B1%E7%89%88%EF%BC%89.pdf
```
@@ -0,0 +1,7 @@
AI模型
1. 口罩识别(安全作业,疫情监控)
2. 人像、对象识别(图像范围内对象类型,数量判断是否拥挤)
3.
逐帧图像分析
@@ -0,0 +1 @@
sudo synoservicecfg --reload nginx
@@ -0,0 +1,6 @@
# 阿里系列DDD讲解文章
[https://zhuanlan.zhihu.com/p/340911587](https://zhuanlan.zhihu.com/p/340911587)
[https://zhuanlan.zhihu.com/p/343388831](https://zhuanlan.zhihu.com/p/343388831)
[https://zhuanlan.zhihu.com/p/348706530](https://zhuanlan.zhihu.com/p/348706530)
[https://zhuanlan.zhihu.com/p/356518017](https://zhuanlan.zhihu.com/p/356518017)
[https://zhuanlan.zhihu.com/p/366395817](https://zhuanlan.zhihu.com/p/366395817)