Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork…
https://blog.csdn.net/keysilence1/article/details/70239717 概念 Kubernetes是谷歌严格保密十几年的秘密武器——Borg的一个开源版本,是Docker分布式系统解决方案. 名词 Borg Borg是谷歌内部使用的大规模集群管理系统,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化: Endpoint(IP+Port) 标识服务进程的访问点: Master 集群控制节点,负责整个集群的管理和控制,基本…
1 Kubernetes网络模型 基本原则:每个Pod都拥有一个独立IP,而且假定所有Pod都在一个可以直接连通的.扁平的网络空间中. 基于基本原则,用户不需要额外考虑如何建立Pod之间的连接,也不需要考虑容器端口映射到主机端口等问题 同一个Pod内部的所有容器共享一个网络堆栈即网络命名空间,Pod内的所有容器的端口是共享的 Kubernetes对集群网络要求: 所有容器都可以在不用NAT的方式下同别的容器通信 所有节点都可以在不用NAT的方式下同所有容器通信,反之亦然 容器的地址和别人看到的地…
1 Hello World 1.1 概述 搭建一个Web留言板应用,采用PHP+Redis. Redis由一个master提供写和两个slave提供读. PHP构成的前端Web层由三个实例构成集群,访问时进行负载均衡. 提供三个docker镜像 redis-master:写的redis redis-slave:读的redis php-fronted:PHP Web服务 1.2 创建redis-master Pod和服务 为redis-master创建一个RC yaml文件 apiVersion:…
1.1 Kubernetes是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案.是谷歌的Borg(大规模集群管理系统)的一个开源版本. 其次,如果系统设计遵循了Kubernetes的设计思想,那么传统系统架构中的和业务没有多大关系的底层代码或功能模块(比如负载均衡,服务自理框架,服务监控,故障处理等),都可以消失.使用Kubernetes,不仅可以节省至少30%的开发成本,更专注于业务,而且由于Kubernetes提供了强大的自动化机制,所以系统后期的运维难度和运维成本大幅度降低.…
Kubernetes是什么 官网 https://kubernetes.io/ 中文版:https://kubernetes.io/zh/ Kubernetes是谷歌十几年大规模容器管理经验的成果 是Borg的一个开源版本 基于容器技术的分布式架构方案 Service简介 Kubernetes以Service为核心,Service有如下特征 唯一名称 拥有一个虚拟ip和端口 提供某种远程服务能力 被映射到提供这种服务能力的一组容器应用上 Pod简介 Pod运行在Node主机中 Pod是Kuber…
01_Kubernetes入门 li {list-style-type:decimal;}.wiz-editor-body ol.wiz-list-level2 > li {list-style-type:lower-latin;}.wiz-editor-body ol.wiz-list-level3 > li {list-style-type:lower-roman;}.wiz-editor-body li.wiz-list-align-style {list-style-position:…
1 Kubelet运行机制 Kubenetes集群中的每个Node节点都会启动一个Kubelet服务进程用于处理Master下发到该节点的任务,管理Pod及其中的容器 Kubelet进程在API Server上注册信息,定期向Master节点汇报Node资源情况,并通过cAdvise监控容器和节点资源 1.1 节点管理 Kubelet进程在启动时设置参数--register-node=true设置向APIServer主动注册节点信息 当设置非自动注册时,需要配置Node的资源信息以及给Kubel…
1 API Server 1.1 提供集群管理的API接口 API Server在kubernetes中的进程名为apiserver,运行在Master节点上 apiserver开放两个端口 本地端口,默认8080 安全端口,默认6443,接受Https,用于基于Token以及策略的授权 Kubectl Proxy作为API Server的反向代理,也能作为普通客户端访问API Server 命令行工具kubectl用来将API Server的API包装成建档的命令集 1.2 成为集群内各个功能…
1: etcd是干什么的: 键-值存储仓库,用来配置共享和服务发现. k8s把Node, pod,replication controller, Services看做是资源对象,这些资源对象可以通过K8s提供的kubectl工具进行增.删.改.查等操作将其保存在etcd中持久化存储.K8s相当于一个自动化的资源控制系统,通过跟踪对比etcd库里保存的‘资源期望状态’和“实际资源状态”的差异来实现自动控制和自动纠错的高级功能. 2:Master: k8s的集群控制节点,K8s所有控制命令都发给它,…
1 Node的隔离和恢复 方法1: 创建新的Node配置文件指定spec.unschedulable: true 通过kubectl replace完成对Node的状态修改 kubectl replace -f xxx.yaml 此时Node的状态增加一项SchedulingDisabled,后续创建Pod将不会对该Node进行调度 方法2: kubectl patch node name -p '{"spec":{"unschedulable":true}}' 将…
最近每天工作之余看下js的细节部分,时间不是很多,所以看的进度也不会太快,写个博客监督自己每天都看下. 以前不知道的细节或者以前知道但是没注意过的地方都会记录下来,所以适合有一定基础的,不适合零基础新手. ---------------------------------------------------------国庆期间 开始---------------------------------------------------------  js中所有数字都是浮点数,比如5/2不是2,是2…
1 RC文件介绍: kind: ReplicationController,表示是一个RC: spec.selector:  RC的Pod标签(Label)选择器,监控和管理拥有这些标签的Pod实例,确保                   spec.replicas个实例在运行.当运行的实例小于这个数,会安装spec.template 定义的Pod模板生成新的实例. (注意,spec.template.metadata.labels指定了Pod的标签,这里的labels必须匹配之前 的spec…
1.1 通讯 Web内容是存储在服务器上的,Web服务所使用的是HTTP协议,所以经常称为HTTP服务器.通讯过程为客户端(正常我们所使用的)发出请求,服务端根据客户端的HTTP请求响应相应数据,这就是基本的HTTP通讯. 1.2 传输内容与附加类型MIME 客户端向服务端获取内容有N多种类型,如:Word.JPEG.AVI.HTML等等上千种. 在传输过程中为分辨传输内容类型,Web服务器会为所有HTTP对象数据附加一个MIME类型.当Web浏览器(客户端)向服务器获取一个对象时,会根据MIM…
零零散散接触css将近5年,俨然已经成为一个熟练工.如果不是换份工作,我不知道自己差的那么远:在qunar的转正review中我这种“知其然而不知其所以然” 的状况被标明,我才意识到我已停步不前近两年~  知耻而后勇,从基础拾起~ 所以我写这一系列笔记~…
//如setTimeout的delay参数为0毫秒,那么指定的函数不会立即执行.只会把它放到队列中,等到前面处于等待状态的事件处理 //程序全部执行完成后,再调用它. function invoke(f, start, interval, end) { if (!start) start = 0; if (arguments.length <= 2) { setTimeout(f, start); } else { setTimeout(repeat, start); function repe…
1: 安装VirtualBox, 并下载CentOS-7-x86_64-DVD-1708.iso, 安装centOS7,具体过程可以百度. 2:开启centOS的SSH, 步骤如下: (1) yum list installed | grep openssh-server查看是否已经安装了SSH,如果没有安装则输入yum install openssh-server (2)vim  /etc/ssh/sshd_config, 打开监听端口和监听地址: 允许远程登录: 开启使用用户名密码来作为连接…
Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户界面.管理用户界面的fragment叫UI fragment.可以你还不懂(就是app界面.哈哈哈,不知道...).fragement视图包含了用户可以交互的可视化UI元素. 片段是一个应用程序的用户界面或行为,可以放在一个Activity.与碎片的交互是通过FragmentManager,可以通过…
在android studio中会遇到R文件的丢失,所以遇见这问题怎么解决呢? 重新检查资源文件中xml文件 最近一次编译时如果未生成R.java文件,项目中资源引用的地方都会出错.通常,这是某个xml布局文件的代码写错了,这里你就要检查一下了,修改找到的错误保存就可以了,这时R.java文件就不会爆红了. 清理项目 选择Build->Clean Project菜单项,android studio会重新编译整个项目,消除错误,建议经常进行. Gradle同步项目 这是教师给的:刚百度了一下,那个…
学习android开发,你需要对java语言,包括类,对象,接口,监听器,包,内部类,匿名内部类有所了解. android studio 的下载与安装 可以从android开发者网站下载android studio:http://developer.android.com/sdk/. 首次安装需要从http://www.oracle.com下载并安装java开发者套件.如果需要帮助点击链接:Android Studio系列教程-下载与安装:http://mp.weixin.qq.com/s/_P…
第1章 css和文档 1,元素:替换元素(img input),非替换元素(大多数span). 2,link:rel(代表关系:stylesheet,候选样式表:alternate stylesheet):type(text/css):media:(all(所有表现媒体, screen,print),title(配合候选使用). 3,@import url(sheet1.css) 需在style内使用,放在其他css规则之前. 4,向后可访问性:<style><!-- 样式 -->…
这次我们先来讨论hbase的重试机制,为什么呐,因为最近公司最近也在做这方面的优化,所以就今天研究的一些成功记录一下. configuration.setInt("hbase.client.pause", 50);configuration.setInt("hbase.client.retries.number", 5);configuration.setInt("hbase.client.operation.timeout", 3000);co…
2.1 URI与URL.URN URL是浏览器寻找信息时所需的具体位置.URl是人们对HTTP和其他协议的常用访问点:浏览器指向一个URL,浏览器就会发送适当的协议报文向服务器获取内容. URI是一类更通用的资源标识符,URL是它的子集,URI的两个主要子集:URL.URN. URL是通过描述资源的位置来获取资源,而URN是通过资源的名字来获取资源(与所处位置无关). URL由三部分组成: 第一部分:协议类型.方案 第二部分:服务器名称.位置 第三部分:所需获取资源的具体路径 例:http://…
通过ECMAScript 3创建的属性都是可写的.可枚举的.可配置的. 在ECMAScript 5中,数据属性的4个特性分别是它的值.可写性.可枚举性.可配置性.存取器属性的特性是读取.写入.可枚举性.可配置性. Object.getOwnPropertyDescriptor("p",x);//查询p对象的x属性,返回例如{get:/*func*/,set:undefined,enumerable:true,configurable:true} Object.definedProper…
getter和setter属性: var p = { x:1.0, y:1.0, get r(){ return Math.sqrt(this.x*this.x + this.y * this.y); }, set r(newValue){ var oldValue = Math.sqrt(this.x*this.x + this.y * this.y); var ratio = newValue / oldValue; this.x *= ratio; this.y *= ratio; },…
对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; console.log(obj);//{x:5,y:2} 对象最常见的用法是创建.设置.查找.删除.检测.枚举它的属性: (一).创建对象 (1).对象直接量创建 var empty = {}; var point = {x:1, y:2}; var point2 = {x:point.x,y:point.y}…
1.var用来声明一个或多个变量.全局变量是全局对象的属性,它无法通过delete删除. 如果var语句中的变量没有指定初始化表达式,那么这个变量的初始值为undefined. 变量声明语句会被提前到脚本或函数的顶部,但是初始化的操作还是在原来的位置执行. 2.和var声明的变量一样,函数定义语句中的函数(var setVal = function(){...})被显式地“提前”到脚本或函数的顶部. 3.条件语句(分支): (1).if.else匹配规则:else总是和就近的if语句匹配 (2)…
1.函数作用域:在函数内声明的所有变量在函数体内始终是可见的.这意味着在变量声明之前甚至已经可用. *“声明提前”:javascript函数里声明的所有变量(但不涉及赋值)都被提前至函数的顶部. function test(o) { var i = 0; if(typeof(o) == "object") { var j = 0; for(var k=0; k<10; k++) { console.log(k);//0-9 } console.log(k);//10 } cons…
1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对象. javascript核心定义了三种有用的类:日期类.正则类.错误类. 2.整型直接量: 16进制直接量以“0x”或“0X”开头,如0xff. 8进制直接量以“0”开头,如0377.(注:某些javascript的实现不支持八进制,所以最好不使用) 3.javascript中的算术运算: Mat…