看程序员是如何把自动化做到极致的!

看了这些程序员的分享,你会大涨姿势滴!

Guru S(IT自由职业者, 软件和web开发者,平面和网页设计师)

这才是我在 Quora 期待遇见的问题嘛!

我就从最有趣的开始说吧:我创建过一个批处理文件,每当我登陆自己的计算机超过 10 分钟还没有手工解除这个批处理文件的执行的话,它就会删光硬盘上所有的爱情动作片。如果我今天挂了的话,即使你知道我的开机密码;我也能平静的死去,不用担心灵魂被捉个现行,也不必担心世人在我过世后发现这些动作片而改变对我的看法。

三年前,我并不知道 MVC 架构。

在那时,我们还在用三层架构写代码。后来,成为软件架构师之后,我在公司引入了四层架构(其中,表现层分为两部分,一部分位于用 JS 开发的客户端,另一部分位于服务器端)。众所周知,n 层架构需要大量冗余而重复性的代码。当时,为了建立数据访问层、商业逻辑目标、表单及最大的部分:JS 中的 OOP,我们不得不写很多重复性代码。为了解决这个问题,我写了个自动做这些事的程序。奇妙的是,以往需要一周多才能完成的任务,现在不到15-20分钟就能解决。

后来,当我学了 Angular JS 和 ASP .NET MVC 后发现 MVC 已经包含了和所谓的“基架”类似的功能。尽管现在已经不用这程序了,当时我用写的另一个程序来创建 Angular JS 控制器和视图模型,其实这些可以由 ASP .NET MVC 的视图模型自动创建。

在我学习工程的最后一个学期,我们得对项目截图来把它们收录到手册里。当时我们不知道 Dropbox 有自动保存截屏的功能。而截图,在画图板中黏贴(不能在 Word 里,因为分辨率不够高)并保存这一系列动作过于繁琐。更有甚者,有很大的几率会犯把保存的文件覆盖掉的错。当时我用 VB .NET 编了个程序,当快速连击三次鼠标时自动对当前窗口截屏并保存到指定文件夹。是的,我做得比 Dropbox 更好,哈哈。但如果当初知道 Dropbox 的话,我是不会去写这个程序的。

这个项目像一个间谍软件一样也在我家的电脑(所有家人都在使用)里运行了很多天.

在同一期间,我并不知道 SQL 有 SP_Generate_Inserts 这个函数。当我需要在两个表之间拷贝 100 行数据时,我几乎创建了和这个函数相同逻辑的脚本来对表之间基于‘where’条件拷贝特定列。

正当前:我刚开始使用 Quora (仅仅20天前)。我没有找到任何办法来下载我问的问题的答案。我正在写一个用来自动下载答案的程序。

Yash Bhardwaj(想致力贡献 AI 世界)

我觉得自动化的主意简直是太棒了。以下是我已经自动化的一些东西列表。它是生活变得容易,而计算机为你服务是十分让人满意的。第 3、4、9 点是我的最爱。

  1. 我讨厌别人随便摆弄我的个人电脑或者甚至私闯入我的房间,所以当这种事发生时,网络摄像头会检测到,并自动拍照立即发邮件给我!
  2. 我对历史挺感兴趣的,比如每到一个纪念碑或纪念地我总是想要了解它。而又有什么比维基百科当你的向导更好的呢!每当我的 GPS 靠近重要的历史遗迹,我的智能手机会自动打开维基百科。
  3. 我追的剧有 GoT/The Flash/BBT/Mr.Robot 等等等等。在印度用 BT 种子下载是最佳选择。所以每当新出一集,便会自动下载。假如要下载的完整的一季的话,我只需打【剧名】+【第x季】。程序会自动排序集数并同字幕一起下载。
  4. 讲到种子,还有个程序根据 IMDB 的排名每月自动下载 10 部英文佳片。但有时候会因为种子的低种子率而失败。
  5. 我喜欢关于太空的东西,所以每当 NASA 的哈勃望远镜上传了它的每日一照时,我的手机墙纸也会跟着更新。
  6. 现在天气可预报的程度高了但我们仍需要别人来提醒,而我会收到一条短信提醒,如果明天下雨的话。
  7. 作为印度人,我们从不在 MRP 上买东西,而总是找便宜货,所以我在线编了个同样的东西,一段跟踪产品价格动态的脚本并更新在 excel 页上,每当有东西跳楼价了我就会得到什么值得买的通知。
  8. 每当有闪购或大减价日,一段脚本自动把折扣大的东西放入我的购物车。这帮助我抢到了5秒之内售罄的红米手机,还有一加手机的优先邀请等等
  9. 每当我打开一个隐身窗口,看看爱情动作片时。历史纪录当然不会被保存但是会有后一段时间上的真空。所以我的脚本干的事就是当我隐身时用普通网站和随机文章来填补这个真空。
  10. 现在还有其他的一些小小的自动化,比如我的推特 DP 和 脸书 DP 同步, 状态同步了,标记过的照片会保存到我的 Dropbox, 如果有人打我电话超过三次我电话的静音模式就会自动切换关闭,每当我插入耳机,音乐自动开始播放随机曲目,执行备份,等等。

所有这些任务执行起来都很简单,你不必有很多编程经验可实现。有类似 IFTTT 的工具可帮到你,但自动化的真正乐趣是写脚本(诸如 VB、Java 还有 PHP 等)。现在还只是概念阶段,但我想把所有这些很棒的脚本都开源了,像做产品一样。这样即便是技术小白们也能自动化东西了。现在你会说我上述的 app 已经做的很不错了,但瞧瞧吧!”每个 Facebook 都有一个 MySpace & Freindster 来给它垫背。“

自动化愉快!万一我还想起什么的话会更新这个列表的:)

Ashhar Hasan(计算机工程学本科 2013 级。常年致力于挑战)

我自动化了许多任务:

  1. 自动下载必应每日壁纸:这是一个 PowerShell 脚本, 仅当有网络连接时每天一次启动一个外部程序 30 秒用来下载文件。然后另一个脚本每天 12:00 am 运行(或是一有机会的下一次),把下载的图片复制到我指定的文件夹。
  2. 自动下载 Windows Spotlight 锁屏图片:这也是用 PowerShell 写的,用来把所有 Spotlight 图片拷贝到一个文件夹,并根据他们的分辨率分成两组,一组电话用,一组手提电脑用,还能清除垃圾图片。
  3. 一些开机启动程序的延迟启动:因为我没有 SSD,但开机有许多程序要启动。所以我写了一个批处理文件,用于等待磁盘 I/O 低于某个阈值,再根据优先级从高到低启动程序。
  4. 自动 Git 命令:我的系统中有大约 60 多个 GitHub 和 Mercurial 存储库,我希望他们根据 upstream 保持最新状态。于是我写了个 shell 脚本运行在给定深度的特定目录(和二级目录)的所有存储库,从 upstream 获取新的 commits。我正在写一个工具,可以在多个存储库中运行任何 git 命令。
  5. 自动 Licence 头:我也写过个 PowerShell 脚本用来给存储库的一些文件(取决于文件类型)加上特定 Licence 头。
  6. 找到未配置存储库:这个脚本做的是找到所有根目录中没有 README、LICENCE、.gitattributes 和 .gitignore 的存储库。
  7. 一个下载所有 GitHub 问题和 pull-requests 存为 markdown 文件的扩展,这样我就能离线浏览了。
  8. 批量改名器:这是一个通过从目录结构和文件名中提取信息来给电视剧集改名的利器。
  9. 今晚看啥:一个 python 脚本,用来根据一些我给出的标准(上映日期范围,评分,类型等等)告诉我我该看哪些电影。
  10. 歌单生成器:一个用来生成我很久没听歌曲的歌单和生成我最近收集但一次也没播放过的歌曲的歌单的脚本。

为了让我的生活变得更容易,我还在做很多事。

Aarjith Nandakumar(程序员一枚,又热又专)

我设定自己的计算机 2:05 AM 自动开机,拨号联网并启动 uTorrent, 最后在 7.50 AM 或者下载完毕之后自动休眠。

在我的大学时代,我们只在 2 AM 到 8 AM 享受无限宽带连接。(这是因为全时段无限套餐有 256 kbps 的带宽限制,而晚间的最大带宽为 2 mbps)我还迷恋上了尝试不同的 linux 发行版,并下载了 ubuntu, kubuntu, mint mate, mint cinnamon, fedora, debian, SUSE 等。然而每天要熬夜到 2 AM 是困难的。所以我在 windows 设置了计划任务在 2.05AM 触发一个批处理脚本来建立连接(Modem 被配置成桥接模式,未获得较佳下载速度不使用 PPPoE)。这一任务被设置成唤醒系统运行,所以可以从睡眠状态执行。

在 uTorrent 配置被设置成当下载结束关机,而还有另一个计划任务作为双保险,确保 万一下载还没结束 7.50 AM 关机 。

我碰到的唯一问题是计算机在厅里,而开机的时候会有蓝色灯光闪烁。我父母以为我晚上忘了关电脑就替我关了机,我起来后才发现根本就没有下载。那次以后我想他们解释了这计划,之后就都好了:)

Ankit Jain(编程是懒虫的福音)

我有写过一个为我在脸书上自动聊天的脚本。这脚本读取一个 excel 文件,文件指定了我想聊天的对象,每五分钟检查一次这些聊天对象有没有上线。

我的自动聊天是以 Hiiiiiii 开头的。然后从预定义的问题和答案中选择来保持聊天。

如果有人问的问题与我的 excel 中已存在的问题相差 50% 会自动回复 Hmmmmmmmmmm 。并且立马用邮件和短信通知我聊天需要我的干预。现在没人再对我抱怨我不关心他们了。

同样这个脚本随机从不同网站选出祝福人们生日的话语,并发布在过生日朋友的墙上。

[补充]:如果我的任何一名朋友与我在脸书上三周没有联系(没有评论、喜欢、聊天和贴标签等),这个脚本会删了他们(仅仅因为他们不在我喜欢与之聊天的人的名单之列)。这真是让生活轻松多了。

[注]:为对代码感兴趣的人的一些注意事项
1. 当前授权部分还是手动的,它是一个桌面应用,只有当我登陆到脸书并且浏览器打开一个页面才有用。
2. 这目前是基于 Python, Java 和 Selenium。
3. 我正在朋友的帮助下把它转成一个安卓 app,或便携式桌面应用。敬请期待,你可能在 Google Play 商店或是 GitHub 下载到它。之前我只会回复 Hmmmmmmmmmm 

时间: 2024-10-05 04:34:15

看程序员是如何把自动化做到极致的!的相关文章

从扎克伯格捐450亿看程序员前景

内容简介 从扎克伯格捐450亿看程序员前景 前景是光明滴,努力是必要滴 之前朋友圈被Facebook的CEO扎克伯格捐款450亿美元的事情刷屏了. 大抵是说: 扎克伯格的中国太太为家里添了一个小公主.为了庆祝女儿的降生,扎克伯格与妻子普莉希拉·陈(Priscilla Chan)承诺将他们持有的Facebook 99%股份(按照Facebook当前股价计算,约450亿美元)捐出,给以自己及太太姓氏为合名的"ChanZuckerberg"基金会来推动慈善公 益事业,用以发展人类潜能和促进平

程序员到项目经理:从内而外的提升

转自:http://www.cnblogs.com/watsonyin/archive/2012/09/10/2679528.html 目录 从程序员到项目经理(一):为什么要当项目经理 从程序员到项目经理(二):升职之辨 从程序员到项目经理(三):认识项目经理 从程序员到项目经理(四):外行可以领导内行吗 从程序员到项目经理(五):程序员加油站,不是人人都懂的学习要点 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑 从程序员到项目经理(七):程序员加油站 — 完美主义也是一种错

有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?

有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?首先,百度给出“银弹”是这样的解释:能杀死狼人的利器 在古老的传说里.狼人是不死的.想要杀死狼人有几种方法: 1.像杀死吸血鬼那样用木桩钉住狼人的心脏. 2.将月光遮住 3.用银子做的子弹射穿狼人的心脏或头 当然现实中是没有狼人的.但现实中确实有银弹这个东西.而其意义也类似于能杀死狼人的最好办法.现实中的狼人可以是一个棘手的项目,或者一件不可能的事.而“银弹”就是指能解决这些事的方法,或者技术手段. 我不认中文编程是

程序员的憋大招

程序员都是爱憋大招的,并且美其名曰:沉淀,积累. 有时候说的说的漂亮点,可以管你叫"儒生",当然如果说的穷酸一点,亦可唤作"书生". 程序员憋大招的一个途径就是"看书",比如我吧,家里的书柜上下两层,内容五花八门:从技术到人生,从文学到美学,甚至从烧饭做菜到把妹泡妞,应有尽有.每次搬家的时候,我都要被这些玩意折腾死,每到那个时候我只好自我安慰道:这便是知识的力量! 不光是我,我认识的很多程序员都爱憋大招.比如有个技术不错的程序员朋友喜欢研究养生,

说我装13?过来,打屎你!(揭秘程序员装13面具)

本文来源中关村在线,文章内容仅为博你一笑,转载仅为研究交流. 程序员一直都是很善良的IT工种,勤勤恳恳不辞辛苦的工作,不过今天的文章不是为了宣扬程序员的伟大.尽管在互联网的发展中,他们贡献了无数的代码,用自己的技术推进了互联网的进程.我们还是要扒一下程序员的装13行为,可能会有很多程序员看了本文会十分的愤慨,但考虑到你们很忙,没有时间黑公园网站,我也就不客气了. 程序员你还说没有装13 写代码离不开各种编程工具,有众多工具供选择便有花样的喜好,对装13的程序员来说,是坚决要抵制IDE的,IDE臃

对九个超级程序员的采访

对九个超级程序员的采访 原文:<Q&A With Nine Great Programmers>时间有限,我只能粗译,难免错误. 这篇访谈源自2006年,最先发布在波兰程序员 Jaroslaw “sztywny” Rzeszótko (AKA “Stiff”) 的博客上.但是这篇博文现在找不到了.非常感谢他能授权我重新发布这个博文. 在一个炎热无聊的下午,我突发奇想.我想通过电子邮件的方式对那些我非常感兴趣和非常敬重的程序员问10个问题.准备这10个问题我只花了5分钟,这些都是我个人想

程序员 10Tips

理解技术债务 技术债务就像信用卡一样,会有很高的利息率,时间越长,修复所花的代价就越大,程序员对这个要有深刻的认识.同时团队应该培养一种保证设计质量的文化,应当鼓励重构.同时也应当鼓励其它有关代码质量的实践,在开发时间中应当专门抽出一部分以解决技术债务.如果没有合适的照料,代码会变得越来越复杂难懂,最后没人想碰它. 保持对原理的好奇心 不仅知道怎么用,还知道是什么原因.比如你做Android, 可以了解一下他的事件分发机制是什么样的,它的Measure/Layout是怎么work的,有时间读一读

从程序员到项目经理(16):你不是一个人在战斗--思维一换天地宽

程 序员和项目经理是两种完全不同的岗位,工作方式也大不一样.以前是一个人单干,现在是团队一起干,以前是自己亲自干,现在是指挥别人干,这是一种巨大的变 化.要适应这种变化,首先必须要转换思维模式.思想决定行为,思维模式就好比在陌生城市找路用的地图,拿着过时的地图,自然无法到达想去的目标.思维不换 走老路,思维一换天地宽. 1.从单干到群干 从程序员到项目经理,不只是职位的变化,其工作性质也发生了根本性改变,简单的说,是一个从单干到群干的过程. 严 格来说,程序员并不是单干,他们也是在团队中,需要具

一个初中生到程序员的辛酸经历

一个初中生到程序员的辛酸经历 转自木板 前言:我将写下一个穷苦家庭的农村孩子的经历.我念书不多,文笔不好,基本上是流水式的叙述,大家多多见谅.如果你现在年轻或迷惘,那你看下这篇文章或许有帮助.如果你想了解社会的底层,也可以看看本文.在这篇文章里我会写一些我对人生的看法,希望可以给各位参考参考. 我今年二十八岁,个子不高,长得还算端正.在学校受的教育不高,就读到初中二年级下学期.   我干过很多行业,学过厨师,学过装修,做过酒店服务员,送过报纸.可以说在在社会底层的经历十分的丰富.后来参加自考拿了