namespace

Kubernetes Dashboard

心不动则不痛 提交于 2020-02-16 01:28:54
概述 Kubernetes Dashboard 是 Kubernetes 集群的 Web UI,用于管理集群。 安装 GitHub 地址: Kubernetes Dashboard 找到合适Kubernetes 的版本 下载配置文件,实在下载不了可以用迅雷。 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml 修改配置如下 # 省略部分代码... # ------------------- Dashboard Service ------------------- # kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kube-system spec: # 修改类型为 NodePort 访问 type: NodePort ports: - port: 443 targetPort: 8443 # 设置端口号为 30001 nodePort: 30001 selector: k8s-app: kubernetes-dashboard 部署到集群 # 部署

Mybatis面试问题集锦

♀尐吖头ヾ 提交于 2020-02-15 13:17:51
1、#{}和${}的区别是什么? 答:mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值,完成的是简单的字符串拼接。 补充:在mybatis中使用#{}可以防止sql注入,提高系统安全性。MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 2、Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签? 答:还有很多其他的标签, 、 、 、 、 ,加上动态sql的9个标签,trim|where|set|foreach|if|choose|when|otherwise|bind等,其中 为sql片段标签,通过 标签引入sql片段, 为不支持自增的主键生成策略标签。 3、最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? 答:Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时

Hadoop1.x与Hadoop2的区别

爷,独闯天下 提交于 2020-02-13 23:29:10
转自: http://blog.csdn.net/fenglibing/article/details/32916445 六、 Hadoop1.x 与 Hadoop2 的区别 1 、变更介绍 Hadoop2 相比较于 Hadoop1.x 来说, HDFS 的架构与 MapReduce 的都有较大的变化,且速度上和可用性上都有了很大的提高, Hadoop2 中有两个重要的变更: l HDFS 的 NameNodes 可以以集群的方式布署,增强了 NameNodes 的水平扩展能力和可用性; l MapReduce 将 JobTracker 中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为 YARN ( Yet Another Resource N e g o t i a t o r )。 1.1 、 HDFS 的变化 - 增强了 NameNode 的水平扩展及可用性 1.1.1 、 Hadoop 的 1.X 架构的介绍 而在 1.x 中的 NameNodes 只可能有一个,虽然可以通过 SecondaryNameNode 与 NameNode 进行数据同步备份,但是总会存在一定的时延,如果 NameNode 挂掉,但是如果有部份数据还没有同步到 SecondaryNameNode 上,还是可能会存在着数据丢失的问题。 架构如下: 包含两层:

C++学习之路——string字符串类具体用法

泄露秘密 提交于 2020-02-13 02:13:26
引言: C++ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。 string 是 C++ 中常用的一个类,它非常重要,我们有必要在此单独讲解一下。 定义 使用 string 类需要包含头文件,下面的例子介绍了几种定义 string 变量(对象)的方法: # include <iostream> # include <string> using namespace std ; int main ( ) { string s1 ; string s2 = "c plus plus" ; string s3 = s2 ; string s4 ( 5 , 's' ) ; return 0 ; } 变量 s1 只是定义但没有初始化,编译器会将默认值赋给 s1,默认值是"",也即空字符串。 变量 s2 在定义的同时被初始化为"c plus plus"。与C风格的字符串不同,string 的结尾没有结束标志’\0’。 变量 s3 在定义的时候直接用 s2 进行初始化,因此 s3 的内容也是"c plus plus"。 变量 s4 被初始化为由 5 个’s’字符组成的字符串,也就是"sssss"。 从上面的代码可以看出,string 变量可以直接通过赋值操作符=进行赋值

mybatis - buildSqlSessionFactory()

半世苍凉 提交于 2020-02-12 18:58:53
buildSqlSessionFactory() 这个方法比较长, 干的事情也比较多. 包括一些别名, 插件, 类型处理器等的解析. 从主流程上来看, 最主要的其实是干了两件事:1. 对 mapper.xml 文件进行解析2. 使用 SqlSessionFactoryBuilder 创建 sqlSessionFactorymapper.xml的扫描工作不在这个方法里, 但是放到这里来看, 会更加清晰一点. 1. mapperLocation 的解析 @Bean @ConditionalOnMissingBean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { SqlSessionFactoryBean factory = new SqlSessionFactoryBean(); ......if (!ObjectUtils.isEmpty(this.properties.resolveMapperLocations())) { factory.setMapperLocations(this.properties.resolveMapperLocations()); } return factory.getObject(); } 在

未能加载文件或程序集“Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。

有些话、适合烂在心里 提交于 2020-02-12 18:35:19
未能加载文件或程序集“Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 解决办法: 最新的为 <system.web> <sessionState mode="InProc" timeout="180" /> <compilation targetFramework="4.5.2" debug="true" /> <httpRuntime targetFramework="4.5.2" maxRequestLength="20971571" useFullyQualifiedRedirectUrl="true" executionTimeout="677770007" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" /> <customErrors mode="Off" defaultRedirect="\Error\ErrorPath404" /> <pages

在Flask中实现websocket

别来无恙 提交于 2020-02-11 12:18:39
前言 前段时间在做自有性能测试平台时,需要加入一个前端实时获取后端数据的功能。整个的项目前后端是分开的,后端项目用python的Flask框架实现,前端项目用Vue框架实现。因为我做后端,所以最开始想到的对我来说最简单的方法就是提供一个读取数据的接口,前端通过Ajax轮询的方式实时获取数据。但是轮询对前端来讲似乎工作量和复杂度高,而且考虑到网络资源的消耗,轮询显然不是一个最优的解决办法,于是想到通过websocket来解决。 知识点 websocket 对websocket的第一理解就是用于前后端实时通信,再深入研究发现其实它是一种协议。 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。 现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器

kubernetes dashboard安装

六月ゝ 毕业季﹏ 提交于 2020-02-10 11:20:51
kubernetes dashboard安装 看 kubectl 版本 [root@master home]# kubectl version Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"} 下载 Dashboard yaml 文件 wget https://raw

Python中的命名空间概念

南楼画角 提交于 2020-02-10 02:11:36
python使用命名空间记录变量。python中的命名空间就像是一个dict,key是变量的名字,value是变量的值。 python中,每个函数都有一个自己的命名空间,叫做local namespace,它记录了函数的变量。 python中,每个module有一个自己的命名空间,叫做global namespace,它记录了module的变量,包括 functions, classes 和其它imported modules,还有 module级别的 变量和常量。 还有一个build-in 命名空间,可以被任意模块访问,这个build-in命名空间中包含了build-in function 和 exceptions。 当python中的某段代码要访问一个变量x时,python会在所有的命名空间中寻找这个变量,查找的顺序为: local namespace - 指的是当前函数或者当前类方法。如果在当前函数中找到了变量,停止搜索 global namespace - 指的是当前的模块。如果在当前模块中找到了变量,停止搜索 build-in namespace - 如果在之前两个namespace中都找不到变量x,python会假设x是build-in的函数或者变量。如果x不是内置函数或者变量,python会报错NameError。 对于闭包来说,这里有一点区别,如果在local

C#编程:依赖倒置原则DIP

独自空忆成欢 提交于 2020-02-10 01:08:45
一、前言 我们先来看看传统的三层架构,如下图所示: 从上图中我们可以看到:在传统的三层架构中,层与层之间是相互依赖的,UI层依赖于BLL层,BLL层依赖于DAL层。分层的目的是为了实现“高内聚、低耦合”。传统的三层架构只有高内聚没有低耦合,层与层之间是一种强依赖的关系,这也是传统三层架构的一种缺点。这种自上而下的依赖关系会导致级联修改,如果低层发生变化,可能上面所有的层都需要去修改,而且这种传统的三层架构也很难实现团队的协同开发,因为上层功能取决于下层功能的实现,下面功能如果没有开发完成,则上层功能也无法进行。 传统的三层架构没有遵循依赖倒置原则(DIP)来设计,所以就会出现上面的问题。 二、依赖倒置 依赖倒置(DIP):Dependence Inversion Principle的缩写,主要有两层含义: 高层次的模块不应该依赖低层次的模块,两者都应该依赖其抽象。 抽象不应该依赖于具体,具体应该依赖于抽象。 我们先来解释第一句话:高层模块不应该直接依赖低层模块的具体实现,而是应该依赖于低层模块的抽象,也就是说,模块之间的依赖是通过抽象发生的,实现类之间不应该发生直接的依赖关系,他们的依赖关系应该通过接口或者抽象类产生。 在来解释第二句话:接口或者抽象类不应该依赖于实现类。举个例子,假如我们要写BLL层的代码,直接就去实现了功能,等到开发完成以后发现没有使用依赖倒置原则