test

Tungsten Fabric与K8s集成指南丨创建安全策略

风流意气都作罢 提交于 2020-03-06 05:27:06
作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建安全策略。Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识。大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系。 安全策略可以通过限制端口、网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问。在K8s集群中安全策略对应的是Network Policy,在Tungsten Fabric中安全策略对应的Firewall Rule,两者是会实时同步的。 pod之间的访问控制 安全策略的控制是全局的,跨命名空间,跨network,所以创建策略的时候要尽可能详细地指定此端到彼端的一些参数,包括端口、命名空间、IP地址段等等。 根据第二章节的信息,可以知道目前有—— 两个命名空间:test-ns1 test-ns2 三个network:k8s-ns1-pod-net01 k8s-ns1-pod-net02 k8s-ns2-pod-net01 四个pod: nginx01-ns1-net01 nginx01-ns1-net02 nginx01-ns2-net01 nginx02-ns2-net01 而k8s-ns1-pod-net01与k8s-ns1

Codeforce-Ozon Tech Challenge 2020-A. Kuroni and the Gifts

送分小仙女□ 提交于 2020-03-06 01:32:19
the i-th necklace has a brightness ai, where all the ai are pairwise distinct (i.e. all ai are different), the i-th bracelet has a brightness bi, where all the bi are pairwise distinct (i.e. all bi are different). Kuroni wants to give exactly one necklace and exactly one bracelet to each of his daughters. To make sure that all of them look unique, the total brightnesses of the gifts given to each daughter should be pairwise distinct. Formally, if the i-th daughter receives a necklace with brightness xi and a bracelet with brightness yi, then the sums xi+yi should be pairwise distinct. Help

Python之旅的第3*4天(函数闭包与装饰器)

与世无争的帅哥 提交于 2020-03-06 01:30:14
今天主要是讲了函数装饰器,真的是一个很强大的功能,总算整出来一点点贴近实际的东西,很开心,所以总结的有点晚了。 生成器的回顾: # 上节课程内容的补充,关于生成器只能运行一次的问题 # def test(): # for i in range(4): # yield i # # t = test() # t1 = (i for i in t) #此处只是产生生成器t1,不进行任何运算,并没有发生任何便利操作 # t2 = (i for i in t1) #此处只是产生生成器t1,不进行任何运算,并没有发生任何便利操作 # print(list(t1)) #此时生成器t1才开始运算遍历,此时t1生成器已经完成一次遍历,生成:[0, 1, 2, 3] # print(list(t2)) #此时t2才去调取t1生成器,但是此时生成器t1已经遍历过了,只有空,所以生成:[] #以上内容尤其要注意的是,t1和t2在被赋值的时候不进行任何运算,知道list()发生时才开始进行调用运行。 装饰器的引入: #装饰器的引入: #装饰器的定义:本质就是函数,功能是为其他函数添加附加功能 #原则:1.不修改被装饰函数源代码;2.不修改被修饰函数的调用方式 #装饰器涉及的基础知识:装饰器 = 高阶函数 + 函数嵌套 + 闭包 #测试仅用高阶函数实现功能: #功能需求,给函数增加测试运算时间的功能

索引失效

我们两清 提交于 2020-03-06 00:05:19
1.有or必全有索引; 2.复合索引未用左列字段; 3.like以%开头; 4.需要类型转换; 5.where中索引列有运算; 6.where中索引列使用了函数; 7.如果mysql觉得全表扫描更快时(数据少); 1. 索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因),例子中user_id无索引 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2 对于复合索引,如果不使用前列,后续列也将无法使用,类电话簿。 like查询是以%开头 存在索引列的数据类型隐形转换,则用不上索引,比如列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引 where 子句里对索引列上有数学运算,用不上索引 where 子句里对有索引列使用函数,用不上索引 如果mysql估计使用全表扫描要比使用索引快,则不使用索引 比如数据量极少的表 什么情况下不推荐使用索引? 数据唯一性差(一个字段的取值只有几种时)的字段不要使用索引 比如性别,只有两种可能数据。意味着索引的二叉树级别少,多是平级。这样的二叉树查找无异于全表扫描。 频繁更新的字段不要使用索引 比如logincount登录次数,频繁变化导致索引也频繁变化,增大数据库工作量,降低效率。

Gitlab持续集成-(.gitlab-ci.yml)

心已入冬 提交于 2020-03-05 23:37:19
从7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。 stages stages 用来定义可以被job调用的stages。stages的规范允许有灵活的多级pipelines。stages中元素的顺序决定了对应job的执行顺序: 相同stage的job是并行执行的; 下一个stage的job在前一个stage的job成功完成后才开始执行; 如果.gitlab-ci.yml中没有定义stages,那么stages默认定义为build、test和deploy; 如果一个job没有指定stage,那么这个任务会分配到test stage。 variables variables 用来定义变量,全局变量作用于所有job,也可以在指定的job中定义变量(优先级高于全局变量) 如果在job中想禁用全局定义的变量,可通过 variables: {} 定义一个空的哈希值。 GitLab CI/CD内置变量 variables 变量值 CI_JOB_NAME 对应的job_name GIT_STRATEGY 指定git获取代码的方式(clone,fetch,none) jobs jobs 用来定义了一组作业,其中必须包含 script 语句。 job.stage(默认: test )

test

做~自己de王妃 提交于 2020-03-05 23:13:48
{video}( http://www.jikefan.com/music ) 来源: https://www.cnblogs.com/shenxiaodou/p/12423676.html

activiti入门

只谈情不闲聊 提交于 2020-03-05 22:06:54
一、Activiti简介   Activiti 是一个针对商务人士、 开发人员 和 系统 管理员的 轻量级的工作流和 业务 流程 管理 (BPM) 平台。它的核心是Java的高速和可靠的 BPMN 2 流程 引擎 。它是开源的、并且提供宽松的Apache许可。Activiti可以在任何Java应用中运行,可以运行在在服务器、集群或云环境。它可以与Spring进行整合,它非常轻便和机遇简单的概念。 Activiti是由原来开发JBPM的作者所建立的,所以Activiti与JBPM早期的版本(JBPM4,BPM4之后版本已完全抛弃JBPM4的基础代码,转而基于Drools Flow构建)比较相似,适合于早期的JBPM用户使用。    Activiti 下载地址为: http://activiti.org/download.html 。这里使用的是activiti-5.18.0.zip 版本。 二、eclipse 流程设计器   使用Activiti需要设计流程,然后再进行部署,运行、流转。这里使用Activiti提供的eclipse插件进行流程设计。以下为插件的安装:   1、点击eclipse Help -》 Install New Software . 并在界面点击Add输入如下内容,并点击OK按钮。如下图所示      2、点击Select All并点击Next

reflect 反射

丶灬走出姿态 提交于 2020-03-05 21:45:26
1:任何对象的创建依赖于字节码 2:运行状态中,对于任意一个类(class文件),都能直到其中的所有属性与方法。 对于任意一个对象,都能够调用它的方法和属性; 这样的动态获取信息以及动态调用对象的方法的功能成为java语言的反射 3:应用程序,独立运行。。对外提供接口是为了扩展(不能修改源代码的时候,使用代理方式)。 拿到对外暴漏的接口名(通过配置文件),然后通过反射获取类里面的信息。 拿到类名称,可以找到类文件,获得字节码文件 4:类,属性,方法,构造器准备    public class Cat { private String color; public double weight; public String eat(String food) { System.out.println("今晚cat吃了:" + food); return food; } private void sleep(Integer num, String color) { System.out.println(num + "个颜色是" + color + "的猫猫在睡觉"); } public Cat() { } private Cat(String color, double weight) { this.color = color; this.weight = weight; }

k-近邻算法案例分析

本秂侑毒 提交于 2020-03-05 21:30:17
文章目录 读入Iris数据集细节资料 对Iris数据集进行分割 对特征数据进行标准化 读入Iris数据集细节资料 from sklearn . datasets import load_iris # 使用加载器读取数据并且存入变量iris iris = load_iris ( ) # 查验数据规模 iris . data . shape # 查看数据说明 print ( iris . DESCR ) Iris Plants Database ==================== Notes ----- Data Set Characteristics: :Number of Instances: 150 (50 in each of three classes) :Number of Attributes: 4 numeric, predictive attributes and the class :Attribute Information: - sepal length in cm - sepal width in cm - petal length in cm - petal width in cm - class: - Iris-Setosa - Iris-Versicolour - Iris-Virginica :Summary Statistics: ======

mysql非常用命令笔记

拈花ヽ惹草 提交于 2020-03-05 20:24:11
一、连接数据库 不借助数据库管理软件(如Navicat等软件),通过dos连接mysql服务器,然后操作数据库. 连接数据库通用格式:mysql -P 端口号 -h mysql主机名或ip地址 -u 用户名 -p 解释: (-P大写P代表端口,小写p代表密码,h代表主机名或ip,u代表user用户)” mysql - P 3306 - h 192 . 168 . 1 . 101 - u root - p 1.本地连接 如果是命令行是mysql所在的本机,而且用默认的端口 3306 时,可以简化语句为: mysql - u root - p 2.远程连接 注意: 使用远程连接时,使用的连接用户和该用户现在的ip地址应该是远程数据库中允许的用户和允许的ip,否则是不允许连接的. mysql - P 3306 - h 192 . 168 . 1 . 101 - u root - p 二、操作数据库 在使用用户名和密码成功登录mysql数据库后,在该用户的权限范围内可以操作该用户对数据库的操作. db_test是我自己创建的数据名.在操作数据时每条语句是用;或\g来标志结束的 1.查看所有数据库 show databases ; 2.创建数据库 create database db_test ; 3.使用数据库 use db_test ; 4.显示数据库中所有表 show tables ;