新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 「代碼家」的學習過程和學習經驗分享

        「代碼家」的學習過程和學習經驗分享

        作者: 時間:2017-03-13 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/201703/345136.htm

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

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

          學習的三個階段

          第一階段:消費者階段

          我在快上高中的時候,開始接觸的程序。那會兒家里有一本 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(http://weheartit.com/) 這個小眾文藝圖片網站。隨即計劃利用正則解析圖片地址,然后再把圖片呈現在 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 開發者。

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

          第三階段:創造者階段

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

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

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

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

          再到后來的幾個月,又陸續寫了一些其他的庫,發到 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 產業了。

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

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

          結尾

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



        關鍵詞: GitHub Android

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岑巩县| 青河县| 阿城市| 佛教| 苍南县| 元氏县| 虹口区| 阳山县| 怀柔区| 南平市| 宁阳县| 定结县| 彭水| 大埔区| 廊坊市| 抚州市| 永康市| 刚察县| 天峻县| 凭祥市| 云南省| 湖口县| 白山市| 土默特右旗| 和龙市| 镇宁| 淄博市| 泰顺县| 雅江县| 东山县| 雷波县| 城市| 高密市| 尉犁县| 常熟市| 栾川县| 龙州县| 天峻县| 大埔区| 嘉义县| 区。|