<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    posted @ 2012-02-18 18:57 Paul Lin 閱讀(640) | 評(píng)論 (0)編輯 收藏
         摘要: 換句話說(shuō),當(dāng)你找到與天賦、個(gè)性完全匹配的工作,它恰好處在上升期的市場(chǎng),公司又提供了必要的授權(quán)與資源,那么你就很容易成功。反之,若這三點(diǎn)中的任何一點(diǎn)不匹配,那么你就是個(gè)loser。  閱讀全文
    posted @ 2012-02-18 18:27 Paul Lin 閱讀(667) | 評(píng)論 (0)編輯 收藏
    posted @ 2012-02-18 18:09 Paul Lin 閱讀(576) | 評(píng)論 (0)編輯 收藏
         摘要: 這是一篇集百家之長(zhǎng)的筆記,分別參考了《Rails3 in Action》和 RVM官方文檔,ninjahideout.com 之后的安裝文檔。


    這里使用到的各種軟件包括:



    • Ubuntu

    • Virtual Box

    • Vagrant

    • RVM

    • Capistrano

    • Passenger

    • Nginx

    • MySQL

    • PostgreSQL



    還涉及到Git、GitHub、SSH等技術(shù)   閱讀全文
    posted @ 2011-11-21 16:22 Paul Lin 閱讀(1690) | 評(píng)論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2011-11-13 23:29 Paul Lin 閱讀(11050) | 評(píng)論 (1)編輯 收藏
    終于花了將近4個(gè)月的時(shí)間,把《Learn Rails3 by example》的E文版看完了,心中那個(gè)成就感和滿足感啊~~

    繼續(xù)下一輪的針對(duì)性學(xué)習(xí)計(jì)劃,計(jì)劃包括:

    1. Rails應(yīng)用的部署和性能監(jiān)控

    2. Rails的MVC架構(gòu)和Cache

    3. JS和JS與Rails的結(jié)合使用

    4. Ruby的語(yǔ)法和特性

    5. MySQL配置和調(diào)優(yōu)

    6. 搜索引擎和推薦引擎的學(xué)習(xí)

    7. NoSQL專題
     
    posted @ 2011-11-03 00:17 Paul Lin 閱讀(744) | 評(píng)論 (0)編輯 收藏
    關(guān)于RVM + REE + Ngix + Passenger + Capistrano的安裝配置,非常詳細(xì)!強(qiáng)烈推薦

    http://blog.ninjahideout.com/posts/a-guide-to-a-nginx-passenger-and-rvm-server
    posted @ 2011-11-03 00:14 Paul Lin 閱讀(715) | 評(píng)論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2011-10-03 17:36 Paul Lin| 編輯 收藏

    在上一篇《自動(dòng)化測(cè)試狂人的Rails測(cè)試優(yōu)化之路》中,我演示了如何使用Guard-spork, Guard-rspec和Spork, Rspec來(lái)進(jìn)行自動(dòng)化測(cè)試和集成測(cè)試。

    今天發(fā)現(xiàn)存在一個(gè)bug,那就是當(dāng)model文件被修改后,雖然會(huì)重新啟動(dòng)rspec執(zhí)行測(cè)試。但是測(cè)試的代碼不是最新的,而是繼續(xù)沿用已經(jīng)加載到內(nèi)存的model文件。網(wǎng)上搜索一番后,發(fā)現(xiàn)問(wèn)題的原因是spork的預(yù)加載問(wèn)題。于是在spork的spork.each_run方法中加入如下代碼,重啟sprok,解決問(wèn)題

    Dir["#{Rails.root}/app/models/**/*.rb"].each do |model| 
      load model
    end

     

    posted @ 2011-09-06 14:21 Paul Lin 閱讀(696) | 評(píng)論 (0)編輯 收藏

    假如我們把a(bǔ)ttr_accessible設(shè)置成只有name是可以訪問(wèn)的,然后在Console中執(zhí)行如下命令:

    ruby-1.9.2-p180 :001 > user = User.create(:name => "Paul", :email => "pengpenglin@163.com")
     
    => #<User id: 1, name: "Paul", email: nil, created_at: "2011-09-03 04:42:59", updated_at: "2011-09-03 04:42:59"> 
    ruby-1.9.2-p180 :002 > user.email
     
    => nil 
    ruby-1.9.2-p180 :003 > user.email = "bob@163.com"
     
    => "bob@163.com" 
    ruby-1.9.2-p180 :004 > user.email
     
    => "bob@163.com" 
    ruby-1.9.2-p180 :005 > user.save
     
    => true 
    ruby-1.9.2-p180 :006 > user.reload.email
     
    => "bob@163.com" 
    ruby-1.9.2-p180 :007 > User.find(1)
     
    => #<User id: 1, name: "Paul", email: "bob@163.com", created_at: "2011-09-03 04:42:59", updated_at: "2011-09-03 04:43:31"> 

    不是not accessible 嗎?怎么email還是能夠改變?

    posted @ 2011-09-03 12:51 Paul Lin 閱讀(1235) | 評(píng)論 (1)編輯 收藏
         摘要: 我們要修改的文件會(huì)涉及到4個(gè):
    A. Gemfile
    B. .rspec
    C. Guardfile
    D. rspec_helper.rb  閱讀全文
    posted @ 2011-08-31 00:44 Paul Lin 閱讀(1847) | 評(píng)論 (1)編輯 收藏
         摘要: 從RailsCast.com篩選出來(lái)的視頻  閱讀全文
    posted @ 2011-08-29 15:58 Paul Lin 閱讀(588) | 評(píng)論 (0)編輯 收藏
         摘要: NERDTree.vim:顯示目錄樹和標(biāo)簽(特別有用)
    Rails.vim:這個(gè)不說(shuō)了,Rails開(kāi)發(fā)必備
    Snipmate.vim:代碼片段自動(dòng)完成,Rails開(kāi)發(fā)神器之一
    FuzzyFinder.vim:模糊查找,使用頻率最高的插件之一
    TabBar:BufferExpoloer的增強(qiáng)版,用來(lái)標(biāo)識(shí)打開(kāi)的文件的
    Supertab.vim:文本自動(dòng)完成
    Rubytest.vim:vim下的集成測(cè)試工具  閱讀全文
    posted @ 2011-07-26 12:46 Paul Lin 閱讀(3415) | 評(píng)論 (0)編輯 收藏
    BDD style unit testing video and slides@RubyKaigi 2011

    How I Test

    watchr 靈活的Continuous Testing測(cè)試工具可替代autotest...

    不要盲目的 BDD / TDD,我對(duì)寫測(cè)試的看法
    posted @ 2011-07-19 20:06 Paul Lin 閱讀(361) | 評(píng)論 (0)編輯 收藏
         摘要: 針對(duì)這種情況,我們可以使用一個(gè)名為Guard的gem,來(lái)自動(dòng)監(jiān)控spork中預(yù)加載的文件發(fā)生變化后,自動(dòng)重啟spork

    1).在Gemfile中增加gem 'guard-spork'
    2).在shell中g(shù)em install libnotify / gem install inotify
    3).bundle install
    4).guard init spork
    5).guard start  閱讀全文
    posted @ 2011-07-15 18:12 Paul Lin 閱讀(426) | 評(píng)論 (0)編輯 收藏
         摘要: 首先我們來(lái)理解Autotest的觸發(fā)機(jī)制:

    1. 要有一套測(cè)試的框架和工具(Console,GUI)

    2. 要有可以感知被測(cè)試對(duì)象發(fā)生變化的機(jī)制

    3. 要有自動(dòng)加載被測(cè)試對(duì)象和環(huán)境數(shù)據(jù)的機(jī)制

    4. 要有將測(cè)試結(jié)果展示給用戶的機(jī)制  閱讀全文
    posted @ 2011-07-15 00:14 Paul Lin 閱讀(648) | 評(píng)論 (0)編輯 收藏
         摘要: 網(wǎng)上google了一下,發(fā)覺(jué)又是一個(gè)Rails和其他gem不兼容的問(wèn)題,只要把rake的版本設(shè)置為0.8.7就可以了。  閱讀全文
    posted @ 2011-07-03 21:28 Paul Lin 閱讀(1422) | 評(píng)論 (1)編輯 收藏
    posted @ 2011-06-25 13:40 Paul Lin 閱讀(358) | 評(píng)論 (0)編輯 收藏
    posted @ 2011-06-18 23:02 Paul Lin 閱讀(323) | 評(píng)論 (0)編輯 收藏
         摘要: ....
    甲:嗯....可是這樣看起來(lái),我完全看不到敏捷的任何好處啊
    乙:嗯。實(shí)際上,我更喜歡RUP,雖然麻煩但很清楚
    ....  閱讀全文
    posted @ 2011-06-01 23:31 Paul Lin 閱讀(923) | 評(píng)論 (1)編輯 收藏
         摘要: 來(lái)自JE上的一篇Rails實(shí)戰(zhàn)文章,很不錯(cuò)!  閱讀全文
    posted @ 2011-05-27 16:47 Paul Lin 閱讀(856) | 評(píng)論 (0)編輯 收藏
    QCon 2011大會(huì)的PPT下載。其中有我最感興趣的架構(gòu)設(shè)計(jì)和NoSQL技術(shù):


    企業(yè)敏捷轉(zhuǎn)型之路
    http://www.everbox.com/f/Rgo5syChjzuLeS6wJEAQZwvkje


    深入淺出NoSQL
    http://www.everbox.com/f/TQMXMI6asloYQFJLIxGy2WIIyo


    設(shè)計(jì)優(yōu)良的架構(gòu)
    http://www.everbox.com/f/XCZvXDTbft6ZlK8TsUlMWfVBjO


    Web性能與擴(kuò)展
    http://t.sina.com.cn/1746173800/wr4mQk5Iwn


    來(lái)自一線項(xiàng)目的實(shí)戰(zhàn)經(jīng)驗(yàn)
    http://www.everbox.com/f/FZHFfXanIGZOasZsqSZpFuSSFk


    HTML5開(kāi)發(fā)平臺(tái)
    http://www.everbox.com/f/qeD2qvae9LVRXCA3HsNq2ztiBY
    posted @ 2011-04-21 16:58 Paul Lin 閱讀(563) | 評(píng)論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2011-03-23 11:55 Paul Lin 閱讀(491) | 評(píng)論 (0)編輯 收藏

    原文:http://www.javaeye.com/news/20399

    大多數(shù)管理者都會(huì)陷入放權(quán)的困境。你很忙,每件事都要親力親為。你很清楚自己需要?jiǎng)e人幫忙,但你沒(méi)有足夠的時(shí)間尋找并培訓(xùn)別人來(lái)幫你。所以,你更加努力地工作,直到自己崩潰。

      下面這個(gè)故事講述了我如何放權(quán)。

      2001年,CD Baby成立三周年。我已有8名員工,但所有其他事情仍然需要我自己做。每周7天,從上午7點(diǎn)工作到晚上10點(diǎn),自己仍然要經(jīng)手每件事情。

      每隔5分鐘,就會(huì)有員工向我請(qǐng)示:

    • “Derek,有個(gè)家伙想修改網(wǎng)站上已經(jīng)存在的相冊(cè),我該怎么跟他說(shuō)呢?”
    • “Derek,我們可以接受電匯作為一種支付方式嗎?”
    • “Derek,有個(gè)人今天下了兩個(gè)訂單,他想知道我們可不可以給他一起郵寄過(guò)去,并且把節(jié)省的郵費(fèi)給他退回去?”


      如果整天不停地回答問(wèn)題,那么什么事也做不成。我感覺(jué)我好像是每天去上班,然后在過(guò)道里坐著,全職回答員工的問(wèn)題。

      我的忍耐已經(jīng)到了極限,我不再去辦公室,并且關(guān)掉了手機(jī)。隨即,我意識(shí)到自己正在逃避問(wèn)題,而不是去解決問(wèn)題。我必須解決這個(gè)問(wèn)題,要不然就壞了。

      經(jīng)過(guò)一夜的反思,我最終在思想上接受放權(quán)。

      我必須放權(quán),我不是我公司的必需品,沒(méi)有我,我的團(tuán)隊(duì)照樣也可以經(jīng)營(yíng)公司。

      第二天,我一進(jìn)門,有人就請(qǐng)示我,“Derek,我們昨天收到了一個(gè)客戶送來(lái)的CD,但他今天改變了主意,他想讓我們退回他的CD。我們給他郵寄了回去,但他又問(wèn)我們能不能退還他的安裝費(fèi)用,因?yàn)樗麖奈吹卿涍^(guò)網(wǎng)站。”
    這一次,我并沒(méi)有僅僅回答了他的問(wèn)題,而是把大家都召集起來(lái)。

      我給大家解釋了事情的經(jīng)過(guò),和需要解決的問(wèn)題。我回答了問(wèn)題,但更重要的是,我解釋了自己思考的過(guò)程和回答背后的理念。

      “是的,我給他全額退款了。這樣,我們會(huì)受到一點(diǎn)損失。但是,最重要的是經(jīng)常做一些能讓顧客高興的事,只要不過(guò)分就行。像這樣一個(gè)小小的表示對(duì)我們大有裨益,他可能會(huì)因此告訴他的朋友們,我們是一家不錯(cuò)的公司。每個(gè)人都要記住,幫助音樂(lè)愛(ài)好者是我們的首要目標(biāo),利潤(rùn)是其次。你們將來(lái)可以根據(jù)這條準(zhǔn)則來(lái)自己做決定,我會(huì)完全同意。做那些能讓他們高興的事。要確保每個(gè)跟我們做生意的人都會(huì)滿意而歸。”

      我一一問(wèn)了每個(gè)人,確保他們都理解我的回答。

      我讓一位員工起草一本手冊(cè),把這種情況的處理方式記錄下來(lái),并附上解決這種問(wèn)題的理念。

      然后,每個(gè)人都回去工作了。

      十分鐘之后,新的問(wèn)題,相同的過(guò)程:

    • 1. 召集所有人
    • 2. 回答問(wèn)題,解釋理念
    • 3. 確保每個(gè)人都理解整個(gè)過(guò)程
    • 4. 讓一名員工把這條記錄在冊(cè)
    • 5. 讓他們知道,下次沒(méi)有我他們也可以這樣處理問(wèn)題

      2個(gè)月之后,沒(méi)有員工請(qǐng)示了。

      然后我想員工們展示了事情的最后一部分,也就是我自己的工作。作為學(xué)習(xí)的一部分,他們也需要把這個(gè)記錄在冊(cè),然后給其他人看(由教而學(xué))。


      現(xiàn)在,公司完全不需要我了。我開(kāi)始在家里工作,不再去辦公室了。我甚至教過(guò)他們我關(guān)于雇傭新員工的思考過(guò)程和理念。所以,有兩個(gè)新員工是完全由他們發(fā)現(xiàn)、面試、雇傭以及培訓(xùn)的。他們用那本手冊(cè)來(lái)讓每個(gè)新員工理解這種理念以及它的歷史,并且知道怎么自己做決定。我每周去視察一次,確保一切正常。確實(shí)一切正常,他們甚至都沒(méi)有什么事情向我請(qǐng)示。

      因?yàn)闃I(yè)務(wù)由我的團(tuán)隊(duì)負(fù)責(zé)運(yùn)作,我可以心無(wú)旁騖地改進(jìn)業(yè)務(wù)。我去了加利福尼亞,只是弄清楚事情由他們運(yùn)作。

      我現(xiàn)在仍然每天工作12個(gè)小時(shí),但是,我把所有時(shí)間都花在業(yè)務(wù)改進(jìn)、優(yōu)化以及創(chuàng)新上。對(duì)我來(lái)說(shuō),這才是最有趣的事情。這是在玩,不是工作。

      我放權(quán)之后,公司市值在四年里從一百萬(wàn)增長(zhǎng)到兩千萬(wàn)。管理者和企業(yè)家之間有很大的不同。作為管理者你會(huì)感覺(jué)很自由,直到你意識(shí)到如果自己不工作,公司就會(huì)倒閉。

      要成為一名真正的企業(yè)家,你要確保自己能夠離開(kāi)一年,而當(dāng)你回來(lái)時(shí),你的公司比你離開(kāi)時(shí)運(yùn)營(yíng)得更好。

    posted @ 2011-03-20 10:22 Paul Lin 閱讀(340) | 評(píng)論 (0)編輯 收藏
    第1篇:NoSQL開(kāi)篇——為什么要使用NoSQL

    第2篇:關(guān)系數(shù)據(jù)庫(kù)還是NoSQL數(shù)據(jù)庫(kù)

    第3篇:NoSQL架構(gòu)實(shí)踐(一)——以NoSQL為輔

    第4篇:NoSQL架構(gòu)實(shí)踐(二)——以NoSQL為主

    下載:NoSQL實(shí)戰(zhàn)

    重點(diǎn)推薦第3篇的最后一種架構(gòu):


    特別適合SNS的業(yè)務(wù)架構(gòu):把某些關(guān)系key存儲(chǔ)在MySQL中,用于后續(xù)的業(yè)務(wù)數(shù)據(jù)分析和挖掘,而把大量的文本和圖片存儲(chǔ)在類似MongoDB這樣的文檔型NoSQL。可以利用關(guān)系型數(shù)據(jù)庫(kù)的強(qiáng)有力的計(jì)算能力專注于數(shù)據(jù)分析和挖掘,而用NoSQL解決數(shù)據(jù)的讀寫和存儲(chǔ)瓶頸。

    由于NoSQL在線性擴(kuò)展,分布式部署方面有先天優(yōu)勢(shì),可以有效地改善由于數(shù)據(jù)規(guī)模擴(kuò)大時(shí)壓力問(wèn)題,同時(shí)關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)大大減少,也有利于數(shù)據(jù)的備份和同步。
    posted @ 2011-03-19 22:45 Paul Lin 閱讀(437) | 評(píng)論 (0)編輯 收藏
    http://www.slideshare.net/mongodb/mongodb-at-the-silicon-valley-iphone-and-ipad-developers-meetup?from=ss_embed
    posted @ 2011-01-13 00:00 Paul Lin 閱讀(677) | 評(píng)論 (0)編輯 收藏
    http://my.safaribooksonline.com/book/web-development/ruby/9780132480345

    很不錯(cuò),居然全部都可以免費(fèi)看。

    posted @ 2010-12-12 23:56 Paul Lin 閱讀(488) | 評(píng)論 (0)編輯 收藏
         摘要: 在本節(jié),你將學(xué)到如何撰寫合乎邏輯的、緊湊的標(biāo)記,使得你有能力將帶寬流量降低50%左右,在減少服務(wù)器負(fù)擔(dān)和壓力的同時(shí),減少網(wǎng)站的加載時(shí)間。通過(guò)去除那些表現(xiàn)元素,并改掉那些沒(méi)有任何好處的壞習(xí)慣,我們就可以達(dá)到上述的目的。

    這些壞習(xí)慣折磨著網(wǎng)絡(luò)中的許多站點(diǎn),特別是那些將 CSS 代碼與主要基于表格的布局混合在一起的站點(diǎn)。這種做法笨拙且不經(jīng)濟(jì),即使是對(duì)于那些在其他領(lǐng)域很有經(jīng)驗(yàn)的設(shè)計(jì)師來(lái)說(shuō)。同時(shí),出現(xiàn)這個(gè)問(wèn)題的幾率是均等的,不論是那些手寫代碼的站點(diǎn),還是利用可見(jiàn)編輯工具,比如 Dreamweaver 和 GoLive,來(lái)創(chuàng)建的站點(diǎn)。

    本節(jié)會(huì)提出這些常見(jiàn)的錯(cuò)誤,這樣你就可以識(shí)別和防范它們,并且學(xué)會(huì)如何改正錯(cuò)誤。我們?cè)敿?xì)闡述唯一標(biāo)識(shí)符屬性 (id) - ,并展示它如何使你可以編寫極其緊湊的 XHTML 代碼,不論你創(chuàng)建的是混合布局還是純粹的 CSS 布局。  閱讀全文
    posted @ 2010-11-18 15:25 Paul Lin 閱讀(543) | 評(píng)論 (1)編輯 收藏
         摘要: 我確實(shí)希望本節(jié)的內(nèi)容可以激發(fā)你的興趣,并鼓勵(lì)你去嘗試。為什么這么說(shuō)呢?因?yàn)橐坏┠阏莆樟吮菊掳暮?jiǎn)單容易的理念,你就會(huì)重新思考網(wǎng)頁(yè)運(yùn)作的方式,并開(kāi)始改變建造它們的方法。然而我并不希望你只是將代碼重新改寫一遍。我希望你可以實(shí)實(shí)在在地以另一種方式思考和工作。

    另一方面,重構(gòu)才是 XHTML 真正的意義。  閱讀全文
    posted @ 2010-11-18 14:58 Paul Lin 閱讀(339) | 評(píng)論 (0)編輯 收藏
    1. 詳解CSS選擇器、優(yōu)先級(jí)與匹配原理

    2. 5步讓你的CSS樣式表成功減肥

    3. 10個(gè)CSS簡(jiǎn)寫技巧讓你永遠(yuǎn)受用

    4. CSS的聲明中,對(duì)于選擇器的描述方式有多種不同的寫法和適用范圍:

        A. 標(biāo)簽名選擇器聲明方式:p {color: red;} --- 選中某種元素

        B. 分組選擇器聲明方式:h1, h2, h3 {color: red;} --- 選中固定數(shù)目的多種元素

        C. 派生選擇器聲明方式:li td {color: red;}   --- 選中某種上下文關(guān)系元素

        D. ID選擇器聲明方式: #title {color: red;} --- 選中指定id元素

        E. Class選擇器聲明方式: .title {color: red;}   --- 選中不定數(shù)目的多種元素

      F. ID派生選擇器聲明方式: #title table {color: red;} --- 選中指定id下特定上下文關(guān)系元素

       G. Class派生選擇器聲明方式: .title table {color: red;}  --- 選中多種類型下特定上下文關(guān)系元素

       H. 類型選擇器聲明方式:table.title {color: red;}  --- 選中某種元素的某種類型

       I. 偽類選擇器聲明方式:a:visited {color: red;}  --- 選中某種狀態(tài)下元素

       J. 類型偽類選擇器聲明方式:a.news:visited {color: blue;}  --- 選中某種元素的某種狀態(tài)下的類型

    posted @ 2010-11-09 10:45 Paul Lin 閱讀(373) | 評(píng)論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-11-05 16:20 Paul Lin 閱讀(329) | 評(píng)論 (0)編輯 收藏

     http://www.theserverside.com/news/1363955/Taking-the-load-off-OSCache-helps-databases-cope

    posted @ 2010-11-03 17:08 Paul Lin 閱讀(380) | 評(píng)論 (0)編輯 收藏
         摘要: OSCache是一套用Java編寫的緩存框架(或者說(shuō)解決方案),它主要用于頁(yè)面緩存,Servlet緩存,或者其它任意的對(duì)象。OSCache使用基于內(nèi)存或者磁盤的緩存策略。不同的策略有不同的適用場(chǎng)合:基于內(nèi)存的緩存非常快,但是不能持久化,而且不能存儲(chǔ)大量數(shù)據(jù),適合頻繁訪問(wèn)的數(shù)據(jù)。基于磁盤的緩存可以分為使用文件和數(shù)據(jù)庫(kù)緩存,它的速度比內(nèi)存緩存慢,但可以被持久化,可以在服務(wù)器重啟重啟,數(shù)據(jù)庫(kù)奔潰時(shí)仍然運(yùn)作,而且可以存儲(chǔ)較多的數(shù)據(jù)。適合于大量非頻繁訪問(wèn)的數(shù)據(jù),或者復(fù)雜計(jì)算結(jié)果的緩存。  閱讀全文
    posted @ 2010-10-22 21:39 Paul Lin 閱讀(529) | 評(píng)論 (0)編輯 收藏
    最近由于工作學(xué)習(xí)需要,開(kāi)始研究緩存技術(shù)。從網(wǎng)上找到了不少的資料,按照時(shí)間的順序排列,也可以從中看出緩存技術(shù),框架已經(jīng)工具的演變歷史。

    基本知識(shí):《緩存技術(shù)》: http://blog.csdn.net/fanweiwei/archive/2007/01/07/1476131.aspx

    《緩存漫談》: http://www.tkk7.com/BlueDavy/archive/2006/06/02/50076.html

    《網(wǎng)站緩存技術(shù)》:http://dcross.javaeye.com/blog/721468

    《緩存技術(shù)淺談》:http://robbin.javaeye.com/blog/770553
    posted @ 2010-10-19 16:12 Paul Lin 閱讀(447) | 評(píng)論 (0)編輯 收藏
         摘要: 介紹緩存的基本概念和常用的緩存技術(shù),給出了各種技術(shù)的實(shí)現(xiàn)機(jī)制的簡(jiǎn)單介紹和適用范圍說(shuō)明,以及設(shè)計(jì)緩存方案應(yīng)該考慮的問(wèn)題  閱讀全文
    posted @ 2010-10-19 11:09 Paul Lin 閱讀(509) | 評(píng)論 (0)編輯 收藏
         摘要: InfoQ上有一篇《深入淺出REST》的文章:http://www.infoq.com/cn/articles/rest-introduction

    看完后有如下疑問(wèn):

    A. 觀點(diǎn)1中這個(gè)“ID”如何定義?
    B. 要為那些“事物”定義ID?
    C. 使用鏈接指向任何可以標(biāo)識(shí)的事物
    D. “標(biāo)準(zhǔn)方法”是否夠用?
    E. 無(wú)狀態(tài)通信如何實(shí)現(xiàn)  閱讀全文
    posted @ 2010-09-07 11:04 Paul Lin 閱讀(1789) | 評(píng)論 (1)編輯 收藏
         摘要: 原文鏈接:http://www.javaeye.com/topic/698774

    這篇文章放到這個(gè)版面,因?yàn)槲艺J(rèn)為它屬于管理的范疇:個(gè)人管理(時(shí)間管理、知識(shí)管理)。

    是不是大家也有這種體會(huì):


    網(wǎng)站注冊(cè)越來(lái)越?jīng)]耐心,看到頁(yè)面全是文本框、下拉框,就心煩,咔一下關(guān)了。
    文章超過(guò)兩屏的,就沒(méi)勇氣往下看。
    看到文章的相關(guān)鏈接,沒(méi)完沒(méi)了,兩小時(shí)后,腦袋一片混亂,真想涼水沖沖。
    Google Reader的未讀項(xiàng)又是1000+了,看吧,壓力太大,不看吧,有種挫敗感,干脆,全部設(shè)置為已讀。

    焦慮、挫敗、恐懼,什么感覺(jué)都來(lái)了,唯獨(dú)沒(méi)有愉悅感。

    ......  閱讀全文
    posted @ 2010-07-13 17:36 Paul Lin 閱讀(465) | 評(píng)論 (0)編輯 收藏
    ①gem install

    install命令用于安裝指定的gem包,常用的方式是:gem install rails。我們也可以指定版本:gem install rails --version=2.3.5

    ②gem uninstall

    uninstall命令用于反安裝gem包,不過(guò)要注意的是這個(gè)命令并不會(huì)刪除你之前安裝的gem包,而只是把它從path中刪除而已。如果我執(zhí)行以下的命令

     gem install rails --version=2.3.4
     gem uninstall rails --version=2.3.4
     gem install rails --version=2.3.5

    實(shí)際上rails 2.3.4版本依然還在,只不過(guò)你在命令行下執(zhí)行rails -v的時(shí)候是顯示rails 2.3.5而已。

    ③gem cleanup

    這個(gè)命令配合gem uninstall使用的話可以完全刪除舊版本的gem包,所以在上面的例子中如果我需要完全卸載rails 2.3.4的話,只需要再執(zhí)行
     gem cleanup就可以了

    ④使用指定的rails版本編譯運(yùn)行

    rails _版本號(hào)_ 項(xiàng)目名稱
    posted @ 2010-06-24 17:39 Paul Lin 閱讀(1500) | 評(píng)論 (0)編輯 收藏
         摘要: 所以我們一定要記住:options={}是用來(lái)傳遞請(qǐng)求參數(shù)的,而html_options={}是用來(lái)設(shè)置請(qǐng)求報(bào)頭的,不能搞混!  閱讀全文
    posted @ 2010-05-17 16:41 Paul Lin 閱讀(6502) | 評(píng)論 (4)編輯 收藏
         摘要: 下面我們來(lái)回憶一下整個(gè)過(guò)程,我們會(huì)發(fā)現(xiàn)使用RoR創(chuàng)建Web應(yīng)用真是如此簡(jiǎn)單而充滿樂(lè)趣!

    ●命令:
    A.rails 項(xiàng)目名稱
    B.rake db:create RAILS_VERSION='數(shù)據(jù)庫(kù)模式'
    C.ruby script/generate scaffold 表名 字段名:字段類型
    D.rake db:migrate
    E.ruby script/server WEBrick

    ●代碼:
    validates_presence_of :title, :description, :image_url, :price
    validates_length_of :title, :minimum => 10
    validates_numericality_of :price
    validates_uniqueness_of :title

    只需要花你差不多了5分鐘的時(shí)間而已~,That's all !  閱讀全文
    posted @ 2010-05-15 12:02 Paul Lin 閱讀(658) | 評(píng)論 (0)編輯 收藏
         摘要: 豆瓣已經(jīng)成為一種文化符號(hào),一種現(xiàn)象,一個(gè)被所有有志于Web 2.0創(chuàng)業(yè)的人研究的對(duì)象。不過(guò)也正如文中所說(shuō)的,豆瓣的軟肋在于:缺乏原創(chuàng)的內(nèi)容,不過(guò)從現(xiàn)在豆瓣的發(fā)展來(lái)看已經(jīng)開(kāi)始布局原創(chuàng)內(nèi)容了。“豆瓣電臺(tái)”就是這樣一個(gè)理念的產(chǎn)品  閱讀全文
    posted @ 2010-05-10 17:35 Paul Lin 閱讀(640) | 評(píng)論 (0)編輯 收藏
         摘要: 總之,長(zhǎng)尾理論的提出是互聯(lián)網(wǎng)發(fā)展的一項(xiàng)重要里程碑,也是Web2.0時(shí)代很多企業(yè)的盈利模式的重要理論依據(jù),同時(shí)也可以解決傳統(tǒng)經(jīng)濟(jì)學(xué)意義上的很多約束。這也就為創(chuàng)業(yè)者和企業(yè)家提供了更為廣泛的思路,但在運(yùn)用長(zhǎng)尾理論的過(guò)程中我們還要避免把長(zhǎng)尾理論與二八理論徹底對(duì)立、盲目追求“長(zhǎng)尾市場(chǎng)”、過(guò)度追求產(chǎn)品或者服務(wù)的個(gè)性化等誤區(qū)。本人認(rèn)為長(zhǎng)尾理論的理論體系有多么完善并不是最重要的,重要的是運(yùn)用長(zhǎng)尾是一種理念,是指導(dǎo)企業(yè)自身定位以及戰(zhàn)略和戰(zhàn)術(shù)行為的思維運(yùn)營(yíng)模式,而如何利用這種長(zhǎng)尾理念形成一種盈利模式才是最關(guān)鍵的。  閱讀全文
    posted @ 2010-05-10 16:10 Paul Lin 閱讀(344) | 評(píng)論 (0)編輯 收藏

    【暗夜列車】

          小成本的“道德教育片”,告訴你“出來(lái)混,總是要還的”,“不是不報(bào),時(shí)候未到”,還有最重要的一點(diǎn)“死人的東西是不能亂碰的”。

     推薦指數(shù):★★★


    【荒野生存】

           一個(gè)理想主義者的傳奇,一個(gè)藐視世俗者的精神勝利,一個(gè)徒步者的孤獨(dú)旅程。為了理想中絕對(duì)的自由,為了理想中沒(méi)有虛偽的世界,為了理想中的真我,只身踏上旅程。

    推薦指數(shù):★★★★


    【末日危途】

           當(dāng)未來(lái)遙不可及,當(dāng)世界已成廢墟,當(dāng)文明已經(jīng)毀滅殆盡 ---- 你是否依然堅(jiān)信希望在前方,還是選擇麻木地活著?你是否依然堅(jiān)持著那最后的做人底線,還是為了生存而無(wú)所不用其極?你是否堅(jiān)信這世界依然有人值得信任,還是選擇用槍口對(duì)準(zhǔn)每一個(gè)試圖接近的陌生人?

           絕望~ 絕望~ 還是絕望~,人性 VS 獸性

    推薦指數(shù):★★★★


    【禁閉島】

          如果你看過(guò)《穆赫蘭道》,《記憶碎片》,那么你應(yīng)該習(xí)慣了好萊塢導(dǎo)演這種顛倒順序,角色亂入,亦真亦假的手段。

          人的精神力量是無(wú)比強(qiáng)大的,必要時(shí)甚至可以創(chuàng)造出一個(gè)虛擬的世界。只為在潛意識(shí)中強(qiáng)化自己的邏輯和逃避罪責(zé)

          這是一部精神病者的歷險(xiǎn)大片,也可以看作是一部關(guān)于如何治療迫害妄想癥的教學(xué)片。

    推薦指數(shù):★★★★★

     

    【歲月神偷】
          歲月是最高明的小偷,他偷走了我們的容貌,偷走了我們的青春,偷走了我們的親人,模糊了我們的記憶。借助電影的手段,我們又一次找回了被歲月偷走的那份久違的溫馨和感動(dòng)。

          成為一部爛片的原因有很多,但是成為一部?jī)?yōu)秀的電影總是有那么一兩個(gè)因素的:它們總是能巧妙地運(yùn)用聲,光,影,將一切看似平淡的東西像變魔術(shù)般進(jìn)行組合,準(zhǔn)確地?fù)糁心銉?nèi)心某一處柔軟的地方。

          不需太多,有感動(dòng)則足矣!

    推薦指數(shù):★★★★★

    posted @ 2010-04-28 13:40 Paul Lin 閱讀(476) | 評(píng)論 (0)編輯 收藏
         摘要: 摘在SUN 的J2EE Tutoria 第33章的第3節(jié)《The JMS API Programming Model 》全面地介紹了JMS的編程模型  閱讀全文
    posted @ 2010-04-17 22:39 Paul Lin 閱讀(786) | 評(píng)論 (0)編輯 收藏
         摘要: 我要介紹的內(nèi)容包括以下幾個(gè)方面:
    1、memcached的簡(jiǎn)介
    2、memcached的應(yīng)用場(chǎng)景
    3、memcached的安裝
    4、memcached的使用
    5、memcached的部署架構(gòu)
    6、memcached的局限性
    7、memcached的改進(jìn)

    轉(zhuǎn)自:http://wangzebin.blog.51cto.com/653300/128235 原文作者:王澤賓  閱讀全文
    posted @ 2010-04-08 01:08 Paul Lin 閱讀(4302) | 評(píng)論 (6)編輯 收藏
         摘要: 目前為止見(jiàn)過(guò)的對(duì)架構(gòu)師責(zé)職分析最深刻的文章

    轉(zhuǎn)自:http://wangzebin.blog.51cto.com/653300/135640 原文作者:王澤賓  閱讀全文
    posted @ 2010-04-08 01:03 Paul Lin 閱讀(2278) | 評(píng)論 (0)編輯 收藏
         摘要: 如果個(gè)人或者小公司去做綜合類網(wǎng)站,這是很不靠譜的事。現(xiàn)如今小網(wǎng)站的存活之道一定是垂直的,而且必須要有一個(gè)非常顯著的亮點(diǎn),只有把這個(gè)亮點(diǎn)深挖進(jìn)去,吃透了,而且還能將它做到極致才行。從一開(kāi)始就想搞一個(gè)大而全的網(wǎng)站,設(shè)置那么多的頻道,這不僅對(duì)于拉動(dòng)流量沒(méi)有效果,而且還會(huì)把你的亮點(diǎn)給淹沒(méi)了。如果你要做綜合類網(wǎng)站,那么你需要有實(shí)力、不差錢才行,推廣手段就是用錢去砸,小網(wǎng)站絕對(duì)不會(huì)有這么大的財(cái)力去拼。

    轉(zhuǎn)自:http://wangzebin.blog.51cto.com/653300/142382 原文作者:王澤賓
      閱讀全文
    posted @ 2010-04-08 00:58 Paul Lin 閱讀(1411) | 評(píng)論 (0)編輯 收藏
         摘要: 相當(dāng)好的文章,后面的評(píng)論更加精彩!  閱讀全文
    posted @ 2010-04-08 00:55 Paul Lin 閱讀(4258) | 評(píng)論 (2)編輯 收藏
         摘要: 這是一個(gè)基于C++寫的Java源代碼反編譯工具,界面類似于EClipse,而且反編譯的效果不錯(cuò),出錯(cuò)率比較低。支持整個(gè)Jar包的反編譯,支持界面拖放。速度很快,語(yǔ)法高亮顯示!

    而且這是一個(gè)綠色軟件,不需要任何的安裝,雙擊exe文件運(yùn)行即可。卸載時(shí)只需要把exe和cfg文件刪除即可。  閱讀全文
    posted @ 2010-04-07 11:10 Paul Lin 閱讀(2422) | 評(píng)論 (3)編輯 收藏
         摘要: Apache commons CLI是一個(gè)開(kāi)源的,用于處理命令行的工具包。這個(gè)包目前的穩(wěn)定版本是1.2,他非常簡(jiǎn)單只有20個(gè)左右的class,但提供了幾乎所以可以用到的命令行功能。它的主頁(yè)在這里:Apache commons CLI

    根據(jù)CLI的邏輯,每一個(gè)命令行的處理都可以分為3個(gè)步驟:定義、解析、交互
    ①定義:定義命令行的各種選項(xiàng)屬性(包括縮寫、全寫、是否必須、是否帶參數(shù)、參數(shù)個(gè)數(shù)限制)
    ②解析:使用解析器對(duì)命令行選項(xiàng)列表進(jìn)行解析
    ③交互:從解析好的命令行查詢用戶輸入的參數(shù)值并進(jìn)行處理  閱讀全文
    posted @ 2010-04-02 14:20 Paul Lin 閱讀(1072) | 評(píng)論 (0)編輯 收藏
         摘要: 1.基本功能過(guò)濾器
    =============================================
    ①類型:DirectoryFileFilter、FileFileFilter
    ②大小:EmptyFileFilter、SizeFileFilter
    ③時(shí)間:AgeFileFilter
    ④名稱:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
    ⑤讀寫屬性:CanReadFileFilter、CanWriteFileFilter
    ⑥隱藏屬性:HiddenFileFilter

    2.邏輯關(guān)系過(guò)濾器
    =============================================
    ①邏輯與:AndFileFilter
    ②邏輯或:OrFileFilter
    ③邏輯非:NotFileFilter
    ④永真/假:TrueFileFilter、FalseFil  閱讀全文
    posted @ 2010-04-01 17:52 Paul Lin 閱讀(3169) | 評(píng)論 (1)編輯 收藏
         摘要: Apache commons IO包中提供了一個(gè)可以遍歷目錄下資源的DirectoryWalker,還有很多的IOFileFilter用于過(guò)濾文件目錄。下面的例子分別演示了這個(gè)功能。

    這兩個(gè)搜索類都是以內(nèi)部類的方式嵌入客戶端的,客戶端接收客戶的參數(shù),然后通過(guò)一個(gè)后臺(tái)線程來(lái)進(jìn)行搜索,等待子線程完成搜索后(join方法),再打印搜索結(jié)果。

    注意這個(gè)過(guò)程是可以被cancel的。cancel主要有2種情況。外部cancel:外部線程通過(guò)調(diào)用內(nèi)部類的cancel()方法。內(nèi)部cancel:在handleDirectory、handleFile中主動(dòng)拋出CancelException。

    walk方法在每次執(zhí)行前、后都會(huì)檢查當(dāng)前是否有cancel指令發(fā)出(checkIfCancelled ---> handleIsCancelled),如果有那么默認(rèn)立刻拋出CancelException,然后調(diào)用handleCancelled方法。  閱讀全文
    posted @ 2010-03-31 23:45 Paul Lin 閱讀(2572) | 評(píng)論 (1)編輯 收藏

    從 同一個(gè)源文件(15M左右)使用不同的方式讀入,一種是讀入后構(gòu)造成一個(gè)String,另外一個(gè)是讀入后構(gòu)造成一個(gè)List。然后再調(diào)用 writeLines(File, String)和writeLines(File, Collection)寫入。下面是測(cè)試比較的結(jié)果:

    Read and write by string format
      File sizes(bytes): 15661680
      Content read(bytes): 15661680
      Time costing(ms) on reading: 2047
      Time costing(ms) on writing: 1016


    Read and write by collection format
      File sizes(bytes): 15661680
      File read(lines): 1782615
      Time costing(ms) on reading: 2047
      Time costing(ms) on writing: 533437


    效率相差之多! 我的測(cè)試環(huán)境如下:

    OS:Win XP SP4
    CPU:Intel Core(TM) 2 Duo CPU
    內(nèi)存:800M(虛擬機(jī)分配)
    JDK:JDK 5.0 (JVM內(nèi)存分配:-Xms64m -Xmx512m)
    測(cè)試文件:15.295M (是一個(gè)IP地址文件,總共1782615行)

    在讀方面時(shí)間居然相當(dāng)(這里面應(yīng)該有操作系統(tǒng)層面的緩沖作用,我單獨(dú)地測(cè)試時(shí)第2個(gè)方式總比第一個(gè)慢1/3左右)。而在寫方面性能簡(jiǎn)直是天壤之別啊:533437/1016 ≈525倍。

    雖然我這個(gè)測(cè)試還是不嚴(yán)謹(jǐn)?shù)模菑姆椒▽?shí)現(xiàn)過(guò)程和原理來(lái)看,兩者性能差異存在必然的因素:

    ①以Collection方式去構(gòu)造的,在讀取的過(guò)程中生成多個(gè)小String,而生成String是一項(xiàng)耗時(shí)的工作
    ②以Collection方式去寫的,首先要迭代這個(gè)Collection,然后每次調(diào)用Collection中的元素的toString()方法,造成多次的堆棧操作



    posted @ 2010-03-30 00:19 Paul Lin 閱讀(6058) | 評(píng)論 (0)編輯 收藏
         摘要: 最近在對(duì)之前做過(guò)的一個(gè)項(xiàng)目進(jìn)行二期修改。鑒于之前典型的貧血結(jié)構(gòu),以及Controller--->Service--->DAO模式讓代碼壓力都集中在service層的情況。在參考了Banq寫的幾篇對(duì)象職責(zé)和Domain Event的文章后,我也試著搗鼓了一下新的分層模式。貼出來(lái)和大家討論,歡迎拍磚!  閱讀全文
    posted @ 2010-03-23 17:05 Paul Lin 閱讀(1582) | 評(píng)論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-03-19 23:11 Paul Lin 閱讀(573) | 評(píng)論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2010-03-19 22:21 Paul Lin 閱讀(1527) | 評(píng)論 (0)編輯 收藏
         摘要: Spring對(duì)事務(wù)傳播的定義和事務(wù)操作性能優(yōu)化  閱讀全文
    posted @ 2010-03-15 11:09 Paul Lin 閱讀(2610) | 評(píng)論 (0)編輯 收藏
         摘要: 樂(lè)觀鎖定采用的版本策略實(shí)際上和SVN的版本沖突解決方案是同樣的:采用其它人的(先提交的)、采用自己的(后提交的)、合并他人和自己的(合并沖突更新)
    悲觀鎖定(Pessimistic locking)會(huì)采用基于數(shù)據(jù)庫(kù)提供的鎖機(jī)制來(lái)進(jìn)行鎖定。它會(huì)在物理層對(duì)行甚至表進(jìn)行鎖定。使得應(yīng)用的并發(fā)性變差。  閱讀全文
    posted @ 2010-03-15 11:07 Paul Lin 閱讀(1498) | 評(píng)論 (0)編輯 收藏
         摘要: READ COMMITITED:不允許讀取未提交的數(shù)據(jù),但可以讀取已提交的數(shù)據(jù)。所以可能出現(xiàn)不可重復(fù)讀、和幻像讀(讀的過(guò)程依然可以被修改、增加、刪除)


    REPEATABLE READ:通過(guò)行鎖定,在讀的數(shù)據(jù)不允許其它進(jìn)程修改。確保已讀取的數(shù)據(jù)不被修改、刪除(不可重復(fù)讀)但無(wú)法阻止其它進(jìn)程寫入新數(shù)據(jù),所以不能確保讀取到新的數(shù)據(jù)(幻像讀)

    SERIALIZABLE:通過(guò)表鎖定,徹底禁止讀取期間其它進(jìn)程的修改、刪除(屏蔽不可重復(fù)讀)和增加(屏蔽幻像讀)

    但是不管是那種隔離級(jí)別,對(duì)第一類丟失更新都是不能接收的  閱讀全文
    posted @ 2010-03-15 11:04 Paul Lin 閱讀(1078) | 評(píng)論 (0)編輯 收藏
         摘要: 一級(jí)、二級(jí)緩存使用的key均為po的主鍵ID,value即為po實(shí)例對(duì)象,查詢緩存使用的則為查詢的條件(hql轉(zhuǎn)化而成的sql語(yǔ)句)、查詢的參數(shù)、查詢的頁(yè)數(shù),value有兩種情況,如果采用的是select po.property這樣的方式那么value為整個(gè)結(jié)果集,如采用的是from這樣的方式那么value為獲取的結(jié)果集中各po對(duì)象的主鍵ID,這樣的作用很明顯,節(jié)省內(nèi)存。  閱讀全文
    posted @ 2010-03-15 11:00 Paul Lin 閱讀(4090) | 評(píng)論 (0)編輯 收藏
         摘要: 關(guān)于Memcached入門知識(shí)點(diǎn)  閱讀全文
    posted @ 2010-03-15 10:57 Paul Lin 閱讀(2269) | 評(píng)論 (0)編輯 收藏
         摘要: ①同步的操作,如果在等待的過(guò)程不能做別的事情,它是同步+阻塞的。這個(gè)也是最常見(jiàn)的
    ②同步的操作,如果在等待的過(guò)程可以做別的事情,它是同步+非阻塞的。
    ③異步的操作,如果在等待的過(guò)程不能做別的事情,它是異步+阻塞的。
    ④異步的操作,如果在等待的過(guò)程可以做別的事情,它是異步+非阻塞的。這個(gè)也是最常見(jiàn)的  閱讀全文
    posted @ 2010-03-10 15:36 Paul Lin 閱讀(2792) | 評(píng)論 (2)編輯 收藏
         摘要: 同步/異步:消息通知機(jī)制。是自己主動(dòng)關(guān)注消息還是靠別人通知
    阻塞/非阻塞:消息處理機(jī)制。等待消息處理完成的過(guò)程能否做別的事情  閱讀全文
    posted @ 2010-03-10 14:54 Paul Lin 閱讀(2638) | 評(píng)論 (0)編輯 收藏
         摘要: 要使用DirectoryWalker來(lái)遍歷一個(gè)目錄并進(jìn)行相應(yīng)的操作,步驟如下:

    ①創(chuàng)建一個(gè)繼續(xù)于DirectoryWalker的類,并在構(gòu)造方法中調(diào)用super();
    ②定義一個(gè)業(yè)務(wù)入口方法,例如clean。在這個(gè)方法中調(diào)用walk方法
    ③覆蓋DirectoryWalker類的handleDirectory方法,提供相應(yīng)的處理邏輯
    ④覆蓋DirectoryWalker類的handleFile方法,提供相應(yīng)的處理邏輯  閱讀全文
    posted @ 2010-03-09 00:26 Paul Lin 閱讀(3531) | 評(píng)論 (1)編輯 收藏
         摘要: 它們可以分為兩大類:
    ①實(shí)質(zhì)性過(guò)濾器:例如針對(duì)文件的類型,屬性,名稱,大小進(jìn)行過(guò)濾的過(guò)濾器
    ②過(guò)濾器連接器:典型的包括AndFileFilter、OrFileFilter。用于邏輯連接多個(gè)過(guò)濾器  閱讀全文
    posted @ 2010-03-09 00:02 Paul Lin 閱讀(1358) | 評(píng)論 (0)編輯 收藏
    <2010年3月>
    28123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點(diǎn)博客

    好友博客

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲无吗在线视频| 亚洲www在线观看| 亚洲福利秒拍一区二区| 亚洲中文字幕在线无码一区二区| 中文字幕在线观看亚洲日韩| 国产精品亚洲综合网站| 中国黄色免费网站| 特级精品毛片免费观看| 99久久免费精品国产72精品九九| 国产成人3p视频免费观看 | 日本不卡在线观看免费v| 亚洲av再在线观看| 久久久久亚洲精品成人网小说| 亚洲av产在线精品亚洲第一站| 亚洲a∨无码精品色午夜| WWW国产成人免费观看视频| 99久久免费看国产精品| 日韩高清在线高清免费| 久久亚洲高清观看| 亚洲色偷精品一区二区三区| 一级一级毛片免费播放| 狼群影院在线观看免费观看直播| 国产视频精品免费| 亚洲av鲁丝一区二区三区| 亚洲日产乱码一二三区别| 中文字幕手机在线免费看电影| h视频在线观看免费网站| 丁香婷婷亚洲六月综合色| 色婷婷综合缴情综免费观看| 3344免费播放观看视频| 又粗又硬免费毛片| 亚洲第一页在线播放| 一区免费在线观看| 午夜福利不卡片在线播放免费| 国产午夜亚洲精品理论片不卡 | 久久精品成人免费国产片小草| 国产h视频在线观看网站免费| 亚洲Av无码乱码在线znlu| 亚洲图片激情小说| 黄色网页在线免费观看| 午夜老司机免费视频|