首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Golang 实战记录2023
高级葡萄Ya
创建于2023-03-15
订阅专栏
使用 Golang 进行一些实践性的开发和总结
等 42 人订阅
共16篇文章
创建于2023-03-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
代码整洁实践|优化项目不干净的代码
问题分析 近期在项目的一个功能的处理,因着急上线就着急完成功能开发后测试没有问题后就直接上线,导致存在一系列的坏代码的味道: 代码不够简洁,命名存在不够通俗易懂现象 biz层臃肿,混杂本应由其他层处理
Go defer 的陷阱
前言 初学 defer 语法时还蛮有趣,本文对 defer 的重新学习,从基础知识和高级用法的所有内容,深入其原理。常用场景:资源释放、清理工作,日志记录、错误处理
Go 实践| nil 接收者的本质
首先看下面的面试题,你觉得输出结果是什么? 像接触过 Java 或C# 等面向对象的语言,都会知道像这种支持定义了 P ,没有进行实例化的时候基本会报类似 null pointer exception
Go 实践|序列化和反序列化
背景 在软件开发过程中序列化和反序列化是一个重要的步骤,它能够让数据在存储和传输变得更简单,高效。在 Go 中有很多现成的包让序列化和反序列化的工作的变的很简单。本文主要对 JSON, XML, Go
Go实践|数据脱敏思考和设计
前言 在一些常见的业务场景中可能涉及到用户的手机号,银行卡号等敏感数据,对于这部分的数据经常需要进行数据脱敏处理,就是将此部分数据隐私化,防止数据泄露。但是在生产环境中,数据一般都是实时的,且在进行脱
GO 实践|编程时常会犯下错误
整理汇总下编程中你也有可能犯下的一些错误行为: 错误没有处理 Go 不像其他语言能够异常捕获而是通过将错误作为值进行返回。刚开始接触 golang 有时候就是会忽略有些错误没有将错误返回。所以在执行可
Go 实践|Error 创建和处理
背景 在 C#、Java 等语言中常常使用 try...catch的方式来捕获异常。但是在Golang 对于错误处理有不同的方式。像网上也有很多对 error 处理的最佳实践的文章,其中很多其实就是对
Go 实践|基于 Token 的登录流程
背景 上一篇的文章沉淀了基于 session 的登录流程:Go 实践|基于 session 的登录流程 - 掘金,但是你会发现在分布式服务和单点登录等功能时使用 session 机制完成登录认证过程就
Go 实践|基于 session 的登录流程
背景 登录流程,大家都是很熟悉的。大部分网站都是会使用 session 验证登录状态。流程如下: 用户输入用户名和密码提交登录表单。 服务器端校验用户名和密码。校验通过后存储用户信息。 后续客户端每次
Go实践|使用工厂模式和策略模式获取数据源
现状分析 需求内容是获取多个不同项目的数据源,每个数据源的获取方式都不相同。例如,数据源1获取的方式是通过直接请求数据库的方式获取,数据源2获取的方式通过接口的方式获取。最初没有使用任何设计直接构建对
一次 Golang 优化编程思考
背景 刚开始使用 Golang 进项目开发时,因为在开发时对一些理解没有足够的透彻,导致整个项目代码出现过多的冗余以及扩展性比较差。本文主要陈述在使用的Golang 时的一些结构设计思考的记录。 初始
Go实践|项目中使用 IOC-golang
IOC-Golang 阿里开源了 IOC-golang 框架,它是一种基于 Go 语言的 IoC (Inversion of Control) 框架,它提供了依赖注入 (Dependency Inje
实战Go|实现均衡器功能
前言 当我们需要处理成千上万的的用户请求时,当一台服务器可能无法满足这千万级别的请求时就可能需要扩容,增加服务器的数量来维持响应请求。服务器数量增多了,那流量如何均衡分配也是一个问题。这时就需要一个负
Go实践|反向代理 ReverseProxy
背景 近期在处理一个关于网关的需求,主要是对用户的请求转发到后端的服务器集群中。整个设计思路其实还是很简单,通过用户请求过来的路径转发到相应的后端服务器上。比如A和B两个服务,当访问http://te
实战Go|日志封装
背景 日志是框架中至关重要的一部分。在 Golang 只也提供了基本的日志组件,但其没有提供给比较多的功能。当然现在也有很多第三方已经封装好的库使用起来也很方便。作为成熟的开发者也应该学会封装自己的类
实战Go|使用 Options 模式和建造者模式创建对象
复杂对象的问题 在 Golang 中一般创建复杂对象,一般会使用2种方式创建对象:Options 模式(函数式选项模式)和建造者模式。这两种模式都有其它们各自优点和缺点,如何使用主要还是要依赖于你的使