namespace

Istio使用【sidecar注入】

白昼怎懂夜的黑 提交于 2019-12-25 19:19:45
本文使用的版本号: 1.4.2 查看默认sidecar配置 kubectl get mutatingwebhookconfiguration istio-sidecar-injector -o yaml | grep "namespaceSelector:" -A5 namespaceSelector: matchLabels: istio-injection: enabled objectSelector: {} reinvocationPolicy: Never rules: 可以看出,istio默认sidecar注入规则是,namespace带有标签 istio-injection: enabled 才会注入sidecar。 查看哪些namespace已经配置注入: [root@k8s-master istio-1.4.2]# kubectl get namespace -L istio-injection NAME STATUS AGE ISTIO-INJECTION default Active 70d ingress-nginx Active 69d istio-system Active 19h kube-node-lease Active 70d kube-public Active 70d kube-system Active 70d naftis Active

<转>C++输入cin详解

痞子三分冷 提交于 2019-12-25 15:50:15
输入原理: 程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入 #1: 1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 char str[8]; 6 cin.getline(str, 5); 7 cout<<str<<endl; 8 cin.getline(str, 5); 9 cout<<str<<endl; 10 return 0; 11 } 测试: abcdefgh (回车) abcd (输出) (输出-换行) 【分析】之所以第一次输入完后直接程序就结束了,而不是进行第二次输入,是因为第一次多输入的数据还残留在缓存区中,第二次输入就直接从缓存区中提取而不会请求键盘输入,以下探讨几种常见的输入方式: 一 . cin>> 该操作符是根据后面变量的类型读取数据。 输入结束条件 :遇到Enter、Space、Tab键。 对结束符的处理 :丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab) #2 : #include <iostream> using namespace

JavaScript创建命名空间

喜欢而已 提交于 2019-12-24 18:58:48
引入命名空间之前,一个令开发人员头疼的问题就是如何防止函数名/类名和其他人的冲突,在一个公司内部项目组之间可以通过命名预定(比如加前缀等)解决这个问题,但是把视线放到整个软件开发领域,在当今协作开发相当盛行的时代,这个问题却依然存在。在使用多个第三方框架或类库的时候,你唯一能作的就是祈祷它们的命名不要冲突,如果真正发生这种灾难的话,你唯一能作的就是放弃其中一个(注:可能是我孤陋寡闻,呵呵)。命名空间的引入相当程度上解决了这个问题,当然,如果你使用的命名空间和其他公司不幸一样,而对方又是微软、SUN等大佬,那恭喜你,呵呵@_@! 从事Web开发不可避免要接触JavaScript,目前最新版本的JavaScript还是不支持命名空间,所以命名冲突的问题凸显无疑,想象一下你引用了两个js文件,却发现由于命名问题导致你不得不放弃其中一个,从而导致多写了许多代码,无疑是十分令人沮丧的。在JavaScript新版本引入命名空间概念之前,发扬自立更生精神和创造性是我们程序员的基本义务;-) 实现前提 :与Delphi、C#等语言不同,JavaScript中的类并不是对象的定义,事实上JavaScript中并不存在真正的类,这里的类实际上是用函数模拟实现的,而JavaScript中的函数实际上是一个对象,因此在JavaScript中:一个类就是一个对象。这和传统概念概念极为不同

解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题)

五迷三道 提交于 2019-12-24 16:35:27
一、问题描述 使用mybatis的项目在本地可以正常运行,但当使用maven或Jenkins打包部署到服务器上时出现了绑定错误,异常信息为: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yo.news.user.mapper.UserMapper.getUserByTelPwd 二、问题分析和解决方法 首先,给定的异常提示信息并不精准,有多个错误原因都会抛出该异常。mybatis出现这个问题,通常是由Mapper interface和对应的xml文件的定义对应不上引起的,这时就需要仔细检查对比包名、xml中的namespace、接口中的方法名称等是否对应。我之前就因为称忘记在xml标签的id属性中添加方法名或写错方法名而出现这个错误。 出现这个错误时,按以下步骤检查一般就会解决问题: 1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应; 2:检查xml的namespace是否和xml文件的package名称一一对应; 3:检查方法名称是否对应; 4:去除xml文件中的中文注释; 5:随意在xml文件中加一个空格或者空行然后保存。 -------------------------------- 但是!!!!!

二分图最大匹配

a 夏天 提交于 2019-12-24 01:13:51
HDU 1150: http://acm.hdu.edu.cn/showproblem.php?pid=1150   最小覆盖点 == 最大匹配数( 选取最少的点数,使这些点和所有的边都有关联——把所有的边的覆盖 ) 两台机器,有n和m个工作模式,起始工作模式都为0,现在有k件工作,第i件工作可分别在两个机器上用各自的模式工作,但换模式要重启,问重启的最小次数。 写的时候因为是找二分最大匹配的题目时找到写的,想到了二分上去,也知道是求最小覆盖点 == 最大匹配数,但不是很能理解,先把代码写了再说。 写的时候注意起始模式是0,所以换模式时把0的排除再外。(因为这个原因错了很多次) 一:邻接阵做法 代码 #include<iostream>using namespace std;int n,m,k;int map[105][105]; //记录X,Y对应点可否连接int vis[105]; //每次找增广路时对Y中点是否访问int dir[105]; //Y中点匹配的X中点的位置int find(int a){ int i; for(i=0;i<m;i++) { if(map[a][i]==1 && vis[i] == 0) { vis[i] = 1; if(dir[i] == -1 || find(dir[i])) { dir[i] = a; return 1; } } }

Mybatis常见面试题总结

泄露秘密 提交于 2019-12-23 08:31:48
1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。 2、Mybaits的优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2)与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接; (3)很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。 (4

xsi:schemaLocation有何作用

空扰寡人 提交于 2019-12-22 18:06:13
总结:xsi:schemaLocation 即像java中的import命令 其中值为一对一对的 即 xxxx xxxxxx.dtd 即相当于引入类 前者为名称 后者为来源    xmlns:xsi 该文件语法说明 使用了XMLSchema-instance    xmlns:即为别名   像下图使用了xmlns:xsi 才能识别xsi:schemaLocation和xmlns   在xsi:schemaLocation引入了beans,xmlns创建beans后 才允许在下方使用<bean></bean>标签 否则会报unknowTag    我来说说XML文件中的xmlns、xmlns:xsi和xsi:schemaLocation、dtd文件的具体含义 相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头拷贝过来,并没有理解其中元素(比如xmlns,xmlns:xsi,xsi:schemaLocation)的真正含义,不知道哪些元素是多余的,也不知道为什么要加那些元素。这样当有时候网上Copy的XML头有错的时候自己却不知道怎么下手。我也是这样的,于是今天花了点时间好好的理解了一下这些元素及其用法,现整理与此,在此谢谢各位前辈的经验,如有总结的不对或者不好的地方,欢迎留言提出各位的宝贵意见。 话不多说

C++学习(8)—— 封装

前提是你 提交于 2019-12-22 11:37:10
C++面向对象的三大特性: 封装 、 继承 、 多态 C++认为万事万物都可以为对象,对象上有其 属性 和 行为 具有相同性质的对象,可以抽象为类   1. 封装的意义 封装是C++面向对象三大特性之一 封装的意义: 将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以控制 封装意义一: ​ 在设计类的时候,属性和行为写在一起,表现事物 语法 : class 类名{访问权限:属性 / 行为}; 示例1 :设计一个圆类,求圆的周长 #include<iostream> using namespace std; //圆周率 const double PI = 3.14; //设计一个圆类,求圆的周长 //圆求周长的公式:2*PI*半径 class Circle{ //访问权限 public: //属性 int m_r; //行为 //获取圆的周长 double calculateZC(){ return 2*PI*m_r; } }; int main(){ //通过圆类创建具体的圆 Circle c1; c1.m_r = 10; cout << "圆的周长为:" << c1.calculateZC() << endl; return 0; } 示例2 :设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号 #include<iostream>

js中创建命名空间的几种写法

半世苍凉 提交于 2019-12-22 11:23:21
在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hello var'; }; function sayHello(name) { return 'Hello function'; }; sayHello(); 最终的输出为 > "Hello var" 为什么会这样,实际上JavaScript的是按如下顺序解析的。 function sayHello(name) { return 'Hello function'; }; var sayHello = function() { return 'Hello var'; }; sayHello(); 不带var的function声明被提前解析了,因此现代的JS写法建议你始终使用前置var声明所有变量; 避免全局变量名冲突的最好办法还是创建命名空间,下面是在JS中合建命名空间的几种常用方法。 通过函数(function)创建 这是一种比较常见的写法,通过声明一个function实现,函数里设置初始变量,公共方法写入prototype,如: var NameSpace = window.NameSpace || {}; /* Function */ NameSpace.Hello =

PHP的命名空间

拜拜、爱过 提交于 2019-12-21 20:14:10
PHP的命名空间(namespace)是php5.3之后才有的。这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。 为什么php中要使用namespace? 假设如果不使用namespace,那么每个类在一个项目中的名字就必须是固定的。因为php在new的时候不管是调用autoload还是调用已加载过的类,都存在一个类名对应的文件。所以在没有namespace的时候,我们会想各种命名规则来区分不同的类,比如project1_school1_class1_Student或者project2_school_class_Student。 引入namespace之后就可以将这个有效规避了,一个namespace就相当于对应一个文件路径,查找这个类的时候,就会去对应的文件路径查找类定义文件了。 namespace的定义和使用 定义: <?php namespace Myproject; 或者 <?php namespace Myproject { } 使用: <?php use Myproject/School; <?php use Myproject/School as School1; // 别名 命名空间是运行时解析的。use就相当于一种声明,并不解析和加载。比如下面这个例子: test.php <?php use my\name; require