开发笔记📐 发现👽 人物👮 趣闻💦

看程序员是如何把自动化做到极致的!用技术自动化你的一切!
2018-08-11 09:34:05   点击:

【导读】:作为一名程序员或技术人,你们有木有写过让工作/生活得更轻松的算法/程序呢。编程自动化又会给生活带来哪些便利呢?下面是程序员们在 Quora 上的分享,翻译组挑选摘编一些精彩内容。

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

这才是我在 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天前)。我没有找到任何办法来下载我问的问题的答案。我正在写一个用来自动下载答案的程序。

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

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

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

我自动化了许多任务:

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

我设定自己的计算机 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 关机 。

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

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

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

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

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

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

[注]:为对代码感兴趣的人的一些注意事项

1. 当前授权部分还是手动的,它是一个桌面应用,只有当我登陆到脸书并且浏览器打开一个页面才有用。

2. 这目前是基于 Python, Java 和 Selenium。

3. 我正在朋友的帮助下把它转成一个安卓 app,或便携式桌面应用。敬请期待,你可能在 Google Play 商店或是 GitHub 下载到它。之前我只会回复 Hmmmmmmmmmm 

本文最初发表在伯乐在线,文章内容属作者个人观点,不代表本站立场。

程序员 技术 自动化

上一篇:程序猿薪酬大起底 年薪很高时薪不高?
下一篇:有追求优秀之心的程序员 尝试理解程序内在逻辑