7days-golang icon indicating copy to clipboard operation
7days-golang copied to clipboard

意见征求,下一个7天实现的项目大家可以推荐下。

Open geektutu opened this issue 5 years ago • 84 comments

已经实现:

  • 第一期:模仿 gin 的 web 框架 gee
  • 第二期:模仿 groupcache 的 分布式缓存 geecache
  • 第三期:模仿 gorm 的 orm 框架 geeorm
  • 第四期:参考 net/rpc 的 rpc 框架 geerpc

实现中:

  • 第五期:模仿 bbolt 的KV数据库 geebolt

最新动态可以关注:知乎 Go语言 或微博 极客兔兔

订阅方式:watch geektutu/blog ,每篇文章都能收到邮件通知,或通过 RSS 订阅。

闲暇之余,可以看一看 Go 语言高性能编程Go 语言笔试面试题

geektutu avatar Feb 15 '20 07:02 geektutu

@Hilonfot geecache 的文章已经全部写完啦~ 百度网盘的项目比较大,七天实现不了呢。不过有时间倒是可以分析分析,目前分布式爬虫框架 colly 待选。

geektutu avatar Feb 16 '20 17:02 geektutu

是否可以考虑下ORM实现,类似gorm,或者xorm

sekfung avatar Feb 17 '20 14:02 sekfung

@sekfung 这个建议不错,我琢磨下代码量是否合适。python的orm是通过元类(metaclass)实现,golang可能是反射啥的,orm是深入语言特性的好机会。

geektutu avatar Feb 18 '20 00:02 geektutu

就来个标题上的python interpreter呗,刚好两门语言一起学,哈哈

charming7201 avatar Feb 19 '20 13:02 charming7201

@charming7201 第三期已经开始模仿 gorm 写 geeorm 了,第四期再看看python解释器,这个没有什么项目可以参考,从头写起来可能比较累。

geektutu avatar Feb 20 '20 01:02 geektutu

能不能研究下rpc框架

tianly123 avatar Feb 20 '20 06:02 tianly123

支持实现python解释器

mlbo avatar Feb 20 '20 09:02 mlbo

考虑爬虫框架

token01 avatar Feb 20 '20 15:02 token01

LDAP SMTP DNS DHCP这些协议都可以用GO来实现下服务端

yimeng avatar Feb 20 '20 17:02 yimeng

期待 gorm!

MarksGui avatar Feb 21 '20 02:02 MarksGui

感谢楼上童鞋的推荐,第三期是 gorm,争取在一周内把代码搞定。接下来都会从大家的推荐中选择合适的实现。

geektutu avatar Feb 21 '20 03:02 geektutu

第四期就分布式爬虫吧,大佬,python 的 scrapy 很好用啊,go 上面好像没有类似的呢

leffss avatar Feb 25 '20 03:02 leffss

@geektutu 之前研究过一段时间的golang的orm,一开始看的也是goorm,但实际上这个项目的的实现和架构很不好。作者现在也已经放弃维护了,开始维护V2了

所以如果要写orm的话推荐参考facebook的https://github.com/facebookincubator/ent

Ehco1996 avatar Feb 27 '20 00:02 Ehco1996

@Ehco1996 要是一周前知道这个项目就好了..... 现在已经实现到了第六天:geeorm-day6

gorm 看了 3 天我就崩溃了,实在是无法理解!!!gorm-v1设计很烂这句话一开始写在README里了,后来觉得不合适,就改成了

gorm 准备推出完全重写的 v2 版本(目前还在开发中),相对 gorm-v1 来说,xorm 的设计更容易理解,所以 geeorm 接口设计上主要参考了 xorm,具体实现参考了 gorm。

geeorm 目前是 Engine -> Session -> Transaction,以及 Schema -> Table -> Clause 的分层设计。主要参考了 xorm,并且拆分成多个子package,目前总体上我觉得还是OK的。

7天系列代码量虽小,但是对设计的要求还是高的,每个package/文件都尽量做到解耦和独立测试,这样后一天的代码支持新特性时,对已存在的代码尽可能不侵入式修改,以新增package/文件方式实现。

geektutu avatar Feb 27 '20 01:02 geektutu

实现一个简单的分布式数据库?可以先不实现事务 锁,只实现数据的增删改查

WenHaiGo avatar Feb 29 '20 03:02 WenHaiGo

RPC 框架来一个?

wangzeping722 avatar Mar 01 '20 09:03 wangzeping722

7 天实现IM?

Janetyu avatar Mar 02 '20 15:03 Janetyu

go实现微服务网关

binbin0325 avatar Mar 03 '20 00:03 binbin0325

佩服楼主的毅力

aleimu avatar Mar 04 '20 01:03 aleimu

大佬 啥时候开始讲解orm啊 求更啊~~~

ljk123 avatar Mar 05 '20 03:03 ljk123

可以考虑下爬虫和分布式任务,python 的 scrapy 和 celery 很好用啊,go 好像没看到类似的呢

leffss avatar Mar 09 '20 01:03 leffss

感谢大家的关注,上周末第三期 GeeORM 的文档已经补充完整,因为工作内容和分布式相关,考虑到兼顾工作和个人项目,第四期大概率会选择与分布式相关的主题。

geektutu avatar Mar 09 '20 01:03 geektutu

更新了??赶紧去看讲解咯

ljk123 avatar Mar 09 '20 01:03 ljk123

厉害了!

| | 自己 | | 邮箱:[email protected] |

签名由 网易邮箱大师 定制

在2020年03月09日 09:45,ljk123 写道:

更新了??赶紧去看讲解咯

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

yuldong avatar Mar 09 '20 02:03 yuldong

有没有 websocket 相关的主题了?

MarksGui avatar Mar 10 '20 09:03 MarksGui

要是有nsq 和 boltdb的实现就好了

tb1989 avatar Mar 11 '20 03:03 tb1989

websockt啊

fibbery avatar Mar 11 '20 03:03 fibbery

im吧

jensontsq avatar Mar 11 '20 07:03 jensontsq

有没有考虑rpc框架~

mcrwayfun avatar Mar 11 '20 14:03 mcrwayfun

日志框架

xiaoxfan avatar Mar 17 '20 02:03 xiaoxfan