随笔分类 -  Go

上一页 1 2 3 下一页
Go
Python与Golang中实现单例模式
摘要:Python中重写__new__方法实现 import threading import configs class Util(object): _lock = threading.Lock() def __init__(self, host, port): self.host = host sel 阅读全文
posted @ 2021-10-24 12:13 江湖乄夜雨 阅读(79) 评论(0) 推荐(0)
解决MySQL5.7的表无法插入中文的问题
摘要:环境及MySQL版本说明 MySQL版本使用的是5.7,MySQL的环境是pull了一个docker镜像run起来的。 问题描述 在创建好的数据库中新建一张表emp2: 然后试图往这张表中的title字段写入中文数据时发生了错误! 具体的SQL语句如下: insert into emp2(num, 阅读全文
posted @ 2021-06-10 19:54 江湖乄夜雨 阅读(907) 评论(0) 推荐(0)
postgreSQL数据备份与迁移的完美实践
摘要:🍎✨ 数据备份与迁移 参考文章 ❗️pg_dump命令说明 ❗️pg_restore命令说明 Postgresql备份与还原命令pg_dump PostgreSQL pg_dump&psql 数据的备份与恢复 1、首先安装一下postgresql ❗️❗️❗️特别要注意版本问题! ❗️❗️❗️后面 阅读全文
posted @ 2021-05-20 21:04 江湖乄夜雨 阅读(5420) 评论(0) 推荐(0)
在Golang中实现与Python装饰器类似功能的方法
摘要:Python中的闭包与装饰器 关于Python中的闭包与装饰器的知识笔者之前总结过一篇文章:Python装饰器的调用过程 实际上,装饰器是Python中的的一个语法糖,使用@装饰器装饰的函数会将被装饰的函数作为参数传入装饰器函数中,然后在装饰器函数里面做一些统一的定制化的处理。 也就是说,我们可以使 阅读全文
posted @ 2021-04-20 17:46 江湖乄夜雨 阅读(1014) 评论(0) 推荐(0)
项目中使用进程内缓存的一些经验及注意事项
摘要:前言 对于项目中一些比较简单的功能,比如在项目启动的时候将简单的userId与configId的对应关系存放的缓存从而减少RDS中的IO操作,这种简单的应用场景我们可以使用进程缓存来代替redis达到同样的效果。 本文分享一下进程内缓存的使用以及存在的问题分析。 直接使用全局变量的方法 使用进程内缓 阅读全文
posted @ 2021-04-10 11:01 江湖乄夜雨 阅读(383) 评论(0) 推荐(1)
Golang中使用recover捕获panic的操作及遇到的一个坑
摘要:说明 本文介绍一下使用recover捕获panic的操作及遇到的一个坑。 使用recover捕获panic 正常情况下,发生panic的函数会导致程序异常退出,我们可以使用defer语句在另外一个函数中捕获到当前函数panic的error并做相应的逻辑处理: package test1 import 阅读全文
posted @ 2021-03-16 16:54 江湖乄夜雨 阅读(1268) 评论(0) 推荐(0)
Python与Golang中给列表中字典按照某个key排序以及Go中给切片中的结构体排序
摘要:Golang中使用sort包按照结构体多个字段排序的正确方法!!! type Bird struct { A1 int `json:"a1"` A2 int `json:"a2"` A3 int `json:"a3"` A4 int `json:"a4"` } func TestBirdSort(t 阅读全文
posted @ 2021-03-11 17:49 江湖乄夜雨 阅读(1225) 评论(0) 推荐(0)
浅谈Python与Golang中的“惰性求值”
摘要:前言 Python与Golang中的“惰性求值”主要出现在闭包中。 本文主要通过几个简单案例介绍一下Python中闭包的惰性求值与Golang中闭包与Goroutine的惰性求值机制与理解。 Python中闭包的惰性求值 简单的案例 先来看一个使用Python实现闭包惰性求值的简单案例: def o 阅读全文
posted @ 2021-03-05 17:31 江湖乄夜雨 阅读(572) 评论(0) 推荐(0)
控制Goroutine并发量的解决方案
摘要:前言 Go语言虽然开并发Goroutine特别简单,但是实际中如果不控制并发的数量会导致资源的浪费以及同时占用大量服务资源(http连接、数据库连接、文件句柄等)导致服务性能下降! 笔者之前总结过一篇在业务代码中控制并发数量的文章:Go控制协裎并发数量的用法及实际中的一个案例 ants库实现链接池的 阅读全文
posted @ 2021-03-04 18:47 江湖乄夜雨 阅读(1068) 评论(0) 推荐(0)
使用go-retryablehttp包实现http“链接池”效果
摘要:前言 在go中使用http的方式获取数据时每次通常都会创建一个http的Client对象处理请求,但是如果一次任务中请求的非常频繁,每一次请求都要创建一个Client对象的话势必会造成链接资源的浪费。 在实际中我们知道有一种“链接池”的概念,就是说提前在链接池中创建好链接,每一次请求前都从这个“链接 阅读全文
posted @ 2021-03-03 19:12 江湖乄夜雨 阅读(1197) 评论(0) 推荐(0)
xorm相关操作小结
摘要:前言 最近写业务用到xorm操作postgreSQL,抽空写了一些平时会用到的常用的操作,好脑筋不如好笔记。 xorm 参考文档 中文文档-方便滤清xorm所有的知识体系 英文文档-有各种各样的实际操作 项目地址 相关技术博客 Go每日一库之xorm 上面那个作者的每日一库系列跟Go的相关文章挺不错 阅读全文
posted @ 2021-03-02 21:07 江湖乄夜雨 阅读(2230) 评论(0) 推荐(0)
使用Go处理HTTP压缩文件数据总结
摘要:前言 最近遇到了一个HTTP请求返回一个gz压缩包的问题,前前后后搞了3天,总算是把整个流程以及处理的细节搞明白了,总结一篇博客记录分享一下。 问题描述几解决方案 流量方的优化 获取某推广告成效数据的时候由于数据量很多,可能会导致Response数据量过大从而造成请求失败的问题。 某推服务方设计了这 阅读全文
posted @ 2021-01-30 17:58 江湖乄夜雨 阅读(942) 评论(0) 推荐(0)
使用unpackit包解压gz包遇到的一个问题与解决方案
摘要:问题描述 上一篇博客介绍了使用go解决文件压缩问题:使用Golang解压缩文件遇到的问题及解决方法 文中用到了unpackit这个第三方包。 但是,实际中我在解压文件的时候遇到了这样的情况:在电脑手动解压的文件大概有120多k,文件是完整的,但是使用代码解压之后的文件竟然只有4k! 毫无疑问:文件中 阅读全文
posted @ 2021-01-28 20:48 江湖乄夜雨 阅读(437) 评论(0) 推荐(0)
使用Golang解压缩文件遇到的问题及解决方法
摘要:问题描述 最近做广告业务获取某推的广告成效,与其他渠道不同的是,最终拿到的成效数据是一个压缩包的HTTP流数据。 将数据写入到本地生成了一个以.gz为后缀的压缩包文件,解压以后的文件存放着json格式的成效数据。 当然需要程序去解压缩这个压缩包获取里面的文件了。 内置tar包的问题 参考网上大佬们 阅读全文
posted @ 2021-01-27 20:14 江湖乄夜雨 阅读(3318) 评论(1) 推荐(1)
Golang函数或方法传递nil值的一个坑
摘要:本文记录了下自己之前在做项目的时候遇到的函数或方法传递nil值的一个坑,后面会附上说明与解决方案。 错误示范 下面这个BaseRequestString函数主要实现的功能是:分别处理GET或POST请求,requestBody参数在GET请求时传nil,POST请求如果请求体里有数据的话需要处理一下 阅读全文
posted @ 2021-01-20 11:48 江湖乄夜雨 阅读(1865) 评论(0) 推荐(0)
使用golang实现一个LRU进程缓存模块
摘要:文件 需要用到:container/list 模块。 // This files was copied/modified from https://github.com/hashicorp/golang-lru // which was (see below) // This package pro 阅读全文
posted @ 2021-01-08 14:58 江湖乄夜雨 阅读(505) 评论(0) 推荐(0)
golang时间与时区相关操作总结
摘要:前言 任何语言处理时间的功能都是最基础也是平时十分常用的,另外需要注意任何脱离时区的时间都是没有任何意义的! 这里总结一下笔者在这一个多月写go项目用到的、收集到的一些好用的处理时间的方法以及时间处理的一些基础知识点。 golang时间操作基础 *** go关于时间操作的基础我这边自己做了一下笔记: 阅读全文
posted @ 2020-12-18 11:47 江湖乄夜雨 阅读(4234) 评论(0) 推荐(0)
go操作redis的一些练习
摘要:使用go-redis github.com/go-redis/redis 初始化连接 // 初始化连接 // 声明一个全局的rdb变量 var rdb *redis.Client // 初始化连接 func initClient() (err error) { // 注意这里不用 := 必须给全局变 阅读全文
posted @ 2020-12-16 16:35 江湖乄夜雨 阅读(177) 评论(0) 推荐(0)
gin框架实现简单的jwt认证
摘要:之前的总结 之前自己总结过使用Python实现JWT认证的博客:关于跨域与同源策略、安全cookie、CSRF与JWT认证校验看这一篇就够了 参考博客 主要参考这篇博客实现的,自己亲自动手实现一下,加深一下印象:https://www.liwenzhou.com/posts/Go/jwt_in_gi 阅读全文
posted @ 2020-12-08 18:06 江湖乄夜雨 阅读(1082) 评论(0) 推荐(0)
gin项目的路由拆分与注册
摘要:参考博客 https://www.liwenzhou.com/posts/Go/gin_routes_registry/ 基本的路由注册 func TestRouterGroup(t *testing.T){ // 定义默认引擎 r := gin.Default() // 路由组 userGroup 阅读全文
posted @ 2020-12-08 15:57 江湖乄夜雨 阅读(1833) 评论(0) 推荐(0)

上一页 1 2 3 下一页