回首方覺已碼3年多, 一路走來, 酸甜苦辣嘗遍, 有過激情, 有過迷茫, 有過牽掛, 了無牽掛。 先從畢業說起吧:
1.關於就業選擇就業方向是很重要的, 有很多同學選擇自己所學專業, 一部分則選擇了其他方向。 無論選擇什麼方向, 自己必須冷靜思考後決定。 有人問, 到底要不要選擇自己的興趣作為工作?我的建議是儘量選擇自己感興趣的, 因為這樣你才會有動力, 你才會堅定自己的方向。
剛畢業那會兒, 迷茫而慌張, 記得那時候, 出來實習, 學習了一個星期的ActionScript3就開始搞項目了, 搞的是房地產項目, 經常往東莞那邊跑,
做開發, 一般會經歷激情期-->稍微成熟期-->迷茫期-->奮起進步期-->高手期-->架構大師期-->回歸初心。
①視頻:做安卓開發, 入門的話, 推薦先看視頻, 安卓視頻看過不少, 我記得張澤華老師的安卓入門視頻最讓我印象深刻, 通俗易懂, 讓我有興趣繼續開發下去。 入門之後, 可以選擇看一些針對性的視頻, 比如慕課網裡的視頻, 還是不錯的。
②博客:一定要多逛博客、論壇和社區, CSDN、博客園、StackOverflow、Github、簡書、掘金、LeetCode(演算法鞏固必看,
③書本:市場上的書本很多, 各種各樣, 我買的書本將近40本, 值得推薦的也就幾本。 首先《Java程式設計思想》, 這是必須看的, 無論是搞Java還是Android, 不要問我為什麼, 而且要反復看, 至少看5遍, 不要求每個字每頁都看, 但重要的知識點一定要鑽, 基礎還是要打扎實。 安卓進階推薦《安卓群英傳》和《Android開發藝術探索》, 這兩本進階必看, 如果有條件, 還應該看看《安卓源碼與設計模式》(好像是這個名字, 不知道有沒有記錯)。 後面, 《C++ Primer Plus》也值得推薦。 《演算法導論》是一本聖經, 一般來說, 工作之後, 有條件的話, 可以稍微看一下, 推薦研究生研究, 讀大學的時候有毅力也可以研究下,
關於程式設計語言, 感興趣的話, 你可以多學, 但你必須精通一門, 再去看其他的, 比如安卓開發, 你必須精通Java、C/++次之, 而其他的Python、go、PHP、H5、JS可量力而行。
然後就是一些比較高級的知識點了:
④Java:多執行緒、泛型、正則、容器、Http、Socket、注解、反射、23種設計模式, 演算法(推薦看啊哈磊的)、加密解密、虛擬機器。
⑤UI:普通的View動畫、屬性動畫、SVG向量圖、Material Design。
⑥安卓進階:Binder、AIDL、NDK(FFmpeg視頻處理、視頻直播、語音變聲、LBS、WAV無損音訊解碼、音訊拼接與音訊混聲、美顏)、HOOK(反射、動態代理, 需非常瞭解安卓實現流程)、安卓增量更新、安卓外掛程式化、MultiDex、冷開機。
⑦熟悉開源專案, 熟悉之後研究其源碼思想:
A.開發裡的MVP模式你得會吧, 大型項目你不可能在Activity裡做所有操作, 這樣一個類一兩天下來就超過一千行了。
B.網路請求的Okhttp和Retrofit你得會吧, 這麼火的網路請求框架, 瞭解一下不是壞事。
C.你得掌握RXAndroid(RXJava)吧, 這麼經典的框架。
D.不解釋:ImageLoader、Glide、ViewPagerIndicator、xUtils3、PhotoPicker、AVLoadingIndicatorView、CircleImageView。
⑧常見SDK接入:
⑨常用工具使用:
SVN、Git、Swagger UI、JIRA、SourceTree、阿裡巴巴向量圖。
⑩必須:一定要註冊成為應用開發者,
除了精通Java, 你要看C++了, 看腳本, 開始研究安卓源碼, 即使不從事底層開發, 也要在心中有一個安卓藍圖, 明白底層的實現流程。 你至少也要自己動手, 買一部谷歌手機, 選擇一個版本, 編譯一次安卓源碼, 燒錄到手機上, 途中你可能會遇到一些阻礙, 比如天朝的牆等, 只要你努力想辦法, 是可以跨越過去的, 成功之後, 你會發現, 內心是多麼興奮!這就是安卓的吸引力之處, 這就是開源的魅力!
3.關於理想小時候常常在晚上仰望星空, 多麼嚮往外面的宇宙(現在抬頭落你一臉灰), 想過當宇航員, 逐漸長大, 喜歡上文學, 又想當個語文老師, 直到高中接觸電腦, 我就知道,以後自己一定是個程式師了。
理想畢竟是理想,到了社會,你就會發現,你被生活捆綁住了,你得拼命賺錢,你得要有車、要買房、各種壓力壓著你,喘不過氣,你很想掙脫這一切,但是你不敢,你怕讓家人失望,你怕自己碌碌一生,但其實人生百年孤寂,活得快樂不是最現實的嗎?何必在大城市裡拼命奔波呢?因為你想過得更好,所以你還是按部就班地來。
賺錢,很少人靠工資能發財,所以得另闢蹊徑。你開始炒股,你會發現,你買哪個哪個就跌停,即使你只是買了這麼幾萬塊,所以炒股之前一定要做好功課。你想到了功能變數名稱投資,想著哪一天有個大公司花重金買下你的功能變數名稱,一夜暴富,於是寫一個爬蟲,開機器去爬,你會發現,好的功能變數名稱早已被人佔有了,剩下的都是些不怎麼值錢的,所以,留下幾個對自己有意義的功能變數名稱建個博客玩玩就好。真正能增加自己收入的,估計自媒體和淘寶閑魚比較有希望。
4.關於思想①自動停止播放音樂的應用。有些人喜歡戴著耳機聽音樂睡覺,但是如果睡著之後,音樂一直播放的話,會影響我們的聽力,能不能有這麼一款播放機,偵查到主人睡著之後5分鐘即停止播放音樂呢?目前應該還沒有,目前的音樂播放機,都是定時停止播放,而讓人無語的是,當音樂停止了,可能你還沒睡著,或者是睡著很久之後才停止,這都是不理想的。而如何定義並監聽用戶睡著?這可能和硬體、感測器有關了,比如監聽呼吸頻率、心跳、脈搏等等,這需要開發相應的耳機,需要硬體的支援,而我對於硬體基本上是一竅不通,所以擱置了。×
②智慧的連絡人應用。面對面搖一搖或碰一下手機互換手機號碼,這個應該涉及到LBS和手機相關感測器的,我暫時沒時間去細究......
③線上一邊看視頻一邊截gif的視頻播放APP,目前好像已經有了,愛奇藝好像已經有這個功能,唉,很多想法,還沒來得及去實現,就已經被別人實現了。×
④如果偵查到時間是淩晨,那麼手機自動切換到靜音狀態,短信聲音為靜音,或者說進入震動模式。除非是通訊錄裡的人打電話進來,或者同一個人多次打電話進來,否則不會響鈴,只會震動,防止干擾用戶。這個360和聯想手機已經實現了,360手機助手有這個功能,聯想樂檬手機自帶這個模式,打開就可以了。×
⑤語音接電話。比如你在床上睡覺,手機在書桌上,電話來了,喊一句“幫我接通”就自動接電話並打開免提,適合懶人使用,嘿嘿。很可惜,vivo已經實現了。×
⑥特權用戶可以看到對方正在輸入什麼,當然對方可以設置不讓其他人看。QQ有一個提示,就是“對方正在輸入...”,但是正在輸入什麼內容呢,只有發送了才能知道。如果QQ有這麼一個開關,“聊天時允許其他人查看我正在輸入的內容”,打開的時候,那些會員用戶,就有特權查看正在編輯的內容,每輸入一個字都即時展現在聊天框的上方,直到發送。嘿嘿,說不定某天QQ就出了一個靛鑽,靛鑽用戶才有權查看。唉,沒辦法,進不去騰訊,所以這個功能,還是交給騰訊的開發人員吧。×
⑧管理電腦的APP,這個360快傳好像實現了,連接同一個wifi,可以遠端遙控筆記型電腦,並查看電腦裡的檔,但是好像還不能把手機的東西拷貝到電腦。這個就交給360的開發人員去實現了。×
⑨我最想實現的一款應用:移動分享匯。我個人是比較喜歡聽音樂的,於是突發奇想,在坐地鐵的時候,能不能讓周圍的人也能聽到我正在聽的音樂?當然不是指外放了,這樣會引起公憤的,我的想法是這樣的:通過這個APP,把我正在聽的音樂,以廣播的形式播放出去,附近也使用這個應用的人,可以搜索到附近的所有的信號,點擊則可以聽到我正在聽的音樂了,說不定還能找到志趣相投的好友呢。後面還可以和發射歌曲信號的人聊天,互發檔等等,這個應用,不是挺好的麼。我現在是心有餘而力不足,有志同道合的朋友,可以一起探討下哈。
5.關於鍛煉最後,當程式師一定要注意鍛煉身體和休息,畢竟生活是根本,不要因為追逐理想而舍本求末!你會認識到一些有趣的夥伴,多爬山、看看電影、和同學朋友們聚會、去看看海、去拍風景照。如此生活才有趣,才能輕鬆應對人生道路的坎坷。共勉、祝福。
我就知道,以後自己一定是個程式師了。理想畢竟是理想,到了社會,你就會發現,你被生活捆綁住了,你得拼命賺錢,你得要有車、要買房、各種壓力壓著你,喘不過氣,你很想掙脫這一切,但是你不敢,你怕讓家人失望,你怕自己碌碌一生,但其實人生百年孤寂,活得快樂不是最現實的嗎?何必在大城市裡拼命奔波呢?因為你想過得更好,所以你還是按部就班地來。
賺錢,很少人靠工資能發財,所以得另闢蹊徑。你開始炒股,你會發現,你買哪個哪個就跌停,即使你只是買了這麼幾萬塊,所以炒股之前一定要做好功課。你想到了功能變數名稱投資,想著哪一天有個大公司花重金買下你的功能變數名稱,一夜暴富,於是寫一個爬蟲,開機器去爬,你會發現,好的功能變數名稱早已被人佔有了,剩下的都是些不怎麼值錢的,所以,留下幾個對自己有意義的功能變數名稱建個博客玩玩就好。真正能增加自己收入的,估計自媒體和淘寶閑魚比較有希望。
4.關於思想①自動停止播放音樂的應用。有些人喜歡戴著耳機聽音樂睡覺,但是如果睡著之後,音樂一直播放的話,會影響我們的聽力,能不能有這麼一款播放機,偵查到主人睡著之後5分鐘即停止播放音樂呢?目前應該還沒有,目前的音樂播放機,都是定時停止播放,而讓人無語的是,當音樂停止了,可能你還沒睡著,或者是睡著很久之後才停止,這都是不理想的。而如何定義並監聽用戶睡著?這可能和硬體、感測器有關了,比如監聽呼吸頻率、心跳、脈搏等等,這需要開發相應的耳機,需要硬體的支援,而我對於硬體基本上是一竅不通,所以擱置了。×
②智慧的連絡人應用。面對面搖一搖或碰一下手機互換手機號碼,這個應該涉及到LBS和手機相關感測器的,我暫時沒時間去細究......
③線上一邊看視頻一邊截gif的視頻播放APP,目前好像已經有了,愛奇藝好像已經有這個功能,唉,很多想法,還沒來得及去實現,就已經被別人實現了。×
④如果偵查到時間是淩晨,那麼手機自動切換到靜音狀態,短信聲音為靜音,或者說進入震動模式。除非是通訊錄裡的人打電話進來,或者同一個人多次打電話進來,否則不會響鈴,只會震動,防止干擾用戶。這個360和聯想手機已經實現了,360手機助手有這個功能,聯想樂檬手機自帶這個模式,打開就可以了。×
⑤語音接電話。比如你在床上睡覺,手機在書桌上,電話來了,喊一句“幫我接通”就自動接電話並打開免提,適合懶人使用,嘿嘿。很可惜,vivo已經實現了。×
⑥特權用戶可以看到對方正在輸入什麼,當然對方可以設置不讓其他人看。QQ有一個提示,就是“對方正在輸入...”,但是正在輸入什麼內容呢,只有發送了才能知道。如果QQ有這麼一個開關,“聊天時允許其他人查看我正在輸入的內容”,打開的時候,那些會員用戶,就有特權查看正在編輯的內容,每輸入一個字都即時展現在聊天框的上方,直到發送。嘿嘿,說不定某天QQ就出了一個靛鑽,靛鑽用戶才有權查看。唉,沒辦法,進不去騰訊,所以這個功能,還是交給騰訊的開發人員吧。×
⑧管理電腦的APP,這個360快傳好像實現了,連接同一個wifi,可以遠端遙控筆記型電腦,並查看電腦裡的檔,但是好像還不能把手機的東西拷貝到電腦。這個就交給360的開發人員去實現了。×
⑨我最想實現的一款應用:移動分享匯。我個人是比較喜歡聽音樂的,於是突發奇想,在坐地鐵的時候,能不能讓周圍的人也能聽到我正在聽的音樂?當然不是指外放了,這樣會引起公憤的,我的想法是這樣的:通過這個APP,把我正在聽的音樂,以廣播的形式播放出去,附近也使用這個應用的人,可以搜索到附近的所有的信號,點擊則可以聽到我正在聽的音樂了,說不定還能找到志趣相投的好友呢。後面還可以和發射歌曲信號的人聊天,互發檔等等,這個應用,不是挺好的麼。我現在是心有餘而力不足,有志同道合的朋友,可以一起探討下哈。
5.關於鍛煉最後,當程式師一定要注意鍛煉身體和休息,畢竟生活是根本,不要因為追逐理想而舍本求末!你會認識到一些有趣的夥伴,多爬山、看看電影、和同學朋友們聚會、去看看海、去拍風景照。如此生活才有趣,才能輕鬆應對人生道路的坎坷。共勉、祝福。