草庐IT

读函数式编程思维笔记02_转变思维

1. 命令式编程1.1. 按照“程序是一系列改变状态的命令”来建模的一种编程风格1.2. 传统的for循环1.2.1. 确立初始状态1.2.2. 每次迭代都执行循环体中的一系列命令1.2.2.1. 将操作安排在循环内部去执行1.3. Java1.3.1. 消除了垃圾收集的麻烦2. 函数式编程2.1. 程序描述为表达式和变换,以数学方程的形式建立模型,并且尽量避免可变的状态2.2. 不会用很多抽象,但每个抽象的泛化程度都很高(特化的方面通过高阶函数注入)2.3. 以参数传递和函数的复合作为主要的表现手段2.4. 不需要掌握太多作为“不确定因素”存在的其他语言构造之间的交互规则2.5. 操作(fi

Kubernetes监控手册02-宿主监控概述

咱们这个系列是讲解Kubernetes监控,Kubernetes自身也是要跑在机器上的,那机器的监控自然也是整个体系的一环。机器层面的监控分为两部分,带内网络和带外网络,通过带内网络做监控主要是在OS里部署agent的方式,获取OS的CPU、内存、磁盘、IO、网络、进程等相关监控指标。带外监控,主要是走带外管理卡,通过IPMI、SNMP协议,获取硬件健康状况。带内监控带内监控的agent有很多,大家可能会面临选型问题,这里我对常见agent做一个基本介绍。TelegrafTelegraf来自InfluxData,InfluxData就是做InfluxDB那家公司,Telegraf是MIT协议,

Kubernetes监控手册02-宿主监控概述

咱们这个系列是讲解Kubernetes监控,Kubernetes自身也是要跑在机器上的,那机器的监控自然也是整个体系的一环。机器层面的监控分为两部分,带内网络和带外网络,通过带内网络做监控主要是在OS里部署agent的方式,获取OS的CPU、内存、磁盘、IO、网络、进程等相关监控指标。带外监控,主要是走带外管理卡,通过IPMI、SNMP协议,获取硬件健康状况。带内监控带内监控的agent有很多,大家可能会面临选型问题,这里我对常见agent做一个基本介绍。TelegrafTelegraf来自InfluxData,InfluxData就是做InfluxDB那家公司,Telegraf是MIT协议,

LVGL库入门教程02-基本控件与交互

LVGL本质上是一个GUI库,它包含大量的控件(widget),即按钮、标签、滑块、菜单栏这种具有一定人机交互特征的组合图形。LVGL在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度。LVGL和大多数GUI库的工作方式都是类似的,其代码编写的基础思路为:创建GUI根窗体对象在窗体上绘制各种控件为控件编写响应函数函数在主事件循环中等待用户触发事件响应如果之前有GUI库的使用经验的话,应该可以比较容易明白LVGL代码的编写思路。标签标签(label)应该是GUI最简单也是最基础的控件之一。标签的作用就是显示一小段说明文字。接下来通过介绍标签来介绍LVGL控件的创建、布局与设置属

LVGL库入门教程02-基本控件与交互

LVGL本质上是一个GUI库,它包含大量的控件(widget),即按钮、标签、滑块、菜单栏这种具有一定人机交互特征的组合图形。LVGL在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度。LVGL和大多数GUI库的工作方式都是类似的,其代码编写的基础思路为:创建GUI根窗体对象在窗体上绘制各种控件为控件编写响应函数函数在主事件循环中等待用户触发事件响应如果之前有GUI库的使用经验的话,应该可以比较容易明白LVGL代码的编写思路。标签标签(label)应该是GUI最简单也是最基础的控件之一。标签的作用就是显示一小段说明文字。接下来通过介绍标签来介绍LVGL控件的创建、布局与设置属

袋鼠云产品功能更新报告02期丨有亿点点走心!

不知不觉间,2022年的脚步已经走到了倒数第二个月。临近年末,我们对产品本身以及客户反馈的一些问题进行了持续的更新和优化,例如基线告警、数据服务平台新增TDengine数据源支持、行级权限根据用户属性实现动态赋权。以下为袋鼠云产品功能更新报告第二期内容,更多探索,请继续阅读。数栈DTinsight离线开发平台1.支持对接Trino引擎创建项目时支持对接Trino引擎,支持创建和运行Trino任务。2.个人账号支持绑定Kerberos认证数栈支持对用户或用户组绑定Kerberos证书,并支持以用户级/用户组级Kerberos账号进行任务提交。3.基线告警基线是一组任务的管理单位,被纳入同一组基线

袋鼠云产品功能更新报告02期丨有亿点点走心!

不知不觉间,2022年的脚步已经走到了倒数第二个月。临近年末,我们对产品本身以及客户反馈的一些问题进行了持续的更新和优化,例如基线告警、数据服务平台新增TDengine数据源支持、行级权限根据用户属性实现动态赋权。以下为袋鼠云产品功能更新报告第二期内容,更多探索,请继续阅读。数栈DTinsight离线开发平台1.支持对接Trino引擎创建项目时支持对接Trino引擎,支持创建和运行Trino任务。2.个人账号支持绑定Kerberos认证数栈支持对用户或用户组绑定Kerberos证书,并支持以用户级/用户组级Kerberos账号进行任务提交。3.基线告警基线是一组任务的管理单位,被纳入同一组基线

02Python输入输出

输入输出print()函数sep=''数据之间一空格分割,默认是空格end='\n'在打印后会额外的加一个数据,默认是换行符print("hello","world") print("hello","world",sep='------')"""上面两行代码输出语句分别为:helloworldhello------world"""#1print("hello","world")print("你好,世界!")#2print("hello","world",end='+++')print("你好,世界!")"""代码块1的输出结果:helloworld你好,世界!代码块2输出结果:hel

02Python输入输出

输入输出print()函数sep=''数据之间一空格分割,默认是空格end='\n'在打印后会额外的加一个数据,默认是换行符print("hello","world") print("hello","world",sep='------')"""上面两行代码输出语句分别为:helloworldhello------world"""#1print("hello","world")print("你好,世界!")#2print("hello","world",end='+++')print("你好,世界!")"""代码块1的输出结果:helloworld你好,世界!代码块2输出结果:hel

初识C++02:类和对象

类和对象创建方法第一种式直接声明:classStudent{private:stringname;public:Student(stringname){this->name=name;}}//声明:Studentlu;//不带初始化//带初始化;Studentlu(huang);Studentlu=Student(huang);//访问方式lu.name;这样的声明方式,是将对象在栈上创建,栈内存自动管理,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束后在将这些局部变量的内存空间回收。在栈上分配内存空间效率很高,但是分配的内存容量有限。第二种使用对象指针声明Student