之前看到一條新聞說是杭州一名高三女生被哈佛提前錄取,會編程授嘀,很多人覺得會編程特別厲害物咳,尤其是會編程的女生更牛逼,那么今天就來聊聊程序以及編程
不要以為只有程序員才可以編程蹄皱,才可以寫出特別牛逼的程序览闰,你也可以,每個人都可以
刷牙洗臉吃早飯巷折,這是一個程序压鉴,去找班主任請假,這也是一個程序锻拘,談戀愛結婚生子油吭,這還是一個程序,假如你起床先吃早飯署拟,再洗臉刷牙婉宰,先讓班主任簽字再寫請假申請,先生小孩推穷,再結婚談戀愛心包,這樣你會發(fā)現不僅你自己不爽,你的班主任也會不爽馒铃,你的女朋友更是不爽
所以要想達到你的目的蟹腾,就要很正確的執(zhí)行你的程序,或者很認真的編寫出一段正確的能使你達到目的的程序
程序区宇,不僅是在電腦上運行的代碼娃殖,生活中處處是程序
先講一位你知道了以后肯定會膜拜的大神,前一段時間一篇《俄羅斯程序員實現自動化生活》在圈內火了萧锉,文章介紹了俄羅斯一個程序員實現了全自動化的生活珊随,寫了一堆腳本述寡,會給老婆發(fā)加班短信柿隙、會在宿醉不醒時給自己請假、會自動根據郵件恢復客戶的數據庫鲫凶、還可以一鍵遠程煮咖啡禀崖,這哥們簡直是程序員們的楷模啊(大家可以忽略程序員為什么會有老婆這樣的評論.)
腳本1:拍老婆馬屁
這個腳本會給程序員的妻子發(fā)一條“今天加班”的短信螟炫,同時還會從文本庫里隨機選取一條加班理由波附,讓短信每次都不一樣。這個腳本通過定時任務來觸發(fā),如果在工作日晚上9點之后掸屡,這名程序員運維的服務器上還有正在運行的SSH進程時執(zhí)行
腳本2:庫馬爾是個傻逼
(庫馬爾是公司一個客戶的數據管理員封寞,從文件名就可以看出,這位工程師經常和他打交道...... )這個腳本會自動掃描程序員的郵箱仅财,一旦發(fā)現有“庫馬爾”發(fā)來的新郵件時狈究,會隨即進一步掃描郵件內有沒有出現“求助”“出問題了”“抱歉”等關鍵字,如果找到了這些關鍵字盏求,系統(tǒng)就會自動連上客戶公司的服務器抖锥,把(提到出錯的)中間數據庫恢復成最近的一個可用備份。然后自動回復一封郵件碎罚,內容是:“沒事兒哥們兒磅废,下次小心點啊【A遥”
腳本3 :請假
這個腳本也屬于定時任務拯勉,只會在工作日早上8點45分后服務器依然沒有活動SSH進程時執(zhí)行。運行后自動給公司發(fā)一封“今天身體不適”或“今天我在家上班”的郵件耙考,同樣會從文本庫中隨機抽選出一條請假理由附上
腳本4:老子要喝咖啡
這個腳本在執(zhí)行之后谜喊,會先精確等候17秒,然后打開一個SSH進程倦始,遠程連接到公司的咖啡機(媽蛋我們都不知道公司的咖啡機居然還有Linux系統(tǒng))然后傳送一堆代碼過去斗遏,咖啡機就會煮一份中杯半咖啡因的拿鐵咖啡,然后精確等待24秒后鞋邑,再倒進咖啡杯里诵次。為什么會有這么多奇怪的等待時間呢,因為這個腳本運行的全程枚碗,正好是這名程序員從自己的辦公桌前起身逾一,走到咖啡機所需要花費的時間
這么說吧,如果有任何事情要花費他超過90秒的時間肮雨,他一定會寫一個腳本來實現那件事情的自動化遵堵,這貨基本算是生活在終端里吧
如果你覺得上面的程序只有像這樣的大神才可以干出來的,那么沒關系怨规,我再說一件事你或許就不會這么認為了
一名15歲的華裔少年創(chuàng)造了一個令美國人驚嘆的溫馨發(fā)明陌宿,只為了讓爺爺不再走丟,這名少年名叫Kenneth波丰,他的爺爺是位老年癡呆癥患者
Kenneth的爺爺經常毫無征兆地在夜里頻繁“出走”壳坪。Kenneth的姑媽主要負責照顧爺爺,為了防止意外掰烟,夜里總是硬撐著不敢睡深爽蝴,隔一會就去爺爺的房間查看沐批。但即使如此,也不能阻止爺爺半夜下床
兩年前的一個夜晚蝎亚,當Kenneth在照顧爺爺的時候九孩,看到他正想要下床。在爺爺的腳碰到地面的瞬間发框,Kenneth突然想到捻撑,“為什么不在他的后腳跟放個壓力傳感器呢”,這樣當他下床的時候缤底,傳感器就能監(jiān)測到由于爺爺體重造成的突然上升的壓力顾患。然后通過無線傳輸警報信號發(fā)送給看護人的手機。這樣一來个唧,姑媽就不用一整夜心驚膽戰(zhàn)不敢睡覺
當計劃逐步展開江解,他意識這比他一開始想的要難得多。Kenneth要發(fā)明一個可穿戴的傳感器徙歼,必須足夠輕薄靈活犁河,除此之外,他還要設計一個足夠小的傳感器魄梯,和一個APP桨螺,他開始花大把時間來看youtube上的極客視頻,并且從圖書館借了一堆物理書來研究酿秸,在嘗試多種材料后灭翔,他用電子墨水打印出了薄膜式傳感器,并成功制作出了一個體積極小的電路系統(tǒng)
緊接著辣苏,Kenneth花了幾個月的時間肝箱,自學代碼,創(chuàng)建一個操控藍牙設備的APP稀蟋,把手機變成遠程遙控器煌张。這樣無論是不是在爺爺身邊,家人都能監(jiān)控到爺爺是否半夜起身了
一個薄膜感應器+一個APP退客,這就是Kenneth想象中的壓力感應裝備骏融,一旦穿著貼有薄膜感應器襪子的爺爺下床,腳后跟著地萌狂,薄膜感應器就會發(fā)送壓力值到手機档玻,裝有配套APP的手機就會發(fā)出警報,提醒家人粥脚,爺爺又起身了
從成功“捕獲”爺爺的第一次開始窃肠,在一年內包个,這個小設備成功了900次刷允,準確率達到百分百冤留。家人再也不用陷入焦慮的尋找,取而代之的是彼此最溫情的陪伴
如果大家還是覺得這樣的事離自己很遙遠树灶,自己不可能是這樣的天才纤怒,做不出這么偉大的程序,那么我就說說你身邊的你見過的程序事例
如果大家在微博上有關注古城鐘樓的話天通,會發(fā)現這個微博的一萬五千多條微博內容全是“鐺~”字泊窘,細心的朋友還會發(fā)現每條微博全是在整點的時候發(fā)送的,時間不同像寒,“鐺~”的字數不同烘豹,下面給大家看下效果
01:00【丑時】鐺~
03:00【寅時】鐺~鐺~鐺~
05:00【卯時】鐺~鐺~鐺~鐺~鐺~
07:00【辰時】鐺~鐺~鐺~鐺~鐺~鐺~鐺~
09:00【巳時】鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~
11:00【午時】鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~
13:00【未時】鐺~
15:00【申時】鐺~鐺~鐺~
17:00【酉時】鐺~鐺~鐺~鐺~鐺~
19:00【戌時】鐺~鐺~鐺~鐺~鐺~鐺~鐺~
21:00【亥時】鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~
23:00【子時】鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~鐺~
你以為有人會天天這樣守著電腦,看著時間诺祸,半夜起來都發(fā)條微博嗎携悯?不會的。首先筷笨,我要告訴你的是憔鬼,這樣的時間嚴格,內容工整的微博內容肯定是程序實現的
1. 在程序開發(fā)里面胃夏,有一個叫定時器的東西轴或,你沒聽過?那看過電視電影里面古時候的沙漏吧仰禀,那也是一個定時器照雁,還有恐怖份子經常使用的定時炸彈,啟動一下就開始倒計時答恶,到時就引爆囊榜。還有你們手機里面的鬧鐘,都是定時器
程序里面的定時器可以設定幾時幾分幾秒工作亥宿,也可以隔多少時間做某件事卸勺,或者定義某個周期做什么事情,就像你手機里面的鬧鐘一樣烫扼∈锴螅總之,它是程序映企,你想怎么樣讓它工作悟狱,就怎么樣寫代碼,你能想到的在程序里面目前差不多都能實現
在這個微博程序里面堰氓,它應該是分鐘定時一次挤渐,檢查當前時間是不是偶數小時的0分。如果是就發(fā)一條微博双絮,如果不是就等一分鐘以后再來重復判斷浴麻,周而復始得问,為什么不是隔2個小時判斷一次呢?因為怕誤差累積软免,這樣到后來就可能不準了
2.在不同時間發(fā)不同的內容宫纬,這個應該很容易理解了,地支時間:我把12個地支放到并列的12個盒子里膏萧,并按0-11標好漓骚,如果當前小時數為偶數,那么我就把當前時間數除以2榛泛,然后到相應的第幾個盒子里面去把地支取出來
鐺的次數:在上一個的基礎上蝌蹂,判斷當前小時是不是大于12,如果大于等于12曹锨,那先減12得到新的小時叉信,然后新的小時數是多少,那我就“鐺~”幾下鐘艘希∨鹕恚或者更簡單的,我的時間設成12小時制覆享,這樣就不用減12了
把取出來的地支和鐺合起來佳遂,再把其他相同的字也連接起來,就成了每次要發(fā)布的內容撒顿,也就是你所看到的這樣
你會發(fā)現面對這樣的微博丑罪,你不僅不會煩,而且還會覺得很好玩凤壁,當然如果讓你成天發(fā)這樣的微博吩屹,用不了幾天你就會累吐血的,這個時候你肯定會想辦法找有沒有程序能幫你做這份工作拧抖,所以程序就這么誕生了
程序源于生活煤搜,程序改變生活,程序員可以寫程序唧席,但程序不一定是被程序員寫的擦盾,每個人都可以寫出驚天的程序來解決自己遇到的問題,改變自己的生活
世界上沒有程序解決不了的問題淌哟,如果有迹卢,那么請去編程!