找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3628|回复: 0

黑客的方式:一切皆可自动化

[复制链接]
发表于 2012-2-15 12:30:27 | 显示全部楼层 |阅读模式

导语:拒绝重复劳动,以自动化的方式取而代之,这就是黑客的方式!

没完没了地重复执行管理任务让我倍感烦恼,难道这是一个程序员的宿命?

我所具有的脚本编程能力迅速让我冷静下来,看来在学校里学习一些基本的程序设计真的很重要。任何工作都有可能从几个简单脚本中获益,从而自动化执行任务。

我们招聘非开发人员职位的时候,也会有这样一种心态——希望应聘者具备以自动化方式解决问题的能力。我们更多地在自动化方面投入研究,我们的团队也就可以更少的减少重复执行任务的时间。我们的团队成员越多,获益就越大,工作也会变得令人愉悦。

这周早些时候,我遇到了一个实际问题。提交费用报表的时候到了,我感觉不太舒服。可能出于某些原因,我们的会计让我们逐行填写一个电子表格,以明细每项费用。

在许多公司,人力资源和财务部门每天将处理大量的电子表格。我想,每个月有数以万计的人重复着类似的事情,白白浪费着时间。如果他们有一点儿编程经验,我想他们会非常认同我的观点,并试图寻找一种更好的解决方案。这就是我所说的所谓招聘非开发人员职位时的心态。即使他们不能自己设计解决方案,也应该知道,一定有更好的解决方案存在!

解决思路

1.快速定义需求


  • 记录每笔费用的详细信息,包括日期、金额和说明
  • 可以按月或按人进行查询,生成报表
  • 保留数据副本

2.考虑一下票据与工作流之间的关系,这是主要问题


  • 发票可能是物理的,也可能是电子的
  • 费用会随机产生
  • 如果每个人自己保管一个月,票据可能会遗失
  • 每个人都要按月填写费用条目,耗时太久,效率太低

3.多动动脑子,用智能的方式减少痛苦

要避免每个人长时间保管收据,以及从数以千计的邮件中痛苦地查找电子发票,我们可以考虑将发票以电子的方式进行集中存储。存储的位置可以是一个电子邮件地址,例如[url=mailto:%E2%80%9Cexpenses@mycompany.com]“expenses@mycompany.com[/url]”。

为了避免逐个查找邮件,可以考虑采用某种自动化的方式从邮件中自动提取出票据信息。这样的话,数据库可能用得到。要想生成报告,数据库可以在结构化查询语言的基础上输出特定的信息。我们可以将数据存储在以分隔符(如“,”)分割的文件中,该文件可以用Excel之类的软件打开或导入。

另外,我们最好先看看别人是否已经有了更好的解决方案,然后决定是否需要自己动手实现。(请留意原文链接中给出的解决方案)

技术概述

如果你对技术细节感兴趣,我可以透露一些。我将一个名为Mailman的Ruby程序托管在Heroku的cedar stack之上,每分钟轮询一次邮件服务器。邮件附件保存到AWS S3上,票据信息则保存在一个PostgreSQL数据库中。 借助一个名为Tinder的库程序,可以在第一时间通知公司,大家的辛苦钱来啦!使用另一个托管在Heroku上的Rails程序,可以把数据以HTML或CSV的形式展现出来,从而可以按照日期或人员进行查询。

电子邮件中应该会有合计项,采用OCR(Optical Character Recognition,光学字符识别)技术对票据图片进行识别,似乎显得过于复杂。如果有人觉得步骤麻烦,可以试试Amazon Mechanical Turk(面向程序员的应用协作市场)。

如果大家感兴趣,我乐意在github站点分享代码。

结语

拒绝重复劳动,以自动化的方式取而代之,这就是黑客的方式!(张志平/编译)

原文链接:http://tomblomfield.com/post/17092502705/automate-everything(需代理)



您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 16:53 , Processed in 0.021302 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表