手撸golang 基本数据结构与算法 数组

手撸golang 基本数据结构与算法 数组缘起最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一)本系列笔记拟采用golang练习之数组数组是一种线性数据结构, 数据按顺序存储在内存的连续空间内。 每个数据的内存地址(在内存上的位置)都可以通过数组下标算出, 我们也就可以借此直接访问目标数据(这叫作“随机访问”)。 访问数据时使用的是随机访问(通过下标可计算出内存地址), 所以需要的运行时间仅为恒定的O(1)。 但另一方面,想要向数组中添加新数据时,必须把目标位置后面的数据一个个移开。 ...阅读全文

Segmentfault 2021-02-19 22:53:49 ioly

K8S 控制器模式

Kubernetes模型通常由以下部分组成: TypeMeta TypeMeta是Kubernetes对象的最基本定义,它通过引入GKV(Group,Kind,Version)定义了一个对象的类型。 Group Kubernetes定义了非常多对象,如何归类这些对象是一门学问,将对象依据其功能范围归入不同的分组,比如把支撑最基本功能的对象归入core组,把与应用部署有关的对象归入apps组,会使这些对象可维护性和可理解性更高。 Kind 定义一个对象的基本类型,比如Node,Pod,Deploy...阅读全文

简书 2021-02-14 13:32:39 陈Sir的知识库

Docker 容器化应用部署实践

前言Docker 代表的容器技术是近两年的大热技术,和人工智能、区块链等热点不同,容器技术的门槛并不高,每一个开发、测试、运维人员都能在日常工作中掌握和使用,是当今 IT 从业人员的必备技能之一。本文主要讲解 Docker 技术栈及其应用实践,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用,希望本文对大家学习 Docker 技术有所帮助。什么是容器为什么需要容器?虚拟化不是已经够了么?对于还没有接触到容器技术的小伙伴们而言,可能觉得我们并没有必要花费大量的时间和经历去学习容器技术...阅读全文

简书 2021-02-14 13:32:37 日常君

2021-02-13:字符串str最少添加多少个字符变成回文串?

福哥答案2020-02-13: 假设字符串str是“abcde12344321”,在str后添加“edcba”即可变成回文串。需要添加5个字符。 解法:包含最后一个字符的manacher算法算出长度,然后str的总长度减去manacher长度,就是需要添加的字符个数。 代码用golang编写,代码如下:、 package main import "fmt" func main() { str := "abcde12344321" ret := ShortestEnd(str) fmt.Print...阅读全文

简书 2021-02-14 02:32:51 福大大架构师每日一题

微服务网关白名单设计 | 水木双

原文链接: http://pangulab.com/post/kb-nyepie.html 场景 我们的微服务网关(go 编写)需要增加具体的内网系统接入白名单认证,白名单有 IP 地址、系统名称两种数据,内网的系统部署方式各式各样, 微服务、单机、多机负载均衡、k8s、docker 原生等等,数据总数约 40W 个。我们的目的是需要验证 IP 是否在我们的白名单列表中即可,存在则可访问服务,不存在则拒绝访问。 解决方案 方案 1 IP 白名单列表不适合放在数据库,数据库查询有耗时,选择放在 n...阅读全文

简书 2021-02-14 02:32:50 r00xx

手撸golang 行为型设计模式 解释器模式

手撸golang 行为型设计模式 解释器模式 缘起 最近复习设计模式 拜读谭勇德的<<设计模式就该这样学>> 本系列笔记拟采用golang练习之 解释器模式 解释器模式(Interpreter Pattern)指给定一门语言, 定义它的文法的一种表示, 并定义一个解释器 ,该解释器使用该表示来解释语言中的句子。 解释器模式是一种按照规定的文法(语法)进行解析的模式, 属于行为型设计模式。 (摘自 谭勇德 <<设计模式就该这样学>>) 场景 某业务系统, 随数据量增加, 数据库访问压力日渐增大 业...阅读全文

简书 2021-02-14 02:32:50 老罗话编程

DBAtool-doDBA

卢飞-golang-基于控制台的远程监控工具,不需要在本地/远程系统上安装任何软件,下载即可直接使用,不依赖于任何环境。 远程收集系统信息:通过ssh连接到远程服务器,读取proc下meminfo、diskstats、uptime、net、vmstat、cpuinfo、loadavg等文件; 远程收集mysql信息:通过tcp连接到mysql数据库上收集,只需要授权连接用户process、select即可; 收集内容: cpu、memory、swap、net、IO processlist、loc...阅读全文

简书 2021-02-14 02:32:49 胡萝卜苗儿

golang 无缓存channel和有缓存channel

golang 无缓存channel和有缓存channel 无缓存通道 var ch = make(chan int) // 创建一个int类型的channel cap(ch) // ch的容量是0 发送/存入 ch <- 1 // 存入一个int类型的值 接收/取出 x := <-ch // 取出ch中的值,并赋值给x 关闭 close(ch) // 关闭发送方channel,对接收发channel关闭操作会panic val, ok := <-ch // ok 可用于判断通道是否关闭。 | 操...阅读全文

简书 2021-02-14 02:32:49 阿斯顿法

手撸golang 行为型设计模式 解释器模式

手撸golang 行为型设计模式 解释器模式缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>本系列笔记拟采用golang练习之解释器模式解释器模式(Interpreter Pattern)指给定一门语言, 定义它的文法的一种表示, 并定义一个解释器 ,该解释器使用该表示来解释语言中的句子。 解释器模式是一种按照规定的文法(语法)进行解析的模式, 属于行为型设计模式。 (摘自 谭勇德 <<设计模式就该这样学>>)场景某业务系统, 随数据量增加, 数据库访问压力日渐增大业务team希望平台...阅读全文

Segmentfault 2021-02-18 23:32:32 .container .car 等

微服务架构深度解析与最佳实践

微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo、还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务。但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?遗留的老系统需要如何考虑重构改造?有哪些坑需要我们注意?系统怎么在分布式服务下实现数据的一致性和服务的高可用可伸缩?拆分的过程中系统数量增多,测试、部署、运维、监控,又应该如何处理?本文将从这些问题的深度分...阅读全文

简书 2021-02-13 18:32:47 日常君

Golang 开发环境安装

Mac OS篇 建议直接使用homebrew安装 brew install go Windows 篇 建议通过国内论坛下载,无需设置代理 https://studygolang.com/dl !Go语言中文网.png](https://upload-images.jianshu.io/upload_images/708960-739acbb9d243db5e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)阅读全文

简书 2021-02-13 18:32:36 民谣里不是故事就是诗丶

基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)

TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下:1、新增对DB2数据库的支持2、新增按字段生成文件,支持把字段、JSON、XML数据转换成任何代码3、新增大量新的自定义模板,如:DDL、随机数据、导出数据、数据模型、Ant Design for Vue的CRUD模板等4、新增更多用于自定义模板生成随机数的内置静态对象5、公共参数新增高级设置,可动态配置Oracle连接模式、MySQL连接驱动、数据查询权限、数据查询方式、数据库Scheme6、合并生成自定义文件和生成...阅读全文

简书 2021-02-13 03:37:08 TableGo

手撸golang 行为型设计模式 访问者模式

手撸golang 行为型设计模式 访问者模式 缘起 最近复习设计模式 拜读谭勇德的<<设计模式就该这样学>> 本系列笔记拟采用golang练习之 访问者模式 访问者模式(Visitor Pattern)是一种将数据结构与数据操作分离的设计模式, 指封装一些作用于某种数据结构中的各元素的操作, 可以在不改变数据结构的前提下定义作用于这些元素的新的操作, 属于行为型设计模式。 访问者模式主要适用于以下应用场景: (1)数据结构稳定,作用于数据结构的操作经常变化的场景。 (2)需要数据结构与数据操作分...阅读全文

简书 2021-02-13 03:36:25 老罗话编程

手撸golang 行为型设计模式 访问者模式

手撸golang 行为型设计模式 访问者模式缘起最近复习设计模式拜读谭勇德的<<设计模式就该这样学>>本系列笔记拟采用golang练习之访问者模式访问者模式(Visitor Pattern)是一种将数据结构与数据操作分离的设计模式, 指封装一些作用于某种数据结构中的各元素的操作, 可以在不改变数据结构的前提下定义作用于这些元素的新的操作, 属于行为型设计模式。 访问者模式主要适用于以下应用场景: (1)数据结构稳定,作用于数据结构的操作经常变化的场景。 (2)需要数据结构与数据操作分离的场景。 ...阅读全文

Segmentfault 2021-02-18 07:32:32 .container .car 等

2021-02-12:如何判断两个字符串是否互为旋转字符串?

2021-02-12:如何判断两个字符串是否互为旋转字符串? 福哥答案2021-02-12: 假设字符串str1是“ABCDE”,字符串str2是“CDEAB”。字符串str2可以拆分成“CDE”和“AB”,可以拼成“ABCDE”。所以str1和str2互为旋转字符串。 解法: 1.判断str1和str2的字符串长度是否相等。不等返回false;相等进行下一步。 2.设str=str1+str1,判断str是否包含str2。如果包含,是旋转字符串。如果不包含,说明不是旋转字符串。 字符串是否包含...阅读全文

简书 2021-02-12 21:32:37 福大大架构师每日一题