上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页

2023年3月21日

go 常用设计模式-行为型模式

摘要: 本次分享的行为型模式,主要包含: 责任链模式 策略模式 观察者模式 模板模式 访问者模式 1.责任链模式 package chainOfResponsibility import "fmt" /* 行为模式: 通过账目报销的例子说明,不同的级别领导,其权限不同,如100元级别,100元级别等 */ 阅读全文

posted @ 2023-03-21 18:05 进击的davis 阅读(25) 评论(0) 推荐(0) 编辑

go 常用设计模式-创建型模式

摘要: 本次分享的创建型模式主要包括: 单例模式 简单工厂模式 工厂模式 抽象共工厂模式 1.单例模式 package singleton import "sync" /* 创建型模式 */ var ( instance Singleton once sync.Once ) type Singleton s 阅读全文

posted @ 2023-03-21 17:56 进击的davis 阅读(21) 评论(0) 推荐(0) 编辑

2023年3月20日

go 1.19 gRPC的简单实操

摘要: 学习一段时间的grpc了,今天简单记录下grpc的使用流程。 在进入今天的分享前,请确保自己已经安装好相关的环境: go 1.19 protoc v3.19.4 protoc-gen-go v1.28.1 protoc-gen-go-grpc v1.3.0 1.项目目录结构 如下图显示: 2.pro 阅读全文

posted @ 2023-03-20 15:12 进击的davis 阅读(119) 评论(0) 推荐(0) 编辑

golang grpc编译工具的安装

摘要: 本次安装前提是已经安装go环境,我的环境是ubuntu20.04。 安装环境主要是: protoc protoc-gen-go protoc-gen-go-grpc 1.编译器:protoc的安装 参考官方安装方式, 方式一 如果你是ubuntu类似的系统, $ apt install -y pro 阅读全文

posted @ 2023-03-20 10:37 进击的davis 阅读(159) 评论(0) 推荐(0) 编辑

2023年3月17日

docker 运行mysql5.7

摘要: 本文主要分享在ubuntu20.04下通过docker安装mysql 5.7的相关实操,通常介于多方面因素我们不会将mysql运行在docker下,但对数据不是很敏感下,又想快速部署相关服务或者简单的开发测试,我们也是可以通过docker运行mysql的。 环境: ubuntu 20.04 dock 阅读全文

posted @ 2023-03-17 18:22 进击的davis 阅读(553) 评论(0) 推荐(0) 编辑

linux通过docker实现文件日志输送到logstash中

摘要: 本文主要分享通过logstash进行日志的收集,传输到es的实操。 logstash作为ELK stack中的一员,凭借其强大的插件实现过滤功能,这是Filebeat组件没法比的,但logstash运行起来相对也更重,更吃内存和CPU。 下面我将从logstash的部署到运行,最后在kibana上查 阅读全文

posted @ 2023-03-17 18:22 进击的davis 阅读(441) 评论(0) 推荐(0) 编辑

docker 运行filebeat收集日志

摘要: 1.简介 beats 首先filebeat是Beats中的一员。 Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几 阅读全文

posted @ 2023-03-17 15:18 进击的davis 阅读(1013) 评论(0) 推荐(0) 编辑

go gin viper读取配置并实现配置热加载

摘要: go的gin简单好上手,用了都说香,快速开发api应用这块,go的gin库确实没的说,今天分享的是通过viper库读取配置并实现配置热加载,在gin应用docker后:二进制+配置,这样的配置确实很高效。 话不多说,直接看项目结构: 接下来是各个文件源码。 config.yaml app: name 阅读全文

posted @ 2023-03-17 11:07 进击的davis 阅读(446) 评论(0) 推荐(0) 编辑

2023年3月16日

docker部署go程序实现极小镜像占用

摘要: 1.交叉编译 通常我们编写代码会在linux的环境中,一般开发环境就是win里面装个linux虚拟机,有的时候在虚机里安装相关IDE,这就使得本来资源有限的虚机进一步压缩,go恰好可以交叉编译,这为编码带来了极大的好处。 根据go的编译逻辑,我们在编译前更改go env后可实现win平台build 阅读全文

posted @ 2023-03-16 18:34 进击的davis 阅读(206) 评论(0) 推荐(0) 编辑

docker容器化部署nginx代理的go-web应用-解决反向代理、ssl、负载均衡问题

摘要: 通常我们的web应用程序部署的时候不会直接暴露,通过nginx反向代理,一是隐藏真实后端,二是通过nginx的epoll网络IO多路复用,获取高性能的网络访问。 今天我们分享个通过nginx代理go的后端web服务。 主要内容: nginx初始化配置 go应用的初始化配置 部署实战(反向代理serv 阅读全文

posted @ 2023-03-16 11:38 进击的davis 阅读(659) 评论(0) 推荐(0) 编辑

2023年3月10日

python/go通过kafka实现消息解耦

摘要: 参考文章: Ubuntu安装单机模式kafka kafka-python3 GO kafka sarama 生产者 消费者 简单 实现 之前做项目的时候,重构了业务的部分逻辑,一些非实时性的通知业务就通过消息队列实现解耦,server1生产消息,发送到kafka,server2从kafka消费消息, 阅读全文

posted @ 2023-03-10 14:38 进击的davis 阅读(115) 评论(0) 推荐(0) 编辑

2023年2月1日

golang实现冒泡排序的三种方法

摘要: 今天重温排序的一些简单方法-冒泡排序,了解排序的同学们应该知道,冒泡排序是一种朴素的排序方法,通常我们都会用2个for-loop搞定,第一层遍历每个元素,第二层则遍历前面的元素,第一层每次循环后,都会把当次遍历的最大值移动到数组的后面位置,数组后几位即成升序的状态。 根据冒泡排序的方法论,整理出以下 阅读全文

posted @ 2023-02-01 16:24 进击的davis 阅读(413) 评论(0) 推荐(0) 编辑

2023年1月14日

go 格式化输出

摘要: 直接上代码: package main import "fmt" func main() { // %s s1 := "hello" s2 := []byte("world") fmt.Printf("string: %s, slice: %s\n", s1, s2) // string: hell 阅读全文

posted @ 2023-01-14 14:41 进击的davis 阅读(25) 评论(0) 推荐(0) 编辑

2023年1月4日

go time的定时器简单总结

摘要: go的标准库中的time包为我们提供了多个定时器的接口,总共分为以下几个: time.After,到了给定的duration的时间时,返回可读chan,也不会阻止程序运行,相当于一个消息通知 time.Sleep,在给定的duration中,阻塞当前goroutine,过了休眠时间,goroutin 阅读全文

posted @ 2023-01-04 10:52 进击的davis 阅读(112) 评论(0) 推荐(0) 编辑

2022年12月21日

go通过chan和go func进行并发控制

摘要: 原文: Go 并发实战核心编程【一】 1. 需求 启动一个goroutine,将1-10000的数字放入chan中 启动4个goroutine从chan中读取数字,并计算是不是素数 是素数就讲结果放入结果chan中 最后遍历结果chan,打印素数集合 2. 思路 这道题思路很简单,首先明确一个点就是 阅读全文

posted @ 2022-12-21 15:59 进击的davis 阅读(167) 评论(0) 推荐(0) 编辑

2022年12月20日

go使用sync.Pool的性能对比

摘要: 在业务代码编码中,涉及到经常用前创建,用后销毁的资源,为了提高性能,减少内存分配,减轻GC压力,自然而然地就会联想到使用对象池的应用。 go在很多方面都有着sync.Pool的应用,我们经常使用的fmt.Println("balabala"),其实也用到了sync.Pool,不信可以自己去阅读源码。 阅读全文

posted @ 2022-12-20 11:09 进击的davis 阅读(225) 评论(0) 推荐(0) 编辑

2022年12月19日

gin源码学习-bind(6)

摘要: xxx 阅读全文

posted @ 2022-12-19 15:46 进击的davis 阅读(30) 评论(0) 推荐(0) 编辑

gin源码学习-request/response(5)

摘要: xxx 阅读全文

posted @ 2022-12-19 15:45 进击的davis 阅读(38) 评论(0) 推荐(0) 编辑

gin源码学习-context(4)

摘要: gin的context封装了request和response,gin框架在处理具体的请求时,也都是以context作为载体,gin的context的覆盖了很多功能,在gin的源码中其实已经很简单明了了,接下来讲分享个人对gin.context的一些理解。 首先看看gin中对context结构体的定义 阅读全文

posted @ 2022-12-19 15:40 进击的davis 阅读(874) 评论(0) 推荐(0) 编辑

2022年12月9日

gin源码学习-中间件解析(3)

摘要: 1.net/http中间件 net/http部分参照-Go 每日一库之 net/http(基础和中间件),看原文请移步:https://cloud.tencent.com/developer/article/1852023 标准库net/http中并没有实现中间件这种功能,net/http为我们提供 阅读全文

posted @ 2022-12-09 16:44 进击的davis 阅读(178) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页

导航