另外的一种方式来做公益

最近在为一个公益组织贡献一点代码,做到做公益,很多人首先想到的是远到边远山区支教,或是近到附近街道扫地,没错,这些也是做公益,但是作为一个工程师,比起去马路上扫地,有没有更好的利用自身技能,同时又能让这个社会变得更好一点的途径了,答案是有的,阿里云组织的一个“码上公益”的活动,我觉得就非常不错,有很多机构和组织,也需要现在的 IT 技术来解决各种各样的问题,内部系统,信息化,或者是一个小程序,也许对你来说只是几小时就能顺手搞定的事情,但是对于他们来说,却能帮到很大的忙,并且他们也没有这样的人力物力来做这些事情,所以,这个事情,对于工程师来说,既能参与公益,又是力所能及,我觉得是非常好的一个事情。

起因是,在一次阿里云 MVP 的大会上,提到了这个公益计划,当时我就报名参与了一个叫做:中国可持续水产数据库iFISH ,这个是一个围绕中国渔业生产资源可持续发展及供应链升级的数据收集方法及平台建设的一个项目,网站主要收集了各种鱼类信息,包括习性、各种属性,以及如何养殖等等,对于鱼类的管理,应该是非常有用的。目前志愿者还不多,现在网站功能也比较简单。

参加这个项目的第一个任务是提供一个数据导入的工具,主要功能是通过上次 excel 来批量导入数据到 MySQL 数据库。

功能本身上比较简单,也比较独立,和其他现有程序没有太多耦合,另外为了做到轻量级,就采用了 golang,这样部署起来比较简单,并使用了 gopa 衍生出来的框架,只需要简单实现几个管道处理单元就可以了,数据先从 excel 生成 sql 脚本,可以做一个预览,然后再直接放到 mysql 里面执行,加上事务,有问题回滚就可以了。

该工具代码都放在这里了:https://github.com/medcl/ifish-data-loader