整理Java8-stream的用法
前言 Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream特点 stream不存储数据,而是按照特定的规则对数据进行计算,一般会输出结果。 stream不会改变数据源,通常情况下会产生一个新的集合或一个值。 stream具有延迟执行特性,只有调用终端操作时,中间操作才会执行。 Stream实例化方式通过集合12345678910111213141516public static List<Employee> getEmployeeDataList(){ List<Employee> list = new ArrayList<>(); list.add(new Employee(1,"张三",20,8500D,1)); list.add(new Employee(2,"李四",18,600D,1)); list.add(new Employee(3,"王五",21,5500D,3)); ...
在Windows中安装极狐GitLab Runner(解决 Host key verification failed.)
摘自:https://blog.csdn.net/chqaz123/article/details/131029045 在运行runner的机子上,配置SSH密钥123git config --global user.name "输入你的用户名"git config --global user.email "输入你的邮箱"ssh-keygen -t rsa -C "邮箱名称" 该过程禁止设置密码 复制用户目录下id_rsa.pub的内容 将该数据填入GitLab配置公钥置处 下载GitLab Runner 下载GitLab Runner二进制文件,新建一个文件夹(不要有中文),并将二进制文件放入该文件夹,重命名为“gitlab-runner.exe” 执行部署安装指令如果代码没有子模块 直接开始运行runner,切记使用管理员权限 12.\gitlab-runner.exe install.\gitlab-runner.exe start 如果代码有子模块 必须在install的时候输入当前机子上的用户账...
Minium学习
环境搭建之第一个测试程序什么是Minium?minium是为小程序专门开发的自动化框架,使用minium可以进行小程序UI自动化测试。 当然,它的能力不仅仅局限于UI自动化, 比如: 使用minium来进行函数的mock 可以直接跳转到小程序某个页面 设置页面数据, 做针对性的全面测试 这些能力是其他的一些工具所不具备的,不仅如此,它还有许多其他特性,也是很吸引人的: 支持一套脚本,iOS &Android& 模拟器,三端运行 提供丰富的页面跳转方式,看不到也能去得到 可以获取和设置小程序页面数据,让测试不止点点点 可以直接触发小程序元素绑定事件 支持往AppSerive注入代码片段执行 可以调用部分wx对象上的接口 支持Mock wx对象上的接口 支持Hook wx对象上的接口 通过suite方式管理用例,config管理运行设备 ... 环境搭建准备工作 Python 3.8及以上 选择稳定版下载 微信开发者工具 微信 >= 7.0.7 自动安装pip3 install minium或者pip3 install https://...
Unicode中文乱码速查表
Unicode 中文乱码速查表 xxxxxx 示例 特点 产生原因 古文码 鐢辨湀瑕佸ソ濂藉涔犲ぉ澶╁悜涓? 大都为不认识的古文,并加杂日韩文 以 GBK 方式读取 UTF-8 编码的中文 口字码 ����Ҫ�¨2�ѧϰ������ 大部分字符为小方块 以 UTF-8 的方式读取 GBK 编码的中文 符号码 由月è|好好å-|ä1 天天å‘上 大部分字符为各种符号 以 ISO8859-1 方式读取 UTF-8 编码的中文 拼音码 óéÔÂòaoÃoÃѧϰììììÏòéÏ 大部分字符为头顶带有各种类似声调符号的字母 以 ISO8859-1 方式读取 GBK 编码的中文 问句码 由月要好好学习天天向?? 字符串长度为偶数时正确,长度为奇数时最后的字符变为问号 以 GBK 方式读取 UTF-8 编码的中文,然后又用 UTF-8 的格式再次读取 锟拷码 锟斤拷锟斤拷要锟矫猴拷学习锟斤拷锟斤拷锟斤拷 全中文字符,且大部分字符为“锟斤拷”这几个字符 以 UTF-8 方式读取 GBK 编码的中文,然后又用 GBK 的格式再次...
DNS最佳实践及问题排查
转自: https://help.aliyun.com/document_detail/172339.html#11 DNS最佳实践优化域名解析请求DNS域名解析请求是Kubernetes最高频的网络行为之一,其中很多请求是可以优化和避免的。您可以通过以下方式优化域名解析请求: (推荐)使用连接池:当一个容器应用需要频繁请求另一服务时,推荐使用连接池。连接池可以将请求上游服务的链接缓存在内存中,避免每次访问时域名解析和TCP建连的开销。 使用DNS缓存: (推荐)当您的应用无法改造成通过连接池连接另一服务时,可以考虑在应用侧缓存DNS解析结果,具体操作,请参见使用节点DNS缓存NodeLocal DNSCache。 如果NodeLocal DNSCache无法适用的,可以在容器内置NSCD(Name Service Cache Daemon)缓存。关于如何使用NSCD缓存,请参见在Kubernetes集群中使用NSCD。 优化resolv.conf文件:由于resolv.conf文件中ndots和search两个参数的机制作用,容器内配置域名的不同写法决定了域名解析的效...
记录一次k8s网络DNS问题排查过程
问题1: k8s环境下,服务使用node:xxx-alpine镜像,服务间访问报错: getaddrinfo EAI_AGAIN问题2: 非alpine镜像, 使用clusterip访问频繁出现超时问题: connect ECONNRESET,read ECONNRESET还有服务本身axios报的timeout问题3: 非alpine镜像, 使用dns访问报错: getaddrinfo ENOTFOUND 详细背景见: https://github.com/k3s-io/k3s/issues/5897 问题4: coreDns报错出现error: [ERROR] plugin/errors: 2 . NS: read udp 10.42.2.5:38764->183.60.82.98:53: i/o timeout[DONE]记录问题解决过程问题1问题排查/解决过程 现象1: 问题发生在流量高峰阶段 现象2: 压测tps,200线程仅30多每秒, 吞吐量极差 现象3: 是偶尔性的, 200线程50次仅发现十几条这样的报错日志 原因描述(...
python学习总结
python变量的层级global 当使用global 定义全局变量时,经常会提示:Global variable '变量名' is undefined at the module level 12def test001(self) global user_id 下边是查询后得到得结果 12345678910a = '我是模块中的变量a'def hi(): a = '我是函数里的变量a' print('函数“hi”已经运行!')class Go2: a = '我是类2中的变量a' def do2(self): print('函数“do2”已经运行!') 在整个py文件中,非def和class之外得变量,一般在最上放得变量,才是模块变量 如果是在模块中为全局变量赋值 123456# 定义一个全局变量user_id,但是仍然需要在模块层先定义一个全局变量gloabl user_iddef test001(sel...
Pod/Node亲和性和反亲和性部署
参考:https://cloud.tencent.com/developer/article/1746649 Kubernetes K8S之Node节点亲和性与反亲和性以及Pod亲和性与反亲和性详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C/4G/20G 172.16.1.110 10.0.0.110 k8s-node01 CentOS7.7 2C/4G/20G 172.16.1.111 10.0.0.111 k8s-node02 CentOS7.7 2C/4G/20G 172.16.1.112 10.0.0.112 亲和性和反亲和性nodeSelector提供了一种非常简单的方法,将pods约束到具有特定标签的节点。而亲和性/反亲和性极大地扩展了可表达的约束类型。关键的增强是: 1、亲和性/反亲和性语言更具表达性。除了使用逻辑AND操作创建的精确匹配之外,该语言还提供了...
golang建立项目以及go-module和vendor的区别
windows下, $GOPATH默认安装位置为: c:\Users<user>\go 建立项目not a valid zip filegithub.com/shirou/gopsutil/process: zip: not a valid zip file 此类问题多是因为GOPROXY所导致。 使用https://mirrors.aliyun.com/goproxy/,direct的时候,在进行go build/go mod tidy等指令时就会出现此错误。 换成https://goproxy.cn,direct即可。 123456789101112131415161718192021$ mkdir go-example && cd go-example#GO111MODULE=on,使用go module,不使用GOPATH#GO111MODULE=off,使用GOPATH,不使用go module#GO111MODULE=auto,取决于当前工作路径 #如果项目在%GOPATH/src内,等同于GO111MODULE=off,即使用G...
ingress-k3s之traefik的使用
前言Ingress Service可能会有很多,如果每个资源都绑定一个 node port的话,主机则需要开放外围的端口进行服务调用,管理上会比较混乱。 比较优雅的方式是通过一个外部的负载均衡器,比如 nginx ,绑定固定的端口比如80,然后根据域名/服务名向后面的Service Ip转发,但是这里对问题在于:当有新服务加入的时候如何修改 Nginx 配置? 手动改或者 Rolling Update Nginx Pod 都是不现实的。 对于这个问题, k8s 给出的七层解决方案是:Ingress Traefik Træfik 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。Traefix是k3s里面的Ingress Controller。支持负载均衡和反向代理,类似于ngnix。 Traefik 的...
