之前看到一条新闻说是杭州一名高三女生被哈佛提前录取,会编程,很多人觉得会编程特别厉害,尤其是会编程的女生更牛逼,那么今天就来聊聊程序以及编程
不要以为只有程序员才可以编程,才可以写出特别牛逼的程序,你也可以,每个人都可以
刷牙洗脸吃早饭,这是一个程序,去找班主任请假,这也是一个程序,谈恋爱结婚生子,这还是一个程序,假如你起床先吃早饭,再洗脸刷牙,先让班主任签字再写请假申请,先生小孩,再结婚谈恋爱,这样你会发现不仅你自己不爽,你的班主任也会不爽,你的女朋友更是不爽
所以要想达到你的目的,就要很正确的执行你的程序,或者很认真的编写出一段正确的能使你达到目的的程序
图片来源于网络程序,不仅是在电脑上运行的代码,生活中处处是程序
先讲一位你知道了以后肯定会膜拜的大神,前一段时间一篇《俄罗斯程序员实现自动化生活》在圈内火了,文章介绍了俄罗斯一个程序员实现了全自动化的生活,写了一堆脚本,会给老婆发加班短信、会在宿醉不醒时给自己请假、会自动根据邮件恢复客户的数据库、还可以一键远程煮咖啡,这哥们简直是程序员们的楷模啊(大家可以忽略程序员为什么会有老婆这样的评论.)
脚本1:拍老婆马屁
这个脚本会给程序员的妻子发一条“今天加班”的短信,同时还会从文本库里随机选取一条加班理由,让短信每次都不一样。这个脚本通过定时任务来触发,如果在工作日晚上9点之后,这名程序员运维的服务器上还有正在运行的SSH进程时执行
脚本2:库马尔是个傻逼
(库马尔是公司一个客户的数据管理员,从文件名就可以看出,这位工程师经常和他打交道...... )这个脚本会自动扫描程序员的邮箱,一旦发现有“库马尔”发来的新邮件时,会随即进一步扫描邮件内有没有出现“求助”“出问题了”“抱歉”等关键字,如果找到了这些关键字,系统就会自动连上客户公司的服务器,把(提到出错的)中间数据库恢复成最近的一个可用备份。然后自动回复一封邮件,内容是:“没事儿哥们儿,下次小心点啊。”
脚本3 :请假
这个脚本也属于定时任务,只会在工作日早上8点45分后服务器依然没有活动SSH进程时执行。运行后自动给公司发一封“今天身体不适”或“今天我在家上班”的邮件,同样会从文本库中随机抽选出一条请假理由附上
脚本4:老子要喝咖啡
这个脚本在执行之后,会先精确等候17秒,然后打开一个SSH进程,远程连接到公司的咖啡机(妈蛋我们都不知道公司的咖啡机居然还有Linux系统)然后传送一堆代码过去,咖啡机就会煮一份中杯半咖啡因的拿铁咖啡,然后精确等待24秒后,再倒进咖啡杯里。为什么会有这么多奇怪的等待时间呢,因为这个脚本运行的全程,正好是这名程序员从自己的办公桌前起身,走到咖啡机所需要花费的时间
这么说吧,如果有任何事情要花费他超过90秒的时间,他一定会写一个脚本来实现那件事情的自动化,这货基本算是生活在终端里吧
如果你觉得上面的程序只有像这样的大神才可以干出来的,那么没关系,我再说一件事你或许就不会这么认为了
一名15岁的华裔少年创造了一个令美国人惊叹的温馨发明,只为了让爷爷不再走丢,这名少年名叫Kenneth,他的爷爷是位老年痴呆症患者
Kenneth的爷爷经常毫无征兆地在夜里频繁“出走”。Kenneth的姑妈主要负责照顾爷爷,为了防止意外,夜里总是硬撑着不敢睡深,隔一会就去爷爷的房间查看。但即使如此,也不能阻止爷爷半夜下床
两年前的一个夜晚,当Kenneth在照顾爷爷的时候,看到他正想要下床。在爷爷的脚碰到地面的瞬间,Kenneth突然想到,“为什么不在他的后脚跟放个压力传感器呢”,这样当他下床的时候,传感器就能监测到由于爷爷体重造成的突然上升的压力。然后通过无线传输警报信号发送给看护人的手机。这样一来,姑妈就不用一整夜心惊胆战不敢睡觉
当计划逐步展开,他意识这比他一开始想的要难得多。Kenneth要发明一个可穿戴的传感器,必须足够轻薄灵活,除此之外,他还要设计一个足够小的传感器,和一个APP,他开始花大把时间来看youtube上的极客视频,并且从图书馆借了一堆物理书来研究,在尝试多种材料后,他用电子墨水打印出了薄膜式传感器,并成功制作出了一个体积极小的电路系统
紧接着,Kenneth花了几个月的时间,自学代码,创建一个操控蓝牙设备的APP,把手机变成远程遥控器。这样无论是不是在爷爷身边,家人都能监控到爷爷是否半夜起身了
一个薄膜感应器+一个APP,这就是Kenneth想象中的压力感应装备,一旦穿着贴有薄膜感应器袜子的爷爷下床,脚后跟着地,薄膜感应器就会发送压力值到手机,装有配套APP的手机就会发出警报,提醒家人,爷爷又起身了
从成功“捕获”爷爷的第一次开始,在一年内,这个小设备成功了900次,准确率达到百分百。家人再也不用陷入焦虑的寻找,取而代之的是彼此最温情的陪伴
如果大家还是觉得这样的事离自己很遥远,自己不可能是这样的天才,做不出这么伟大的程序,那么我就说说你身边的你见过的程序事例
如果大家在微博上有关注古城钟楼的话,会发现这个微博的一万五千多条微博内容全是“铛~”字,细心的朋友还会发现每条微博全是在整点的时候发送的,时间不同,“铛~”的字数不同,下面给大家看下效果
01:00【丑时】铛~
03:00【寅时】铛~铛~铛~
05:00【卯时】铛~铛~铛~铛~铛~
07:00【辰时】铛~铛~铛~铛~铛~铛~铛~
09:00【巳时】铛~铛~铛~铛~铛~铛~铛~铛~铛~
11:00【午时】铛~铛~铛~铛~铛~铛~铛~铛~铛~铛~铛~
13:00【未时】铛~
15:00【申时】铛~铛~铛~
17:00【酉时】铛~铛~铛~铛~铛~
19:00【戌时】铛~铛~铛~铛~铛~铛~铛~
21:00【亥时】铛~铛~铛~铛~铛~铛~铛~铛~铛~
23:00【子时】铛~铛~铛~铛~铛~铛~铛~铛~铛~铛~铛~
你以为有人会天天这样守着电脑,看着时间,半夜起来都发条微博吗?不会的。首先,我要告诉你的是,这样的时间严格,内容工整的微博内容肯定是程序实现的
1. 在程序开发里面,有一个叫定时器的东西,你没听过?那看过电视电影里面古时候的沙漏吧,那也是一个定时器,还有恐怖份子经常使用的定时炸弹,启动一下就开始倒计时,到时就引爆。还有你们手机里面的闹钟,都是定时器
程序里面的定时器可以设定几时几分几秒工作,也可以隔多少时间做某件事,或者定义某个周期做什么事情,就像你手机里面的闹钟一样。总之,它是程序,你想怎么样让它工作,就怎么样写代码,你能想到的在程序里面目前差不多都能实现
在这个微博程序里面,它应该是分钟定时一次,检查当前时间是不是偶数小时的0分。如果是就发一条微博,如果不是就等一分钟以后再来重复判断,周而复始,为什么不是隔2个小时判断一次呢?因为怕误差累积,这样到后来就可能不准了
2.在不同时间发不同的内容,这个应该很容易理解了,地支时间:我把12个地支放到并列的12个盒子里,并按0-11标好,如果当前小时数为偶数,那么我就把当前时间数除以2,然后到相应的第几个盒子里面去把地支取出来
铛的次数:在上一个的基础上,判断当前小时是不是大于12,如果大于等于12,那先减12得到新的小时,然后新的小时数是多少,那我就“铛~”几下钟。或者更简单的,我的时间设成12小时制,这样就不用减12了
把取出来的地支和铛合起来,再把其他相同的字也连接起来,就成了每次要发布的内容,也就是你所看到的这样
你会发现面对这样的微博,你不仅不会烦,而且还会觉得很好玩,当然如果让你成天发这样的微博,用不了几天你就会累吐血的,这个时候你肯定会想办法找有没有程序能帮你做这份工作,所以程序就这么诞生了
程序源于生活,程序改变生活,程序员可以写程序,但程序不一定是被程序员写的,每个人都可以写出惊天的程序来解决自己遇到的问题,改变自己的生活
世界上没有程序解决不了的问题,如果有,那么请去编程!
网友评论
再有,程序确实不是万能的,或者说计算不是万能的,好多问题是无法计算求解的(如悖论等),也就是图灵机所无法实现的,是计算的极限
嘛,我也不是计算机专业的,不负责任哦……
………………程序员表示程序解决不了的问题多了去了…………
就拿黑客技术来说,这年头淘宝和京东之间最流行的攻击方式………………是把对方的光纤给挖了………………