6 Fishing_Fly

尚未进行身份认证

设计你的环境 引入外部环境 寻求不确定反馈 选择无止境晋升的职业

等级
TA的排名 1w+

Client-go中的watch接口的resultChan会自动关闭

Client-go中的watch接口的resultChan会自动关闭文章目录Client-go中的watch接口的resultChan会自动关闭问题描述resultChan会自动关闭的原因解决办法问题描述在client-go工程中,有时候需要用到watch接口,实际场景如下:namespacesWatch, err := clientSet.CoreV1().Namespaces().Wa...

2019-12-05 14:53:50

国内镜像加速器registry的制作

制作自己的镜像加速器,可用于项目和自己使用,需要搭建自己的s3存储。

2019-11-10 09:53:42

skywalking学习之路之重新构建Skywalking-ui镜像

skywalking学习之路之重新构建Skywalking-ui镜像心得skywalking代码仓库构建skywalking-ui镜像解析Dcokerfile.ui文件心得学习开源组件最好的方式是去官网,然后去Github源码仓库,以前觉得学习开源的东西很怕去看代码,怕看英文文档,经过这次skywalking的学习,我觉得学习开源组件或者比较新的组件,在中文学习资源比较匮乏的情况下还是要自己去...

2019-09-13 17:38:22

mysql数据库删除千万条数据的操作方案,直接delete会很久

在线上有一张表很大,积累了几年的消费数据,现在需要把这张表几年前的数据给清掉,数据量将近1亿,直接按年份将其中的数据delete,你会发现删了几小时都没有返回。这是因为每执行一次delete,需要同时将该行的删除操作记录作为事务记录在日志中保存以便进行回滚。最终采用的方案是:(1)抽取需要保留的数据到备份表中,(2)truncate旧表(3)备...

2019-06-04 13:12:40

6大设计原则之单一职责原则

单一职责原则(Single Responsibility Principle, SRP) 当你跟同事争论的时候冒出一句,你这个设计不符合SRP原则时,那是多么的装比,说不定被你的气势直接压住了,哈哈,开个玩笑,实力才是说话权。 单一职责的定义:应该有且仅有一个原因引起类的变更。原话是: There should never be more than one reason f...

2019-05-30 21:51:13

GO语言学习——(3) channel之影响发送方的原值

当接收方从通道接收到一个值类型的值时,对该值的修改就不会影响到发送方持有的那个原值。但对于引用类型的值来说,这种修改会同时影响手法双方持有的值。// 86_chan传引用类型package mainimport ( "fmt" "time")var mapChan = make(chan map[string]int, 1)func main() { synCha...

2019-05-20 14:48:24

GO语言学习——(2) channel实操之通道阻塞

先初始化一个通道,最大容量是三个元素,当向该通道发送三个值后,该通道已满,再向其发送数据,将会被阻塞。当然,此时你可以从通道中拿出一个数据,那之前的发送数据的goroutine会被唤醒。看一下下面的程序:// 85_chanbase1package mainimport ( "fmt" "time")var strChan = make(chan string, 3)...

2019-05-20 14:16:03

GO语言学习——(1) channel入门

(一)简介 Go语言所提倡的一句话是:应该以通信作为手段来共享内存,这句话最直接的体现就是channel,它也是Go语言预定义的数据类型之一。 channel提供了一种机制,它既可以同步两个并发执行的函数,又可以额昂两个函数通过相互传递特定类型的值来通信。(二)channel的基本概念 在go语言中,chnnel既指通道类型,也指代可以传递某种类型的值的通道。通道即某一...

2019-05-20 13:45:31

Leetcode: Remove Duplicates from Sorted Array GO语言实现

Given a sorted arraynums, remove the duplicatesin-placesuch that each element appear onlyonceand return the new length.Do not allocate extra space for another array, you must do this bymodifyi...

2019-05-17 17:37:57

LeetCode: Remove Nth Node From End of List go语言实现

Given a linked list, remove then-th node from the end of list and return its head.Example:Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, t...

2019-05-17 17:14:07

LeetdCode: Reverse Nodes in k-Group go语言

Given a linked list, reverse the nodes of a linked listkat a time and return its modified list.kis a positive integer and is less than or equal to the length of the linked list. If the number of ...

2019-05-17 16:18:40

mysql数据库删除千万条数据的操作方案

项目情况是这样的,数据库中有一张计费表,这张表是随着时间无限增长的,数据会越来越多,count一下数据共有8千万条,而现在需要删除2019年之前所有的数据,大概7千多万条。表中有索引。我直接使用DELETE FROM table_name WHERE recordtime < "2019 01-01 00:00:00" 这相当于愚蠢,因为直到连接断开,操作结果都没有返回...

2019-05-08 11:06:19

k8s Trouble Shooting 故障排除

本文要讲的是k8s的故障排除,比较浅,最近刚入门。主要涵盖的内容是查看k8s对象的当前运行时信息;对于服务、容器的问题是如何诊断的;对于某些复杂的问题例如pod调度问题是如何排查的。1、查看系统的Event事件 在对象资源(pod,service,RC,node,namespace,deployment等)运行有问题时,例如pod创建后没有成功运行,都应该查看k8s对象的当前...

2019-04-12 10:59:25

刚复制的vm workstation 虚机机,在别人机器上启动时报H:\centos-6.0-710\CentOS 64 位.vmdk”或它所依赖的某个快照磁盘 ” 原因: 未能锁定文件”

打不开磁盘“H:\centos-6.0-710\CentOS 64 位.vmdk”或它所依赖的某个快照磁盘”原因: 未能锁定文件” 这主要是非正常关虚拟机造成的,具体原因如下:虚拟机为了防止有多虚拟机共用一个虚拟磁盘(就是后 缀为.vmdk那个文件)造成数据的丢失和性能的削弱,每次启动虚拟机时会给每个虚拟磁盘加一个磁盘锁(也就是后缀为.lck的那个文件夹)对虚拟磁盘文件 进行锁定保...

2019-03-09 16:16:51

《Head First设计模式》之命令模式

    命令模式就是将方法调用(Method invocation)封装起来。通过封装方法调用,我们可以把运算块包装成形,所以调用此运算的对象不需要关心事情是如何进行的,只要知道如何使用包装成形的方法来完成它就可以了。通过封装方法调用,可以用在以下场景:记录日志或者重复使用这些封装来实现撤销(undo)。    我对于命令模式的理解是:当我需要做一件事的时候,我只需要给出一个命令,这个命令中的...

2019-01-20 15:00:01

mybatis 会将数值0识别成空字符串

     今天遇到一个问题,我在用java的BigDecimal对象时,值是0.00000;该对象不是空的,是new出来的,我需要将该值插入数据库,数据库对于该值的接收字段类型是decimal。我使用的Mybatis。mybatis中的语句大致如下: UPDATE user_consumption <trim prefix="SET" suffixOverrides=...

2018-11-09 09:37:56

创建高性能的索引

     最近在看《高性能MySQL》现在把自己读了第五章——创建高性能的索引,做的读书笔记分享给大家,里面写的主要是这一章节的要点,先分享,大家一起学习,后面会出一篇博客,详细讲讲。建议将图片下载下来,放大看,比较大。也可以去下面这个地址下载pdf文件。pdf文件下载 ...

2018-11-01 22:42:34

Java 通过Future来对任务进行取消

      本节我们将通过Java中的Future实现对于提交的任务进行取消。ExecutorService.submit将返回一个Future来描述任务,Future拥有一个cancel方法,该方法带有一个boolean类型的参数mayInterruptIfRunning,表示取消操作是否成功(这个参数只是表示任务是否能够接收中断,而不是表示任务是否能检测并处理中断)。如果mayInterrup...

2018-10-14 18:15:52

java volatile变量及其使用场景

java中的一种稍弱的同步机制,就是volatile变量,用于确保将变量的更新操作通知到其他线程。变量声明为volatile后:(1)编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序(重排序不懂的,可以自行百度,需要理解)。(2)volatile变量不会被缓存在寄存器或对其他处理器不可见的地方因此volatile变量总是会返回最新的值。...

2018-10-14 15:59:05

java 线程池初步涉足

   先看以下代码,是我们创建线程池的一种方式:ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();  可以进入Executors类看一下,java创建线程池的四种方式,分别有以下四个大类:(1)newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲...

2018-09-15 12:25:03

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。