Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
geektutu opened this issue Feb 15, 2020 · 83 comments
Open

Comments

@geektutu
Copy link
Owner

geektutu commented Feb 15, 2020

已经实现:

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

实现中:

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

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

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

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

@geektutu geektutu pinned this issue Feb 16, 2020
@geektutu
Copy link
Owner Author

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

@sekfung
Copy link

sekfung commented Feb 17, 2020

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

@geektutu
Copy link
Owner Author

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

@charming7201
Copy link

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

@geektutu
Copy link
Owner Author

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

@tianly123
Copy link

能不能研究下rpc框架

@mlbo
Copy link

mlbo commented Feb 20, 2020

支持实现python解释器

@token01
Copy link

token01 commented Feb 20, 2020

考虑爬虫框架

@yimeng
Copy link

yimeng commented Feb 20, 2020

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

@MarksGui
Copy link

期待 gorm!

@geektutu
Copy link
Owner Author

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

@leffss
Copy link

leffss commented Feb 25, 2020

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

@Ehco1996
Copy link

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

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

@geektutu
Copy link
Owner Author

geektutu commented Feb 27, 2020

@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/文件方式实现。

@WenHaiGo
Copy link

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

@wangzeping722
Copy link

RPC 框架来一个?

@Janetyu
Copy link

Janetyu commented Mar 2, 2020

7 天实现IM?

@binbin0325
Copy link

go实现微服务网关

@aleimu
Copy link

aleimu commented Mar 4, 2020

佩服楼主的毅力

@ljk123
Copy link

ljk123 commented Mar 5, 2020

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

@leffss
Copy link

leffss commented Mar 9, 2020

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

@geektutu
Copy link
Owner Author

geektutu commented Mar 9, 2020

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

@ljk123
Copy link

ljk123 commented Mar 9, 2020

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

@yuldong
Copy link

yuldong commented Mar 9, 2020 via email

@MarksGui
Copy link

有没有 websocket 相关的主题了?

@tb1989
Copy link

tb1989 commented Mar 11, 2020

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

@fibbery
Copy link

fibbery commented Mar 11, 2020

websockt啊

@jensontsq
Copy link

im吧

@mcrwayfun
Copy link

有没有考虑rpc框架~

@dafa168
Copy link

dafa168 commented Oct 24, 2020

讲讲 golang 单体 web 框架部署 到 golang 微服务框架部署 的演变过程, 有个写代码和演示的过程,有图有视频有代码。
有很多童鞋和我一样是 php 转过来的吧, 并没有接触大型微服务架构,但是很想研究这块,能有个进阶的学习就很好了。
感谢 感谢 感谢 !

博主主要是写框架的,这种或许你可以自己找下吧。。。

嗯嗯 也好。 还是多看看教程吧 .

@yiippee
Copy link

yiippee commented Nov 20, 2020

boltdb 是停了吗?为啥只有三天呢?谢谢。

@geektutu
Copy link
Owner Author

@yiippee 看源码实现比较花时间,最近大块时间比较少,可能得有个合适的机会,一气呵成了。

@tb1989
Copy link

tb1989 commented Nov 23, 2020

更新完boltdb 再讲讲leveldb 就太好了

@lambda7xx
Copy link

写个编译器?关于parser/语义分析/类型检查/寄存器分配这些

@lambda7xx
Copy link

老哥可否开放个二维码?想给你打赏

@lambda7xx
Copy link

还有类似jit/RISC-V模拟器这种?

@geektutu
Copy link
Owner Author

geektutu commented Jan 6, 2021

@lambda7xx 感谢你的建议和支持,每篇博客下方有赞赏二维码,github 就不额外放了。最近在利用零散时间写 Go 语言高性能编程,这个得挤出大块时间写了。

@JuwanXu
Copy link

JuwanXu commented Feb 5, 2021

可以考虑实现一个raft

@Shadow-linux
Copy link

大佬,我也复议实现一个raft

@lzh-lab
Copy link

lzh-lab commented Feb 5, 2021

模拟memberlist

@tb1989
Copy link

tb1989 commented Feb 5, 2021

raft库 确实不错 要是顺便把etcd实现了 更好 哈哈

@Desdemo
Copy link

Desdemo commented Feb 20, 2021

我一直有个想做数据权限控制的想法,跟ORM结合,在实际查询之前,走数据权限,再去查询

@yudidi
Copy link

yudidi commented Mar 6, 2021

大家好,请问 第四期:参考 net/rpc 的 rpc 框架 geerpc, 这个和grpc类似吗? 学了之后能看懂grpc的源码流程吗?

@RGBli
Copy link

RGBli commented May 23, 2021

一个简单的分布式文件系统怎么样呢?

@cuglaiyp
Copy link

大佬,手撸一个协程池怎么样?

@if-nil
Copy link

if-nil commented Jul 9, 2021

期待raft实现或者消息队列

@WeiguoEric
Copy link

期待Raft!

@ReganYue
Copy link

爬虫框架!爬虫框架!

@pony-huang
Copy link

im

@shuifa
Copy link

shuifa commented Sep 16, 2021

爬虫框架

@weidlu
Copy link

weidlu commented Oct 13, 2021

mq

@yinhuanyi
Copy link

casbin轻量级权限控制框架,这个怎么样,难度比较大就是

@shuifa
Copy link

shuifa commented Jan 9, 2022

casbin轻量级权限控制框架,这个怎么样,难度比较大就是

赞成,有难度才好,可以学习进步

@doudoublues
Copy link

geeGFS!

@conphi
Copy link

conphi commented Apr 13, 2022

第六期:模仿 ponzu-cms 的内容管理系统 geecms
https://github.com/ponzu-cms/ponzu
话说好怀念rails额。。。
geebolt 后正好复活 ponzu-cms

@add398
Copy link

add398 commented Jun 1, 2022

简单实现boltdb不做了吗,还蛮期待的,最近也在看boltdb🌚

@edte
Copy link

edte commented Jun 1, 2022

博主还在更新么,感觉很久没更新了

@6adore
Copy link

6adore commented Jun 15, 2022

感觉兔兔好像从互联网上消失很久了 :(

@Inuyasha-Monster
Copy link

Inuyasha-Monster commented Oct 17, 2022

祈祷兔兔「唤醒」

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests