起源
基于對 AI 的愛好與興趣,我走上了獨自鉆研機器學習的道路。和所有熱愛 AI 的人們一樣,在一段孤獨的摸索旅程中,我勉強完成了幾次深度學習模型的訓練。
其中令我印象較深的成果就是情感分類模型。他能夠根據(jù)你的文字生成其背后作者的喜怒哀樂,這讓人感到非常有意思,原來深度學習模型也是可以很 "人性化的"。
于是某天一個大膽的想法出現(xiàn)在了我的腦海中:
基于這個情感模型建立一個上層應(yīng)用,讓他的能力在人類社會中增添不一樣的煙火。
基于多方面的考量,我最終選擇開發(fā)一款 微信 "情感" 小程序。
設(shè)計
在經(jīng)過一段時間的頭腦風暴后,一個初步的想法出現(xiàn)在了我的腦海:
- 開發(fā)一款日記應(yīng)用,利用情感模型可生成出日記內(nèi)容的情感值......
應(yīng)用包含分為 3 個 模塊,寫日記,排行榜,我的:
- 寫日記:保存日記 + 生成情緒值
- 排行榜:根據(jù)情緒值平穩(wěn)程度進行排名(ps:鼓勵大家以平穩(wěn)的情緒面對生活帶來的喜怒哀樂)
- 我的:查看寫過的日記
然而大概花費 1~2 個小時完成頁面樣式初步設(shè)計后,我再一次陷入了沉思:
雖然現(xiàn)在想法與設(shè)計是有了,但殘酷的現(xiàn)實數(shù)據(jù)告訴我們,大部分的想法都會 "胎死腹中"。
但正巧這段時間我處于放假狀態(tài),手頭上并沒有什么緊急的事情,并且本人堅定好了被小程序坑到找媽媽的準備,于是我抱著必死的決心踏上了小程序開發(fā)之不歸路......
開發(fā)
雖然我有一定的前端開發(fā)基礎(chǔ),但是從來沒有開發(fā)過小程序。所以自然是需要去 "進修" 一下小程序開發(fā),好在微信小程序的官方文檔以及小程序社區(qū)建立的比我想象中的要完善的多。
跟著官方文檔下載好小程序開發(fā)工具并搭建好云開發(fā)環(huán)境后, 我很快的進入到了 "開發(fā)狀態(tài)"(開發(fā)狀態(tài),除了吃飯、喝水、睡覺,其余時間都在進行程序開發(fā)。)。
開發(fā)過程中品嘗到的辛酸滋味不足為外人道也,然而每每回憶起來卻是那樣甘甜。下面來分享一下開發(fā)過程中的 "高光" 時刻:
- 官方文檔異常復(fù)雜的登錄授權(quán)教程讓人崩潰,最后我設(shè)計出了最簡授權(quán)流程;
- Node.js 云函數(shù)調(diào)用模型預(yù)測時一直返回空值,于是用早有耳聞的 Promise 技術(shù)解決了問題;
- 基于深度學習情感預(yù)測的 "佛系值" 算法開發(fā);
- 給小程序設(shè)計了大量隱藏的細節(jié)......
整個開發(fā)過程大概歷經(jīng)三天兩夜,整段經(jīng)歷大概與 "編程馬拉松" 類似。
編程馬拉松,又稱黑客日、黑客節(jié)或編程節(jié),是一個流傳于黑客當中的新詞匯。編程馬拉松是一種活動。在該活動當中,計算機程序員以及其他與軟件發(fā)展相關(guān)的人員,如圖形設(shè)計師、界面設(shè)計師與項目經(jīng)理,相聚在一起,以緊密合作的形式去進行某項軟件項目。編程馬拉松的靈魂是合作地編寫程序和應(yīng)用。編程馬拉松的時長一般在幾天到一周不等
--維基百科
于是乎,在經(jīng)過 "瘋狂" 開發(fā)后,一個小程序的雛形就誕生了......
測試
雛形誕生后,小程序進入到了非常重要的測試環(huán)節(jié)。一個項目的好壞一定程度上由產(chǎn)品的質(zhì)量好壞決定,只有質(zhì)量有保障的項目才能越走越遠,越飛越高。
也湊巧我本身就是測試出身,測試人員獨有的 "Bug免疫" 與謹慎的開發(fā)習慣讓這個項目的測試階段并沒有出現(xiàn)太多的意外,每一個函數(shù)在設(shè)計開發(fā)階段就已經(jīng)經(jīng)過了大量的測試。
可以說這個項目的測試一直在跟著開發(fā)節(jié)奏一起走,聽過許多 測試左移 的思想,那這款小程序的開發(fā)歷程大概可以說是 設(shè)計與開發(fā)與測試并駕齊驅(qū) 。
總的來說,測試階段的順利給這個項目增添了很大的信心。
體驗
測試完畢后則進入體驗環(huán)節(jié),官方規(guī)定每個小程序可以設(shè)置 15 名體驗人員,這一環(huán)節(jié)相當于 傳統(tǒng)開發(fā)流程中的預(yù)發(fā)布階段(項目發(fā)布 / 上線前的最后階段)。
于是我將親朋好友一個一個拉進了體驗名單,然后微信 "騷擾" 了他們。在這里對所有用心體驗的朋友說一聲感謝。
然而到這一階段確發(fā)生了一些 "意外",一位體驗者爆料說日記保存后無法生成情緒值。多虧云開發(fā)完善的實時日志系統(tǒng),讓我能在短時間內(nèi)成功定位報錯信息并修復(fù)缺陷。
事實證明,再嚴密的測試也會有漏洞,這個 "小意外" 再次印證了 世界上不存在沒有 Bug 的系統(tǒng) 這一殘酷的事實。
經(jīng)過了大概半天左右的體驗、缺陷修復(fù)與細節(jié)優(yōu)化后,終于到了激動人心的時刻,小程序上線。
上線
與我之前了解到的不同,小程序上線過程竟然異常順利。
每一個小程序一年有一次加急審核的機會,普通審核可能需要 1~3 天,但也沒想到小程序加急審核上線的效率如此之高,8 分鐘就成功上線了。
總結(jié)與收獲
"情緒小日記" 的開發(fā)過程可以說是非常夢幻了,從幾天前對小程序開發(fā)一無所知,到幾天后小程序成功上線。
當然不是說提倡大家經(jīng)常做 "編程馬拉松" 式的努力。但我害怕再過一段時間我就沒有時間,沒有勇氣,而只有一大堆連自己都厭惡的借口去放棄開始、放棄堅持了。
從小到大有一句話一直影響著我,雖然已經(jīng)不記得出自何處:
- 如果你覺得錯,為什么還要去做。如果你覺得對,為什么不去堅持。
最后,我在年前收獲了一個小程序。
你呢,準備好接受新的挑戰(zhàn)了嗎?