V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Dongxiem
V2EX  ›  Go 编程语言

go 开源项目求推荐

  •  2
     
  •   Dongxiem · 2021-01-27 23:47:18 +08:00 · 7966 次点击
    这是一个创建于 1156 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,请问各位有什么比较优秀的开源项目推荐的吗?代码量不要那么高的那种,就想学习一下然后看看能不能找个实习。
    44 条回复    2023-09-21 11:32:08 +08:00
    VtWEX
        1
    VtWEX  
       2021-01-27 23:59:40 +08:00
    同求!
    hotsymbol
        2
    hotsymbol  
       2021-01-28 00:05:42 +08:00
    zeromake
        3
    zeromake  
       2021-01-28 00:16:54 +08:00 via Android
    v2webdev
        4
    v2webdev  
       2021-01-28 00:53:14 +08:00
    出于找工作就别 Golang 了,Java 不好吗。
    fiypig
        5
    fiypig  
       2021-01-28 00:54:28 +08:00 via iPhone
    我想冲 java 了
    askfermi
        6
    askfermi  
       2021-01-28 02:50:32 +08:00
    gowk
        7
    gowk  
       2021-01-28 05:13:23 +08:00 via Android   ❤️ 2
    https://github.com/gowk?language=go&tab=stars
    可以看看我 star 的一些项目,里面有不少短小精悍的代码
    hanxiV2EX
        8
    hanxiV2EX  
       2021-01-28 07:21:36 +08:00 via Android
    gin
    xpzouying
        9
    xpzouying  
       2021-01-28 08:30:00 +08:00 via iPhone
    https://github.com/xpzouying/graft
    之前学习 raft 时 fork 加修改。对于 raft 的理论学习推荐,在面试时应该也很有用。原本的代码写的很清晰。
    masterclock
        10
    masterclock  
       2021-01-28 08:36:02 +08:00
    awesome-go 里找
    awesome-go 本身就不错,收集、整理 go 库
    语言只是语言,还得选择方向,不是所有程序员都做 web
    kele1997
        11
    kele1997  
       2021-01-28 08:53:14 +08:00
    https://geektutu.com/post/gee.html 极客兔兔的从 0 开始系列
    https://github.com/golang/groupcache 支持 lru,一致性哈希,singlefight 的缓存模块
    eudore
        12
    eudore  
       2021-01-28 09:19:04 +08:00
    自荐 https://github.com/eudore/eudore,开发两年多了还在持续优化中,代码行 6300 无依赖,建议配合 wiki 文档看,gohttp 领域内容基本都包含。
    eudore
        13
    eudore  
       2021-01-28 09:19:59 +08:00
    自荐 https://github.com/eudore/eudore
    开发两年多了还在持续优化中,代码行 6300 无依赖,建议配合 wiki 文档看,gohttp 领域内容基本都包含。
    young1lin
        14
    young1lin  
       2021-01-28 09:58:05 +08:00
    听说 Codis 源码质量很高
    a719114136
        15
    a719114136  
       2021-01-28 10:25:59 +08:00
    luxurioust
        16
    luxurioust  
       2021-01-28 10:27:43 +08:00   ❤️ 1
    开源 Go 语言 Excel 文档基础库: [https://github.com/xuri/excelize]( https://github.com/xuri/excelize)
    alpha4zeta
        17
    alpha4zeta  
       2021-01-28 10:35:35 +08:00
    xkeyideal
        18
    xkeyideal  
       2021-01-28 11:55:34 +08:00   ❤️ 1
    搞清楚 golang 的核心,以及自己看开源项目是为了什么。
    推荐 go 的开源项目,基于一定的语言基础的话,在个人看来没有第二个可选项,看 nsq 的源码吧,
    这个项目里有啥:goroutine 的灵活运用,tcp 与 http 网络编程,各类的编程技巧
    guonaihong
        19
    guonaihong  
       2021-01-28 14:08:02 +08:00   ❤️ 2
    楼上各位老魔法师推荐的都挺好,但对新手可能不现实,一些库别说是实习生,就是用了几年 go 的,通读一遍代码也要花很久。
    找工作可以,先根据期望去的公司,过滤出招聘要求,再查漏补缺。
    常见的 redis, mysql,go 会用,go 就是普通的编程语言,if else go chan,玩下,就随便写写就行了,这玩意太简单了。
    然后准备些自己的亮点,比如我的一个亮点,具备很多 rfc 协议重零开发的能力。实例论证 https://github.com/antlabs/httparser
    最后就是数据结构和算法。
    工作以后,加强学习能力的锻炼,比如 8 个小时看完一本书,这样以后遇到未知的知识点,也能快速了解全局概念。
    oooolongtea
        20
    oooolongtea  
       2021-01-28 15:17:44 +08:00 via iPhone
    自己做一个项目不挺好?
    play78
        21
    play78  
       2021-01-28 15:22:29 +08:00   ❤️ 2
    看下 openbilibili-go-common 项目, 学习后可以投一下 bilibili 实习。
    Dganzh
        22
    Dganzh  
       2021-01-28 15:30:54 +08:00
    @guonaihong 向大佬学习
    cyjme
        23
    cyjme  
       2021-01-28 15:40:58 +08:00   ❤️ 2
    同意楼上说的需要有亮点。

    对新手来说,只要稍微付出一些努力,就可以比同等级的简历亮眼很多。
    但所突出的必须是自己真正掌握的,已经使用了的。而不是简单的看了看。

    把自己之前帮朋友时用的项目和你分享下,我认为这两个是比较合适的,难度其实很低,但是比一般的增删改查亮眼。


    1. 将你之前写过的业务代码作为模板,然后此基础上,做一个优化的工具。提高业务代码的产出效率。

    参考 https://github.com/cyjme/gen

    一个命令生成增删该查的接口和文档



    2. 自己实现一个简易版本的 API 网关

    参考 https://github.com/cyjme/ioa
    该项目是参考 spring cloud gateway,实现的 go 版本的 api 网关。

    这个项目你做起来的话,可简单可复杂。核心代码大概只有 1000 多行。其他的功能实现在:predicates 和 filters 目录。
    功能实现都通过插件的形式,融入到项目中。如:限流、熔断、认证、缓存、复制请求 等功能。

    根据自己的能力和时间,去完成对应的功能。

    =================================


    就找工作来说,个人认为可以准备一些应用广泛,并且可深可浅的项目,项目要『接地气』,无论大小公司基本上都会用的到。
    比如 业务框架、网关、聊天等,既可以浅尝辄止,也可以深入研究。1000 行代码就能做出来基础版,也可以扩展到 1w 行代码。

    另外项目必须要是自己实现的,有过深入的思考。最好能多实现几个版本,从最简单的开始迭代。
    object123
        24
    object123  
       2021-01-28 18:55:16 +08:00
    carmark
        25
    carmark  
       2021-01-29 09:50:12 +08:00
    用 golang 完成存储相关的项目,可以寻找优秀项目: https://github.com/gostor/awesome-go-storage

    另外推荐我们之前做的一个业余项目: https://github.com/gostor/gotgt

    是一个使用 golang 完成的纯用户态的 iSCSI target,可能门槛有点高,需要懂 iSCSI 协议,不过目前已经被其他项目用起来了。
    vincent109
        26
    vincent109  
       2021-01-29 14:24:44 +08:00
    go-zero
    Dongxiem
        27
    Dongxiem  
    OP
       2021-01-31 17:05:24 +08:00
    @v2webdev 觉得还是 Go 香啊!
    Dongxiem
        28
    Dongxiem  
    OP
       2021-01-31 17:06:03 +08:00
    @zeromake PingCAP 啊!
    Dongxiem
        29
    Dongxiem  
    OP
       2021-01-31 17:10:05 +08:00
    @guonaihong 谢谢回复,很耐心!但是现在内卷太严重了啊,没有好的学校出身,再没有拿得出手的项目经历分分钟被刷掉了。
    Dongxiem
        30
    Dongxiem  
    OP
       2021-01-31 17:11:43 +08:00
    @cyjme 谢谢回复,我会好好参考你的建议的!
    Dongxiem
        31
    Dongxiem  
    OP
       2021-01-31 17:13:18 +08:00
    @carmark 谢谢回复,iSCSI 真的没有听说过,大佬!
    Dongxiem
        32
    Dongxiem  
    OP
       2021-01-31 17:28:26 +08:00
    @oooolongtea 正是因为自己做不出来啊,方向都找不到,所以才提问了啊。
    sunzhenyucn
        33
    sunzhenyucn  
       2021-02-01 09:19:19 +08:00
    上来就直接推荐 github.com/golang/go 的非傻即坏;
    建议可以从感兴趣的方向入手,如果对数据库方向感兴趣,可以先去看看 boltdb 的源码,短小精悍,简洁精炼;
    如果对 Web 框架实现方向感兴趣这里可以直接去看 net/http,官方实现的很完整,导致 Go 部分的 Web 框架实际就是对官方的 net/http 做了一层 Wrapper ;
    如果对容器化方向感兴趣,不建议直接就去看 Docker 或者 Kubernetes 的源码,过于庞大复杂,一头扎进去会迷失方向的,可以找一些 Go 实现的 Tiny Docker 或 Tidy K8S (应该是有对应的代码库,忘了叫什么名字了
    gouguoyin
        34
    gouguoyin  
       2021-02-04 14:54:18 +08:00   ❤️ 1
    go-carbon,轻量级、语义化、对开发者友好的 Golang 时间处理库,支持链式调用和 gorm 、xorm 、zorm 等主流 orm
    https://github.com/go-graphite/go-carbon
    Dongxiem
        35
    Dongxiem  
    OP
       2021-02-04 17:12:57 +08:00
    @sunzhenyucn 谢谢大佬!
    fumeboy
        36
    fumeboy  
       2021-02-05 10:16:37 +08:00
    我也在准备找实习,交流交流?
    Dongxiem
        37
    Dongxiem  
    OP
       2021-02-05 16:42:48 +08:00
    @fumeboy 怎么联系呢?
    fumeboy
        38
    fumeboy  
       2021-02-05 19:02:51 +08:00
    @Dongxiem 我的 QQ 是 240081990
    qloog
        39
    qloog  
       2021-02-06 19:45:33 +08:00
    https://github.com/1024casts/snake 可以直接用来开发项目。
    tousfun
        40
    tousfun  
       2022-02-13 17:28:27 +08:00
    @cyjme 大佬,你的博客用的什么主题,还是自己写的
    cyjme
        41
    cyjme  
       2022-02-17 13:32:55 +08:00
    @919615766 https://github.com/probberechts/hexo-theme-cactus

    这个,然后做了一点小改动。
    wurenzhidi
        42
    wurenzhidi  
       2022-08-03 21:12:06 +08:00
    @guonaihong 参加工作 1 年的 深以为然 常用的工具还没有特别熟悉呢. 另外就是缺少一个自己的亮点了
    iwwftlan
        43
    iwwftlan  
       190 天前
    @guonaihong 细说怎么可以 8 小时看完一本书,工作以后学习能力下降了,一本大概 300 页的动物书看了几个月了才差不多一半呢,而且感觉学习质量很差。。
    guonaihong
        44
    guonaihong  
       189 天前
    @iwwftlan 带有目的性看就行。比如要做一个好玩的东西,少了相关的知识点,然后看下对应的书。
    我现在获取知识点的过程是 1. 做一个好玩的东西-》 2. 缺少相关知识-》 3. 边查边做。 这样注意力不容易散,可以坚持下去。如果喜欢有分享欲望,还可以加 4. 总结。

    以前也适过没有目的性看书。看过 unix 环境高级编程, apue ,大而全的书,容易放弃。

    可以根据自己的爱好选择适合的流程,我是特别喜欢写代码,才这么获取知识点的。喜欢就意味着不容易放弃。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1053 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 19:14 · PVG 03:14 · LAX 12:14 · JFK 15:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.