越長大對時間越不敏感,小時候等一小時都如坐針氈,現(xiàn)在一年就這么不知不覺過去了。
一、工作
2017 計劃:
1.重構(gòu)代碼,模塊劃分、功能設(shè)計和實現(xiàn)分離
2.探索其他通信方式(socket(tcp), grpc)
具體工作:
離線鑒權(quán):設(shè)計;單獨異步請求;錯誤碼細化;
音頻源:內(nèi)置、file、外部輸入、陣列
場景化識別:action_type, input_type參數(shù),僅輸入法有
語音語義:identifier策略改進;model指定后臺模型;設(shè)置發(fā)包間隔;
長時(錄音筆)SDK: 嘗試socket;http+客戶端vad+服務(wù)端vad
輸入法:短時識別根據(jù)第一個音頻包的能量選擇性進行agc;識別丟字(服務(wù)端VAD參數(shù));IMEI手機標(biāo)識符傳入,統(tǒng)一標(biāo)識符;
同聲傳譯SDK: grpc+protobuf
遠場:初版錄音+多路處理+喚醒+識別;按照語義結(jié)構(gòu)重置,陣列錄音同增強算法封入金鎖底層庫;回調(diào)改為在UI線程,方便操控UI;
聲紋:重構(gòu)SDK接口,撰寫文檔
17年初統(tǒng)計的SDK合作方有22家之巨,從原來的各家一套,目前已大致收斂為7個主要功能的SDK,其中有關(guān)識別的主要有4個(輸入法、語義主線、長時、陣列),以及同傳、離線鑒權(quán)、聲紋,較今年年初混亂狀況已有較大的改善,未來是否可以考慮進一步收斂?
17年放眼望去,工作依舊比較細碎,全新開啟完全掌控的項目也有兩三個,自我提升吧算是有的,不過整體而言,由于所做之事較為零散且雜亂,不成篇幅,大多的工作都是在趕需求完成任務(wù),根本沒時間關(guān)心代碼質(zhì)量、性能之類的問題,并且由于部門沒有測試,很大部分的時間要用在測試上,時間碎片化嚴(yán)重;項目多、項目切換頻繁帶來的問題就是代碼不熟悉,代碼質(zhì)量不高,大多為one shot,沒有可擴展性。
目前存在的問題以及解決方法思考:
1.項目數(shù)量多,維護成本高
對于合作可以劃分為對內(nèi)和對外
①對內(nèi)有些需求較多且可以實驗性嘗試使用一些比較新的技術(shù),如輸入法、車聯(lián)網(wǎng)。對這部分合作,需求較多且較細碎,需求共性不大。對這些合作,單獨拉分支或者提供單獨的SDK;
②對外合作方(包括搜索app,搜索翻譯等)需求較為簡單,多數(shù)主要是語音識別+語義理解,可以采用標(biāo)準(zhǔn)化android或者跨平臺通用的SDK對外輸出,這部分合作不輕易定制需求;對于合作方提出的新需求,需要產(chǎn)品經(jīng)理權(quán)衡的確有利于SDK服務(wù)質(zhì)量再排期加上,其余的拒絕;另外,對于之單獨提供SDK的合作方(搜索app,暢游等)需push他們遷移到這種對外合作統(tǒng)一輸出的SDK上來。
關(guān)于標(biāo)準(zhǔn)化:
①SDK標(biāo)準(zhǔn)化:根據(jù)需求分2-3套。一套通吃維護成本將會很高,認(rèn)為不太現(xiàn)實。
②服務(wù)端可配置:請求參數(shù)、響應(yīng)統(tǒng)一格式,通過設(shè)置參數(shù)選擇對應(yīng)的服務(wù)(比如參數(shù)控制60s識別或者長時識別),目前通用SDK應(yīng)該采用的這個模式
2.代碼質(zhì)量不高&相互之間業(yè)務(wù)不熟悉
①互相業(yè)務(wù)不熟,因為SDK部分基本是單獨負(fù)責(zé)開發(fā)完成導(dǎo)致。
建議:規(guī)律的技術(shù)分享,增加獎懲機制保證分享持續(xù)(獎:按月/季評選這段時間的最佳分享,給予一定物質(zhì)獎勵;懲:對于分享delay的的童鞋,給予適當(dāng)處分,發(fā)紅包之類?)
此外,領(lǐng)導(dǎo)可以定期抽查旁聽,監(jiān)督防止敷衍放水現(xiàn)象
i.開發(fā)負(fù)責(zé)人員主講,講解自己的業(yè)務(wù)相關(guān)的模塊規(guī)劃和邏輯, Q&A
ii.非負(fù)責(zé)開發(fā)人員閱讀代碼以后分享串講, Q&A
iii.開會組織大家一同閱讀項目核心代碼,提問分析代碼的結(jié)構(gòu)、設(shè)計、寫法等
②代碼質(zhì)量不高
i.對于比較核心的SDK(輸入法車聯(lián)網(wǎng)、對外合作主線、通用等),增加code review機制,提交到代碼庫之前需要同事review之后再提交(review保證代碼的正確性,同時寫上可能的修改建議)
對于review之后的代碼出現(xiàn)bug,將影響提交人員和review人員的績效
3.無文檔&文檔不規(guī)范
一些legacy code以及demo類型的新項目沒有文檔,或者不同人寫的文檔質(zhì)量參差不齊,導(dǎo)致交接成本(開發(fā)間的交接,SDK分發(fā)給使用者)直線上升。
建議:凡對外輸出的SDK強制需要寫文檔,可以開會討論商量出一套SDK文檔的低配標(biāo)準(zhǔn)(核心調(diào)用類的接口參數(shù),錯誤碼,版本更新日志等),文檔應(yīng)起碼達到低配標(biāo)準(zhǔn)的要求
4.版本管理混亂&版本更新不及時
①很多輸出的SDK仍舊是“項目名稱_輸出日期”的格式輸出的,建議輸出日期改為“major_version.minor_version.revision_version”(v1.0.0)這種格式輸出,較日期而言更好記且更直觀(https://en.wikipedia.org/wiki/Software_versioning)
②版本更新不及時:某次SDK更新分發(fā)給A合作方,B報了一個bug/需求,查了很久發(fā)現(xiàn)在上次更新已經(jīng)修復(fù),結(jié)果兩邊都白花了很大的力氣。之前跟產(chǎn)品討論過這個問題,我們希望的是每次SDK更新的時候通知給所有使用該SDK的合作方,通知其更新細節(jié),采取與否由對方?jīng)Q定。產(chǎn)品表示由于無法確保更新的新版本的穩(wěn)定性(沒有回歸測試),貿(mào)然發(fā)送給本已較為穩(wěn)定運行的合作方存在一定風(fēng)險。由于回歸測試較為花時間,由開發(fā)完成基本沒有可能,故這一點在沒有測試人力的前提下暫時沒有好的解決方法。
5.性能評測相關(guān)
之前評測的指標(biāo)用的是CPU占用率,內(nèi)存占用絕對值
i.不同內(nèi)存大小的手機上對于應(yīng)用能占用的最大內(nèi)存的限制是不一樣的,所以同一個SDK跑在2G內(nèi)存的手機和4G內(nèi)存的手機上占得內(nèi)存應(yīng)該也不同,用內(nèi)存占用絕對值不是很科學(xué)??紤]替換為內(nèi)存占用率或者其他指標(biāo)。
ii.測試case:正常使用,壓力測試時性能指標(biāo)的平均值和峰值;
iii.test case如何能客觀得反映出性能,有待進一步研究,或者找測試同學(xué)設(shè)計
6.關(guān)于SDK崩潰監(jiān)控/錯誤數(shù)量監(jiān)控/錯誤排查等
①有必要建立崩潰上報和出錯上報的機制,有利于我們監(jiān)控SDK的表現(xiàn),這個可以跟統(tǒng)計做一起,日活,使用次數(shù)等
②用戶遇到錯誤反饋,沒有對應(yīng)機型復(fù)現(xiàn)的時候很難查出用戶不可用的原因。暫時的想法是SDK增加存運行調(diào)試日志的開關(guān),打開時把調(diào)試日志存儲在SD卡上,然后在用戶允許的情況下上傳至服務(wù)器,以方便定位一部分前述問題的原因。
總結(jié):
工作以外花在學(xué)習(xí)上的時間嚴(yán)重不足,除了12月一個月開始準(zhǔn)備跳槽,刷題,看專業(yè)書籍過得比較充實以外,其他時間學(xué)習(xí)提升感覺比較少,危機感還是要增強。
期間也是下決心了解下ML,打算通過Andrew的Machine Learning來學(xué)習(xí)的,但又被打算跳槽打斷,待工作塵埃落定后需要花時間補回來
二、運動&旅游&身體
1.旅游目的地:南京、蘇州、杭州、成都、青島、哈爾濱、青海甘肅大環(huán)線、深圳、廣州、雪鄉(xiāng)雪谷
一年跑了十多個地方旅游,不仔細翻行程真的不敢相信自己這么能玩。。。
怪不得最近想跳槽才發(fā)覺自己真的沒啥長進,原來時間都花在跑步和玩耍上了。
明年需要削減游玩的時間一些,務(wù)正業(yè)一下,畢竟青春也就那么幾年,趁年輕多多打拼一下。
2.跑步:
全馬:成都雙遺、哈爾濱、北京、廣州
半馬:北京長跑節(jié)
越野:三夫香山10k,三夫香山20k,星際越野-大覺寺(鳳凰嶺20k)
跑量:
3月 139.8
4月 176.5
5月 110.4
6月 47.1
7月 91.8
8月 165.1
9月 131.6
10月 138
11月 205
12月 154
上半年還是很兢兢業(yè)業(yè)地做健身餐,規(guī)律健身,后來越來越發(fā)覺大塊肌肉和跑步成績不可得兼,加上樓下健身房倒閉,且健身沒有跑步的快感,于是順理成章拋棄健身房而取跑步,健身部分交給了keep,把重心轉(zhuǎn)移到跑步事業(yè)上,然后感覺時間多出好多!上半年非比賽月跑量太少,下半年專心跑步,跑量平均每月上升50-100km,足夠的跑量給今年創(chuàng)造了足夠多的PB!(好像是一路PB下來的,嚶嚶嚶),目前350,自己都沒有想到的成績,給自己點個贊,希望新的一年繼續(xù)有突破。
17年開始試水越野了,起初是香山10k,感覺比跑步有意思,但覺得長距離有危險,所以暫時沒繼續(xù)下去?直到秋季,心血來潮去香山野路尋秋色,去了兩趟,然后就不安分地嘗試著報了兩個20k,這一嘗試一發(fā)不可收拾,山路路況復(fù)雜,景色迷人,體驗一下子把路跑甩出幾條街,“一入越野深似海,從此路跑成浮云”,深以為然。奈何越野就是有一丟丟風(fēng)險就是了,萬一哪下不小心沒踩實那不是廢了。還有越野距離也越來越長,50k,100k,168k,n百k,這么一直追尋下去感覺身體也要吃不消,還是量力而行吧。
18年估計越野和路跑并行發(fā)展吧,越野計劃嘗試50k,路跑主要還是抱著旅游為目的。
身體參數(shù):
體重:59.8~63.5kg,目前61.4kg
胸圍:88~94cm,目前90.5cm
腰圍:78~81cm,目前80cm
臀圍:87~89cm,目前87cm
體脂率:11.2~15.8%,目前15.8%
下半年跑量多了不少,奈何沒有力量訓(xùn)練,肌肉也掉不少,體脂率也是飆升,無奈魚和熊掌不可兼得啊。
來年如果有條件辦張健身卡,加強大腿和核心的訓(xùn)練,爭取可以把體脂率降一些
三、其他
投資:
17年一個重要收貨應(yīng)該是發(fā)現(xiàn)了小明哥的公眾號,干活滿滿,雖然很多都看不懂。。。。
弄懂了敢于承擔(dān)風(fēng)險才能獲得更大的收益,但是承擔(dān)風(fēng)險也并非無腦把錢咋進去/跟著某個磚家。
開始了解金融市場,希望能早點入門,對金融秩序有一些自己的理解。新的一年需要花點時間學(xué)習(xí)一些基本的金融知識,可以的話拿一小筆錢試水一下股市。
感情:
依舊一片空白啊。究其原因:主要還是沒有好的線下渠道交到朋友。線上人雖多,但都是顏控身材控,且素質(zhì)參差不齊,并且多數(shù)人自我認(rèn)同還不好。反正自己要不斷變強就是了,強者才有更多的選擇權(quán)!至于感情,還是隨緣吧。
母親今年似乎也有點妥協(xié)了,但是媽媽也表達了擔(dān)憂:
老了怎么辦,這幾年是得認(rèn)真考慮下這個問題。
大概就這樣吧,希望大家都有個美好的2018年!