精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

程序員應該如何自我驅動,迅速獲得成長?

企業動態
家可以看一下,他是怎么發現痛點問題,解決痛點問題的。 在一年多的時間內,他做了多少事情!取得了多么大的成長!人和人的差距就是這么產生的。

 我發了一篇《工作沒有挑戰性,怎么辦?》, echo_陳同學的留言講述了自己的故事,我覺得他的經歷比我那“說教”有意義得多,邀請他拓展了一下,寫了一篇文章出來。

大家可以看一下,他是怎么發現痛點問題,解決痛點問題的。  在一年多的時間內,他做了多少事情!取得了多么大的成長!人和人的差距就是這么產生的。

長文預警,碎片化時代,專注和深度思考是稀缺品質,建議耐心閱讀,不要錯過!

初入公司,從CRUD到運維支持

一年之前,我還是一個只會CRUD的普通程序員,常年與業務打交道,一套花式SSM框架三板斧從頭玩到底。

我入職了一個初創型的互聯網項目團隊,在迅速融入工作環境以后,我就開始上手寫起了CRUD代碼。雖然不知道底層原理, 但是SSM模版代碼已經爛熟于心,再加上有一些在以前工作時學習到的基礎和避坑的經驗,比如空值驗證,防止重復提交等, 讓我能夠比較快地完成業務代碼。

領導看到了這一點,把我安排到了運維支持部,開始讓我干一些運維的活(公司在初創期用人是有這個特點)。 那個時候,開始逐個上線一個一個的服務。這是我從零開始了解公司技術現狀的開端,也是一個加班到死的開端。其實加班的原因我是非常理解的,這個和公司的技術現狀是離不開的,且聽我慢慢道來。

艱難的系統部署:了解技術全貌

在一個晚上,領導拿了一份文檔,列了一系列要上線的服務和服務要部署在的服務器,然后我們就逐漸開干了。

新服務器都是極為純凈的,連一些基礎命令都沒有,只好慢慢學,慢慢裝。yum install xxxx,run xxx , ps aux|grep,telnet ....,一天過去了,什么jdk,tomcat,全都裝好了。

(ps. 做運維這段時間***的收獲就是linux命令玩得很熟練。)

把服務部署后,啟動時就遇上了難題:以前的服務是打war包放到tomcat的,但是現在的服務,需要java -jar 來啟動。 嘗試了可以后臺啟動的nohup java -jar , 直接翻車。 無奈去詢問之前的開發,人家說得用screen 命令后臺啟動程序。我是一個刨根問底的人,后來發現,開發在為了保持進程不退出,錯誤的使用了監聽控制臺事件的方式,導致了nohup啟動異常。

那個時候,正在搞核心業務開發的人因為一直忙于開發和調試,和我們的溝通少之又少;而負責部署的我們,又不了解業務,有些問題當時的開發也懶得詳細解釋,于是我們只能靠猜,來部署程序。

混亂的程度可見一斑, 但這不是幾個程序員所能左右的。

我在那個時候學習到的***件事就是:在信息不足和溝通受限的時候,你要嘗試學會必要的自行推理,根據已有信息的上下文來補全缺少的信息。

上線要緊,暫時就screen啟動程序吧。但是程序啟動以后,又遇到了更加尷尬的事情。

當時服務之間的調用方式,全部都是通過HttpClient直接調用目標服務。假如,我先啟動A服務,A服務依賴B服務,B服務沒啟動,A服務初始化時會報錯。那么,到底先啟動誰后啟動誰成了一個棘手的問題。

我查看了每一個服務的工程配置示例,發現每一個服務的config.properties,都有一個配置為root的選項,標識該服務的發布路徑,例如,用戶服務,他的config.properties 會配置 root=/userservice/ ,我就知道了,調用該服務肯定是這樣的http路徑:http://ip:port/userservice/xxxx。config.properties中,也會有一些帶有如下特征的配置 reference_user=http://ip:port/userservice/xxxx。我很自然的明白了,這肯定是配置了該服務依賴的其他服務的調用地址。因此,我就想到,我可以根據每一個服務的配置文件理順服務之間的調用關系。

為了確保我的猜想是正確的,我用網上的工具反編譯了一個工程,發現,果然原來服務之間都是通過HttpClient調用的。

然后我就畫了工程依賴圖,仔細抽絲剝繭的梳理出來了程序的具體的依賴關系。***,我終于對服務的部署順序和方式有了思路,而有些程序員,私下已經有人開始說干不下去了要離職。 

怎么部署終于明白了,可是緊接著的一個尷尬的問題就是,程序都啟動了,也調通了,但是領導要求負載均衡,集群化,一個服務里直接調用另外一個服務使用了HttpClient直連的方式,怎么搞負載均衡?怎么搞?怎么集群?

當時離DeadLine不遠了,上線重要,于是忍痛購買了阿里云的SLB實現每一個服務的負載均衡,當時最痛苦的事情就是要理順這種蜘蛛網式的服務調用關系,好在我之前已經畫了工程依賴圖,這個也就好辦了。

天天加班折騰到凌晨兩點,一個半月以后,終于把全部的Service部署成功,難以想象的是,我一個完全不懂業務的人,完全根據日志信息和配置關系,搭建成功的服務,居然有80%的功能正常可用,這給了我這個苦哈哈加班的程序員不小的成就感,雖然搞不定的20%的功能后來由負責這塊的開發親自去搞了(領導出面,不能敷衍了)。雖然,后面還有一些小的插曲,雖然這個應用剛開始可能全是窟窿,但好在也終于如期上線。

這一個半月,我掌握了公司的技術架構,在一些程序員以不會為理由拒絕部署kafka,nginx,zookeeper,activemq等基礎設施的時候,我出手去部署,其實我也不會,但是從學怎么用,到部署完,時間也是夠的,我還學習了這些技術是干什么的,不虧。

最終,我整理了公司當時的技術全貌,一些網絡轉發和機房架構由于保密原因不予描述(雖然我也已經掌握了),我只單純說一下代碼層面的:

一,服務與服務之間,通過RESTful風格的HTTP調用,使用了HttpClient,需要自己維護蜘蛛網一樣的服務調用關系。

二,配置文件有在本地的,有在數據庫的,代碼里每次獲取配置每次都要load本地,select數據庫。(影響性能)。

三,無用的配置文件和無用代碼散落在各處,給運維造成了干擾,代碼有歷史遺留的味道。

四,技術棧不規范,有的人外置tomcat,有的人內置tomcat,有的人用了Netty,簡直就是群魔亂舞。

五,命名不規范不統一,詞不達意,公司用了elastic-job作為分布式任務調度平臺,elastic-job要求每一個job啟動時需要指定job-name,但是,運維經常在控制臺上無法根據job-name來定位到底是哪個job,比如,工程job為payServiceAllJob,在控制臺上卻注冊為AllJob,讓人摸不著頭腦。

痛點一:缺乏服務的自動發現

服務上線以后,由于本身項目就是在沒有規范,沒有制度的情況下放肆生長出來的,因此服務上線以后還是會瘋狂的加班,來彌補一個又一個補不完的窟窿。那個時候我還沒有接觸業務,但是也要和開發一起加班,人工值班監控。

已經一個月沒有寫增刪改查了,我就有機會開始搞一些事情了。那個時候,我請我的領導去說動技術部使用Dubbo,因為它能做服務自動發現,免配置擴容服務,是一個挺流行的RPC框架。但是由于當時我們沒有技術權限,這個事情是很難推動的,一切以穩定為主。

我使用過Dubbo,但是我一直不理解的是,為什么Dubbo使用了ZooKeeper就能自動擴容?就能服務自動發現?這個肯定和ZooKeeper有關系。由于我是刨根問底型的開發,因此我開始在周末時間和晚上和上下班路上自己學習ZooKeeper,什么順序節點,***節點,臨時節點,什么樹形存儲,動態監聽和通知。

終于,我就在沒有看Dubbo源碼的情況下突然恍然大悟:Dubbo的服務提供者和服務消費者都配置了服務name,如果我在ZooKeeper的一個name節點下存儲服務路徑集合,那么每次新增服務或者下線服務都會通知到任何監聽這個name的客戶端?(后來知道這叫做namespace命名服務),Dubbo肯定是使用了Zookeeper的命名服務來實現服務的動態發現的!

大部分程序員使用HttpClient都是使用的一個叫HttpHelper的工具類,我的改造就開始從HttpHelper這個工具類開始吧,讓程序員傳遞自己的服務的ip,port,se rviceName,destinctName,zookeeperUrl,然后我在工具類里封裝了獲取調用路徑列表,并封裝了兩個負載均衡算法:ip_hash,隨機數。(其實我只會寫這兩種)。

在公司的四次迭代里,他們在一邊飛速業務開發,一邊逐漸把自己的HttpHelper工具類替換給我寫的這個,終于可以卸下slb,實現簡單的HTTP服務動態發現了。

當時的反對聲音其實還是挺大的,不過運維的需求呼聲更高,配置URL太麻煩了!

那個時候,公司架構重組,得領導賞識,我被重新劃分到了技術部,做了基礎平臺研發部門的Team Leader,管理幾個程序員。

痛點二:缺乏配置中心

解決了***個痛點以后,我一邊寫增刪改查,一邊又想解決第二個痛點:配置問題。

之前每次部署程序到線上時,每次都要一個服務器一個服務器的改配置,我就想,我把我的時間浪費在這種一個服務器一個服務器改配置的事情上,真的是不甘心。

而且這么改配置,還容易出錯。雖然公司沒有主動要求寫什么。(公司的主要眼睛還是放在了實現功能和業務上)那個時候加班沒有那么狠了,程序員寫完增刪改查就回家了,我還在想配置中心怎么實現。那個時候微服務的概念火熱,我了解到了Spring-cloud-config。知道有叫做配置中心的這種東東,對,我們也需要配置中心,把配置集中抽出來管理。由于我已經掌握了ZooKeeper,自然知道了做配置中心的思路。

半個月時間我就寫完了,時間主要浪費在了寫頁面上。(汗,作為一個后臺程序員我承認我的頁面能力比較差)當然,這期間也經過了一些改版。我竟然不知道ZooKeeper有Curator這么好用的客戶端,之前一直使用的原生的org.apache.zookeeper這個原生客戶端操作,監聽消費以后還要重新監聽。

配置中心寫完以后,我也在一個周末發到了群里,并推廣了出去。這次,由于公司的人員團結力已經大有改觀,而且我也已經是組內Team Leader,先在組內普及了。

而且我這次組外的游說和推廣也沒有那么困難了,最終也都一個服務一個服務的落地了配置中心,并實現了一處改動,處處生效,也實現了傳說中的配置熱更新。這些,并沒有什么高深的技術,僅僅就是依賴了一個ZooKeeper。

弄完這些,我已經感受到了做技術的樂趣,同時,我的領導也覺得好像讓我寫增刪改查有點浪費,要求我把我手頭的任務全部分給組員,自己則是去解決別人的問題......我贏得了更多的時間去自我驅動,改善公司的基礎設置。

痛點三:缺乏緩存框架

接下來我本以為自己要沒事做了,但是,得益于左耳聽風的一個專欄,他說,描述一個業務(DSL),要比編寫一個業務更具有維護性,公司很多的人都在使用Redis緩存,但是,用的庫各不一樣,還經常出各種奇怪的問題,調試起來及其繁瑣。

當然,最終讓我受不了開始決定寫緩存框架的是因為我看到了我的組員寫的代碼與業務嚴重耦合,一會操作Redis,一會操作數據庫。我發現了這個痛點,研究了一下Spring的AOP和他的@Transtional 注解如何實現以后,終于決定手寫一個微型的緩存框架。基礎思路就是通過可插拔的@CacheEnable(key=xxxx,timeout=xxx......)實現Redis緩存,完全不侵入業務代碼。如果不用了,把注解在方法上移除了就好了。

手寫這個Redis緩存框架使用了半個月,畢竟自己的技術能力還是有限,如何實現AOP和Spring集成,怎么抽象等等,都會讓我每天都思考半天才下筆,甚至有時候一天寫不了一行代碼。

期間看了一本叫做《面向對象編程》的書籍,里面說,面向接口編程,依賴抽象,而不是依賴具體的實現......我突然就像打通了任督二脈。我在CacheHandler里面依賴了CacheStorage接口,而把RedisCacheStorage作為一個實現類注入了進去,因此,后來我這個框架可以同時支持redis,memcache,local。

寫完這個框架以后,我總結了三個可抽象的點:

1. 序列化方式(jdk,protobuf,thift,json)

2. 腳本解析器方式(就是解析key的方式:比如,可以使用spel或者ognl:"userId"+#user.id )

3. 緩存實現方式(redis,memcache)。

后來我從劉大的碼農翻身公眾號的一篇將日志系統的設計里知道了正交一詞,大概這就是正交吧。最尷尬的是,原來Spring早就實現了,叫做SpringCache。汗。

(碼農翻身注:那篇文章叫做《一個著名的日志系統是怎么設計的》) 

后來的事情,我也不詳細的講了,大概就是從私有框架,換成了公共成熟的庫,我們也終于用上了Dubbo框架。

而對我自己本身,我只是更加理解了一些之前無法理解的事情:Dubbo為什么能改一個組件的配置那個組件就換了一種實現。(面向接口編程)看Mybatis的源碼也沒那么困難了,兩年前完全下不去手。當然,我也變得更加熱愛技術了。

我的心得體會

那就給大家分享一下我近兩年來的心得體會。

1.  作為一個程序員,一定要懂得自我挖掘,而不是僅僅實現業務功能就好了,也不能干等著領導分配任務。

功能耦合了,寫代碼慢了,運維麻煩了,這些,都是潛在的需求,我們現在的加班,是為了以后不加班,是為了提高自己的效率,是為了不能原地踏步。

2. 一定要真正地學會一個技術,我在實際工作中,發現有的同學使用了一年的Git,竟然不知道如何把GitHub的項目拉取到本地,但是他會把GitLib的項目拉取到本地。

程序啟動異常,有同學從網上找了一個jar包導入到了工程里,但是問他為什么把jar包導入到工程里代碼就啟動正常了,竟然不知道。

有的同學使用了一年的Maven,不知道mvn compile 是什么含義,只知道mvn package是打包。

這些,就是沒有真正的學會了一個技術,僅僅是工作時機械式的使用了,僅僅是復制粘貼了,下一個項目再復制粘貼過來就行了,模仿著別人的代碼寫邏輯,這是學不到東西的。

我覺得,你一定會有時間去學習這些東西,網上大把大包的資料和教程。一定要知其然而知其所以然,一定不要一模一樣的配置換了一種配置方式你就看不懂了。

3. 要掌握公司的技術棧,要刨根問底,公司用的什么rpc框架?怎么使用?原理是什么?公司用的nginx,nginx怎么配置的。公司用了配置中心,配置中心是什么?公司的負載均衡框架用什么做的,存在什么問題?

我寫了一個緩存框架,你有沒有沖動研究一下到底是怎么實現的?保持技術好奇心是十分重要的。我認識的一個同學,來我們公司以后,簡歷上寫的,會SSM。后來經歷了我的配置中心演進之路,還學會用了。后來他離職了,簡歷上寫的還是會SSM,沒別的了。本來,如果他把配置中心講一講會是一個很大的亮點。工作了一年,最怕的就是揮一揮衣袖,不帶走一片云彩。

4. 要善于發掘,總有一些東西是亮點,是金子,只是你發現不了。

我在我們公司學到的一個安全方面的設計就是token機制,這改變了我的觀念,以前一直以為做單點登陸只能session共享,現在才知道,還能使用時間換空間的方式,使用token簽名代替sessionId,使登錄這個過程變得成為無狀態的計算......這是我發現的,很多人程序員根本不能意識到這些技術亮點,并融化到自己腦海里成為自己的東西。

5. 使用碎片化時間去學習,不要總抱怨沒有時間。

學習是枯燥的,但是,當你收到了學習帶來的巨大紅利,你會越來越想學習。我親身的體驗就是,當我寫的配置中心和緩存框架投放到了生產中,并得到了我想要的效果后,我現在更加喜歡學習,更加癡迷于技術了,我的技術能力并不強,很多的東西,都是因為我的興趣逐漸被激發,因為我的熱愛,才發生了質變。

6. 多思考,正確地實現業務。

有沒有觀察過,同樣的業務,有的人寫出來的實現就非常的豐滿和穩定,而有的人寫出來的接口可能直接調用一下就拋出了錯誤。很多程序員寫代碼只關心正常分支的邏輯,從來不考慮異常邏輯的處理。在寫業務代碼的時候多去分析用戶場景,也會規避很多問題。

舉個例子,接口的參數的驗證,你可以根據使用場景來編寫額外的適配和容錯。比如,接口中有一個字段A,這個字段大小寫敏感嗎?這個字段萬一用戶多輸入了一個空格怎么辦?如果你能根據業務分析到,字段大小寫不敏感,我要全部轉成小寫來比較,空格不是正常參數的一部分,我要進行去空格來簡單的容錯。那么,你可能會避免有一天某個業務人員跑過來跟你說,我明明寫的正確為什么你告訴我參數不存在。

不要小看業務代碼,不必掌握多么高深的技術原理,只要能把業務邏輯實現的健壯,也已經很考驗能力了,說明了你是一個喜歡思考和注重細節的人。

結束語

現在的我,越來越喜歡研究源碼,研究底層,并伴隨著的是,我以前的一些疑惑都迎刃而解,這當然是因為我得到了正向的反饋,付出會有收獲。現在被公司內部的部分程序員誤認為是大神,當然,我還差得很遠。

現在公司技術,代碼逐漸在變好,工程規范逐漸在行程和標準化,統一化。這是值得欣慰的,我最近在研究API網關,公司的業務并發量在上升,我覺得需要一個入口統一管理API,負責鑒權,認證,限流,熔斷等一系列的功能。(這些詞都是在微服務課堂上學習的)。我已經開發了一部分了。使用Netty接收請求,使用HttpClientPool轉發請求,中間使用責任鏈模式做Handler中轉攔截處理,不知道何時能竣工。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2018-08-29 12:50:24

程序員

2015-08-14 14:42:35

程序員成功技巧

2017-12-19 20:35:22

程序員中興事件自殺

2013-07-04 13:50:14

2011-12-27 16:31:27

程序員

2009-03-13 15:18:45

程序員飲食雜談

2021-07-30 10:41:57

程序員IT互聯網

2010-10-18 09:59:22

PHP程序員Web開發

2020-05-08 15:41:08

程序員技術設計

2021-03-02 15:31:37

程序員技能開發者

2015-08-20 09:31:35

2020-05-12 12:52:21

架構菜鳥程序員

2015-10-30 09:49:07

程序員晉升

2017-10-20 17:21:16

華為

2016-04-11 17:49:33

程序員外包

2015-08-18 15:22:59

程序員成長階段

2009-02-24 09:58:45

程序員成長開竅

2013-03-28 15:50:37

程序員Java

2013-04-01 15:51:09

程序員管理

2017-03-02 09:37:36

PHP程序員成長規劃
點贊
收藏

51CTO技術棧公眾號

久久久男人的天堂| 亚洲国产精品日韩| 久久99精品波多结衣一区| 精品一区在线| 在线影视一区二区三区| 视频一区三区| 午夜影院免费在线观看| 色777狠狠狠综合伊人| 欧美一区二区在线免费播放 | 日韩久久一级片| 牛牛澡牛牛爽一区二区| 日本视频一区二区| 久久综合久久八八| 亚洲av成人片无码| 丁香婷婷久久| 亚洲电影第三页| 日韩一区免费观看| 性做久久久久久久| 久久久噜噜噜久久狠狠50岁| 日韩视频免费中文字幕| 中文字幕一区二区三区四| 国产黄色大片在线观看| a美女胸又www黄视频久久| 国产精品自拍小视频| 国产亚洲自拍av| 不卡av一区二区| 精品国产乱码久久久久久老虎| 人妻丰满熟妇av无码区app| 精品国产丝袜高跟鞋| 91天堂素人约啪| 96国产粉嫩美女| 无码人妻aⅴ一区二区三区有奶水| 欧美丰满日韩| 日韩精品在线观看网站| 亚洲三级在线视频| 色婷婷综合久久久中字幕精品久久 | 亚洲国产欧美在线| 色就是色欧美| 色噜噜在线播放| 激情综合色播激情啊| 欧美一级淫片播放口| 二区三区四区视频| 最新国产精品视频| 精品99一区二区三区| 中日韩av在线播放| 黄色亚洲网站| 婷婷久久综合九色国产成人| 好吊色这里只有精品| 国产中文字幕在线观看| 成人午夜av在线| 亚洲va欧美va国产综合剧情| 看黄色一级大片| 9久re热视频在线精品| 欧美大胆a视频| 日本 欧美 国产| 国产99久久精品一区二区300| 精品久久久久久久人人人人传媒| 日韩成人精品视频在线观看| 福利一区二区免费视频| 在线观看网站黄不卡| 波多野结衣家庭教师在线| 国产盗摄精品一区二区酒店| 中文字幕亚洲欧美在线不卡| 一区二区视频在线免费| 触手亚洲一区二区三区| 国产亚洲欧洲997久久综合 | 在线播放亚洲激情| 欧美做受xxxxxⅹ性视频| 色婷婷av一区二区三区丝袜美腿 | 亚洲av无码片一区二区三区| 久久精品理论片| 国产成人久久久| 久久久国产精品成人免费| 亚洲高清毛片| 久久久国产精彩视频美女艺术照福利| 亚洲永久精品ww.7491进入| 女仆av观看一区| 日韩久久免费电影| 素人fc2av清纯18岁| 真实原创一区二区影院| 亚洲欧美视频在线| 国产av自拍一区| 精品理论电影| 色av中文字幕一区| 色老板免费视频| 五月开心六月丁香综合色啪 | 99久久精品免费看国产四区| www.色日本| 成人精品国产福利| 开心色怡人综合网站| 国产视频在线看| 国产午夜亚洲精品午夜鲁丝片| 午夜精品短视频| 毛片av在线| 亚洲综合色成人| 久久久精品在线视频| 成人国产一区| 日韩午夜精品电影| 人妻无码中文久久久久专区| 国产成人高清| 久久影视免费观看| 久一视频在线观看| 视频精品一区二区| 91在线播放国产| 五月婷婷深深爱| 久久久久久免费网| 亚洲综合第一| av网址在线| 欧美日韩在线视频观看| 中文字幕第88页| 哺乳一区二区三区中文视频| 亚洲人免费视频| 91杏吧porn蝌蚪| 国产日韩精品视频一区二区三区| 国产精品一二三在线| 黄色一级a毛片| 国产农村妇女精品| 国产又粗又长又爽视频| 超碰超碰人人人人精品| 91精品国产综合久久小美女| 在线天堂www在线国语对白| 日韩精品欧美激情一区二区| 久久人人看视频| 在线精品免费视| 成人在线视频首页| 亚洲精品一区二区三区樱花| 123区在线| 欧美日韩大陆在线| 在线精品一区二区三区| 91精品啪在线观看国产81旧版| 欧美亚洲日本黄色| 国产成人精品a视频| 国产色产综合产在线视频| 欧美黑人在线观看| av在线国产精品| 国产一区二区美女视频| 日产精品久久久久| 国产在线精品一区在线观看麻豆| 鲁丝一区二区三区免费| 美女精品导航| 精品视频色一区| 一出一进一爽一粗一大视频| 欧美视频日韩| 91香蕉嫩草影院入口| 成全电影播放在线观看国语| 亚洲高清视频的网址| www.日本久久| 欧美熟乱15p| 国产成人精品国内自产拍免费看| 亚洲精品国产精品国| 91亚洲国产成人精品一区二三| 伊人色综合久久天天五月婷| 蜜桃视频成人m3u8| 亚洲欧美精品中文字幕在线| 日韩精品人妻中文字幕| 国产一区二区不卡| 日本一区不卡| 日韩理论视频| 亚洲精品99久久久久中文字幕| avove在线播放| 美女高潮久久久| 欧美精品一区二区三区在线看午夜| 中文在线字幕免费观看| 美女脱光内衣内裤视频久久网站 | 另类中文字幕国产精品| 亚洲国产小视频在线观看| 国产精品久久久精品四季影院| 美国毛片一区二区| 在线综合视频网站| 视频91a欧美| 久久久精品一区二区三区| 国产精品自偷自拍| 中文字幕免费不卡在线| 天天操天天爱天天爽| 日本一区二区三区视频| 国产精品欧美久久久| 在线免费观看黄色网址| 欧美色视频一区| 最新黄色av网址| 精品一区二区三区免费观看| 欧洲精品视频在线| 成人在线tv视频| 欧美中文字幕视频| 国产福利在线| 8x8x8国产精品| 久久免费精彩视频| 91在线免费播放| 日本熟妇人妻中出| 国产精品精品国产一区二区| 91在线观看免费高清完整版在线观看| 成人性生交大片免费看在线播放| 亚洲精品av在线播放| av首页在线观看| 亚洲天堂精品视频| 久久久久亚洲AV成人无码国产| 亚洲精品女人| 欧美精品二区三区四区免费看视频| 日韩色淫视频| 欧美精品免费看| 色视频在线看| 欧美一区二区在线视频| 日韩久久久久久久久| 国产亚洲精久久久久久| 奇米777在线| 奶水喷射视频一区| 伊人久久大香线蕉精品| 欧美黑人做爰爽爽爽| 国产精品天天狠天天看| www在线视频| 精品国产乱码久久久久久久久| 在线观看污污网站| 亚洲黄色片在线观看| 国产激情在线免费观看| 国产一区二区看久久| 免费观看日韩毛片| 五月天久久777| 久中文字幕一区| 美女精品视频在线| 国产成人一区二区在线| 欧美日韩经典丝袜| 亚洲国产欧美一区| 欧美日韩在线视频播放| 亚洲国产精品一区二区尤物区| 微拍福利一区二区| 成人精品小蝌蚪| 手机版av在线| 欧美专区一区二区三区| 超碰超碰超碰超碰超碰| 成人在线免费视频观看| 精品久久久久久一区| 免费一级欧美在线大片 | 国产精品一品| 中文字幕亚洲天堂| 午夜福利理论片在线观看| 欧美日韩国产成人在线免费| 国产精品免费精品一区| 亚洲国产精品视频| 麻豆明星ai换脸视频| 99精品黄色片免费大全| 国产又大又黄又猛| 亚洲久久一区| 日本中文字幕在线视频观看| 香蕉综合视频| 一区二区精品国产| 精品国内自产拍在线观看视频| 国产精品一区二区三区在线| 黄色精品视频| 欧美高清电影在线看| 老司机午夜在线| 少妇激情综合网| 国产精品秘入口| 一本色道久久综合狠狠躁篇的优点| 亚欧洲精品视频| 亚洲成人精品久久久| www日本高清| 欧美大片一区二区| 精品人妻无码一区二区 | 国产精品伦理一区| 欧美性生活久久| 夜夜爽妓女8888视频免费观看| 欧美午夜精品在线| 五月天激情国产综合婷婷婷| 婷婷开心激情综合| 91看片在线播放| 欧美日韩激情美女| 国产无人区码熟妇毛片多| 亚洲一区二区综合| 老妇女50岁三级| 一区二区三区毛片| 国产无精乱码一区二区三区| 亚洲午夜精品网| 豆国产97在线 | 亚洲| 亚洲成精国产精品女| 日本黄色片视频| 一本久道久久综合中文字幕| 免费观看日批视频| 欧美三级中文字| 国产精品久久久久久久久毛片 | 欧美成人vps| 蜜臀久久99精品久久久| 亚洲精品99久久久久中文字幕| 午夜激情在线视频| 精品亚洲一区二区三区在线观看| 蜜桃视频在线观看网站| 国产亚洲精品va在线观看| 国产在线免费观看| 亚洲一级一级97网| 国产在线看片| 久久久久久久久久久免费 | 综合网在线观看| 欧美日韩午夜在线| 国内精品偷拍视频| 亚洲黄色片网站| 91在线看黄| 日韩一区二区福利| 日韩特级毛片| 欧洲成人免费aa| 日本亚洲欧洲无免费码在线| 成人av影视在线| 欧美偷窥清纯综合图区| 亚洲国产一区二区在线| 欧美日韩伊人| 玩弄japan白嫩少妇hd| 国产麻豆一精品一av一免费| 永久av免费在线观看| 97成人超碰视| 91香蕉视频污在线观看| 岛国av在线不卡| 国产精品亚洲lv粉色| 亚洲二区中文字幕| 午夜福利理论片在线观看| 日韩精品中文字幕久久臀| 激情视频在线观看| 欧洲午夜精品久久久| 成人自拍视频| 日产精品一线二线三线芒果| 欧美jizzhd精品欧美巨大免费| 欧美黑人又粗又大又爽免费| 国产不卡免费视频| 91精品人妻一区二区| 成人欧美一区二区三区视频网页| 午夜影院在线看| 欧美放荡的少妇| 国产中文字幕在线| 久久免费少妇高潮久久精品99| 久久久久黄色| 欧美理论一区二区| 好吊一区二区三区| 亚洲黄色小视频在线观看| 粉嫩久久99精品久久久久久夜| av片在线免费看| 色丁香久综合在线久综合在线观看| 国内毛片毛片毛片毛片| 中文字幕久精品免费视频| 涩涩网在线视频| 俄罗斯精品一区二区| 午夜精品一区二区三区国产| 妞干网在线免费视频| www.视频一区| 久久黄色免费视频| 欧美高清性hdvideosex| 国产精品一区二区三区四区色| 欧美一二三视频| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 午夜精品三级视频福利| 精品国模一区二区三区欧美| 亚洲三区在线| 麻豆国产一区二区| 精品丰满少妇一区二区三区| 色婷婷综合久久久中文一区二区| 色婷婷中文字幕| 国内精品久久久久久中文字幕| 亚洲毛片在线免费| 亚洲高清不卡一区| 热久久国产精品| 国产视频123区| 欧美午夜在线观看| 粉嫩av在线播放| 国产精品日韩欧美综合| 日韩高清影视在线观看| 日韩在线视频在线| 国产91精品入口| xxxx 国产| 日韩乱码在线视频| 欧美gay视频| 四虎影院一区二区三区 | 在线观看色网站| 色妞欧美日韩在线| 成人亚洲精品| 国产成人艳妇aa视频在线| 懂色av一区二区三区蜜臀| 国产真实夫妇交换视频| 日韩三级在线观看| 中文国产字幕在线观看| 成人伊人精品色xxxx视频| 天天影视欧美综合在线观看| xxx中文字幕| 亚洲sss视频在线视频| 欧美日韩在线精品一区二区三区激情综| 青草成人免费视频| 青青草久久爱| 午夜视频在线瓜伦| 国产精品不卡一区| 精品人妻午夜一区二区三区四区 | 精品久久久噜噜噜噜久久图片| 国产精品色婷婷| www.成人精品| 欧美成人午夜激情视频| 国产精品17p| 国产极品美女高潮无套久久久| 亚洲国产精品高清| av免费观看网址| 欧美一区视频在线| 成人影院在线| 日本一级大毛片a一| 无码av免费一区二区三区试看 | 精品国产乱码久久久久久久| sis001亚洲原创区| 日韩欧美三级电影| 美腿丝袜在线亚洲一区|