» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 18 12
发新话题
打印

[应用] 看牛顿贴,看见多次提到工作流,不是很明白

其实最直观的感受,就是启动mac os x里面内置的automator试试。

无论是生活还是工作,工作流的自动化的例子数不胜数。假设你要完成一个任务,中间包括若干个动作,你可以老老实实一步一步手动做,也可以利用工具尽可能减少手工劳动。

tg是游戏论坛,所以我举一个最简单的例子你就明白了:游戏外挂。外挂是用“作弊”的方式让电脑自动帮你完成游戏中的任务。

用同样的原理,你可以将工作流自动化用到正道上,比如你的本职工作。让电脑帮你自动完成工作任务。如果你的收入与项目挂钩,那么最实质的效果就是收入的增长;如果你是死工资,那么你至少可以多出更多的空闲时间干自己的事。

在mac os x,内置了无数自动化工具,有些是不需要编程的,比如Action Folder,就是说对于某个文件夹,你拷入一个文件时,系统会自动干某些事;Automator,最直观的工作流自动化工具;Applescript,脚本编程;Python和Perl,系统内置的通用编程语言。

Windows在这方面就不如Mac os x,但是可以用第三方开发工具。最常用的就是Autoit和Autohotkey之类免费自动化脚本软件。可以用office等软件内置的vba。可以下载python,perl,ruby等脚本语言。

还有mac,windows都能用的Sikuli,这是一种基于抓屏的视觉化脚本工具


工具实在太多了,关键根据具体需要选择合适的工具或工具组合。

[ 本帖最后由 kingcai 于 2013-8-12 09:34 编辑 ]


TOP

引用:
原帖由 小文 于 2013-8-12 09:29 发表
posted by wap, platform: Chrome

这得每天工作是模式化一成不变的才有用吧
不,对于我来说,每个大项目都会定制开发一套小工具。(我是搞建筑结构设计的)是否要自动化,要看投入产出比,假设一个项目本来要花两个月,开发了工具之后只要两周,那么就是开始花一周开发工具都是值得的。对于每一个项目,首先对工作流进行动作分解,然后用不同的工具将动作合并、简化、自动化,尽可能减少人的干预,但是又要让人能够检查结果。

我不大清楚其他行业的情况,但我认为很多繁琐的工作是可以自动化的。比如以前有个朋友在一家电路板设计公司工作,她每天的工作是从一堆表格里人工检查,找出有问题的元件。平时每天要花半天干这个工作,看到眼晕目眩。我花了一个周末帮她编了个vba程序,从此每天只要花几分钟运行一下程序,就自动生成一个有问题的元件列表。

牛顿贴里有人也说的不错,大部分人对自动化都没有需求或没有概念,甚至最有资源和能力实现这一点的程序员群体也是如此。我一个同学在nVidia当开发团队的管理人员,他经常向我吐槽这一点。

工作流自动化的重点不在于编程,而是在于你有没有这个概念,能否对工作流进行动作分解,灵活地运用多个工具自动化整个流程。

[ 本帖最后由 kingcai 于 2013-8-12 09:54 编辑 ]



TOP

引用:
原帖由 小文 于 2013-8-12 10:14 发表
posted by wap, platform: Chrome

但我认为很多繁琐的工作是可以自动化的。比如以前有个朋友在一家电路板设计公司工作,她每天的工作是从一堆表格里人工检查,找出有问题的元件。平时每天要花半天干这个工作,看到眼 ...
这就是通用工具(可以使用于每一个项目)和定制工具(可以应用于特定项目)的区别。两种工具都是需要的。通用工具显然是投入产出比最高的,不自动化没天理的。定制工具要计算投入产出比,看为特定项目开发是否合算。有时候甚至偶尔遇到、只会发生一次的任务,假设手工干需要1天,我估算编程需要1个小时,那么这也是合算的。

下面是ios上的app Drafts的开发者写的一篇文章When and why I automate:

« March 2013

When and why I automate

April 13th, 2013 at 10:56 pm by Dr. Drang

Way back in February, there was a Back to Work episode in which Merlin talked about how easy it is to waste time on “productivity”—spending more time on automating a task than you’ll ever get back on the savings that automation gives you. I was going to write a little post on that topic but work got in the way and then I forgot about it.

At the end of March, Clark Goble wrote a post on the same topic, complete with a funny graph taken from a now-lost recently resurrected post by Jason Verly. Clark made this point:

[G]eeks generally relax writing these sorts of things. I know probably half of my scripts were as much me relaxing and trying to clear my head from whatever I was working on at the time. That they make me much more efficient is just icing on the cake.

This was one of the points I had planned to make: For many of us, automating tasks is a form of recreation. A strict, green-eyeshade accounting of time spent doesn’t capture the value to us of writing a script. There was another point or two I wanted to make on the topic, but I was on spring break with my family at the time and wasn’t blogging. When we returned, I had some unexpected travel, which delayed my return to posting even further.

So now that the topic is cold and dead, I’m finally getting around to writing about it. This is why I’m not a link blogger.

There are five things I weigh when deciding whether to automate a task:

1. The potential time savings.
This is based on estimates of how often I think I’ll have to repeat the task, how long it takes to do manually, and how long it’ll take to write a script (or macro or Automator action or whatever). The stuff Merlin talked about.

2. The entertainment value of creating the automation.
For example, I’m currently beta testing an app that’s adding a sort of scripting language to an upcoming release. Learning the language by writing a few scripts in it was fun. I’ll certainly use the scripts I wrote, but I’ll never get back the time I put into them. That’s OK with me.

3. The annoyance I feel when doing a task manually that could be automated.
This is the flip side to the entertainment and relaxation value Clark talked about. I hate hate hate doing repetitive tasks when I know I could write a script to turn several steps into one. I know this is a personality defect that keeps me from being as efficient as I could be, and I try to keep it in check, but it’d be foolish to deny it exists.

4. The value of learning a new technique or library and keeping sharp with what I already know.
I write scripts to get my professional work done, and the more nonessential, recreational scripts I write, the more efficient I am at writing the scripts I need to get my job done.

5. The value it might provide to others.
I’ve learned so much from people who share their knowledge on the web, I feel compelled to reciprocate. This is, I confess, almost never my initial motivation, but it the reason I sometimes add a little extra polish to a script that’s already working.

Sharing scripts and scripting techniques also changes the accounting of time. A script that takes an hour to write but only saves me 15 minutes may seem like a waste, but if it saves three other people 15 minutes, too, the overall accounts are in balance. I’ll get my “lost” 45 minutes back when others share the scripts they’ve written.

[ 本帖最后由 kingcai 于 2013-8-12 10:37 编辑 ]


TOP

引用:
原帖由 wpang 于 2013-8-12 10:32 发表
posted by wap, platform: iPhone

其实也没错,workflow就是把模式化的需要重复的步骤自动化来减少人的操作,但其实大家平时干的大多数事儿都是多步完成的,而计算机本身就是为了简化重复操作而生的,如果能提供足够 ...
文版等人在那个帖子里一直强调ios适合小孩和老人使用,但问题在于不能要求人人一直顺从小孩和老人的使用方式。

一个好的系统或者软件应该极容易上手,又给用户留下进步的空间,以通用绘图软件autocad为例

1. 最初级的入门者可以点工具栏上的按钮或者输入简单的命令如Line,Move绘图
2. 再进一步,可以设置命令缩写,将命令使用的字母集中在键盘左半部,这样左手不用大幅移动就能输入所有常有命令,右手操作鼠标,这就是常说的”左键右鼠”
3. 使用autocad的动作录制器(Action Recorder),然后稍加编辑,就可以重复使用(无需写代码)
4. 使用autocad的参数化功能,创建模板
5. 利用类似于dos 批处理文件的autocad .scr脚本
6. 编写autolisp,vba脚本
7. 利用.net 等更强大的编程软件

也就是说autocad提供了不同层级的工具,供不同层次的用户使用。Mac os x也是类似,从鼠标操作、到alfred等工具、到automator、applescript、python、perl、xcode。

如果说一个刚出学校的人可以从按工具栏按钮开始,那么是可以接受的。如果工作了三年之后还保持这样的工作方式,还口口声声说”这样足够了“,”这样不容易出错“,还说自动化的需求是小众不合理的,这样的人可以容忍吗?

当然这个比喻可能不是很恰当,因为iphone毕竟大都是个人的设备,而不是员工为企业工作的工具。但是鉴于苹果已经在官网上吹嘘ipad的商用,那么对ios更开放的要求就是正当的了。

[ 本帖最后由 kingcai 于 2013-8-12 11:03 编辑 ]

TOP

引用:
原帖由 小文 于 2013-8-12 09:29 发表
posted by wap, platform: Chrome

这得每天工作是模式化一成不变的才有用吧
这几天的讨论也有好处,因为我正准备写一篇工作流自动化的介绍作为新人培训内容。我把帖子里的发言整理了一下,可以作为素材。

[ 本帖最后由 kingcai 于 2013-8-12 11:04 编辑 ]

TOP

引用:
原帖由 小文 于 2013-8-12 11:08 发表
posted by wap, platform: Chrome

kingcai仿佛在说一台好的电视机应该既容易上手,又给用户留下进步的空间。你不但可以使用遥控器按上下键选择频道,还可以直接输入数字选择频道,进阶用户可以接上键盘输入快捷键选 ...
你要用低级的方式使用设备是你的自由,但是别人吐槽要求改善系统却让你不能忍受,我不知道这是什么心态。

遥控器能和“智能”手机比?还真是逻辑混乱。

另外我还真买了罗技的万能遥控器,来控制家里的各种设备:)

[ 本帖最后由 kingcai 于 2013-8-12 11:28 编辑 ]

TOP

引用:
原帖由 小文 于 2013-8-12 11:30 发表
posted by wap, platform: Chrome

可能比较震撼,但真相是对于普通人类来说手机和电视就是一回事,只有对数码宅来说手机才有无穷的折腾的乐趣。就像电视对于电器迷来说有着无穷的折腾的乐趣一样。不要混在数码宅论坛 ...
数码宅又没有剥夺你们不数码宅的自由,你急啥呢?我只是在吐槽ios的缺陷,又触到你哪根神经了。说什么“强加给别人”?我倒奇怪了,你是我的下级吗?我怎么强迫你了。实在不喜欢我说的,你流畅地走开不就行了?我拖住你了?

有本事ios7,ios8出来你们别吐槽,吐槽就是不知足。我话放在这儿,以后这儿谁吐槽,我就可以把你的名言放上去。

[ 本帖最后由 kingcai 于 2013-8-12 11:55 编辑 ]

TOP

引用:
原帖由 小文 于 2013-8-12 12:02 发表
posted by wap, platform: Chrome

首先这里没有任何不能忍受,或者发急的意思,跟帖没有任何着急上火的成分在里面。论坛里一直有这么个很奇怪的现象,回帖多了吧,就觉得你是不是针对我,你着急上火了,你在和我吵架 ...
奇怪,我作为一个老果粉,只不过用惯了苹果的Newton OS,新近改用ios对其有些期望而已,谁说让手机像电脑一样工作了?Newton OS也是移动OS,不是台式机操作系统。我举mac os x、NOS的例子只是说明好的系统是什么样子的。以前果粉赞mac贬windows都是说windows太不开放不人性化,啥时候变得这么固步自封了?

你说我把自己的想法“强加给别人”,这个帽子真是扣得莫名其妙啊。

另外你说我喜欢开放却选择ios,首先mac os x只不过达到了一个开放和封闭的完美平衡,我没有选择更开放的linux;作为果粉,我也希望ios能达到这样完美的平衡。你口口声声说数码宅喜欢折腾,可是将系统流线化顺畅化就是为了日常生活、工作的不折腾。每天不得不干繁琐、低级的动作,才是真正的折腾。

如果你的意思是”ios就是封闭的,不服你去用安卓“啊,我只能感叹新果粉怎么是这样的啊。

[ 本帖最后由 kingcai 于 2013-8-12 12:38 编辑 ]

TOP

引用:
原帖由 beterhans 于 2013-8-12 12:39 发表
posted by wap, platform: Firefox

kingcai 就是普通人说的老法师吧,或者叫 Geek.
其实我看问题有时也有点 Geek向。

但是这些想法是普通人无法接受的。
我遇到的最多的问题就是,给你某人提出我认为对他有利的 ...
你说的没错,从这么多年工作中实践来看,大多数人是满足于以自己熟悉的低效方式干活的。有时,甚至我已经给他们开发好了工具,他们仍然固执地手工干活,尽管他们这样做要累得半死,或者加班到深夜。具有讽刺意味的是,身体的劳累让他们觉得更有成就感。

所以现在我已经放弃了对老员工灌输这个观念的想法,只是在新人培训的时候说,希望其中能有少数有天赋的一拨就通。(其实从自私的角度看,越少人有这样的观念越好。)

另外我在这里发对IOS的吐槽贴根本就没针对其他用户,只是从我的角度看ios的不方便之处而已。这和其他人吐槽IOS7的图标是不是漂亮没有本质的区别。我没有强求别人采用我的观念或思路。

[ 本帖最后由 kingcai 于 2013-8-12 13:01 编辑 ]

TOP

引用:
原帖由 zmqzmqzmq 于 2013-8-12 13:21 发表


文版长期和苹果黑们唇枪舌剑,思维语气“激凸”一点也很正常。

IOS上要实现你的自定义流程,除了一个APP把全部流程功能整合外没有其他可能性,手机系统上用稳定、安全性换取少量人的自定义需求是极其不划算, ...
我觉得他莫名其妙,我是个老果粉,根本不是果黑。

TOP

引用:
原帖由 finalx 于 2013-8-12 13:41 发表
posted by wap, platform: iPhone

不过就是用点脚本语言把重复的工作简单化而已,lz可以找点shell,perl之类的书看看。
工作流自动化的观念和编程语言关系真不大,大部分人在大学里至少学过一门编程语言,但极少有人有这样的观念,包括程序员群体中的相当一部分人。命令行、编程语言是工具,具体的用途取决于人。

[ 本帖最后由 kingcai 于 2013-8-12 13:49 编辑 ]

TOP

引用:
原帖由 finalx 于 2013-8-12 13:55 发表
posted by wap, platform: iPhone

就是去做重复无味的工作,人手也行,只不过电脑更适合做这种事情
是的。在这方面mac os x是做的比较好的,提供了automator这种无需写代码的自动化工具,让不会编程的用户也可以上手。

TOP

引用:
原帖由 phoenie 于 2013-8-12 14:43 发表
posted by wap, platform: iPhone

我看出来了,kingcai和文版是真爱啊,能战这么多帖还坚持回复。。。

我感觉普通人没多少能自动化的任务,不像工作上处理的数据量大,也不像工作上经常反复做一些事。要不kingca ...
我举一些与本职工作无关的例子,

比如我以前业余时间会翻译一些文章,自然免不了查字典,一般来说每次查需要: 拷贝-转到词典paste-按enter 三下,如何将其简化到一下?

我业余会读香港曹仁超的投资专栏,但是他总是掺杂着粤语,我网上找到一份常用粤语-普通话对照表,如何每次自动将曹仁超的文章一键转成基本可读的中文?

每个月要填一次报销(公司的报销系统是citrix的),报销出差费和交通费等,要在系统里填表格,一般一次花15分钟。如何将这个过程自动化,每个月按一次键就自动搞定?

大家都用过dosbox、scummvm之类软件的GUI前端吧?其本质就是讲dos命令隐藏在后面,也是一种类型的简化、自动化。我刚开始工作时,公司有一套专业软件还是dos命令(从unix系统移植过来的),每次我们都得输入命令,非常繁琐。我玩dosbox时,突然想到了将其概念应用到公司软件的想法,花了半天就编完了前端。

前面提到过游戏外挂,其实这个概念可以应用于任何软件。你可以给软件添加没有的功能,添加快捷键,帮你自动对话框输入、点击等等。

[ 本帖最后由 kingcai 于 2013-8-12 15:43 编辑 ]

TOP

引用:
原帖由 voodoo 于 2013-8-12 15:59 发表


普通用户遇到这种情况,就等软件公司出一个对应的软件出来
是的。一般可以先搜索有没有现成的软件,尽量不要重造轮子。如果没有,只能自己想办法了。

我对现有软件不满的时候,是设法用外挂自己添加软件本没有的功能。

[ 本帖最后由 kingcai 于 2013-8-12 16:03 编辑 ]

TOP

引用:
原帖由 Lucifer6E 于 2013-8-13 06:55 发表
PC上一直以来有个国产软件,可以实现很多让人方便的事,发展好多年了,功能越来越强大,它叫按键精灵。

工作流自动化这概念听起来确实很不错,用好了自然极大方便,不过我觉得千万不能抱着这是问题的唯一解决办法 ...
我前面已经说了,第一步可以先搜索现有软件,尽量不重造轮子。如果软件的现有功能不能满足需要,就自己开发。

查字典只是一个例子,有道词典的划线取词不适合我,因为我不需要看简单释义,而是要看更详细的搜索结果。所以我要自己开发一个。

重要的是敢于打破软件开发者的人为限制。这个懂的自然懂,不懂或不想懂的还是用你们惯用做法吧。

我真感到很奇怪,将你个人的工作流自动化,节省时间或精力,更快地完成项目,或者赚到更多的钱,或者自己至少更省力,无需加班,有更多的时间用来放松、玩。这点好处很难理解吗?我曾经和一个朋友讨论过这个问题,他说,因为这需要动脑筋,而用机械重复的方法,尽管肉体上累,但不需要动多少脑筋,而且劳累使之有一种变态的成就感。我觉得这个解释有一定道理。

[ 本帖最后由 kingcai 于 2013-8-13 14:10 编辑 ]

TOP

 18 12
发新话题
     
官方公众号及微博