测试环境swarm安装部署

部署前增加监听docker2375端口

centos 增加tcp监听端口

修改/lib/systemd/system/docker.service sed -i ‘s/ExecStart=.*/ExecStart=\/usr\/bin\/dockerd -H unix\:\/\/\/var\/run\/docker.sock -D -H tcp\:\/\/0.0.0.0\:2375/g‘ /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd

修改为

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 --insecure-registry 172.28.2.2:4000

ubuntu 16.04

检查

docker -H 127.0.0.1:2375 images

配置

service docker stop

vim /etc/default/docker

DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375 --insecure-registry 172.28.2.2:4000 --storage-driver=aufs"

vim /lib/systemd/system/docker.service

[Service]

Type=notify

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker

EnvironmentFile=-/etc/default/docker

ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS

ExecReload=/bin/kill -s HUP $MAINPID

systemctl daemon-reload

service docker restart

docker info 查看

echo "nameserver 202.96.199.133" >> /etc/resolv.conf

docker pull swarm

1、docker swarm init --advertise-addr 21.1.7.1

Swarm initialized: current node (8ibltkyaaokbc74rtxrjzw4u7) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join \

--token SWMTKN-1-0wpx9adiq0rtm3i4wnojmpsi2sxrdu3j631lywwf0imq7p93m0-1j4gjmk51kv7boicmsasl6lyo \

21.1.7.1:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

2、节点加入

执行上述红色字体命令

docker node ls

3、节点删除

docker swarm leave --help           //查看帮助

docker swarm leave --force

4、节点离线:再次修改为active状态(及将下线的节点再次上线)

docker node update --availability drain node1

上线

docker node update --availability drain node1

---部署可视化界面

manager-node节点(182.48.115.237)

docker pull progrium/consul

docker pull rethinkdb

docker pull shipyard/shipyard

##docker pull dockerclub/shipyard

docker pull gliderlabs/registrator

node1和node2节点上

docker pull progrium/consul

docker pull gliderlabs/registrator

2)启动consul

manager-node节点 21.1.7.1

docker run -d -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53 -p 8600:53/udp -h manager-node --restart=always --name=consul progrium/consul -server -bootstrap -ui-dir=/ui -advertise 21.1.7.1 -client 0.0.0.0

删除consule命令(下面命令中的"consul"是启动consul命令中的--name后面的设置名)

# docker rm -f consul

node-pc2节点(21.1.7.2)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc2 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.7.2 -client 0.0.0.0

node-pc3节点(21.1.7.3)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc3 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.7.3 -client 0.0.0.0

3)安装Swarm+Shipyard

###英文版手动安装步骤,使用英文版安装,安装后,参考测试部定制shipyard 中文静态插件,进行汉化

manager-node节点(21.1.7.1)

docker run -d --restart=always --name shipyard-rethinkdb -p 18080:8080 rethinkdb

docker run -d -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://21.1.7.1:8500

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.7.1:2375 consul://21.1.7.1:8500

pc2节点(21.1.7.2)

[root@node1 ~]# docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.7.2:2375 consul://21.1.7.1:8500

若使用docker-machine安装的docker,使用了TLS验证,则通过下述命令创建manager-node he agent容器

##docker run -d --restart=always --name shipyard-rethinkdb -p 18080:8080 rethinkdb

docker run -d -p 3376:3376 --restart=always -v /root/.docker/machine/certs:/certs:ro --name shipyard-swarm-manager2 swarm:latest manage --tlsverify --tlscacert=/certs/ca.pem --tlscert=/certs/cert.pem --tlskey=/certs/key.pem --host tcp://0.0.0.0:3376 consul://21.1.7.1:8500

docker run -d --restart=always -v /etc/docker:/certs:ro --name shipyard-swarm-agent swarm:latest join --addr=21.1.8.3:2375 --discovery-opt kv.cacertfile=/certs/ca.pem --discovery-opt kv.certfile=/certs/server.pem --discovery-opt kv.keyfile=/certs/server-key.pem consul://21.1.7.1:8500

可通过命令查看证书位置

ps aux | grep docker

https://docs.docker.com/swarm/discovery/#use-tls-with-distributed-keyvalue-discovery

swarm join \ --advertise=<node_ip:2375> \ --discovery-opt kv.cacertfile=/path/to/mycacert.pem \ --discovery-opt kv.certfile=/path/to/mycert.pem \ --discovery-opt kv.keyfile=/path/to/mykey.pem \ consul://<consul_addr>/<optional path prefix>

node2节点(21.1.9.1)

[root@node2 ~]# docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.9.1:2375 consul://21.1.7.1:8500

接着再回到manager-node节点上如下操作

docker run -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 shipyard/shipyard:latest    server -d tcp://swarm:3375

若8080被占用,可通过下述方式删除相关进程,或修改上述8080端口

netstat -tlnp | grep 8080

tcp6 0 0 :::8080 :::* LISTEN 2123/java

tcp6 0 0 :::18080 :::* LISTEN 21350/docker-proxy

kill -9 2123

---------------------------------------------------

##中文版手动安装步骤(使用consule):中文版本较旧,不支持仓库v2,不执行

docker pull dockerclub/shipyard:latest

docker run -d --restart=always --name shipyard-rethinkdb -p 18080:8080 rethinkdb

docker run -d -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://21.1.7.1:8500

node1节点(21.1.8.3)

[root@node1 ~]# docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.8.3:2375 consul://21.1.7.1:8500

node2节点(21.1.9.1)

[root@node2 ~]# docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.9.1:2375 consul://21.1.7.1:8500

接着再回到manager-node节点上如下操作

docker run -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 dockerclub/shipyard:latest    server -d tcp://swarm:3375

###中文版deploy安装步骤(未使用consule,发现使用的为microbox/etcd:latest,端口4001):

1.修改为下载中文镜像 wget https://shipyard-project.com/deploy grep -n shipyard:latest deploy sed -i 's/shipyard\/shipyard:latest/dockerclub\/shipyard:latest/g' deploy

镜像名

##docker pull dockerclub/shipyard:latest

2.修改端口 #确保8080端口没有被使用,否则要修改脚本 yum install -y net-tools netstat -tlnp | grep 8080 #修改脚本 grep -n 'PORT:-8080' deploy SHIPYARD_PORT=${PORT:-8080} 修改为 SHIPYARD_PORT=${PORT:-指定端口} #列 sed 's/PORT:-8080/PORT:-8090/g' deploy | grep "PORT:-8090"

c.安装与删除

#安装 sh deploy #删除 cat deploy | ACTION=remove bash

d.访问shipyard

浏览器输入:http://主机IP:8080 账号:admin 密码:shipyard

#添加节点 curl https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://主服务器IP:4001 bash

查看节点是否添加成功

4registrator状态获取

manager-node节点(21.1.7.1)

[root@manager-node ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.7.1 consul://21.1.7.1:8500

node1节点(21.1.7.2)

[root@node1 ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.7.2 consul://21.1.7.1:8500

node2节点(21.1.7.3)

[root@node2 ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.7.3 consul://21.1.7.1:8500

参数解释:

-v /var/run/docker.sock:/tmp/docker.sock     映射docker的socket到container中的对应位置, 这样 registration 就能监控有哪些服务启动了.

consul://localhost:8500 consul 绑定到本地的 consul 接口上

-----------------------------------------

-----------------------------------------

5)总结节点执行步骤:

1 加入节点

docker swarm join \

--token SWMTKN-1-0wpx9adiq0rtm3i4wnojmpsi2sxrdu3j631lywwf0imq7p93m0-1j4gjmk51kv7boicmsasl6lyo \

21.1.7.1:2377

docker pull progrium/consul

docker pull gliderlabs/registrator

docker pull swarm

2 启动consul

node-pc2节点(21.1.7.2)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc2 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.7.2 -client 0.0.0.0

node-pc3节点(21.1.7.3)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc3 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.7.3 -client 0.0.0.0

node-pc4节点(21.1.8.1)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc4 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.8.1 -client 0.0.0.0

node-pc5节点(21.1.8.2)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc5 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.8.2 -client 0.0.0.0

node-pc6节点(21.1.8.3)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc6 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.8.3 -client 0.0.0.0

node-pc7节点(21.1.9.1)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc7 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.9.1 -client 0.0.0.0

node-pc8节点(21.1.9.2)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc8 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.9.2 -client 0.0.0.0

node-pc9节点(21.1.9.3)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc9 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.9.3 -client 0.0.0.0

node-pc10节点(21.1.10.1)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc10 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.10.1 -client 0.0.0.0

node-pc11节点(21.1.10.2)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc11 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.10.2 -client 0.0.0.0

node-pc12节点(21.1.10.3)

docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node-pc12 --name=consul progrium/consul -server  -join 21.1.7.1 -advertise 21.1.10.3 -client 0.0.0.0

3创建平台agent容器

manage-node

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.7.1:2375 consul://21.1.7.1:8500

pc2

docker run -d --restart=always --name shipyard-swarm-agent-pc2 swarm:latest join --addr 21.1.7.2:2375 consul://21.1.7.1:8500

pc3

docker run -d --restart=always --name shipyard-swarm-agent-pc3 swarm:latest join --addr 21.1.7.3:2375 consul://21.1.7.1:8500

pc4

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.8.1:2375 consul://21.1.7.1:8500

pc5

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.8.2:2375 consul://21.1.7.1:8500

pc6

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.8.3:2375 consul://21.1.7.1:8500

pc7

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.9.1:2375 consul://21.1.7.1:8500

pc8

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.9.2:2375 consul://21.1.7.1:8500

pc9

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.9.3:2375 consul://21.1.7.1:8500

pc10

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.10.1:2375 consul://21.1.7.1:8500

pc11

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.10.2:2375 consul://21.1.7.1:8500

pc12

docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 21.1.10.3:2375 consul://21.1.7.1:8500

4registrator状态获取

manage-node

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.7.1 consul://21.1.7.1:8500

pc2

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.7.2 consul://21.1.7.1:8500

pc3

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.7.3 consul://21.1.7.1:8500

pc4

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.8.1 consul://21.1.7.1:8500

pc5

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.8.2 consul://21.1.7.1:8500

pc6

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.8.3 consul://21.1.7.1:8500

pc7

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.9.1 consul://21.1.7.1:8500

pc8

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.9.2 consul://21.1.7.1:8500

pc9

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.9.3 consul://21.1.7.1:8500

pc10

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.10.1 consul://21.1.7.1:8500

pc11

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.10.2 consul://21.1.7.1:8500

pc12

docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 21.1.10.3 consul://21.1.7.1:8500

页面访问

http://21.1.7.1:8080

admin / shipyard

用户全拼/Pass@word

打开http://21.1.7.1:8500,访问consul服务


https://www.cnblogs.com/ikodota/p/docker_swarm_shipyard.html

仅安装swarm和shipyard相关命令

master执行

docker swarm init --advertise-addr 172.28.2.200
docker run --rm swarm create
docker run -ti -d -p : --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:2375 token://b31e4f1643bf25ee399092217471f407
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr $(ifconfig | grep "inet addr" | grep -vE '17.0|18.0|127.0|192.' | cut -d : -f | cut -d " " -f ): token://b31e4f1643bf25ee399092217471f407

节点执行

docker swarm join --token SWMTKN--0c4bkm0n8qmeo39vgxq8d8xonlfb46j2jl5upanlxmxuhiic0j-675w8z3l97mxu19l4oz3tav5t 172.28.2.200:
docker tag 172.28.2.2:/swarm:latest swarm:latest
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr $(ifconfig | grep "inet addr" | grep -vE '17.0|18.0|127.0|192.' | cut -d : -f | cut -d " " -f ): token://b31e4f1643bf25ee399092217471f407

master执行

docker run -ti -d --restart=always --name shipyard-rethinkdb -p : -p : -p : -v /opt/rethinkdb:/data rethinkdb
docker run -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p : shipyard/shipyard server -d tcp://swarm:2375

web访问

http://172.28.2.200:8082  rethinkDB

http://172.28.2.200:8080 shipyard

shipyard汉化:https://github.com/GeekCloud-Team/shipyard_zh

shipyard_zh

shipyard 中文静态插件

用法:

.删除英文静态网页

    docker exec -it shipyard-controller  rm -rf static/app

    docker exec -it shipyard-controller  rm -f static/index.html

.下载中文静态页面

       git clone https://github.com/StarWars-Team/shipyard_zh.git

.将汉化文件拷贝到Docker 

    docker cp  shipyard_zh/static/app  shipyard-controller:/static/

    docker cp  shipyard_zh/static/index.html  shipyard-controller:/static/

.删除本地文件

    rm -rf shipyard_zh/

默认密码admin / shipyard

测试环境docker-swarm安装部署的更多相关文章

  1. 测试环境docker化(一)—基于ndp部署模式的docker基础镜像制作

    本文来自网易云社区 作者:孙婷婷 背景 我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏 ...

  2. 一个小白的测试环境docker化之路

    本文来自网易云社区 作者:叶子 学习docker搭建测试环境断断续续也有三个多月了,希望记录一下这个过程.常言道,总结过去,展望未来嘛~文章浅显,还望各位大神路过轻拍. 按照国际惯例,先说一下背景: ...

  3. 在Docker Swarm上部署Apache Storm:第2部分

    [编者按]本文来自 Baqend Tech Blog,描述了如何在 Docker Swarm,而不是在虚拟机上部署和调配Apache Storm集群.文章系国内 ITOM 管理平台 OneAPM 编译 ...

  4. 在Docker Swarm上部署Apache Storm:第1部分

    [编者按]本文来自 Baqend Tech Blog,描述了如何在 Docker Swarm,而不是在虚拟机上部署和调配Apache Storm集群.文章系国内 ITOM 管理平台 OneAPM 编译 ...

  5. 测试环境docker化—容器集群编排实践

    本文来自网易云社区 作者:孙婷婷 背景 在前文<测试环境docker化-基于ndp部署模式的docker基础镜像制作>中已经详述了docker镜像制作及模块部署的过程,按照上述做法已可以搭 ...

  6. 用Docker swarm快速部署Nebula Graph集群

    用Docker swarm快速部署Nebula Graph集群 一.前言 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群. 二.nebula集群搭建 2.1 环境准 ...

  7. 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群,并部署客户端负载均衡和高可用

    本文作者系:视野金服工程师 | 吴海胜 首发于 Nebula Graph 论坛:https://discuss.nebula-graph.com.cn/t/topic/1388 一.前言 本文介绍如何 ...

  8. Docker:安装部署RabbitMQ

    前言 今天原本想讲解SpringBoot集成RabbitMQ的,临近开始写时才发现家里的电脑根本没有安装RabbitMQ呀.这下只好利用已有的阿里云服务器,直接Docker安装一下了,顺道记录下,算是 ...

  9. Docker Swarm从部署到基本操作

    关于Docker Swarm Docker Swarm由两部分组成: Docker集群:将一个或多个Docker节点组织起来,用户就能以集群的方式进行管理: 应用编排:有一套API用来部署和管理容器: ...

  10. Docker swarm 实战-部署wordpress

    Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo 6imq8da3vcwvj2n499k ...

随机推荐

  1. JS高级---继承

    继承 面向对象编程思想: 根据需求, 分析对象, 找到对象有什么特征和行为, 通过代码的方式来实现需求, 要想实现这个需求,就要创建对象 ,要想创建对象, 就应该显示有构造函数, 然后通过构造函数来创 ...

  2. 第五十二篇 Linux相关——数据库服务MySQL

        No.1. MySQL基本操作 CentOS7默认安装mariadb数据库,先将其移除 移除命令:sudo yum -y remove mariadb-libs.x86_64 下载MySQL源 ...

  3. 1.EntityManaget的persist和merge方法的区别

    1.persist和merge的区别: Persist:添加 Merge : 分两种情况,当对象存在id,则修改:当对象不存在id则添加. 看个例子: 1 public class Account { ...

  4. argmax( )

    argmax是一种函数,是对函数求参数(集合)的函数. 当我们有另一个函数y=f(x)时,若有结果x0= argmax(f(x)),则表示当函数f(x)取x=x0的时候,得到f(x)取值范围的最大值: ...

  5. DVWA全级别之XSS(Reflected)、XSS(Stored)【跨站脚本攻击】

    XSS XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需要强 ...

  6. 1 学习wcf 编写简单的WCF服务流程 并发布在IIS上

    学习笔记 学习大佬的博客 https://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html  写一遍加深印象 图片看不清楚的 可 ...

  7. AAC huffman decoding

    在AAC编码器内部,使用huffman coding用于进一步减少scalefactor和量化频谱系数的冗余. 从individual_channel_stream层提取码流进行huffman解码,码 ...

  8. Seekbar扩大点击区域

    //扩大点击区域private void enlargeSeekBar() { mContentView.setOnTouchListener(new OnTouchListener() {//mCo ...

  9. 使用python实现冒泡、选择、插入基础排序

    冒泡排序 依次比较相邻两元素,若前一元素大于后一元素则交换之,直至最后一个元素即为最大: 然后重新从首元素开始重复同样的操作,直至倒数第二个元素即为次大元素: 依次类推.如同水中的气泡,依次将最大或最 ...

  10. 浅谈对Jquery+JSON+WebService的使用小结

    https://www.jb51.net/article/36207.htm  更新时间:2013年04月28日 12:19:55   作者:    我要评论   本篇文章介绍了对Jquery+JSO ...