文章
273
标签
62
分类
34
首页
文章
标签
分类
资源
留言
猿码记
搜索
首页
文章
标签
分类
资源
留言
猿码记
Go常用包(十三):Uber开源之高性能日志库(zap)
发表于
2021-06-13
|
编程
Go
常用包篇
1.介绍Zap是uber开源的日志库,支持日志级别分级 、结构化记录,对性能和内存分配做了极致的优化。目前 Star 12.8 源码地址: https://github.com/uber-go/zap 官方性能测试图 2.安装go get -u go.uber.org/zap 3.日志记录器Zap提供了两种类型的日志记录器: SugaredLogger和Logger,两者对比如下: SugaredLogger : 在性能很好但不是很关键的上下文中使用,它比其他结构化日志记录包快4-10倍,并且支持结构化和printf风格的日志记录。与 log15和 go-kit 一样,SugaredLo ...
Gin集成(一):集成viper配置解析包
发表于
2021-06-11
|
编程
Go
Gin框架
1.介绍Viper是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。目前Star 15.8k,它支持以下特性: 设置默认值 从JSON、TOML、YAML、HCL、envfile和Java properties格式的配置文件读取配置信息 实时监控和重新读取配置文件(可选) 从环境变量中读取 从远程配置系统(etcd或Consul)读取并监控配置变化 从命令行参数读取配置 从buffer读取配置 显式配置值 2.项目介绍Gin框架学习使用,并实践常用包在Gin框架中的集成和使用。源码地址: h ...
Go常用包(十二):rune字符操作包(unicode)
发表于
2021-06-09
|
编程
Go
常用包篇
1.介绍unicode包提供了诸多处理rune字符相关功能的函数(比如区分字母和数字,或者是字母的大写和小写转换等) 2.判断函数2.1 是否为空格(IsSpace)func TestJudge(t *testing.T) { rune1 := ' ' rune2 := 'h' fmt.Printf("[%c] 是空格? %t\n",rune1,unicode.IsSpace(rune1)) // 输出 [ ] 是空格? true fmt.Printf("[%c] 是空格? %t\n",rune2,un ...
Go常用包(十一):sort排序和查询
发表于
2021-06-08
|
编程
Go
常用包篇
1.介绍sort包实现了四种基本排序算法:插入排序、归并排序、堆排序、快速排序。 但是这四种排序方法是不公开的,它们只能在 sort 包内部使用。sort 包会根据实际数据自动选择高效的排序算法,所以在对数据集合排序时不必考虑应当选择哪一种排序方法,只要实现了 sort.Interface 定义的三个方法,就可以顺利对数据集合进行排序: Len() int: 获取数据集合长度。 Less() bool: 比较两个元素大小。 Swap(): 交换两个元素位置。 1.1 支持功能sort 包对[]int 、[]float64 、[]string 切片提供了完整的支持,主要功能有: 对基本数据 ...
Go常用包(十):viper配置文件解析
发表于
2021-06-05
|
编程
Go
常用包篇
1.介绍Viper是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。目前Star 15.8k,它支持以下特性: 设置默认值 从JSON、TOML、YAML、HCL、envfile和Java properties格式的配置文件读取配置信息 实时监控和重新读取配置文件(可选) 从环境变量中读取 从远程配置系统(etcd或Consul)读取并监控配置变化 从命令行参数读取配置 从buffer读取配置 显式配置值 2.安装go get github.com/spf13/viper 3. 读取yam ...
Go常用包(九):flag命令行参数解析
发表于
2021-06-01
|
编程
Go
常用包篇
1.介绍在 Go中,如果要接收命令行参数,需要使用 flag包进行解析。不同的参数类型可以通过不同的方法接收。 2.参数接受2.1 接受方式使用flag接收参数,可以由以下三种方式接受: 方式一: flag.Type(name,defaultVal,desc) 方式二: flag.TypeVar(&flagVar,name,defaultVal,desc) 方式三: flag.Var(&flagVar,name,desc) 方式四: flag.Args() 方式五:flag.Arg(i) 字段 说明 flag.Type 这里的Type是个抽象的概念,不是具体函数 ...
Gin框架(十二):更多HTTP服务使用
发表于
2021-05-31
|
编程
Go
Gin框架
1.静态文件服务1.1 代码package mainimport "github.com/gin-gonic/gin"func main() { engine := gin.Default() // 静态图片 engine.Static("/img","./public/img") // 静态文件 engine.StaticFile("/favicon.ico","./public/favicon.ico") // 启动服务 _ = engine.Run()} 1.2 目录 ...
Gin框架(十一):验证器Validator使用
发表于
2021-05-30
|
编程
Go
Gin框架
1.介绍validator是一个开源的验证器包,可以快速校验输入信息是否符合自定规则。目前Star 7.8k,源码地址: https://github.com/go-playground/validator 1.1 安装go get github.com/go-playground/validator 1.2 引用import "github.com/go-playground/validator" 1.3 示例代码: package mainimport ( "fmt" "github.com/gin-gonic/gin" &q ...
Gin框架(十):日志使用(logrus+lumberjack)
发表于
2021-05-27
|
编程
Go
Gin框架
1.框架自带gin框架自带日志记录功能,通过fmt.Fprint和fmt.Fprintf来记录日志信息,默认是将日志写到终端,可以通过gin.DefaultWriter来设置写入文件。 1.1 终端禁用颜色gin.DisableConsoleColor() 1.2 只写入文件// 日志记录使用func main() { // 禁用控制台颜色,将日志写入文件时不需要控制台颜色 gin.DisableConsoleColor() // 记录到指定文件 f, _ := os.Create("gin.log") gin.DefaultWriter = io.Mult ...
基于laradock搭建非侵入式性能监控平台
发表于
2021-05-26
|
编程
PHP
1.安装相关软件1.1 安装tideways-xhprofa. 编辑.env配置文件PHP_FPM_INSTALL_XHPROF=true b. 代码脚本如果使用的是laradock,以下代码会在php-fpm/Dockerfile中,无需编写 ############################################################################ 安装 Xhprof:ARG INSTALL_XHPROF=falseRUN if [ ${INSTALL_XHPROF} = true ]; then \ # Instal ...
Gin框架(九):BasicAuth授权认证中间件使用
发表于
2021-05-25
|
编程
Go
Gin框架
1.什么是BasicAuth?Basic Auth是一种开放平台认证方式,简单的说就是需要你输入用户名和密码才能继续访问。 2.在单路由中使用 如果需要针对单个路由使用,在要在单路由中注册BasicAuth中间件即可。 2.1 代码// 使用BasicAuth中间件func main(){ engine := gin.Default() // 设置账号和密码,key:代表账号,value:代表密码 ginAccounts := gin.Accounts{ "user":"password", "abc" ...
Gin框架(八):中间件
发表于
2021-05-15
|
编程
Go
Gin框架
中间件(英语:Middleware),又译中间件、中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。 1.介绍在Gin框架中,中间件本质上是gin.HandlerFunc 函数,如果我们要自定义中间件,只需要返回类型是gin.HandlerFunc 即可。 在Gin框架中,使用中间件可分为以下几种场景: 全局使用 单个路由使用 路由组使用 2.使用2.1 全局使用在gin.Default()函数中,默认注册全局中间件Logger、Recovery,具体代码如下: func Default() *Eng ...
1
…
9
10
11
…
23
刘庆辉
人生需要 “归零”,每过一段时间都要将过去 “清零”,让自己重新开始。
文章
273
标签
62
分类
34
Follow Me
公告
欢迎来到我的博客,互动请留言~
最新文章
Go常用包(三十六):自动化文档生成[swagger]
2024-06-20
Python框架篇(9):FastApi-SQLAlchemy集成
2024-05-10
Python框架篇(8):FastApi-文件处理
2024-04-01
Python框架篇(7):FastApi-依赖项
2024-03-26
AI学习(5):PyTorch-核心模块(Autograd):自动求导
2024-02-27
分类
AI学习
6
使用篇
1
使用篇(一):Ai绘图-Stable Diffusion WebUI
基础篇
5
AI学习(1):初识AI,踏上未来之旅
AI学习(2):PyTorch2.1 环境安装
AI学习(5):PyTorch-核心模块(Autograd):自动求导
AI学习(3):PyTorch-初识张量
AI学习(4):PyTorch实战-手写数字识别
微服务
18
Docker
4
创建自己的Docker镜像
Docker常用命令整理
查看Docker容器日志方法
基于Docker搭建禅道
Kubernetes
14
K8s学习(一):环境准备
K8s学习(二):集群部署
K8s学习(三):架构简述
K8s学习(四):运行应用
K8s学习(五):容器运行时Container
K8s学习(六):go服务部署(升级&回滚)
K8s学习(七):深入了解Pod
K8s学习(八):Pod健康检查
K8s学习(九):深入Service暴露
K8s学习(十一):Secret和ConfigMap
K8s学习(十):数据管理
K8s学习(十二):Helm入门
K8s学习(十三):部署服务[上篇]
K8s学习(十四):部署服务[下篇]
架构进阶
17
ElasticSearch
8
ElasticSearch(一):核心概念整理
ElasticSearch(二):架构设计总览
ElasticSearch7(三):索引(index)操作
ElasticSearch7(四):映射(mapping)操作
ElasticSearch7(五):文档操作-增改删
ElasticSearch7(六):文档查询之(Uri Search)
ElasticSearch7(八):聚合查询
ElasticSearch7(七):文档查询之(Request Body Search)
Mysql
8
MySQL深入(二):B+树索引分类和添加规则
MySQL深入(三):联合索引和覆盖索引
MySQL深入(一):B+树的演化和操作
SQL优化思路纪要
MyISAM和InnoDB之存储结构对比
在MySql中批量执行更新SQL语句
Innodb中的事务隔离级别和锁的关系
MYSQL性能优化神器之Explain使用
RabbitMQ
1
RabbitMQ之消息类型
理论知识
10
数据结构-单向链表
数据结构-双向链表、循环链
Http-头部属性
Http-状态码
其他术语
写时复制
存储单位
幂等性
TPS/QPS/PV/UV
进程、线程、协程
编程
202
Go
110
Gin框架
18
Gin框架(一):快速入门
Gin框架(十):日志使用(logrus+lumberjack)
Gin框架(十二):更多HTTP服务使用
Gin框架(三):路由初使用
Gin框架(四):路由组使用
Gin框架(五):参数接收
Gin框架(十一):验证器Validator使用
Gin框架(二):服务启动源码分析
Gin框架(六):参数绑定
Gin框架(九):BasicAuth授权认证中间件使用
Gin框架(七):文件上传
Gin框架(八):中间件
Gin集成(一):集成viper配置解析包
Gin集成(二):集成高性能日志zap
Gin集成(三):集成全功能ORM框架-GORM
Gin集成(四):集成JWT
Gin集成(五):集成Redis操作库
Gin集成(六):集成ElasticSearch操作库
基础篇
31
AI学习(1):初识AI,踏上未来之旅
AI学习(2):PyTorch2.1 环境安装
AI学习(5):PyTorch-核心模块(Autograd):自动求导
AI学习(3):PyTorch-初识张量
AI学习(4):PyTorch实战-手写数字识别
实战篇
6
基金分析系统(一):项目介绍
基金分析系统(三):爬取基金收益榜单
基金分析系统(二):通过数据模型建表
基金分析系统(四):爬取基金详情信息
基金分析系统(五):爬取基金持仓信息
基金分析系统(六):通过docker-compose项目部署
实践篇
5
框架开发(一):目录介绍和路由设计
框架开发(二):集成Gorm及使用
框架开发(三):集成Go-Redis及使用
框架开发(四):集成LogRus及使用
框架开发(五):集成Go-ElasticSearch及使用
常用包篇
36
Go常用包(十):viper配置文件解析
Go常用包(一):strings(字符串操作)包使用
Go常用包(十一):sort排序和查询
Go常用包(十二):rune字符操作包(unicode)
Go常用包(十三):Uber开源之高性能日志库(zap)
Go常用包(十四):高性能缓存库BigCache
Go常用包(十五):系统基本操作包使用(os)
Go常用包(十六):crypto之AES加解密
Go常用包(十七):crypto之RSA非对称加解密
Go常用包(十八):结构体匿名字段的Json序列化、反序列化
Go常用包(二):strconv(字符串转换)包使用
Go常用包(十九):全功能ORM框架[gorm]使用
Go常用包(二十):数学计算和常数(math)
Go常用包(二十一):360开源高性能excel库(Excelize)
Go常用包(二十二):JWT在Golang中的实现(jwt-go)
Go常用包(二十三):操作redis开源库(go-redis)
Go常用包(二十四):单元测试(testinng)
Go常用包(二十五):ElasticSearch客户端的实现
Go常用包(二十六):知名爬虫框架Colly
Go常用包(二十七):定时任务管理库Cron
Go常用包(二十八):构建现代CLI应用库Cobra
Go常用包(二十九):性能调试利器使用(上)
Go常用包(三):time(时间)包使用
Go常用包(三十):性能调试利器使用(中)
Go常用包(三十一):性能调试利器使用(下)
Go常用包(三十二):现代的Go工具库go-funk
Go常用包(三十三):高性能json解析器
Go常用包(三十四):高性能http客户端fasthttp
Go常用包(三十五):高性能的goroutine池[ants]
Go常用包(三十六):自动化文档生成[swagger]
Go常用包(四):fmt包使用
Go常用包(五):ioutil包使用
Go常用包(七):context上下文
Go常用包(六):bufio有缓存的IO包使用
Go常用包(八):sync辅助并发安全
Go常用包(九):flag命令行参数解析
进阶篇
14
Go底层探索(一):编译器
Go底层探索(二):字符串
Go底层探索(三):切片
Go底层探索(四):哈希表Map上篇
Go底层探索(五):哈希表Map下篇-扩容
Go底层探索(六):延迟函数defer
Go底层探索(七):并发编程[上]-协程的由来
RPC编程(一):初步了解RPC
RPC编程(二):快速入门使用
RPC编程(三):gRPC快速入门
RPC编程(四):protobuf语法学习
RPC编程(五):gRPC中的Token认证
RPC编程(六):gRPC中的TLS认证
RPC编程(七):gRPC中的截取器
Java
46
基础篇-数据类型及运算
基础篇-异常处理
基础篇-了解多线程
基础篇-初识Lambda
基础篇-Lambda操作集合
基础篇-Stream使用
基础篇-Collect方法详解
基础篇-Lambda操作Map
基础篇-FutureTask初使用
Java实践篇-使用Md5/Sha1/base64
基础篇-数组
基础篇-初始化块
基础篇-类
基础篇-注解
基础篇-泛型
基础篇-枚举
基础篇-集合
基础篇-map操作
Java实践篇-Api接口多版本控制
基础篇-抽象类和接口
SpringBoot学习(一):controller注解使用
SpringBoot学习(十):事务使用(@Transactional)
SpringBoot学习(十二):Mybatis连表(一对一)使用实践
SpringBoot学习(十三):Mybatis连表(一对多)使用实践
SpringBoot学习(十一):Mybatis批量插入数据
SpringBoot学习(十四):Mybatis连表(多对多)使用实践
SpringBoot学习(十八):SLF4J+Logback-日志使用
SpringBoot学习(十五):Mybatis多数据源实践
SpringBoot学习(十七):配置文件值注入
SpringBoot学习(十六):配置文件使用
SpringBoot学习(十九):初探Logback
SpringBoot学习(二):Swagger文档集成
SpringBoot学习(二十):Logback配置文件详解(上篇)
SpringBoot学习(二十一):Logback配置文件详解(下篇)
SpringBoot学习(二十二):约定编程模拟AOP的实现
SpringBoot学习(二十四):AOP之切点指示器
SpringBoot学习(二十三):AOP使用实践
SpringBoot学习(二十五):AOP之引入增强(@DeclareParents)
SpringBoot学习(二十六):AOP之多切面使用
SpringBoot学习(三):集成Mybatis
SpringBoot学习(四):集成Mybatis代码生成器(MyBatis Generator)
SpringBoot学习(五):验证器(hibernate-validator)使用
SpringBoot学习(六):集成阿里数据源(Druid)
SpringBoot学习(七):集成Redis并结合Spring Cache使用
SpringBoot学习(八):拦截器的使用
SpringBoot学习(九):验证码(EasyCaptcha)使用
PHP
11
开发compose包
PHP常用数组函数整理
PHP中的并发请求实践
搭建docker+PHP7+phpstorm+xdebug开发环境
基于laradock+phpstorm配置单元测试
PHP常用魔术函数整理
记一次在PHP中使用正则删除非汉字字符串
PHP常用字符串函数整理
基于laradock搭建非侵入式性能监控平台
PHP7更新变更差异整理
PHP-FPM配置详情及优化
Python
33
FastAPI框架
9
Python框架篇(1):FastApi-快速入门
Python框架篇(2):FastApi-参数接收和验证
Python框架篇(3):FastApi-响应模型
Python框架篇(4):FastApi-错误处理
Python框架篇(6):FastApi-配置管理
Python框架篇(5):FastApi-中间件使用
Python框架篇(7):FastApi-依赖项
Python框架篇(9):FastApi-SQLAlchemy集成
Python框架篇(8):FastApi-文件处理
基础篇
10
AI学习(1):初识AI,踏上未来之旅
AI学习(2):PyTorch2.1 环境安装
AI学习(5):PyTorch-核心模块(Autograd):自动求导
AI学习(3):PyTorch-初识张量
AI学习(4):PyTorch实战-手写数字识别
常用库
14
Python库学习(十):Matplotlib绘画库
Python库学习(一):日期和时间
Python库学习(十一):数据分析Pandas[上篇]
Python库学习(十二):数据分析Pandas[下篇]
Python库学习(十四):ORM框架-SQLAlchemy
Python库学习(二):数学计算(random、math、statistics)
Python库学习(四):json序列化和反序列
Python库学习(五):图像处理-Pillow
Python库学习(三):文件目录操作
Python库学习(六):科学计算库Numpy[上篇]:创建、访问、赋值
Python库学习(七):Numpy[续篇一]:结构数组
Python库学习(十三):爬虫框架-Scrapy
Python库学习(八):Numpy[续篇二]:数组操作
Python库学习(九):Numpy[续篇三]:数组运算
Vue
1
了解vue实例和生命周期
正则表达
1
正则使用
踩坑
5
Row size too large (> 8126) for mysql
服务-定时任务(crontab)使用总结
Mysql8采坑记录归纳
使用docker的采坑纪要
记录Git使用采坑纪要
运维
11
Nginx
3
Nginx反向代理使用
Nginx限流(防恶意请求)实践
Nginx配置调优
其他
1
批量更新多个服务器代码
命令
3
curl
ls
scp
服务
4
Centos-在Centos7中使用防火墙
Maven私服搭建(nexus3)和使用
记在Linux中搭建nfs文件共享的一次经历
RabbitMQ安装方法总结
面试题
4
PHP常见排序算法汇总
消息队列(MQ)相关面试题整理
PHP相关面试题整理
Redis相关面试题整理
标签
AI
AOP
Anaconda
Centos
ES
ElasticSearch
FastAPI
Gin
Go
Go入门
Go实战
Go实践
Go工具
Go底层
Go推荐包
Go编码规范
Go规范
Java
Java实践
Json
Jupyter
Kubernetes
Logback
MQ
Matplotlib
Mybatis
Mysql
Numpy
ORM
Pandas
Pillow
Python
Python框架篇
RPC
RabbitMQ
SQLAlchemy
Scrapy
SpringBoot
Vue
composer
文章
六月 2024
1
五月 2024
1
四月 2024
1
查看更多
网站资讯
文章数目 :
273
已运行时间 :
本站总字数 :
516.8k
本站访客数 :
本站总访问量 :
繁
本地搜索
由
hexo-generator-search
提供支持