2019-09-25 17:03
作者 | 刘洋(炎寻) 阿里云高级开发工程师
导读:自定义资源 CRD(Custom Resource Definition)可以扩展 Kubernetes API,掌握 CRD 是成为 Kubernetes 高级玩家的必备技能,本文将介绍 CRD 和 Controller 的概念,并对 CRD 编写框架 Kubebuilder 进行深入分析,让您真正理解并能快速开发 CRD。
概览
控制器模式与声明式 API
在正式介绍 Kubebuidler 之前,我们需要先了解下 K8s 底层实现大量使用的控制器模式,以及让用户大呼过瘾的声明式 API,这是介绍 CRDs 和 Kubebuidler 的基础。
...
2019-09-25 17:37
声明:本博客仅仅是一个初学者的学习记录、心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流、一起学习、一起进步的朋友可以加我微信Liu__66666666...
2019-09-25 16:17
情景描述
最近在修复Eureka的静态页面加载不出的缺陷时,最终发现是远程GIT仓库将静态资源访问方式配置给禁用了(spring.resources.add-mappings=false)。虽然最后直接修改远程GIT仓库的此配置项给解决了(spring.resources.add-mappings=true),但是从中牵涉出的配置读取优先级我们必须好好的再回顾下
springcloud config读取仓库配置
通过config client模块来读取远程的仓库配置,只需要在boostrap.properties文件中配置如下属性即可
...
2019-09-25 16:36
接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Date/Time api 进行说明,新的日期时间工具全部都在 java.time 及其子包中。...
2019-09-25 16:05
一. 介绍
在一上篇中介绍了Exceptionless的基本使用,这篇主要讲Exceptionless结合Nlog的实现双重日志记录,包括Exceptionles的UI可视化日志以及Nlog的txt文件日志。再是从Apollo配置中心读取配置文件,当系统越庞大越多时,需要配置的参数也越来越多,可以通过使用Apollo配置中心来统一管理,例如:配置数据库连接地址、Exceptionless的对应项目的apikey值,redis连接地址等等所有可配置的参数。
1.1 asp.net core中Apollo配置
...
2019-09-25 15:32
前言
接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Stream 重点说明 ,并做了点补充。
基本说明
Stream 是基于 java8 的 lambda 表达式的,如果不清楚 lambda 表达式,可以查看我的上篇文章Lambda 表达式和函数式接口快速理解
Stream 把要处理的元素看做一种流,流在管道中传输,可以在管道的节点上处理数据,包含过滤,去重,排序,映射,聚合,分组等。
Stream 分为中间操作和后期操作,中期操作会形成一个新的 Stream ,但不会马上对数据进行处理,到后期操作时,再遍历整个集合;可以没有中期操作直接后期操作。
...
2019-09-25 15:04
这是操作系统系列第 1 篇。尽管操作系统发展史不是研究操作系统的重点,但是在这一发展过程中,衍生出了许许多多与操作系统相关的重要概念,如果知道这些概念出现在怎样的背景下,以及产生的原因,在后期学习中就不会觉得一些概念出现的比较突兀。除此之外,了解操作系统的发展史,理解设计需求,有助于我们站在计算机的角度思考问题。...
2019-09-25 15:33
目录
1. 结论
2. 逻辑操作符重载
3. 逗号操作符重载
1. 结论
前面两次笔记都是C++中可以重载且无副作用的操作符,本次笔记比较特殊,主要列出两个C++语法允许重载、但在工程中不应该(不允许)重载的操作符:
逻辑操作符 && 和 ||
逗号操作符,构成的逗号表达式
这两个操作符在工程中不允许重载的原因是:重载后无法完全实现操作符的原生语义。
2. 逻辑操作符重载
先来回忆一下逻辑操作符的原生语义
操作数只有true和false两种值
逻辑表达式不需要完全计算就能确定最终结果(短路法则)
...
2019-09-25 15:38
讨论QQ:2954125289
目录
一、循环
二、while循环
三、do-while循环
四、循环计算
五、整数求逆
六、for循环
七、循环控制
八、循环应用
正文
回到顶部
一、循环
输入一个数字,输出该数字有几位
#include
int main()
{
int x;
int n = 0;
scanf("%d" , &x);
n++;
x /= 10;
while(x > 0){
n++;
...
2019-09-25 15:36
通过以下思维导图,学习委托的基本概念,后面着重讲解委托的运用,希望通过最简单的方式收获更多的知识。
1.委托的各种写法
1、委托 委托名=new 委托(会调用的方法名); 委托名(参数);
2、委托 委托名 =会调用的方法名; 委托名(参数);
3、匿名方法:委托 委托名=delegate(参数){会调用的方法体};委托名(参数);
4、拉姆达表达式:委托 委托名=((参数1,。。参数n)=>{会调用的方法体});委托名(参数);
5、用Action和Func
Action 委托名= ((参数1,参数2) => {不带返回值的方法体 });委托名(参数1,参数2);
...
2019-09-25 15:28
HDP版本:2.6.4.0
Kylin版本:2.5.1
机器:三台 CentOS-7,8G 内存
Kylin 的计算引擎除了 MapReduce ,还有速度更快的 Spark ,本文就以 Kylin 自带的示例 kylin_sales_cube 来测试一下 Spark 构建 Cube 的速度。
一、配置Kylin的相关Spark参数
在运行 Spark cubing 前,建议查看一下这些配置并根据集群的情况进行自定义。下面是建议配置,开启了 Spark 动态资源分配:
## Spark conf (default is in spark/conf/spark-defaults.conf)
...