IntelliJ IDEA (WebStorm) 识别 @ 作为别名进行导包
配置前
@ 导包的类无法点击跳转,也不识别
配置
在项目根目录添加配置文件 webpack.config.js
1 | /** |
然后,在 idea 的 preference -> language & frameworks -> javascript -> webpack 路径到更目录下的webpack.config.js
完成
@ 导包的类无法点击跳转,也不识别
在项目根目录添加配置文件 webpack.config.js
1 | /** |
然后,在 idea 的 preference -> language & frameworks -> javascript -> webpack 路径到更目录下的webpack.config.js
完成
因为官网已经提供的编译好的 exe 包,双击运行就会解压到特定的目录了,除此之外官网还提供了 ios 版和 安卓版
这里着重记录下 CentOS , Ubuntu 和 Mac OS 下的安装,因为官网没有提供编译好的包
1 | brew install python3 |
1 | mkdir ~/opencv4 |
1 | -- OpenCV modules: |
yum 上安装的版本太低,先卸载掉版本低的,yum remove cmake
cd /opt
tar zxvf cmake-3.10.2-Linux-x86_64.tar.gz
vim /etc/profile
export CMAKE_HOME=/opt/cmake-3.10.2-Linux-x86_64
export PATH=$PATH:$CMAKE_HOME/bin
source /etc/profile
1 | Java: |
需要 ant 环境,安装后即可, java 即可进行调用
1 | dependencies { |
mac os 下路径为: -Djava.library.path=/Users/joylau/opencv4/installation/OpenCV-master/share/java/opencv4
1 | @SpringBootApplication |
1 | private static void testFace() { |
注: 图片来自微博
1 | private static void testContours() { |
1 | /** |
使用 docker stack 部署一组服务时,docker 会根据集群的每个节点的资源的情况来进行分配,作为使用者无法参与其中的分配,该怎么解决呢?
replicated
默认模式,可自定义服务的副本数,此模式不能决定服务部署到哪个节点上1 | deploy: |
global
定义每个节点均部署一个服务的副本1 | deploy: |
该方法是通过给节点添加标签,然后在 yaml 文件里通过配置标签来决定服务部署到哪些节点
1 | docker service create \ |
1 | deploy: |
constraints 填写多个时,它们之间的关系是 AND;constraints 可以匹配 node 标签和 engine 标签
例如
1 | deploy: |
1 | deploy: |
docker-machine create -d virtualbox worker
docker-machine ssh worker
docker swarm init --advertise-addr 34.0.7.183
1 | docker swarm join --token SWMTKN-1-1o1yfsquxasw7c7ah4t7lmd4i89i62u74tutzhtcbgb7wx6csc-1hf4tjv9oz9vpo937955mi0z2 34.0.7.183:2377 |
如果说忘了集群管理节点的 token, 可以使用 docker swarm join-token work/manage
来查看加入该集群的命令
docker node list
单服务部署 docker service create --name nginx -p 80:80 --replaces 4 containAddress
上述命令部署了4个 nginx 服务,如果集群有2台主机的话,会在每台主机上部署 2 个服务
多服务部署, 使用 yml 配置文件,具体语法参看 https://docs.docker.com/compose/compose-file/
docker swarm init 初始化集群
docker swarm join-token worker 查看工作节点的 token
docker swarm join-token manager 查看管理节点的 token
docker swarm join 加入集群中
docker stack deploy 部署新的服务或更新现有服务
docker stack ls 列出现有服务
docker stack ps 列出服务中的任务
docker stack rm 删除服务
docker stack services 列出服务中的具体项
docker stack down 移除某个服务(不会删除数据)
docker node ls 查看所有集群节点
docker node rm 删除某个节点(-f强制删除)
docker node inspect 查看节点详情
docker node demote 节点降级,由管理节点降级为工作节点
docker node promote 节点升级,由工作节点升级为管理节点
docker node update 更新节点
docker node ps 查看节点中的 Task 任务
docker service create 部署服务
docker service inspect 查看服务详情
docker service logs 产看某个服务日志
docker service ls 查看所有服务详情
docker service rm 删除某个服务(-f强制删除)
docker service scale 设置某个服务个数
docker service update 更新某个服务
docker-machine create 创建一个 Docker 主机(常用-d virtualbox)
docker-machine ls 查看所有的 Docker 主机
docker-machine ssh SSH 到主机上执行命令
docker-machine env 显示连接到某个主机需要的环境变量
docker-machine inspect 输出主机更多信息
docker-machine kill 停止某个主机
docker-machine restart 重启某台主机
docker-machine rm 删除某台主机
docker-machine scp 在主机之间复制文件
docker-machine start 启动一个主机
docker-machine status 查看主机状态
docker-machine stop 停止一个主机
portainer : 很强大的工具,可以监控本机和远程服务器或者集群环境,远程 docker 主机的话需要远程 docker 主机开启在 2375 端口的服务
https://www.portainer.io/installation/
1 | version: '3' |
@Valid
和 @Validated
注解都用于字段校验@Valid
所属包为:javax.validation.Valid
; @Validated
所属包为 org.springframework.validation.annotation.Validated
@Validated
是 @Valid
的一次封装,是Spring提供的校验机制使用。@Valid
不提供分组功能当一个实体类需要多种验证方式时,例:对于一个实体类的id来说,新增的时候是不需要的,对于更新时是必须的
1 | public class Attachment { |
单独对 groups
进行校验
1 | /** |
1 | @RequestMapping("/addPeople") |
因为一些不正确的操作,导致容器的状态变成了 dead
1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
这类的容器删除时会报错
1 | # docker rm c21c993c5107 |
找到 filesystem 后面的字符串
1 | # grep c21c993c51073f41653aa7fd37dbfd232f8439ca79fd4315a410d0b41d8b0e64 /proc/*/mountinfo |
得到如下输出:
1 | /proc/28032/mountinfo:973 957 0:164 / /var/lib/docker/containers/c21c993c51073f41653aa7fd37dbfd232f8439ca79fd4315a410d0b41d8b0e64/shm rw,nosuid,nodev,noexec,relatime shared:189 - tmpfs shm rw,size=65536k |
proc 和 mountinfo 中间的数字将其 kill 掉即可
写一个批量处理的脚本列出所有的 pid
1 | grep c21c993c51073f41653aa7fd37dbfd232f8439ca79fd4315a410d0b41d8b0e64 /proc/*/mountinfo | awk '{print substr($1,7,5)}' |
再 kill 掉
1 | grep c21c993c51073f41653aa7fd37dbfd232f8439ca79fd4315a410d0b41d8b0e64 /proc/*/mountinfo | awk '{print substr($1,7,5)}' | xargs kill -9 |
print 是awk打印指定内容的主要命令
$0 表示整个当前行
$1 每行第一个字段,每个字段以空格隔开
substr($1,7,5) 每行第一个字段,第7个字符开始,截取5个字符
然后在 docker rm container
完美解决.
下面一段文字用 ik 进行分词
http://34.0.7.184:9200/_analyze/ POST
1 | { |
分词结果
1 | { |
这个时候如果配置的 analyzer 为 ik_smart 或者 analyzer 和 search_analyzer 都为 ik_smart, 则短语中每一个字都能搜到结果,还可以设置高亮信息来着重看一下
如果配置的 analyzer 为 ik search_analyzer 为 standard ,则 通知
,说明
,七号
这样的词是搜不到的,而 线
和 的
这样的词可以搜到,理解一下
http://34.0.7.184:9200/attachment_libs/_search POST
1 | { |
返回的结果为:
1 | { |
而搜索 线
返回的结果为:
1 | { |
1 | PRIVATE_REPO=34.0.7.183:5000 |
1 | version: '2.2' |
vm.max_map_count
数目的设置1 | #!/usr/bin/env bash |