* For English version, please see Google Translate, which has been reviewed.
公司名称: 个人
职缺:
* Golang 后端测试工程师
* Golang 后端开发工程师
主要工作事项:
* 参加每周一次线上会议
* 相关系统开发
薪资:
* 没有,基本上是来交朋友的。
任务介绍:
大家好,我是 Pichu ,这个专案基本上是和 PTT APP 相关的任务,不过因为目前还没
确定 PTT APP 后面会采用哪个版本的后端,因此我也没办法保证目前的制作结果会被
PTT 官方变成最后采用版本,不过我会试着说服几个合作中的小站以及我们家 Formosa
BBS 让实作的心力和资源不会被浪费这样。
就像是 Gossiping 不等于整个 PTT, PTT 不等于整个 BBS 一样,虽然说目前 PTT
APP 小组大部分原先要处理的问题都是 Gossiping 上的问题,不过我个人认为整体 BBS
的程式码也够久了,应该要整个大修了,不然迟早我们会面临名为技术债的报复。
目前 BBS 需处理的问题由轻重缓急排列如下:
1. 接口/商业逻辑/数据库的程式码混在一起,造成调整使用者体验上以及使用者接口
上调整困难。
2. 程式码缺乏注解,可读性极低。
3. 原先的程式码完全没有 testing code.
4. 程式码完全没有 benchmark 机制,修改架构仰赖设计者的威望而非科学证据。
5. 大部分的架构仍然使用 32 位元的时间表示方式,这会导致 2038 问题。
6. 密码仍采用基于 DES 的杂凑方式,换句话说,强度不足。
7. 过度仰赖共享内存的设计造成服务器分散困难。
8. 索引档储存方式弹性不足,不易新增新字段。
9. 转信机制死亡已久。
10. 站内讯息 (水球)、站内信无法透过手机即时通知使用者。
11. Current PTT 程式码尚不支援 IPv6.
12. 站内文章仍然使用 Big-5 储存,不支援 emoji 或是台罗拼音。
13. 不支援图片上传、音讯或是视讯通讯。
而目前我提出的解决方案是重新设计后端接口。
我们初期将会得到一个新的基于 HTTP 的后端接口, PTT APP 中台或者是行动 APP 的
开发伙伴可以透过这个接口来存取 BBS 的数据库。
在开发中有别以往 BBS 的开发流程,新的流程我会先将需要的功能写成文字文件并且
提出讨论,一段时间后开立 GitHub ISSUE 进行实作。
因此可以确保新的程式码是有文件以及清晰易懂的测试案例的,避免重蹈覆辙。
目前我们已经完成验证帐号、取得看板(baord)列表、取得文章列表以及取得文章内容
等功能,我们还需要持续完成新增推文(push/recommend)、新增文章、编辑我的最爱等等
的功能。
但是我个人有个额外的请求,因为有先前在 Soft_Job 上提到的“东京都新冠肺炎对策
网站(https://stopcovid19.metro.tokyo.lg.jp/)”的经验,我还是希望能做到是由社群
的多数人共同完成这个专案,而不是如同多数在台湾的开源专案,是由固定几个“大神”
来完成的。
原则上软件专案人数的增加并不会增加开发效率,反而还会降低效率,但是开发人数过
少的专案反而会有公共汽车指数(bus factor)过低的问题,也就是少数几个人离开专案就会导
致专案进度停摆或是没有人能继续维护。
因此我会希望邀请有兴趣共同开发的工程师加入,大约一周两到四个小时的时间就可以
了,而我自己扮演的角色会倾向专案管理的角色,准确有效率的分配任务给贡献者们,同
时能确保工作进度和程式码品质。这对我个人而言也算是具挑战性的任务。
注意事项:
* 这个专案并不会存取现有 PTT 使用者个资
* 有兴趣者可透过站内信联络
职缺能力经历要求:
基本需求 /
* 基本的 Shell 使用能力
** 会下 git clone
** 会下 go build
额外需求 /
* 读过 "database/sql", "go-sql-driver/mysql" 两个套件的原始码
===========
2021/01/20 更新:
目前有站内信给我的我有回信了,如果没收到的话请再寄一次这样。
如果还是找不到我的话可以从 join.g0v.tw 到 g0v 的 slack 找到我
============
2021/01/26 更新:
这之前有站内信给我的我有回信了。
然后第一周的影片有透过联络用的信箱转寄给大家了,怕信被送入垃圾邮件中,如果
没收到标题为 [BBS] BBS 后端实作联络 的Email的话请再用站内信和我确认一下。