论 PIPE 开源对我的影响

本贴最后更新于 2089 天前,其中的信息可能已经时移世异

起初

刚开始接触 GO 的时候。文档,实例稀少,内容不全。很难推进学习进度。也是迫使我买了 《Go 语言编程》 一书 (根本就没看完 😑 )

除了书也只能从那可怜巴巴的博客中去找资料了,很是难受。

结果有一天就找到了个 “套装” beego

beego

Homepage - beego: simple & powerful Go app framework

也是巧合,公司正好那个时候缺人。

"一米阳台" 公司的官方网站整个项目就都交给我来做了~

使用 beego 用了 5 个月时间,开发了整个程序~

源码地址

PIPE

后来 D 说想做 GO 语言的开源博客。我是举双手赞同。

记得不知道哪篇文章中 大 D 回复我的评论的 "我感觉 beego 就不错" 说: 还是喜欢原生GO的简洁舒服.
这句话也算是把我多年 一套的是最合适 的想法给提出局了

这句话不在其它所有地址适用,内衣就还是一套的最合适啊。 trollface

促使学习

不用 beego 了怎么办,还是想写 GO 啊,纠结…………

很快,PIPE 就上线了 ~ 这里不得不佩服 D 大 的恐怖效率。

有了 PIPE
感觉对我来说 GO 语言的天亮了,毕竟整个项目从数据库到后台再到前端都有了,这就是一个最佳的学习项目啊。

也不知道 D 大是在哪找到的这么多资料。 👍

GO 项目到来。

恰巧这个时候在新公司的我,又要开始单打独斗了。

《访客数据终端》项目二阶段启动了:

经理决定用 GO 来重写项目(之前是 php+html),写过 GO 的我是没的跑了 😑

参考 PIPE

谢天谢 D 开发了 PIPE.我的后台有 b3log 撑腰,我怕啥。

打开两个编辑器:

  1. 1 个打开 PIPE。
  2. 1 个找开自己的项目。

trollface

当然这里并没有抄袭啊,我借鉴了 D 大的 一些模块:

感谢模块

  • 日志
  • 缓存
  • model
  • ...

一些功能:

  • 文件上传
  • ...

借鉴 V 的使用技术:

  • vue(nuxt)
  • ...

然后添加了一些模块:

  • UDP 服务
  • 短信
  • 定时任务 (不同与 D 大)
  • OUI 组织标识
  • ...

和一些功能:

  • UDP

  • 服务端

  • 客户端

    • 软件版本验证升级
    • 配置文件验证更新
  • HTTPS

  • API TOKEN 认证

  • 短信

    • 用户认证
  • 热更新

  • ...

同时也舍弃了一些用不到的:

  • 主题
  • i18n
  • ...

这里不探讨功能实现

经历了 经理,公司长达 4,5 个月催促和期间 2,3 次的需求变更《访客数据终端》上线了。

但是当前每分钟 上 W 条数据新增。上百次筛选,排查品牌标识操作还是需要不少时间来做优化性能。

开发 4,5 月优化十年功~ 大数据操作需谨慎啊。 😑

预览地址:访客终端数据

但起码东西已经有了能在这些时间内做出来也是要感谢 D 大、PIPE~ 👍

总结

总而言之,PIPE 开源让我学到了不少东西。

  • 如何优雅的退出程序
  • flag 命令行参数的解析
  • ...

如何优雅的退出程序 让我印象深刻。
同时使我想更多的了解 GOLANG 基础包的功能,感觉自己之前对 GO 的基础包都不了解。

  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 131 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 294 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • K
    作者

    必须的支持 👍

  • 其他回帖
  • 谢谢支持,这也是开源的一个意义所在。

    对了,BND1 和 BND2 也是用 GO( + React + Electron ) 写的。准备把源码开源了,希望继续支持 😄

    1 回复