随笔分类 -  Go

摘要:SQL基础 SQL语句的分类: DQL: 数据库查询语句,基本的就是select查询命令,用于查询数据 DML: 数据操纵语句,用于插入,更新,删除数据,即INSERT, UPDATE,DELETE DDL: 数据定义语句,用于创建,删除,以及修改表,索引等数据库对象,CREATE,DRIO,ALT 阅读全文
posted @ 2020-09-29 19:50 fan-tastic 阅读(979) 评论(0) 推荐(0) 编辑
摘要:在前面几篇文章中,我们经常使用的可能就是entc这个命令了,entc这个工具给带来了很多功能,这篇文章主要整理关于ent orm 中Code Generation 之前的例子中有个知识点少整理了,就是关于如果我们想要看orm在执行过程中详细原生sql语句是可以开启Debug看到的,代码如下: cli 阅读全文
posted @ 2020-09-02 08:07 fan-tastic 阅读(2302) 评论(0) 推荐(0) 编辑
摘要:Indexes 索引 在前两篇的文章中,其实对于索引也有一些使用, 这里来详细看一下关于索引的使用 Indexes方法可以在一个或者多个字段上设置索引,以提高数据检索的速度或者定义数据的唯一性 在下面这个例子中,对user表的field1 和field2 字段设置了联合索引;对first_name和 阅读全文
posted @ 2020-08-28 01:50 fan-tastic 阅读(919) 评论(0) 推荐(0) 编辑
摘要:在上一篇关于快速使用ent orm的笔记中,我们再最开始使用entc init User 创建schema,在ent orm 中的schema 其实就是数据库模型,在schema中我们可以通过Fields 定义数据库中表的字段信息;通过Edges 定义表之间的关系信息;通过Index 定义字段的索引 阅读全文
posted @ 2020-08-27 07:57 fan-tastic 阅读(2815) 评论(0) 推荐(0) 编辑
摘要:前几天看到消息Facebook孵化的ORM ent转为正式项目,出去好奇,简单体验了一下,使用上自己感觉比GORM好用,于是打算把官方的文档进行整理,也算是学习一下如何使用。 安装 ent orm 需要使用entc命令进行自动代码生成,所以需要先安装entc: go get github.com/f 阅读全文
posted @ 2020-08-25 23:25 fan-tastic 阅读(3386) 评论(0) 推荐(0) 编辑
摘要:这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识。 作者在项目中使用了 github.com/casbin/casbin 进行权限控制的,这个库自己之前也没有用过,正好可以通过这个项目学习一下使用。 当然这篇博客并不 阅读全文
posted @ 2020-07-31 22:47 fan-tastic 阅读(1358) 评论(0) 推荐(0) 编辑
摘要:这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识 作者在项目中使用了https://github.com/google/wire 做依赖注入,这个库我之前没有使用过,看了作者代码中的使用,至少刚开始是看着优点懵,不知 阅读全文
posted @ 2020-07-03 21:27 fan-tastic 阅读(2993) 评论(0) 推荐(0) 编辑
摘要:自己最近在思考一个问题,如何让自己的代码质量逐渐提高,于是想到整理这个系列,通过阅读别人的代码,从别人的代码中学习,来逐渐提高自己的代码质量。本篇是这个系列的第一篇,我也不知道自己会写多少篇,但是希望自己能坚持下去。 第一个自己学习的源码是:https://github.com/LyricTian/ 阅读全文
posted @ 2020-07-02 11:55 fan-tastic 阅读(1683) 评论(1) 推荐(0) 编辑
摘要:之前用python写各种网络请求的时候写的非常顺手,但是当打算用golang写的时候才发现相对来说还是python的那种方式用的更加顺手,习惯golang的用法之后也就差别不大了,下面主要整理了常用的通过golang发起的GET请求以及POST请求的代码例子 golang发起GET请求 基本的GET 阅读全文
posted @ 2019-08-13 15:55 fan-tastic 阅读(82955) 评论(1) 推荐(4) 编辑
摘要:其实之前对于测试自己一直比较弱,不管是python的还是go的,关于测试这块并没有非常注重,这次就好好整理一下关于go的测试 单元测试 Go程序主要包含三类测试: 功能测试(test)、基准测试(benchmark,也称性能测试)以及示例测试 这里提一下,示例测试其实也是一种功能测试,只不过它更关注 阅读全文
posted @ 2018-10-25 00:02 fan-tastic 阅读(793) 评论(0) 推荐(0) 编辑
摘要:在分析github.com/hpcloud/tail 这个包的源码的时候,发现这个包里用于了一个另外一个包,自己也没有用过,但是这个包在tail这个包里又起来非常大的作用 当时并没有完全弄明白这个包的用法和作用,所以又花时间找了这个包的使用和相关文档,其中看了https://blog.labix.o 阅读全文
posted @ 2018-09-20 13:43 fan-tastic 阅读(1082) 评论(0) 推荐(0) 编辑
摘要:已经有两个月没有写博客了,也有好几个月没有看go相关的内容了,由于工作原因最近在做java以及大数据相关的内容,导致最近工作较忙,博客停止了更新,正好想捡起之前go的东西,所以找了一个源码学习 这个也是之前用go写日志收集的时候用到的一个包 :github.com/hpcloud/tail, 这次就 阅读全文
posted @ 2018-09-17 21:23 fan-tastic 阅读(1688) 评论(2) 推荐(1) 编辑
摘要:先说一下,这里用到了很多关于反射类型的功能,可能刚开始看代码,如果对反射不熟悉的可能会不是非常清晰,但是同时也是为了更好的理解golang中的反射,同时如果后面想在代码中可以直接从我的git地址get:go get github.com/pythonsite/config_yaml直接上代码: 先写 阅读全文
posted @ 2018-04-26 22:14 fan-tastic 阅读(10410) 评论(1) 推荐(0) 编辑
摘要:到这一步,我的收集系统就已经完成很大一部分工作,我们重新看一下我们之前画的图: 我们已经完成前面的部分,剩下是要完成后半部分,将kafka中的数据扔到ElasticSearch,并且最终通过kibana展现出来 ElasticSearch 官网地址这里介绍了非常详细的安装方法:https://www 阅读全文
posted @ 2018-04-26 00:44 fan-tastic 阅读(6963) 评论(0) 推荐(2) 编辑
摘要:再次整理了一下这个日志收集系统的框,如下图 这次要实现的代码的整体逻辑为: 完整代码地址为: https://github.com/pythonsite/logagent etcd介绍 高可用的分布式key-value存储,可以用于配置共享和服务发现 类似的项目:zookeeper和consul 开 阅读全文
posted @ 2018-04-22 23:21 fan-tastic 阅读(4887) 评论(0) 推荐(5) 编辑
摘要:项目背景 每个系统都有日志,当系统出现问题时,需要通过日志解决问题 当系统机器比较少时,登陆到服务器上查看即可满足 当系统机器规模巨大,登陆到机器上查看几乎不现实 当然即使是机器规模不大,一个系统通常也会涉及到多种语言的开发,拿我们公司来说,底层是通过c++开发的,而也业务应用层是通过Python开 阅读全文
posted @ 2018-03-24 23:02 fan-tastic 阅读(9419) 评论(4) 推荐(5) 编辑
摘要:当我们的程序就一个线程的时候是不需要用到锁的,但是通常我们实际的代码不会是单个线程的,所有这个时候就需要用到锁了,那么关于锁的使用场景主要涉及到哪些呢? 当我们多个线程在读相同的数据的时候则是需要加锁的 当我们的程序既有读又有写的时候更是需要加锁的 当我们有多个线程在写的时候同样也是需要加锁 互斥锁 阅读全文
posted @ 2018-03-24 08:04 fan-tastic 阅读(1058) 评论(0) 推荐(1) 编辑
摘要:正好通过这个小例子对之前了解的beego框架的基本内容进行一个简单的应用 实现的完整代码地址:https://github.com/pythonsite/go_simple_code/tree/master/beego_short_url 数据库没有什么变化,还是和之前一样,主要是把处理逻辑放到be 阅读全文
posted @ 2018-03-23 00:23 fan-tastic 阅读(1106) 评论(0) 推荐(0) 编辑
摘要:说到配置文件热加载,这个功能在很多框架中都提供了,如beego,实现的效果就是当你修改文件后,会把你修改后的配置重新加载到配置文件中,而不用重启程序,这个功能在日常中还是非常实用的,毕竟很多时候,线上的配置文件不是想改就能改的。 这次就自己实现一个配置文件的热加载功能的包,并通过一个简单的例子对完成 阅读全文
posted @ 2018-03-17 22:36 fan-tastic 阅读(6892) 评论(0) 推荐(1) 编辑
摘要:首先说一下这种业务的应用场景: 主要实现的功能分析: 这里实现的是一个api服务 数据库设计 数据库的设计其实也没有非常复杂,如图所示: 这里有个设置需要主要就是关于数据库表中id的设计,需要设置为自增的并且这里有个问题需要提前知道,我们的思路是根据id的值会转换为62进制关于进制转换的代码为: 所 阅读全文
posted @ 2018-03-15 22:47 fan-tastic 阅读(2172) 评论(6) 推荐(0) 编辑