a7a2

第 10186 号会员 /

回复了 Novice2019 创建的主题: 【寻求懂Golang的合作伙伴】

楼主确实不像大陆人。

楼主题目不难不易,适当的前端能力,go语言email类对接postfix之类。

三年代码经验即可做到。

回复了 stayfoo 创建的主题: 读 "优雅关闭的 Go Web 服务器"

优雅关闭是这样没错。

优雅重启,就需要在这个基础上完成不中断服务,包括新进入的请求能及时处理。

回复了 wangyiwy 创建的主题: 用Gin 写了一个在线工具站。。。

兄台前端能力不错。

比起https://tool.lu/来说还是少太多功能,不是这一行的人很难发现需求,大多抄袭同类网站的多。

很多新技术没有用上有点可惜,例如http2 push,尽管首页只有一个style.css,追求新技术追求稳健追求性能。

golang.org/x/crypto/acme ,不需要自己处理证书问题,过期自动申请一个,还免费。gracehttp、Brotli、webp。

你的连百度都无收录,个人站长联盟聚集起来,例如建立讨论区、Vps、Vpn、支付解决方案等等

好项目还有很多,可惜我前端还不太行,那种厌倦前端的感觉。。。

回复了 oral 创建的主题: golang闭包中遇到的一点小问题

代码写法很多,真还未见过必须用到闭包的,也不知道闭包存在的意义,对于一个业余程序人员来说

回复了 创建的主题:

可惜了,没微信年纪也太大,机会果然留给年轻人的!

回复了 fuckshit 创建的主题: 基于Go语言的社区系统:mlog-club1.0.3 发布

因为自己也准备在欠债还清后写一份bbs类的产品的,所以
给你几点建议:
1、使用xorm能兼任更多数据库如tidb、MsSql、Oracle

2、别用iris之类的框架,而是原生net/http,三十岁前追求轻剑---快,什么fasthttp阿,各类框架阿之类,但是很多人就看测试数据快10倍(fasthttp支持http2的时候测试肯定就没10倍了),很少考虑其他支持如http2.0,是否大部分业务都需要读取body(不需读body fasthttp效率高很多),安全及稳定性(我看到有线上业务使用fasthttp遇到坑的文章)。反正我现在写代码尽可能用原生。见过牛逼团队说干就干说黑就黑的时候的30岁后自然尽可能倾向更安全,原装的是肯定维护的,例如go新特性出来iris可能不维护了就不支持,而原装绝对支持。又如政治、国安肯定追求是否可信而不是性能聪明程度,注意侧重点。(参考discuz、phpwind都不用php框架)

3、任何项目都要基于可集群式设计,哪怕预算承载量就200用户在线,否则同行看不起你的,至于运维搭建的复杂度完全可以docker化。所以消息队列是否已经用到?尽管帖子发的频率可能一辈子都不会需要用到锁、消息队列的方式去处理。

4、没有集成ssl自动化package acme?这个是什么年代,没留意全球信息安全及没有被人用隐私到处放黑整过?没有被监听临时工放料黑整过?看看为何chrome某年更新后强制要求https否则在网址栏提示“不安全”。所以你需要用上golang.org/x/crypto/acme/autocert ,Let's Encrypt的免费证书已经为你考虑周详,90天过期,90天能破解的基本为0可能在当前硬件条件。

5、既然说好了可集群化那就需要集群配置简便化如etcd是否用上,grace restart是否用上等等。。。

6、应该集成注册,用自己的账号密码登陆,可以完全脱离第三方资源运行才算的上完整的项目(系统),例如没有第三方css、js的调用,能不用第三方登陆也可进入系统发帖,这个很有必要的,不是每个人都想把自己暴露给第三方,注册内容可以不填写隐私信息的尽可能不用填例如email、手机号,登陆注册时候的密码要在前端js完全一次或多次加密防止ssl证书方或其他第三方截取,然后才是后端逻辑处理的基于用户名等唯一字段+key的形式实现每个用户密码唯一(不同)加密才存到数据库,要以太湖之光的运算解密能力10年为标准设计密码加密,如果前端js已经完成了md5+sha3-512 hash的,再加后端一次独一的hash基本足够太湖之光解密一个用户10年了。所以数据库泄漏没用,看看几年前各种库被脱出就应该有这种注重隐私的思维。
亲身经历:我见过开源代码存在bug,然后在某页面调用指定网址的gif的,而这个gif就实现了通知外部敌人可进攻的信号。
例如本论坛使用第三方的验证码也是一样道理,万一对你出手的就是这个第三方验证码服务商呢,所以一个优秀的产品应该完整独立性,正如中国国家安全就需要自主研发武器,而不是靠如台湾一样让人制衡只能买这样受制于人,一定要自主!
也如一个国家的组成就有各种阶层也有干脏活的,如果把这些干脏活的人抛弃了,他们就会反吃,所以独立的完整性很重要。

7、论坛要不断融合现代新特性,例如wasm、http2、,Brotli,websocket,前3个不说,websocket实现实时免刷新更新很重要,而这个在代码逻辑层面及构架上有点技巧的,既要保证所有客户端内容最新又要应对不同时间涌入的用户及不断更新的帖子。否则你的论坛没什么创新及新特性,谈何引入资本关注?

8、既然用得go去写的,尽可能容入p2p技术,而不仅仅是一个应用层面的产品,例如内置vpn服务,就是说当假设你产品的网站的ip被墙的时候只要你有几百客户下载了你的桌面端就能通过其中一个用户访问到最新的帖子,而这些技术代码已经存在github上,就靠你组装了。其中p2p、cdn就可以论坛之间组建联盟实现共同抵抗被强及ddos。

9、良好的架构能兼容如so、dll插件的加载,以便有机会集成更多第三方,一个人再牛再努力还不如架构好让全球开发者加入一起发力。

商业模式就可以基于论坛的安装量产出的桌面端形成的p2p(数据存储、网络加速、局域网共同游戏、新闻资讯垄断、消息流通、甚至基于在线时间服务时间计算的数字货币、站长cdn联盟等)、vpn等等很多,所以说论坛这个产品只是一个插入点、突破口。
如果写一个bbs类产品没有发挥到go跟php的不同点,我为何从phpwind、discuz转换到你们这里?
站长A使用的discuz的bbs社区拥有100万用户,但是很多内容要审查就怕有一天被干掉不能访问了,所以他知道你们产品具备破墙能力被封了仍然能通过桌面端实现访问而免于专门的vpn,该站长很高兴并切换到你们的产品,哪怕你们技术人力还斗不过GFW的人,但是都想尝新。这个叫特色、突破,又叫你们的插入点、突破口。

---------只要有创新有突破有特色何来没有商业利益----这个年代就是骗子骗到一定规模的人也能让国家招揽------------

                                            a7a2  2019年-07月-16日

回复了 gaoyoubo 创建的主题: Golang初学者怎么入手

别视频。。。直接找实习 错过了实习的年纪就直接找个人带1个项目即可。

还是看学习能力,如果自己学习能力较差,比带你的人差距太大人家会厌倦不想跟你一起的,这个全凭“代入式”领悟,例如全班人学习效率都很高就你一个很慢,老师就会反感,同理把一个穷逼放进王思聪群体内一起玩也一样。

所以找人带也要找适合的,拿钱砸我,我有一些学习心得愿意传授给你,本人最初就是靠看着godoc及搜索引擎开写完成一个小工程的,尽管现在看来那些代码没法入眼。

而且学会这个基本其他dart+flutter之类就很容易上手了,尤其是有钱驱动的情况下。

写代码尤其是初学切莫有追求完美那种心态,例如没有最优的代码架构没心写之类,别有这样心思,一个字强写,会70%的go语言关键字即可强写!

回复了 jimmykuu 创建的主题: 社区启用 Gopher 2.0 版本

本想快速搭建一个bbs系统的,所以找到你的而开源项目,无奈此项目还不完善,例如后台。

https://github.com/jimmykuu/gopher

上的templates/base.html内容中的关于tui.editor的外部调用404,

main.go 的t.Run()缺参数fmt.Sprintf("%s%s%s", conf.Config.Host, ":", conf.Config.Port)

etc/config.json的Host参数应该是ip如127.0.0.1或0.0.0.0之类,而非http(s)之类,因为服务器可能有多ip,Host应该是服务于监听ip的

etc/config.json时区应该免于设置的,因为服务器时间就包含时区,逻辑代码可以判断。

港真,对于强类型语言跟orm配合得好可以免于使用github.com/asaskevich/govalidator ,习惯了php的都校验一下提交的数据,这样浪费时间

望修正!


还有奉劝尽可能少使用第三方服务(如geetest.com的验证,先不说是否稳定,开源很多解决方案)+外链调用资源,因为不稳定不适用某些地区,例如访问本站就很慢就是因为这些外部调用js/css,这些外部调用的js、css之类应该是由网站主设置是否配置使用cdn的!