首頁»程序人生»分享一些自己的學習過程和學習方法

分享一些自己的學習過程和學習方法

來源:代碼家 發布時間:2019-05-22 閱讀次數:

  每天,都會有人在微博上私信我,問我關于學習和成長的問題。這種問題我一般都不會回復某個人,畢竟每個人的情況不一樣,每個人對待事物的性格也不一樣,我不能夸下海口的說,你看某本書幾個月就能如何如何,我能做的多數時候只是鼓勵鼓勵,其次我也從不認為我已經成長到一個多高的境界上,讓我去給別人做指導,我還是當之有愧的。

  但是,有時候看到大家私信我的時候,確實是處于一種很痛苦或是需要幫助的狀態上。

  最近晚上有空,就想寫寫自己從第一次接觸程序,到一路顛簸學到今天的一些故事和經驗,希望對大家有所幫助。

 學習的三個階段

  第一階段:消費者階段

  我在快上高中的時候,開始接觸的程序。那會兒家里有一本 Visual Basic 的書,30 多頁左右,也是家里唯一一本計算機類書籍,是我哥學校發的一本課外書,他對計算機貌似沒有什么興趣,就一直堆在家里,直到無意中被我翻到。

  書里的程序格外的簡單,幾行簡單的英語代碼,就能讓計算機彈出一個對話框,當時看到簡直神奇極了!躍躍欲試的在老媽店里的電腦上一步一步的敲下代碼,彈出一個簡單的對話框,那一瞬間,感覺像是推開了新世界的大門,從此一發不可收拾。

  實踐完 VB 后,又在小書攤,看到了一本 《黑客 X 檔案》,看著各路高深的入侵,木馬,盜號,試圖努力學會這些技能,然后去跟朋友們炫耀,但一直都無法入門。因為需要太多計算機的基礎知識了,不是寫個彈框,或者計算器水平的人能搞定的。

  那會兒家里也沒有懂電腦的,也沒有人可以問,又處在小城市,連個培訓班都沒有。

  隨即,開始漫漫買書求學路。

一旦開始買書,就進入了學習的第一個階段:消費者階段。當個消費者其實是個挺輕松的事情,對著書本照貓畫虎,一會兒就能跑起來一個看著很有趣的程序。

  那會兒,瘋狂的買各種書,但是由于周圍沒有人指導,買了很多類似 21 天 xxx 系列的書,那會兒真的有這種書,我還抱有幻想??覺得 21 天后我就??

  現在想想國內的圖書市場簡直惡劣到一定程度。很多高校,教師升職評比需要考察發表書籍情況,導致國內一大批爛書其實都是高校老師發出來的。我現在依然認為國內 95% 的技術類書籍是不值得買的,除了像侯杰老師這種文筆很好的技術人以外。

  很多作者總是做不到『以讀者能理解的順序,而非自己認為的順序』寫文章,坑害了不少對計算機有興趣的同學。我一直很崇拜侯杰老師的另一個原因是侯杰老師的書,總是能把你最想問的,如同庖丁解牛,深入淺出的解答出來。就如同 MFC 框架(很早前的一個 Windows SDK 框架,現在已經用的很少了),MFC 是很復雜的一個框架,所有初學的人,都會問一樣的問題:”這玩意兒是怎么工作起來的?!”,但所有國產的 Visual C++ 的書,都避而不答,讓你照貓畫虎的做,就能彈出一個窗體。當初國內只有 《深入淺出 MFC》一書,講明白了背后的一切。

  學完一些基礎知識后,就進入了學習的第二個階段 實踐者階段 階段。所謂實踐者,就是開始用自己所學,去開發程序,成為一名專業或非專業的碼農,很多人的職業生涯,也就停留在了這個階段,過上了小富即安的程序員的日子。

  我從消費者階段過度到實踐者階段大概用了三四年的時間,其實已經挺長的了。我一直都認為我是一只笨鳥,無意中起飛,卻飛了很久的那種。

  第二階段:實踐者階段

  我真正開始實踐的,是在本科學校做的幾個網站。

  第一個是個學校的匿名聊天系統,就是所有人都可以登錄學校的站點,然后會匿名匹配到一個異性,開始聊天,當時用的 Asp.net 做的開發,配合 ajax + jquery,但由于當時技術太差,導致很多人聊著聊著就斷線了,導致小產品不告而終。

  第二個是給我們信息學院開發的一個官網,用的 PHP。在做這個網站的同時,我選修了一門叫《網絡安全》的課程,這門課的老師叫陳路,我曾當著老師的面兒,夸下海口,我開發的官網,堅不可摧…(大概這個意思?)陳老師知道了我做的網站,隨即下達一個作業:”誰能攻陷我們的官網,一個漏洞加五分…”,后來,咳咳?網站數據沒有了?? 有個同學用一個很通用的掃描工具,在他也不知道發生了什么的情況下,工具把網站內容都刪除了??恩,我犯了個超低級的錯誤?? GET 請求可以刪除數據,外加身份認證代碼有誤??

  幸好,查看 Apache 日志的時候,發現刪除請求到來的前幾分鐘,Google 爬蟲來過(那會兒 Google 還能用),隨即馬上去 Google 的緩存里找回了所有的數據。
后來陳路老師被學校批斗了一頓,批斗的罪名是『鼓勵學生攻擊校園網絡』,我其實是極力跟學校執事說明這個錯誤是我犯的,陳老師做的并沒有錯,而且我到現在還是很喜歡陳老師這種教學方法,畢竟實踐出真知。

可能現在陳老師在教《網絡安全》課程的時候,會以 “當年有個學生….” 作為開頭,有時候想想也挺有意思的。

  再后來我花了很多實踐學習 Web 安全相關的知識。寫各種 Web 程序時,都會最大程度的考慮安全問題。

  網站攻陷后沒多久,Android 出來了,我買了第一部 Android 手機,然后自己照著官方文檔開始學 Android,動力的源頭,是我聽說寫 App 能賺錢。賺錢真是學技術的很強的動力,之前寫網站零零星星的賺了六七千塊錢,作為同學里的小土豪,我又把目光轉到了剛出來沒多久的 Android 上。

  當時先定了一個目標,寫一個圖片類 App,打算叫『無盡畫廊』。因為很喜歡 WeHeartIt 這個小眾文藝圖片網站。隨即計劃利用正則解析圖片地址,然后用把圖片呈現在 App 上。那會兒 Java 和 Android 完全零基礎。

  自己在入門 Android 的時候真的超級拼。早上 6 點起床,然后開始悄悄下床(不能吵著舍友),打開電腦開始研究加開發。折騰到早上 7點半左右就和舍友一起去吃早飯,然后上課。中午回來也不午休,開發到快上課,晚上基本都會熬到 12 點左右。持續了 1 個月左右,終于從零基礎到開發出一個粗糙的 1.0 版本,發到了國內的幾個 App 市場。反饋不是很多,但是都挺積極,隨即決定開發 2.0 版本,還加入了廣告積分墻。就這樣超拼的持續了 3 個月左右。現在網上能看到的基本都是 2.0 版本。我從這個 App 里,也賺到了一些廣告費,大概幾百塊。但是因為廣告服務商倒閉了?? 錢到現在還沒取出來?? 心痛??
持續更新那個 App 到快畢業的時候,選擇了保送到北師大。

  暑假的時候去上海一家小公司去實習了,在實習的這家小公司,我做了一個到現在來看依然很屌的功能。現在來看是一個相當不錯的 Growth Hacker 的一個案例(那會兒可沒有增長黑客這個概念)。

  實習所在的公司,是做類似小米盒子的東西。當時的盒子,最重要的當屬內容,版權還處于蠻荒時代的時候,大家紛紛解析優酷,土豆這類的網站,以最少的成本,盜用優酷的帶寬。簡單點而來說,就是做視頻聚合。視頻聚合最麻煩的就是提取視頻的真實文件地址,這樣能為所有的創業公司免去版權糾紛,同時解決帶寬費用問題。

  我去那家公司實習的主要內容,就是用 Node 語言做視頻地址解析,費勁功夫搞定了幾乎所有的視頻網站,各種黑科技都用上了,抓包,逆向,Headless Browser 等等。搞定所有網站后,也算勉強跟競爭對手站在同一起跑線。實習第二周的時候,已經有些沒事兒干了,就在這會兒瘋狂的想法出現了!

  可能很多人還記得當年偉大的迅雷云播,解救了不知道多少個少男寂寞的夜。我們瘋狂的想法就是要讓我們的小盒子,能夠流暢的播放用戶從電腦上推送的任意種子文件,無需等待。在那會兒 TV 上,這種功能簡直就是創舉!

  想法出來后,我抗下大旗,開始用代碼模擬迅雷云播的全套流程。開發的過程十分艱難,得從不同平臺的迅雷上抓包,尋找蛛絲馬跡。優先從 Web 端模擬登陸和提交種子文件,這些都相對容易一些,最難的是如何提取到視頻的真實地址。花了大概一周時間攻陷了所有的流程,然后公司買了 10 幾個迅雷會員,又和各路 BT 網站開始合作,開啟了浩浩蕩蕩的用戶增長之旅。具體增長了多少新用戶,其實我心里沒有數,但是看見旁邊的小朋友,每天都在加服務器,優化 Socket 連接數,我猜那一周得新增了 5 – 10萬用戶,更為壯觀的是每到夜里,所有的迅雷賬號里就瞬間塞滿各種不可描述的日本電影,全部清空后,又被瞬間塞滿。以至于后來,實習到第十七八天的時候,我的老板和 CTO 喊我過去,直接送了我 20 萬期權,那感覺也是蠻爽的。后來微博上,這個功能也是火了一陣子,不過很快就掛了,起因是有用戶在微博上 at 了小米電視和迅雷,讓他們跟我們學著點兒?? 然后,不超過半小時?? 服務就掛掉了?? 不過掛掉沒幾天我就去帝都準備研究生報名了。

  還有一件很爽的事,就是我上了研究生后的半年里,那家公司一直給我支付著工資?? 每個月輕輕松松就有幾千塊錢零花錢?? 再后來的后來,那家公司倒閉了??

  快從上海實習結束的時候(實習一個月),我又認識了少楠,加入了 AT!組織。AT! 組織是一個分享優質原創動畫的小團隊,從此我從一枚野生開發正式晉升為一枚正規軍。少楠是一枚非常優秀的產品經理兼設計師,跟著他學到了很多產品的知識和團隊協作的技巧,也讓我最后真的開發出了近百萬用戶的 App。AT!組織到現在都是我愛的組織,大家雖然從事不同行業,但就跟親人一樣。每次聚會都是一年一度最嗨皮的日子,都是我經歷過最真誠的聊天。從后來做了 AnimeTaste 再到 EverMemo,我第一感覺到團隊的重要性,第一次見識到優秀的設計師和 iOS 開發者。

  以上的諸多經歷也為自己創業埋下了很多伏筆。這些都是我是我的實踐者階段,漫長的三四年。

  第三階段:創造者階段

  實踐者階段之后,自己開始嘗試創造。也是我認為學習的第三個階段 — 創造者階段,這個階段是沒有結束節點,就一直這么存在著。

  我大致是研究生一年級的時候開始摸到創造者階段的門梁,大三的時候接觸的 GitHub,感覺是我學程序來,打開的第二個世界的大門(第一個,算是那個 VB 程序的彈框)。接觸到 GitHub 讓我第一次開始學習和研究腳本語言( Python,Node,PhantomJS 等等),第一次開始接觸真正的生產工具(類似 Less,Sass 等等),GitHub 簡直是求學者的寶庫,你會很期待明天的 Trending 榜單上會是什么新東西冒了出來。

  那會兒在研究生階段,每個月有了公司發的幾千塊錢,也開始入手了人生第一臺 iPhone,一臺土豪金版的 iPhone5s,買 App 太貴便折騰起了越獄(現在都是買 App 了)。裝了一款越獄后的 Store(我忘了叫什么了),那個 Store,在下載一個 App 的時候,有個超漂亮的進度條,我每次都會認真的的盯著那個進度條,一邊看,一邊感嘆,一邊也暗許自己也要在 Android 上實現一套,這也是我開始第一次開發自定義組件的初衷,也是 NumberProgressBar 誕生的最初原因。

  啃下第一個自定義組件,對很多人來說都是很痛苦的,我也一樣,那會兒的 Android 組件少的可憐,不斷的看文檔,看源碼,讀別人的代碼,試圖搞清楚更多更底層的東西,不斷的嘗試運行,折騰了一周左右(每天超過 10 小時投入),終于做出來了,照貓畫虎的寫好文檔,做好測試,小心翼翼的發布到 GitHub,然后發表到當時為數不多的 GitHub Android 分享社群里。地址在這里:https://plus.google.com/+daimajia/posts/d6DJhLhLn1c

  再到后來的幾個月,又陸續寫了一些其他的庫,發到 GitHub 上,其實我根本沒想到會有那么多人去 Star,可能跟下手比較早有關,恩。

  創造者階段,就是努力創造那些沒有的,源自你腦海里的東西,而不是別人安排給你的。努力做到讓更多的人用到,可以是一個 App,可以是一個幫助人們提高效率的 Chrome 插件,也可以是一個簡單的組件。創造是最挑戰你對一個行業的熱愛程度的。

  我從來不反對重復發明輪子。每一個輪子即便有一些小的改進,都是適應自然法則,優勝劣汰的。

  就我身邊而言,我最崇拜的創造者是尤小右,將一個小的 Framework,一點點的做大,再到做出國際影響力,真是個不得了的事情,也是很多技術人夢寐以求的事情。

  *總而言之 *

  如果你忽然覺得自己這幾年一直處在一個很穩定的狀態中,覺得自己沒有提升,那你得想想是不是我卡在了某個階段,一直無法突破,你是否需要做些什么,突破到下一階段去。隨后的文章我也總結了一些誤區和突破方法。

 被誤以為的學習

  當年,有一本書刊特別流行,叫《故事會》。《故事會》后來銷聲匿跡了,在我眼里,取代《故事會》的是知乎。對,就是那個知乎。

  我其實一直很反對一個論調:“上知乎,學知識”。醒醒吧。知乎明顯就是現代版的故事會好嗎?!

  我不否認知乎存在有價值的知識,但,根本不值得你花那么多時間,去發現那少的可憐的知識。去讀書吧。用最系統的邏輯,去學會一項技能,哪怕你去《硅谷百年史》里去讀那些振奮人心的仙童半導體的故事,也比你不斷的知乎看著水的一筆的帖子要強的多。現在,最可怕的是大家在知乎上消費著垃圾,卻依然覺得自己在吃著奶酪,學習的過程都是伴隨著思考和痛苦的,如果你邊笑邊學習,那你真的得醒醒了。

 目標和激勵很重要

  我在大三下半學期被保研后,開始了另一個小項目,一個叫 小熊詞典 的 App,起因是因為在學英語的時候,所有詞典類 App 想要獲取最全的詞語解釋都需要聯網,流量消耗大不說,電量是最大問題,自習一早上電量就沒了。所以,自己想動手寫一個詞典 App,主打離線詞庫和快速查詢。

  但最后的時候,小項目胎死腹中。說實話,整個 App,已經開發到 95% 了,抓取了非常多有名的詞庫的數據,并且整理成了規范格式。但項目最后還是放棄了。即便今天來看這個詞典依然很酷!(最豐富的詞庫和最快的查詢速度)

  現在想想,當初一個人開發的時候,每次想到一個很酷的功能,就決定加進來,項目進度遙遙無期。完全沒有項目管理的思路,也沒有意識到這樣會很快拖垮我的體力,消磨掉自己的意志和熱情。

  對于很多初學者來說,總是抱著書學,其實也是同樣的后果,你無法獲得任何的反饋和激勵,以至于覺得一件事情越做越難。學習的過程,最好能定一個簡單的目標,比如:“我即便現在什么都不會,我就要做個小游戲出來,這個游戲應該是這樣的一個玩兒法,blablabla。”,做出來后,快些去找用戶,可以是你的朋友,也可以是你的父母,最好是那些不吝惜贊美的朋友們,讓他們無形之中給你一些動力。

 你永遠無法一步達到完美

  我認識的朋友中,他們都有各種稀奇古怪的想法亟待實現,但最后,以信誓旦旦開始 Side projects,最后卻都銷聲匿跡了,這是不無原因的。因為很多的開發者在剛開始的時候,缺乏清晰的計劃,卻想一步登頂完美的境地。這是很可怕的想法。就好比,我一個很少登山的人,卻在第一次的時候,就決定登頂珠峰,結果自然可想而知。在實踐自己想法的時候,最好能考慮以最低成本去展現你想法的核心部分,而非一個大而全的方案。

  從最小成本的想法核心,一步步的去驗證自己的想法,去收集反饋,調整策略。最終抵達一個正確的目標。

 趕在興趣消失之前,去學習新知

  不得不承認懶惰是人的共性,當你看到別的朋友做出來很酷的小游戲的時候,你是否也有幾分鐘沖動的想要去學習游戲制作。不要等!快去買兩本書抓緊學起來,哪怕你知道你這個熱情的苗頭很快會熄滅,但請不要放棄任何發現新大陸的機會,在學習沖動消失之前,去入個門先。

  我每次跟人互相分享初高中生涯的時候,我總是能想起來我初中時候的一位語文老師,微胖,性格和藹。

  她在一次自由復習準備期末考試的時候給我說: “你復習,不要局限在課本上,你背會 24 節氣都是很有意義的,想看什么書,就去看,不要等,不要擔心自己學不會。”

  這話對我學習新東西影響特別深,現在我基本上想學習什么東西,立馬去學,即便可能一周后氣餒了,放棄了,但是從來不會懷疑學這些零碎知識的意義。

  我學過吉他,寫過毛筆字,寫過 Delphi,用 Sketch 畫過 icon,用 Blender 畫過 3D 保齡球,寫過 Unity 小游戲?? 很多我都沒堅持下來,但給我帶來的最大改變就是我不會懼怕去接受新事物,思考問題的時候總是能把很多場景考慮到。也能慢慢的找到自己最愛做的那件事情,更清楚的定位自己。

  所以,當你忽然對某件事情有興趣的時候,抓住那幾分鐘,那幾天,趕緊去學點新東西。

  畢竟,點總是會串成線的。

 少看別人寫的文章,多看優秀的代碼

  我做 Gank 以來,很多開發者都投稿過,以至于現在后臺還擠壓著 2000 多個投稿沒有處理。看過這么一圈而后,我開始不主張去看別人寫的技術類文章。看別人的文章,你看到的是他想講給你的,而這些可能只是他在自己的項目里用到的,而不是一個客觀全面的角度。時間一長,以至于你只知道這個東西的一兩種用法,更可怕的是你可能已經對思考喪失興趣,總想走捷徑,可能這樣前期學習效果顯著,但是后期會很快到達瓶頸。我想如果你經常讀各種語言的官方文檔,總是會有 “啊哈!這樣都可以,我以前都不知道還有這種方法存在。” 的感嘆,但你看別人的文章,卻很少有這種感覺。

  至于主張看優秀的代碼,其實是希望學習一個技術細節,是伴隨著思考的。其實,評價某一種方案好與不好,是沒有意義的。只有多積累其他人解決同一問題的方法,才能在下一次做決策的時候,找到適合當前場景的最優解,很多時候,也能觸類旁通,給解決其他問題提供思路。

 慢慢減少對二手知識的依賴

  技術提升這個過程,其實是你對二手知識減少依賴的過程。二手知識是什么?就是那些經過別人翻譯,總結的文章。一開始入門,大家看到的都是二手知識(也可能是三手,四手的知識),但,想要提升自己的能力,強迫自己多去看些更官方的文檔,體系化去學習。這個過程是很消耗體力和腦力的,但多堅持,一定會有明顯改善的。

 收藏的意義不大,收藏也不能改變什么

  很多人看到不錯的文章,總要 @我的印象筆記?? 我之前也會這么干,經常把一些不錯的文章,存到 Pocket 或者 Readability 里,但,真的回顧去看那些文章的機會太少了,而收藏這些文章給我帶來不少壓力。有的文章,我只是淺顯的讀了讀,腦子里總是得記著有時間了再去讀完剩下部分,正如大多數人一樣,再也不會去讀了。久而久之,拖延癥也就變得理所應當。

  有可能你會說萬一哪天用到呢?其實我覺得再 Google 一次就好啦,可能會找到比這篇文章更好的。就這樣。

  現在,看到一篇不錯的文章,首先從標題推測下內容,再掃一眼,如果跟我猜測的八九不離十,我基本就關掉了。如果有跟我的推測大相徑庭,我一定會一口氣讀完,而不是收藏起來以后再讀。

  之所以我說收藏什么也改變不了,是因為讀別人的東西,思考的過程是別人的。努力去減少從別人文章里閱讀學習的頻率,多去讀一手資料然后自己總結。

 培養一些對產品的感覺

  你有沒有在 PM 說了要實現某個效果或者功能的時候,你站出來反對,說這樣并不合理。如果你有過,那么我想你也是一個有理想的開發者,而不是一個“碼農”。聰明人喜歡跟聰明人合作,大家一開口就互相明白了。沒有人是天生聰明的,只是看的多了,想的多了,就顯得聰明了。

  看些什么呢?看看一個優秀的 App 早起的冷啟動是怎么做的,看看 Apple Store 或者 Google Play 上最近有沒有什么新奇的 App 出現,看看 Tech Crunch 上最近又有什么天馬行空的項目融到了錢。

  想些什么呢?想想一個產品功能的存在有沒有意義,他的下個階段又會怎么發展,想想某段文案是否會降低產品某個功能的轉換率,想想某個動畫效果是否是很惱人的存在,如果你可以對微信加一個功能,減一個功能,你又會作何選擇。

 每個人都應該有個 idea list

  我在西安讀大學那會兒開始,就有一個小本子,記錄著突然沖入自己腦海的一些靠譜或是離譜小想法。上面會寫著類似:

  • 做個 Every big moment,用手機記錄自己的每個值得紀念的瞬間,然后打印成相冊發給我或者放在網上當做自己的 Profile。
  • 狗狗出門便便,主人打掃很不方便,有沒有更好的方案?
  • 程序一旦崩潰,直接發送操作記錄和堆棧信息到 Dashboard,而不要讓測試人員努力重現,寫個 SDK,搭建一套服務,一定會很好用。
  • 很多的 Bug 追蹤服務,為什么不在錯誤堆棧旁邊,展示出來這個 Bug 的解決方案,哪怕是一個 StackOverflow 的鏈接也好,這樣我就不用去自己搜索了。

  那個小本上記錄了自己好多做產品的想法,有不少,后來市面上都出來了相應的產品。也有一些現在看來很可笑,有的想法今天再翻看的時候,仍然會沖動的想要組團隊去實現。

  Idea list 總是能激發你去創造的欲望,有空,就去不斷的記錄自己的 Idea list 吧。

  另外,不要把自己的 idea 當做一個秘密,多和人去討論自己的想法,在不斷的否認和肯定中,完善自己的想法,idea 是不值錢的,只有實現它才是有價值的。

 爭取去更優秀的地方

  這句話可能大家都懂,但我的體會卻比大家都深刻。

  我在西安一個叫西北大學的地方讀的大學,是一個普通的 211。計算機專業客觀來說比較一般,在來北京師范大學讀研究生之前,我甚至沒聽說過 ACM。

  Python、Ruby、Node 這種編程語言在我們的計算機系,根本連影子都沒有,所以正統的計算機技能點基本都是 C,C++這樣,這并沒有什么錯?? 但路子就變窄了很多,學長畢業去個騰訊、阿里,已經能被大家推上神壇。

  本科學校大二會給計算機系開一門日語課。為什么會給計算機系開日語課呢?因為很多外包來自日本。這個邏輯我一直都接受不能。這都什么年代了,我們早都不需要用外包支撐我國的 IT 產業了。

  學校給學生的定位更多是一個學校展示就業率的棋子,你會什么不重要啦,只要你最后有個工作就好了,不要拖累了學校的名聲。

  來師大后,感受到了前所未有的轉變。學校整體的氣氛相當自由,很多老師們,都是各自領域的專家,你問一個問題,他們能給你引導出很多有意思的點。久而久之,你也會被這些感染到。有時候,我也會想,以后穩定下來之后,要不要去申請個美國名校讀一讀。

 結尾

  目前能想到的一些學習的技巧和陷阱,大致都列了出來。都是我個人的一些學習的經驗,如果對你有幫助,想必也是極好的,如果你覺得我寫的有不合理的地方也歡迎指出。堅持著去實施提及的一些方法,一定會對你的生活和職業帶來改變。

QQ群:WEB開發者官方群(515171538),驗證消息:10000
微信群:加小編微信 849023636 邀請您加入,驗證消息:10000
提示:更多精彩內容關注微信公眾號:全棧開發者中心(fsder-com)
網友評論(共0條評論) 正在載入評論......
理智評論文明上網,拒絕惡意謾罵 發表評論 / 共0條評論
登錄會員中心
分分中彩票app 桃园市| 沈阳市| 林西县| 八宿县| 天峨县| 承德县| 南投县| 赤峰市| 西吉县| 牙克石市| 浦东新区| 兴化市| 略阳县| 辽源市| 武宣县| 望城县| 海淀区| 西城区| 丰都县| 土默特左旗| 伊川县| 新建县| 乌兰察布市| 岚皋县| 孟州市| 海原县| 石河子市| 盐津县| 万州区| 库车县| 封丘县| 翁牛特旗| 阳新县| 永顺县| 深泽县| 贵南县| 宜阳县| 辽中县|