Spring事务
声明式事务
回顾事务
- 把一组业务当成一个业务来做‘要么都成功,要么都失败
- 事务在项目开发中,十分的重要,涉及到数据的一致性问题,不能马虎!
- 确保完整性和一致性;
事务ACID原则:
- 原子性
- 一致性
- 隔离性:多个业务可能操作同一个资源,防止数据损坏
- 持久性:事务一旦提交,无论系统发生什么问题,结果都不会再被影响,被持久化的写到存储器中。
事务ACID原则:
步骤:
导入相关jar包
@Resource和@Autowired的区别:
所谓自动装配就是如果在beans.xml中,需要set值的对象的属性是对象,那么原来手动去ref这个值,变为通过ByName
或ByType
的方式去set。
最近的汉语预处理模型忽略了汉语特有的两个重要方面:字形和拼音,它们为语言理解提供了重要的句法和语义信息。在这项工作中,我们提出了汉语拼音方案,该方案将汉字的字形和拼音信息结合到语言模型预处理中。
glyph嵌入是基于汉字的不同字体获得的,能够从视觉特征中捕捉字符语义,拼音嵌入表征了汉字的发音,处理了汉语中高度普遍的异音现象(同一个字有不同的发音,不同的意思)。在大规模未标记的中文语料库上进行预处理后,所提出的中文Bert模型比具有更少训练步骤的基线模型具有显著的性能提升。该模型在广泛的中文自然语言处理任务上取得了新的SOTA性能,包括机器阅读理解、自然语言推理、文本分类、句子对匹配,以及命名实体识别和分词方面的竞争性能。
在不同的书写系统中,字符的组合性在字符层面上也有影响:一个字符的意义是由它的各个部分的总和派生出来的。在本文中,其通过基于字符的视觉特征创建字符嵌入,为字符创建图像,并通过卷积神经网络生成视觉字符特征来模拟这种效果。
1 | mkdir static_web |
这个目录是构建环境,docker称此环境为上下文。
文件内容如下:
1 | # Version: 0.0.1 FROM ubuntu:20.04 |
1 | docker build -t="lrr01/static_web" . |
运行成功如下所示:
在构建时为镜像设置标签
使用方法为“镜像名:标签”
1 | docker build -t="lrr01/static_web:v1" . |
命令中的.
是告诉Docker在当前目录去找Dockerfile文件,也可以指定git仓库的地址来指定Dockerfile的位置。
在docker build
的过程中,会将构建上下文传到Docker守护进程,如下所示。
如在上下文的根目录存在.dockerignore文件,则将按行读取该文件,其内容用于设置哪些文件不会被当作构建下文的一部分,可以防止其上传到docker守护进程中。
注意到每一步的构建过程都会将结果提交为镜像,并有一个镜像ID,如a92d18546651
。docker会将每一步的镜像看为缓存,若第5步构建发生错误时,会直接从第4步开始。当之前的构建步骤没有变化时,可以节省时间。如在第1步到第3步之间做了修改,Docker会从有变化的指令开始。
若,确保构建过程不会使用缓存,可以使用docker build
的 --no-cache
参数。
1 | docker build --no-cache -t="lrr01/static_web:v1" . |
使用 docker images
命令来查看新构建的镜像。
使用docker history
,可以查看镜像是如何构建出来的,如下所示:
1 | docker history 7682ea492fec |
1 | docker run -d -p 80 --name static_web lrr01/static_web nginx -g "daemon off;" |
使用 docker run
命令,用 刚才构建的镜像的名字,启动一个名为 static_web 的新容器。
用-d
选项,告诉docker以分离(detached)的方式在后台运行,比较适合运行类似Nginx守护进程这样的需要长时间运行的进程。
也指定了需要在容器中运行的命令:nginx -g "daemon off;"
。这将以前台运行的方式启动Nginx,作为web服务器。
-p
用来控制Docker在运行时应该公开哪些网络端口给外部。运行容器时,Docker可以通过两种方式来在宿主机上分配端口
docker run
命令将在docker宿主机上随机打开一个端口,这个端口会连接到容器中的80端口。
使用docker ps
查看容器端口分配情况:
可以看到容器中的80端口,被映射到宿主机的49153端口。
也可以通过docker port 容器ID/容器名
来查看容器的端口映射情况:
通过-p选项映射到特定的端口
-p 80:80
:会将容器内的80端口绑定到本地宿主机的80端口
-p 127.0.0.1:80:80
:将容器内的80端口绑定到本地宿主机的127.0.0.1
这个IP的80端口。我们也可以将容器内的80端口绑定到一个宿主机的随机端口上
docker run -d -p 80:80 --name static_web lrr01/static_web nginx -g "daemon off;"
通过-P参数对外公开端口
其可以公开在Dockerfile中通过EXPOSE
指令公开的所有端口
1 | docker run -d -P --name static_web lrr01/static_web nginx -g "daemon off;" |
其会将容器内的80端口对本地宿主机公开,并且绑定到宿主机的一个随机端口上。
有了这个端口号,就可以使用本地宿主机的IP地址的IP地址或者127.0.0.1的localhost,查看Web服务器的内容。
创建一个要进行修改的容器
1 | docker run -t -i ufoym/deepo:pytorch-py36-cu100 /bin/bash |
安装pqi pip换源工具
1 | pip install pqi |
如何使用 百度pip pqi
安装指定版本pytorch
1 | pip install torch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 |