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

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

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

    置頂隨筆

    [置頂]談一談在家辦公的利弊


    為緩解早晚高峰帶來的擁堵,北京交通委經過調研,擬從商業機構、大型商場開始試行錯峰上下班,同時擬在IT行業、科研單位試行彈性工作制。昨天,市人大代表趙鳳桐透露,具體方案政府還在擬訂中。
    市人大代表劉國祥在去年的人代會上提出“合理調整上下班時間”建議(見新聞附件)。市交通委對此予以回復稱,本市擬試行錯開上下班時間和實行彈性工作時間兩種方法,緩解早晚高峰的交通壓力。目前,已經在開展商業、機關企事業單位等錯峰上下班的研究,并提出了調整商業、機關企事業單位上下班時間的初步方案,擬從商業機構開始實施。 此外,交通委還與相關部門進行了協商,對中關村等地區進行調研,擬對某些行業(如IT行業、科研單位等)實行彈性工作制,鼓勵在家網上辦公。如果這些措施能夠實施,則在一定程度上可以削減高峰時段的交通流峰值。
    據了解,截至2007年底,北京的機動車保有量已達到310萬輛。市交通委表示,從城市交通運行態勢來看,出行需求和機動車保有量仍在持續快速增長,高峰時段道路擁堵區域不斷擴大、局部路段平均車速下降,緩解擁堵的措施大多被持續快速增長的交通需求所抵消,交通形勢依然十分嚴峻。


    這是前兩周的新聞了,當時一看到新聞就感覺這條消息很利好,尤其對我們北京的程序員來說。在家辦公的利弊,現在業內也沒有個具體的說法,這幾天有幸在家辦公,體驗了一把想跟大家談一談我的看法。
    一,利:
    1,節約時間:花在等車、路上、堵車、倒車或開車、停車等交通出行的時間成本。
    2,節約金錢:上下班的路費或車位費、油費等,還不算看不到的時間兌換的錢(時間就是金錢)。
    3,為國家做貢獻:不但給上述新聞中的交通部門減少壓力,而且減少了碳的排放量(節能減排)。
    4,為公司節約日常費用:占位費,水費,餐費,辦公費,交通費。。。。
    5,自己時間把握更準確:由于減少了交通環節,個人時間上更有可控性。
    二,弊:
    1,缺少辦公氣氛:家中的環境畢竟沒有公司那么統一,一個家一個樣兒,有條件給自己打造辦公環境和氣氛的員工恐怕只有少數。
    2,增加交流成本:公司面對面的交流只能改成手機對手機,或麥克對麥克,或手指對手指。這些肯定都比面對面花的時間長,還要通訊費上網費。
    3,容易受外界干擾:如果家中有妻兒老小,家里很難給你一個封閉環境,你會不斷的被“騷擾”,畢竟工作的事情像寫程序需要比較心靜的環境。
    4,容易自由散漫:沒有了公司領導的監控和同事的督促,人的自控能力是有限的,沒準看新聞泡論壇玩游戲就過了頭,耽誤的肯定是正事。
    5,造成公共資源浪費:公司里的公共資源在家是很難利用好的,比如內部的服務器,局域網和通訊工具。
    以上這些是我所能想到的,至于利大還是弊大我沒有偏向都是5條。個人還是覺得天時地利人和才適合在家辦公,對于不同的人或同一個人的不同時間段都是利弊難辨的。
    希望大家能聊一聊自己的看法。

    posted @ 2008-01-31 09:48 beyondduke 閱讀(4702) | 評論 (12)編輯 收藏

    2008年3月12日

    初學flex

         上大學的時候,看到好多精彩炫麗的flash,學習了一些flash的知識。那個時候不怎么會寫腳本,就用動畫的概念一幀一幀的拼出一個flash。后來工作以后,給客戶在線演示產品,有接觸了Captivate。2006年末的時候,客戶要求開發一個在線產品展示平臺,我偶然搜到了adobe用flex開發的網上購物演示,就體會到如果用flex來實現這個產品展示平臺將是很動人的事情,由于某種原因最終未能如愿。最近在做一個通用視頻培訓平臺時又用到了FLV播放器,也是用Flex開發的,最終效果和土豆、優酷非常類似。這些場景使我對flash的展現效果情有獨鐘,況且有adobe這樣的公司在運作flash,如果可能的話應該在合適的場合來把flex集成到我們現在開發的應用中,比如圖表功能、表單功能、打印功能等等。基于以上的經歷和思路,決定花功夫學習一下flex還是值得的。
        首先,到adobe官方網站下載flex builder 3(當前最新版本)并安裝。安裝完畢后會看到一些入門文章中提到的Flex SDK已經在builder中存在了,所以初學僅下載個builder就夠了。
        然后,打開builder發現它就是基于eclipse開發的,我想這個IDE對于大多數java開發著再熟悉不過了。首次進入時會有一個歡迎界面和初學者向導,我比較習慣看看這些東西,點擊下載提供的入門工程Flex3GSEIII_a_WorkingWithData_JSP,并導入builder中。看看工程結構跟我們平時的JAVAEE工程有了一些不同。多了bin-debug和html-template文件夾,文件類型主要是*.mxml、*.as。在工程的左側視圖右鍵*.mxml運行(類似與運行java文件),會有一個編譯過程,過后彈出一個html,html中運行的正式flash。當時比較好奇,一個mxml是如何經過編譯產生html和flash的,打開剛才提到的bin-debug發現兩個文件生成到了這個文件夾。仔細讀一下mxml的代碼發現跟XHTML基本類似,其中的一些function都是AS寫的。至此我分析得到如下結論:mxml+as-->swf,中間的轉換是adobe集成在builder中的轉換工具完成的。如此跟我們以往HTML+JS的編程習慣很類似了,并且XHTML與AS的結合更緊密一些。由于初學原理性的知識我就理解至此了。
       最后,我們關心的是用flex都能實現哪些控件,并且控件的效果如何。我沒有迫不及待的去google,而是又深入到builder的安裝目錄下,在D:\Flex Builder 3\sdks\3.0.0發現了好東西,別的我不關心,先看samples,子目錄下有一個explorer,其中包含一個build.bat。看到這個bat我更加確定了我以上的結論。于是運行bat,開始編譯其下的mxml文件逐一生成swf文件。花一段時間生成完畢,打開類似于index的swf文件,sdk中提供的樣例控件就都盡收眼底了。
       后續:有源文件,有開發工具,你可以隨意擺弄這些代碼,熟悉語法,熟悉開發環境,熟悉對象屬性,拼拼湊湊完成自己的一個組合界面了。

    posted @ 2008-03-12 14:28 beyondduke 閱讀(1390) | 評論 (2)編輯 收藏

    2008年1月31日

    談一談在家辦公的利弊


    為緩解早晚高峰帶來的擁堵,北京交通委經過調研,擬從商業機構、大型商場開始試行錯峰上下班,同時擬在IT行業、科研單位試行彈性工作制。昨天,市人大代表趙鳳桐透露,具體方案政府還在擬訂中。
    市人大代表劉國祥在去年的人代會上提出“合理調整上下班時間”建議(見新聞附件)。市交通委對此予以回復稱,本市擬試行錯開上下班時間和實行彈性工作時間兩種方法,緩解早晚高峰的交通壓力。目前,已經在開展商業、機關企事業單位等錯峰上下班的研究,并提出了調整商業、機關企事業單位上下班時間的初步方案,擬從商業機構開始實施。 此外,交通委還與相關部門進行了協商,對中關村等地區進行調研,擬對某些行業(如IT行業、科研單位等)實行彈性工作制,鼓勵在家網上辦公。如果這些措施能夠實施,則在一定程度上可以削減高峰時段的交通流峰值。
    據了解,截至2007年底,北京的機動車保有量已達到310萬輛。市交通委表示,從城市交通運行態勢來看,出行需求和機動車保有量仍在持續快速增長,高峰時段道路擁堵區域不斷擴大、局部路段平均車速下降,緩解擁堵的措施大多被持續快速增長的交通需求所抵消,交通形勢依然十分嚴峻。


    這是前兩周的新聞了,當時一看到新聞就感覺這條消息很利好,尤其對我們北京的程序員來說。在家辦公的利弊,現在業內也沒有個具體的說法,這幾天有幸在家辦公,體驗了一把想跟大家談一談我的看法。
    一,利:
    1,節約時間:花在等車、路上、堵車、倒車或開車、停車等交通出行的時間成本。
    2,節約金錢:上下班的路費或車位費、油費等,還不算看不到的時間兌換的錢(時間就是金錢)。
    3,為國家做貢獻:不但給上述新聞中的交通部門減少壓力,而且減少了碳的排放量(節能減排)。
    4,為公司節約日常費用:占位費,水費,餐費,辦公費,交通費。。。。
    5,自己時間把握更準確:由于減少了交通環節,個人時間上更有可控性。
    二,弊:
    1,缺少辦公氣氛:家中的環境畢竟沒有公司那么統一,一個家一個樣兒,有條件給自己打造辦公環境和氣氛的員工恐怕只有少數。
    2,增加交流成本:公司面對面的交流只能改成手機對手機,或麥克對麥克,或手指對手指。這些肯定都比面對面花的時間長,還要通訊費上網費。
    3,容易受外界干擾:如果家中有妻兒老小,家里很難給你一個封閉環境,你會不斷的被“騷擾”,畢竟工作的事情像寫程序需要比較心靜的環境。
    4,容易自由散漫:沒有了公司領導的監控和同事的督促,人的自控能力是有限的,沒準看新聞泡論壇玩游戲就過了頭,耽誤的肯定是正事。
    5,造成公共資源浪費:公司里的公共資源在家是很難利用好的,比如內部的服務器,局域網和通訊工具。
    以上這些是我所能想到的,至于利大還是弊大我沒有偏向都是5條。個人還是覺得天時地利人和才適合在家辦公,對于不同的人或同一個人的不同時間段都是利弊難辨的。
    希望大家能聊一聊自己的看法。

    posted @ 2008-01-31 09:48 beyondduke 閱讀(4702) | 評論 (12)編輯 收藏

    2006年8月5日

    Excel報表之js版

    ?半年以前做過server端生成excel的簡單引擎,總感覺不夠輕便,尤其在一些固定格式,數據量又不是很大的情況下,上周寫了一

    個根據表單數據在client端用js生成excle的demo,令我我激動了半天------js太強了!

    下面分享一下這段js:
    ?
    ?1var?excel??=?new?ActiveXObject("Excel.Application");?//創建AX對象excel
    ?2excel.visible?=true;?//設置excel可見屬性
    ?3var?workbook?=?excel.Workbooks.Add;?//獲取workbook對象
    ?4var?sheet1?=?xlBook.Worksheets(2);??//創建sheet1
    ?5var?sheet2?=?xlBook.Worksheets(1);??//創建sheet2
    ?6sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).mergecells=true;?//合并單元格
    ?7sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).value="員工月考核成績";?//設置單元格內容
    ?8sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Interior.ColorIndex=6;//設置底色?
    ?9sheet1.Range(sheet1.Cells(1,1),sheet1.Cells(1,14)).Font.ColorIndex=5;//設置字體色?
    10sheet1.Rows(1).RowHeight?=?20;?//設置列高
    11sheet1.Rows(1).Font.Size=16;??//設置文字大小
    12sheet1.Rows(1).Font.Name="宋體";?//設置字體
    13//設置每一列的標題
    14sheet1.Cells(2,1).Value="工程師考核項";
    15sheet1.Cells(2,2).Value="總分";
    16sheet1.Cells(2,3).Value="研發進度";
    17sheet1.Cells(2,4).Value="出勤率";
    18sheet1.Cells(2,5).Value="執行力";
    19sheet1.Cells(2,6).Value="責任心";
    20sheet1.Cells(2,7).Value="工作規范";
    21sheet1.Cells(2,8).Value="協作精神";
    22sheet1.Cells(2,9).Value="進取性";
    23sheet1.Cells(2,10).Value="工作合理性";
    24sheet1.Cells(2,11).Value="解決問題能力";
    25sheet1.Cells(2,12).Value="應變能力";
    26sheet1.Cells(2,13).Value="人際技能";
    27sheet1.Cells(2,14).Value="理解能力";
    28//從表單循環控件中取出數據逐行插入對應列的數據
    29var?count?=?sfform.GetAttributeValue('Repeat','Count');
    30for(var?line=1;line<=count;line++){?//begin?for
    31??var?name??=?sfform.GetValue('Repeat['+line+'].name');
    32??var?total=?sfform.GetValue('Repeat['+line+'].total');
    33??var?yfjd?=?sfform.GetValue('Repeat['+line+'].yfjd');
    34??var?jh?=?sfform.GetValue('Repeat['+line+'].jh');
    35??var?gcgj?=?sfform.GetValue('Repeat['+line+'].gcgj');
    36??var?cql?=?sfform.GetValue('Repeat['+line+'].cql');
    37??var?zxl?=?sfform.GetValue('Repeat['+line+'].zxl');
    38??var?gzgf?=?sfform.GetValue('Repeat['+line+'].gzgf');
    39??var?zrx?=?sfform.GetValue('Repeat['+line+'].zrx');
    40??var?xzjs?=?sfform.GetValue('Repeat['+line+'].xzjs');
    41??var?jqx?=?sfform.GetValue('Repeat['+line+'].jqx');
    42??var?gzhl?=?sfform.GetValue('Repeat['+line+'].gzh');
    43??var?jjwt?=?sfform.GetValue('Repeat['+line+'].jjwt');
    44??var?ybnl?=?sfform.GetValue('Repeat['+line+'].ybnl');
    45??var?rjjn?=?sfform.GetValue('Repeat['+line+'].rjjn');
    46??var?ljnl?=?sfform.GetValue('Repeat['+line+'].ljnl');
    47??sheet1.Cells(2+line,1).Value=name;
    48??sheet1.Cells(2+line,2).Value=total;
    49??sheet1.Cells(2+line,3).Value=yfjd;
    50??sheet1.Cells(2+line,4).Value=cql;
    51??sheet1.Cells(2+line,5).Value=zxl;
    52??sheet1.Cells(2+line,6).Value=gzgf;
    53??sheet1.Cells(2+line,7).Value=zrx;
    54??sheet1.Cells(2+line,8).Value=xzjs;
    55??sheet1.Cells(2+line,9).Value=jqx;
    56??sheet1.Cells(2+line,10).Value=gzhl;
    57??sheet1.Cells(2+line,11).Value=jjwt;
    58??sheet1.Cells(2+line,12).Value=ybnl;
    59??sheet1.Cells(2+line,13).Value=rjjn;
    60??sheet1.Cells(2+line,14).Value=ljnl;
    61
    62}
    //end?for
    63
    64

    基本的代碼已經實現了,生成excel的格式和一些統計計算,用js寫應該是很方便的,以后有例子再作補充。

    從代碼角度來看這種寫法不是很靈活,但在能滿足用戶的需求前提下,這種生成方式還是很受歡迎的,給用戶的感覺就是輕

    便。個人認為簡單就是美!

    posted @ 2006-08-05 11:14 beyondduke 閱讀(6601) | 評論 (7)編輯 收藏

    2006年5月18日

    數據庫常見的三種join方式(收藏)

    數據庫常見的join方式有三種:inner join, left outter join, right outter join(還有一種full join,因不常用,本文不討論)。這三種連接方式都是將兩個以上的表通過on條件語句,拼成一個大表。以下是它們的共同點:

    ? 1. 關于左右表的概念。左表指的是在SQL語句中排在left join左邊的表,右表指的是排在left join右邊的表。
    ? 2. 在拼成的大表中,左表排在左邊,右表排在右邊。
    ? 3. on條件語句最好用=號對兩表相應的主外鍵進行連接。當然,也可以用其他操作符,如>, <, 來連接兩表的任一字段,此時的關系將非常復雜,連接后的記錄數也隨之而變得不確定。如果在一些特殊的場合中需要用到這種方式,必須通過簡單的實例加以確認,否則,連接結果很可能不是我們所想要的!
    ? 4. on條件語句不能省略。
    ? 5. 可以連鎖使用join,每次使用join都令另一表與當前的表或連接的結果相連接。


    在下文中,用到了兩個表,"部門"表與"組織"表,其中,"部門"表有一名為"組織編號"的外鍵,指向"組織"表中的主鍵"編號"。

    inner join

    ? 格式:select * from 部門 inner join 組織 on 部門.組織編號 = 組織.編號

    ? 目的:將兩表中符合on條件的所有記錄都找出來。

    ? 規律:

    ??? 1. 拼出的大表記錄不會增加。
    ??? 2. 如果左邊與右表的關系是一對多的關系,在選出的任一記錄中,假若右表有多個記錄與其對應,那么,連接后的左表,主鍵將不再唯一。

    ? 典型應用:將存在多關系的引用表放在左表,將存在一關系的被引用表放在右表,通過=號將主外鍵進行連接,通過對右表設定過濾條件,選出相應的且主鍵唯一的左表記錄。

    ? 備注:inner join 是默認的連接方式,可縮寫為join。

    ? 轉化為where子句:

    ??? select * from 部門, 組織 where 部門.組織編號 = 組織.編號

    ?

    left outter join

    ? 格式: select * from 部門 left join 組織 on 部門.組織編號 = 組織.編號

    ? 格式: select * from 組織 left join 部門 on 組織.編號 = 部門.組織編號

    ? 目的:將左表的所有記錄列出,右表中只要符合on條件的,與左表記錄相拼合,不符合條件的,填以null值。

    ? 規律:

    ??? 1. 選出所有符合條件的左表,如果左邊與右表的關系是一對一的關系,則拼成的大表記錄不會改變。
    ?????? 如果左邊與右表的關系是多對一的關系,則拼成的大表記錄也不會改變。
    ?????? 如果左邊與右表的關系是一對多的關系,則拼成的大表記錄會增加。對于每一具有一對多關系的左表記錄,如果左表1:N與右表對應,那么會多出N-1條記錄。例如,如果左表第一條記錄1:3對應于右表,多出2條記錄。如果左表第二條記錄1:2對應于右表,則再多出1條記錄。這樣,總共多出3條記錄。其他類推。
    ??? 2. 如果左邊與右表的關系是一對多的關系,在選出的任一記錄中,假若右表有多個記錄與其對應,那么,連接后的左表,主鍵將不再唯一。
    ??? 3. 如果左邊與右表的關系是一對多的關系,對于左表任一記錄,如果右表沒有記錄與其相對應,則全部填以null值。

    ? 典型應用:將存在多關系的引用表放在左表,將存在一關系的被引用表放在右表,通過對右表設定過濾條件,選出相應的且主鍵唯一的左表記錄。

    ? 備注:left outter join可用left join代替。在有些數據庫中,如HSqlDb, 只能使用left join而不能使用left outter join。

    ? 轉化為where子句:

    ??? select * from 部門, 組織 where 部門.組織編號 = 組織.編號


    right outter join

    ? 格式: select * from 部門 right join 組織 on 部門.組織編號 = 組織.編號

    ? 格式: select * from 組織 right join 部門 on 部門.組織編號 = 組織.編號

    ? 目的:將右表的所有記錄列出,左表中只要符合on條件的,與右表記錄相拼合,不符合條件的,填以null值。

    ? 規律:(與left outter join相反)

    ? 典型應用:可轉化成left outter join。例如

    ??? select * from 組織 right join 部門 on 部門.組織編號 = 組織.編號
    ??? 與
    ??? select * from 部門 left join 組織 on 部門.組織編號 = 組織.編號
    ??? 的效果一樣

    ? 備注:right outter join可用right join代替。在有些數據庫中,如HSqlDb, 沒有實現right join功能。

    ? 轉化為where子句:

    ??? select * from 部門, 組織 where 部門.組織編號 = 組織.編號

    posted @ 2006-05-18 09:43 beyondduke 閱讀(5856) | 評論 (1)編輯 收藏

    2006年3月29日

    遞歸小程序

    遞歸

    posted @ 2006-03-29 09:31 beyondduke 閱讀(290) | 評論 (0)編輯 收藏

    2006年3月25日

    程序員的方向

    轉眼做程序已經1年半了,現在的工作似乎很不可思議,自己也搞不清是否真正屬于一個程序員。每天面對msn上幾十個客戶(大多數都是程序員),忙得不亦樂乎,總是不斷的switch workspace,客戶的問題你要能重現才行。也許這也是一種鍛煉吧,需要十足的耐心,千萬不能浮躁,一旦出現問題還要不斷的debug!

    posted @ 2006-03-25 11:21 beyondduke 閱讀(388) | 評論 (0)編輯 收藏

    2006年2月14日

    linux 下配置java環境(jdk和tomcat)

    JDK的配置:

        1,  下載j2sdk-linux-i386-rpm.bin
        2,運行命令:chmod +x j2sdk-linux-i386-rpm.bin     (修改成可執行權限)
        3,執行:./ j2sdk-1_3_1-linux-i386-rpm.bin        (執行后生成rpm安裝包j2sdk-linux-i386.rpm)
        4,rpm -ivh j2sdk-1_3_1-linux-i386-rpm     (安裝成功后,jdk將被安裝在/usr/java/目錄下)
        5,   vi當前用戶(例root目錄下)的.bash_profile文件,添加內容如下:

    1export JAVA_HOME=/usr/java/j2sdk1.4.2_10
    2export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.
    jar
    3export PATH=$PATH:$JAVA_HOME/bin

         6,java命令,驗證環境是否配置成功。

    TOMCAT的配置:
        
         1,下載jakarta-tomcat-5.0.28.tar.gz
         2, tar zxvf jakarta-tomcat.tar.gz
         3, 轉換路徑cd到tomcat/bin目錄下:./startup.sh (啟動tomcat)
         4, 在ie瀏覽器輸入http://servername:port   (驗證tomcat是否啟動成功)
          

       

    posted @ 2006-02-14 12:34 beyondduke 閱讀(899) | 評論 (0)編輯 收藏

    JDBC實現oracle blob 出庫入庫

    1,首先建一個足夠簡單的表imageTable
          id         varchar(20)
          image   blob
    2,blob入庫
          拷貝Sunset.jpg圖片在C盤根目錄下     
     1      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
     2      Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:beyondduke","duke","duke"); 
     3      conn.setAutoCommit(false); 
     4      BLOB blob = null
     5      PreparedStatement pstmt = conn.prepareStatement("insert into imageTable(id,image) values(?,empty_blob())"); 
     6      pstmt.setString(1,"10001"); 
     7      pstmt.executeUpdate(); 
     8      pstmt.close(); 
     9      pstmt = conn.prepareStatement("select content from imageTable where id= ? for update"); 
    10      pstmt.setString(1,"10001"); 
    11      ResultSet rs = pstmt.executeQuery(); 
    12     if (rs.next()) blob = (BLOB) rs.getBlob(1); 
    13      String fileName = "c://Sunset.jpg"
    14      File f = new File(fileName); 
    15      FileInputStream fin = new FileInputStream(f); 
    16      System.out.println("file size = " + fin.available()); 
    17      pstmt = conn.prepareStatement("update imageTable set image=? where id=?"); 
    18      OutputStream out = blob.getBinaryOutputStream(); 
    19       byte[] data = new byte[(int)fin.available()]; 
    20      fin.read(data); 
    21      out.write(data); 
    22      out.close(); 
    23      fin.close(); 
    24
    25      pstmt.setBlob(1,blob); 
    26      pstmt.setString(2,"fankai"); 
    27
    28      pstmt.executeUpdate(); 
    29      pstmt.close(); 
    30
    31      conn.commit(); 
    32      conn.close(); 
    瀏覽數據庫的數據,發現image項中數據大小與圖片大小一致,說明入庫了!
     3,blob出庫
     1   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
     2   Connection conn = DriverManager.getConnection(            "jdbc:oracle:thin:@localhost:1521:beyondduke""duke","duke");     
              conn.setAutoCommit(
    false);
     3    Statement stmt = conn.createStatement();
     4/* 查詢BLOB對象 */
     5    ResultSet rs = stmt.executeQuery("SELECT content FROM javatest WHERE id='1001'");
     6while (rs.next()) {
     7/* 取出此BLOB對象 */    
     8    oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("image");
     9 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("d://Sunset.jpg"));            
               BufferedInputStream in 
    = new BufferedInputStream(blob    .getBinaryStream());        
    10    int c;
    11while ((c = in.read()) != -1{ out.write(c);        
    12   }

    13   in.close();
    14   out.close();
    15   rs.close();
    16   stmt.close();
    17   conn.close();
    18
    檢查D盤根目錄,會發現Sunset.jpg文件,跟C盤下是一樣的,說明入庫出庫成功!

    posted @ 2006-02-14 09:23 beyondduke 閱讀(2662) | 評論 (0)編輯 收藏

    2006年1月7日

    java名人錄(csdn摘)

    Adrian Colyer AspectJ leader,AJDJ leader,IBM   
    Ben Galbraith 活躍人士  
    Benjamin Renaud BEA副CTO  
    Bill Burke JBoss 架構師,EJB 3.0專家組里的Jboss代表  
    Bob McWhirter Groovy,Drools founder  
    Cedric Beust Weblogic架構師,BEA  
    Cameron Purpy  JCache Lead,Tangosol公司CEO blog
    Cliff Schmidt  BEA's Open source strategist and Apache Beehive leader  
    Craig McClanahan Struts founder, JSF 1.0 spec lead, Java Studio Creator leader,《Struts in action作者》, SUN  
    David Nuescheler JSR 170, Content Repository for Java spec lead  
    Dion Almaer  TSS主編, JDO專家組成員 blog
    Doug Cutting Lucene founder
    Ed Roman TSS CEO, MiddleWare CEO,《Mastering EJB》作者  
    Erich Gamma 設計模式開創者,Eclipse 的總設計師, Junit founder,IBM  
    Edward Burns JSF 1.2 spec leader  
    Floyd Marinescu TSS General Manager,《EJB Design Patterns》作者  
    Gavin King Hibernate founder,《Hibernate in Action》作者,Jboss
    Gregor Hohpe  《Enterprise Integration Patterns》作者,ThoughtWorks  
    Gregor Kiczales AOP之父,AspectJ founder  
    Graham Hamilton Sun副總裁,J2SE1.3,1.4,5.0 leader  
    Hani Suleiman OSWorkflow開發者,BileBlog作者 blog
    Howard Lewis Ship Tapestry和Hivemind founder,《Tapestry in Action 》作者
    James Duncan Davidson Ant and Tomcat founder
    James Strachan Geronimo的發起者之一, Jakarta項目管理委員會成員,N多JSR expert group的成員  
    Jason Careria  Webwork2,Xwork core developer   blog
    Jason Hunter Apache基金會管理員,《Java Servlet Programming》作者,Xquery,Jdom等的開發者  
    John Crupi 目前專著于SOA, Sun  
    Jonathan Bruce  JDBC spec leader,Sun  
    Joshua Bloch 《Effective Java》作者,前java平臺核心開發者,目前在google。  
    Jon Tirsen Nanning lead developer, PicoContainer和NanoContainer活躍開 者,ThoughtWorks   
    Juergen Hoeler SpringFramework core developer,Co-Author Of《J2EE Development without EJB》  
    Kent Beck 設計模式的開創者之一。XP 和 TDD 的創始人,xUnit 的開發者。  
    Linda DeMichiel  EJB 3.0 spec lead,Sun  
    Marc Fleury JBoss Group CEO  
    Mark Hapner  J2EE1.4 lead. Sun Chief WebService Strategist and  JMS spec lead  
    Martin Fowler 軟件工程和建模領域的大師,Thoughtworks CEO blog
    Matt Raible 《Spring live》作者 blog
    Mike Cannon-Brookes
    OpenSymphony founder,Atlassian founder(JIRA的公司),
    <Java Open Source programing>作者,javablogs founder
     
    Pat Lightbody  Webwork founder  
    Patrick Linskey
    JDO活躍人士,JDO2.0,EJB3.0專家組成員  
    Rick Ross Javalobby founder  
    Rickard Oberg Xdoclet,Webwork founder, jboss的前架構師,目前主要研究AOP  
    Robin Roos JDO2.0活躍人士,《Java Data Object》作者  
    Rod Johnson SpringFramework   
    Scott Ambler Senior Consultant, 很多書的作者  
    Sergey Dmitriev Jetbrains CEO,Intelij IDEA founder  
    Ted Neward 《Effective Enterprise Java》作者 blog
    Vincent Massol Jakarta Cactus founder,Maven開發組成員, 《Junit in action》作者

    posted @ 2006-01-07 13:59 beyondduke 閱讀(848) | 評論 (0)編輯 收藏

    2005年12月24日

    TheServerSide.com's 4th annual Java Symposium --Session Descriptions

    Session Descriptions

    A Dozen Ways to Get the Testing Bug | Advanced Agile Technologies: Beyond XP | Advanced Analytic Applications with Java Data Mining | Advanced Testing Techniques with TestNG | AOP in the Enterprise | Apache Geronimo Prime-time | Beyond Java: Technologies to Watch | "Bottom 10" Reasons Agile Teams Fail | Building Identity Management Solutions | Building Quality Applications with Ajax | Building Quality Applications with Ajax Frameworks | Distributed Caching: Essential Lessons | Dive into RIFE | Essential EJB 3.0 Persistence | Extreme Web Caching | FastSOA: Applying Native XML Database Technology To Improve SOA Performance | Flow with Continuations | Java Specialists in Action | JCR vs. RDBMS: Your App. is a "Content App.", 10 symptoms! | The Mobile Java Application Continuum | Patterns in Service-Oriented Architectures | Open Source SOA using POJOs | OSWorkflow | Persistence with iBATIS - Hands On | Portlet Development with JSF | Productive Coder | RAD That Ain't Bad: Domain Driven Development with Trails | Refactoring Databases: Evolutionary Database Design | Shale: The Next Struts? | Software Visualization and Model Generation | State of Web Frameworks | Using Java Business Integration to Enable Composite Applications with ServiceMix | XQuery for the Java Geek | XML, Schemas and Performance | The Importance of Preserving Object Identity while Clustering



    A Dozen Ways to Get the Testing Bug
    Mike Clark

    You've heard everyone praising the benefits of test-driven development, and you'd really like to try it yourself, but how do you get started on a real project? This talk gives you 12 practical ways to start writing tests, and keep writing them, regardless of your project's technology or development process. You'll be able to immediately apply these no-nonsense techniques toward improving your design and testing skills. In no time you'll be writing better software, and faster!


    Advanced Agile Techniques: Beyond XP
    Scott Ambler

    Many development teams have adopted some, if not all, of the techniques of Extreme Programming (XP). There is far more to agile software development, however, than XP. In this presentation you'll learn advanced techniques such as initial architectural modeling, database refactoring, model storming, and agile documentation practices (yes, you still have to write documentation).


    Advanced Analytic Applications with Java Data Mining
    Mark Hornick

    Building applications without advanced analytics is becoming a dangerous practice. Applications that merely collect and report data using queries or OLAP will soon give way to competitor applications that enlist the help of advanced analytics capabilities such as data mining. The Java Data Mining standard (JSR-73) enables building advanced analytic applications natively in Java.

    In this session, Mark highlights an application involving campaign management – selecting customers for a product promotion. Response modeling involves identifying which customers are likely to respond to the promotion. First, Mark explores a solution without the use of data mining, then illustrate how that same application can be augmented with data mining technology to improve the response rate as well as the profitability of the campaign. Mark also provides an overview of JDM 1.0 (JSR-73) and the upcoming JDM 2.0 (JSR-247) standards and how these can be used to build such applications.


    Advanced Testing Techniques with TestNG
    Cedric Beust

    TestNG is a recent testing framework built on annotations that offers advanced testing functionalities such as test groups, method parameters, dependent methods and time-outs.  This presentation will offer a short introduction to TestNG and then will discuss some testing scenarios typically encountered by programmers in various software areas and how TestNG can help create elegant and simple testing designs.


    AOP in the Enterprise

    Adrian Colyer

    In this session Adrian will describe how and why you should be using AOP within your enterprise applications. You will gain a deeper understanding of the goals of AOP, and the different ways that AOP frameworks realize those goals. Spring AOP and AspectJ 5 will then be introduced, and their complementary roles within enterprise applications explained. Recommendations and a roadmap for getting started with these technologies will be presented (with examples and demos) so that you can begin applying what you learn during the talk straight away.


    Apache Geronimo Prime-time
    Jeff Genender

    Apache Geronimo is the latest open source application server to achieve J2EE 1.4 certification, making it ready for prime time in the Enterprise. It is now a real contender in the open source application server market and offers a unique architecture making different open-source projects pluggable and capable of building customized stacks. This session will present an overview of Apache Geronimo, its architecture, its major open source components, how it works, and how to configure and use the application server. This session will cover Geronimo's different concepts such as the kernel, GBeans, deployment and different configurations, and running the application server.



    Beyond Java: Technologies to Watch
    Bruce Tate

    Recently, we've seen a flurry of innovation happen in dynamic languages. From the Ruby on Rails framework to continuation servers to Erlang, a language based on concurrency, we've seen incredible innovation over the last two years. Many of these ideas are just now showing up on the Java platform in frameworks like Rife, Seam and Spring Web Flow.

    "Bottom 10" Reasons Agile Teams Fail
    Clinton Begin

    Agile methodologies such as eXtreme Programming and SCRUM are hot topics today -- and they are also hot targets.  When things go wrong on an agile project, it's far too convenient to blame the methodology.  Consequently it's often the case that the methodology is blamed, instead of the people charged with implementing it correctly.  In this talk Clinton will discuss the most common reasons a team may fail when trying to execute a project using an agile methodology.  He'll cover how to learn from the mistakes of others, and avoid repeating new mistakes of your own.

    Building Identity Management Solutions
    Justen Stepka

    Application developers are with what seems to be an unlimited number of approaches to integrating identity management and single sign-on(SSO).

    This presentation will focus on the existing solutions that are available, commerical and open-source and examples from each to help you understand what solution might best work for you. Best practices and lessons learned from popular approaches will be covered too.

    Building Quality Applications with Ajax
    Dion Almaer & Justin Gehtland

    Ajax has revolutionized Web application development in the short year since the term was coined. What is it all about? Why are we excited about a set of capabilities that have been sitting in our browser for years? What can you do with it? And, how can you do it?

    Ajax , short for Asynchronous JavaScript and XML, is a technique for communicating with servers from within a web page without causing a page refresh.

    This session provides:

    • An introduction to Ajax and an orientation to the state of the ajaxian universe
    • A demonstration of the basic ajaxian techniques through live coding. More advanced examples of Ajax will be demonstrated and deconstructed

    You will understand:

    • How the Google Maps UI is built (and why it isn't as hard as it looks)
    • How Ajax can improve portals, community sites, and pretty much any other type of web application.

    Furthermore, the issues surrounding how to create an Ajax application that doesn't turn into an unmaintainable pile of hacked up crap JavaScript will be discussed.

    This talk will be presented by the founders of Ajaxian.com, a popular Ajax-related web portal.


    Building Quality Applications with Ajax Frameworks
    Dion Almaer & Justin Gehtland

    Ajax techniques can lend tremendous richness to your Web UIs. But Ajax can be tedious and difficult to implement from scratch. Fortunately, there are a number of powerful frameworks that can make it much easier to do Ajax, including some that integrate with Java-based Web frameworks.

    This session demonstrates (through live coding):

    • The popular Prototype, Dojo, MochiKit, DWR and Scriptaculous frameworks, each of which offers unique abilities to enhance your applications. These frameworks can be used with any server-side framework
    • Their use with Struts and JavaServer Faces applications

    This talk will also discuss the state of Ajax support for JavaServer Faces via third-party JSF components and JSF-specific frameworks.

    You will understand:

    • How to easily add amazing Ajax effects to your Java-based Web application.


    Distributed Caching: Essential Lessons
    Cameron Purdy

    This presentation covers application development considerations for achieving maximum scalable performance and reliability in clustered J2EE environments, improving scalability and scalable performance of applications through the use of clustered caching to reliably share live data among clustered JVMs in the application tier, providing transparent fail-over as a key element of uninterrupted operation, and reduced load on the database tier as a key element of scalability.


    Dive into RIFE
    Geert Bevin

    RIFE is a full-stack, open-source Java web application framework, offering fast results with the promise of maintainability and code clarity. This presentation gives you an exclusive insight into its goals and underlying ideas. Through some practical examples, the most important modules are introduced and you'll understand that it's very easy to quickly cover a great distance.

    Essential EJB 3.0 Persistence
    Doug Clarke

    A crash course introduction to EJB 3.0 Persistence of Java Enterprise Edition 5.0. The goal of this session is to demonstrate how to apply the EJB 3.0 Persistence functionality in enterprise application development. Attendees will leave with enough information to get them started building enterprise applications using this new standard. The material will be presented using live demos of application development, testing, and deployment. The persistence capabilities both within and outside of an EJB container will be highlighted.

    The open source reference implementation of the EJB 3.0 Persistence, TopLink Essentials, will be used in conjunction with the Eclipse Dali EJB ORM Project tools to build an end to end application illustrating common patterns and best practices.


    Extreme Web Caching
    Jason Hunter

    Web Caching is very important for high traffic, high performance web site but few people know all the professional-level strategies. In this talk I'll share some of the tricks of the trade, including advanced tips from Yahoo's Mike Radwin.

    We'll start with the basics: using client-side caches, conditional get, and proxies. Then we'll talk about more advanced features: how best to handle personalized content, setting up an image caching server, using a cookie-free domain for static content, and using randomization in URLs for accurate hit metering or sensitive content.

    Attendees should have experience or interest in how the web works and in cajoling the web into doing their bidding.


    FastSOA: Applying Native XML Database Technology To Improve SOA Performance
    Frank Cohen

    The choices Web Service architects and developers make on XML handling libraries, XML message encoding styles and binding utilities, and XML schema design and complexity, have a great impact on the scalability and performance of the deployed service. In this presentation, Frank Cohen will show the results of a recently completed research project that show the performance characteristics of three representative use case implementations on a variety of application servers, both commercial and open-source. Cohen will describe the developer learning curve and productivity story encountered when building the implementations with a wide variety of tools. Cohen will give attendees a kit of the software, a performance test, and developer guide book to use in your own environment.

    Flow with Continuations
    Geert Bevin

    Get back in control of the natural flow of your application.

    Continuations leverage the expressiveness of Java for the creation of re-enterable execution points. This presentation explains what continuations are and why they are useful. The benefits quickly become apparent through side-by-side comparisons with traditional flow management. You'll get an overview of the different approaches of today's tools and will see that continuations are handy in many application domains.

    Java Specialists in Action
    Dr. Heinz Kabutz

    Java has some features that make it highly flexible to work with, like putty in the hands of a craftsman. Java specialists are not shy to use advanced features like dynamic proxies, generics, enums to their advantage. In this talk, we will demonstrate some approaches of using Java's dynamic proxies to create virtual proxies, protection proxies, dynamic object adapters and dynamic decorators. A part of the talk will also explore the performance implications and compare it with the benefits gained. P.S. If you are wondering why “enum” is listed under “advanced features” you should definitely attend this talk.


    JCR vs. RDBMS: Your App. is a "Content App.", 10 symptoms!
    David Nuescheler

    In many applications the typical short-comings of relational databases are covered up either by using database centric frameworks or even worse by using secondary storage. This shows in symptoms that we all know: Binaries go into a Filesystem, "unstructured" information is stored in XML, etc...

    This session is geared to prove that a JCR compliant content repository is the ideal general purpose "Future Storage" for modern Applications that require commodity features like Versioning, Fulltext search, Hierarchy support, Ranking, Namespaces without sacrificing transactions, referencial integrity and scalability.

    Expect real-life examples and code-snippets.

    The Mobile Java Application Continuum
    Eugene Ciurana

    J Mobile Java has historically being confined to games and trivial applications for personal and mobile devices.  Failure or reluctance on behalf of the manufacturers and carriers to implement a full range of services has prevented the wide adoption of the technology for robust applications.  This presentation introduces an execution architecture for rich mobile Java applications and for interacting with e-commerce or enterprise systems.  Robust mobile application design requires coordination with multiple tiers of resources and overcoming the limitations of J2ME/CLDC and the current crop of JSR implementations.  This presentation will teach you how to design and implement a Java mobile application that operates in a seamless continuum from the handset device to your data warehouse and with third-party service providers.

    Open Source SOA Using POJOs
    James Strachan

    This session will provide an overview of how folks should develop SOA applications so they can take advantage of various middleware technologies like JMS, RMI, WS, JBI, BPEL etc yet keep their code simple and POJO like and to deal with things like asynchronous messaging, ESBs and so forth showing examples using different Apache tools and frameworks.


    OSWorkflow

    Hani Suleiman

    OSWorkflow is a workflow engine from the OpenSymphony group. The talk will be an introduction of the osworkflow engine, a brief discussion of its architecture, as well as highlighting use cases and illustrating integration and usage patterns.

    Patterns in Service-Oriented Architectures
    Gregor Hohpe

    If this was buzzword bingo I probably would be an instant winner with this session title. Nevertheless, patterns and service-oriented architectures do have very interesting and relevant intersection points. Both terms are fashionable, somewhat blurry and often abused. Both terms are also very much about architecture and design trade-offs – the softer side of software development. Despite all the hype, SOA brings alternative architecture styles and programming models into the mainstream. We now write software using process engines, asynchronous message flow, rules engines, transformations etc. Each style comes with a collection of patterns that should be recognized and documented so that we can build effective solutions and discuss design trade-offs outside of specific technology choices and implementations.


    Persistence with iBATIS - Hands On
    Clinton Begin

    A wise man once said: "PowerPoint is the worst thing ever to happen to public speaking." So, in this session, Clinton will use only a Java IDE and real-world examples to demonstrate how iBATIS is used to create an effective persistence layer for your application.  He will risk life and limb (or at least his reputation) coding before an audience, to build the back end of a simple Java application using a Test Driven approach.  No code snippets here, the persistence layer will be coded from scratch -- with no safety net!



    Portlet Development with JSF
    Kito Mann

    Component-oriented user interface frameworks such as JavaServer Faces (JSF) are growing in popularity, and organizations are also beginning to recognize the power of building application components with the Portlet API. What many don't realize, however, is the fact that JSF has integrated support for the Portlet API, making it a natural fit for building portlets. This session starts with a brief overview of JSF, portlets, and portals. It then explains how JSF portlet support works, and examines the process of developing portlets with JSF. Next, it walks through the development of a simple JSF application and deployment of that application as a portlet inside of Liferay Enterprise Portal, an open-source portal server.

    Productive Coder
    Dr. Heinz Kabutz

    Code Java at the speed of light. Modern IDEs have revolutionised the way in which we are able to churn out code. But sadly, most programmers are held back by bad habits and so never fully utilise the power that is at their fingertips. This talk will demonstrate practical tips on how to go from 2nd gear to overdrive. Topics range from keyboard skills to writing useful comments to refactoring quickly and correctly. Keywords such as final, which is not so final anymore in Java 5, and tools to help you detect dead and duplicate code. Have more fun in your day-to-day Java work by becoming one with your machine.


    RAD That Ain't Bad: Domain Driven Development with Trails
    Chris Nelson

    The Trails framework aims to take a new approach to Rapid Application Development in Java using proven frameworks like Spring, Tapestry, and Hibernate. By eliminating redundant steps in the development process and stressing convention over configuration, Trail can greatly accelerate development of RDBMS persistent web applications. In this session, we'll build a real Trails application in a few minutes, and then dive into the details of how Trails works and how to customize it to your heart's content. We'll also cover how Trails provides features you need to build real application such as validation, internationalization, and security.


    Refactoring Databases: Evolutionary Database Design
    Scott Ambler

    Just like you can refactor your Java code, you can also refactor your database schema. Unfortunately, it's about an order of magnitude tougher to do, in part because of the increased coupling which your schema is involved with, in part because of a lack of tooling, and in part because of cultural challenges within the data community (and that's the nice way to say it). In this presentation you'll learn how to successfully overcome these challenges and discover how to take an agile approach to database development.


    Shale: The Next Struts?
    Craig McClanahan

    The standardization of JavaServer Faces has led to support for this technology in existing web application frameworks. However, most of them treat it as a view tier technology only. Shale, on the other hand, leverages the fact that JavaServer Faces includes a controller tier as well, and focuses on adding value and ease of use features, rather than redundantly implementing functionality that is already available. This session will review the key features added by Shale, as well as its place in the Struts community.


    Software Visualization and Model Generation
    Gregor Hohpe

    Models are often viewed as something you create during design time and use to generate code. What if we turn the approach up-side-down and generate models from code? Humans are very good at recognizing patterns in images, making visualizations a valuable tool, for example to recognize dependencies or data flow. This is particularly true for dynamic, loosely coupled systems that are often less explicit and evolve over time. Once you have generated a model you can take things a step further and run checks and validations against it. Visualizations can also be used to plot out source code metrics over various dimensions to detect potential “hot spots” in the application that may require special attention.

    This talk applies the concepts of visualization and model generation to a broad range of usage scenarios, such as asynchronous messaging, software components and object-oriented applications.


    The State of Web Frameworks
    Craig McClanahan

    The last couple of years have seen a burst of both standardization and increased innovation in web application frameworks, to say nothing of the very quick uptake in popularity of AJAX. What does it mean for choosing server side technology? What does AJAX mean to existing frameworks? Should we all go back to rich clients instead? Come to this session for a high level overview of the present, and future, of building rich applications for the web.


    Using Java Business Integration to Enable Composite Applications with ServiceMix
    Bruce Snyder

    Java Business Integration (JBI) is a simple API to a Normalized Message Service and Router along with a component model to facilitate the deployment and management of integration services. ServiceMix is a leading open source Enterprise Service Bus (ESB) and Service Oriented Architecture (SOA) toolkit based on the Java Business Integration

    (JBI) specification. ServiceMix provides business integration capabilities using a complete JBI container and a host of JBI components including those for orchestration, rules, scheduling, transformation, validation and JBI transports including those for email, file, FTP, HTTP, JMS, RSS, VFS, VM and many more.

    This session will focus on using ServiceMix in a composite application scenario that takes advantage of its JBI implementation and its use of other Java Enterprise Edition specifications.

    Using the Apache License, not only can ServiceMix be deployed in a standalone configuration, but it is also fully integrated with Apache Geronimo or any other J2EE 1.4 compliant application server via the J2EE Connector Architecture (JCA). Fully embracing the Java Message Service (JMS) and Web Services standards allows ServiceMix to provide reliable and robust message delivery regardless of the message payload. The ServiceMix SOA platform provides for the managment of its JBI components via the Java Management eXtensions (JMX) using any JMX compliant management console.


    XQuery for the Java Geek
    Jason Hunter

    XQuery is a new language from the W3C that lets you query XML -- or anything that can be represented as XML, such as relational databases.

    As a Java developer -- especially a server-side Java developer -- XQuery is key to searching and manipulating large XML repositories or performing any XML-centric task.

    This talk introduces XQuery to the Java developer. I'll explain the XQuery language; I'll show how to call XQuery from Java (including coverage of JSR-225, the XQuery API for Java); and I'll show the XQuery and Java code behind a sample custom book publishing application.

    As the creator of JDOM, I'll also explain when to use XQuery instead of JDOM, and when to use both.

    XML, Schemas and Performance
    Frank Cohen

    The IT world is dealing with an explosion of XML schemas and the average Java engineer is not prepared with today's XML tools and techniques. For instance, SOAP, RSS, REST, SOA schemas and protocols, and AJAX are challenging developers every day. In this session Frank Cohen will give many examples of XML schema incompatibility, inefficient and needlessly bulky code, and poor performance and scalability that come with popular XML handling libraries, tools, and techniques. Cohen will show how new strategies for on-the-fly data schema transformation, SOA metadata persistence and versioning and policy-driven intelligent data caching are viable solutions.

    BOFs

    The Importance of Preserving Object Identity while Clustering
    Jonas Bonér and Patrick Calahan, Terracotta

    Clustering and other forms of distributed computing are not easy in Java. The proliferation of clustered caches in the market today illustrates the need for tools to make clustering in Java easier. The problems with most current solutions are that they break Java's natural programming model – with unnatural API's and breaking fundamental object identity. This Birds of a Feather session will focus on the importance of preserving object identity in a cluster, and will illustrate a runtime system that understands the developer's domain objects and clusters objects across a cluster transparently while maintaining object identity, using detailed code examples to illustrate the concepts.

     

    posted @ 2005-12-24 10:55 beyondduke 閱讀(806) | 評論 (0)編輯 收藏

    僅列出標題  下一頁
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告


    MSN聯系

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    我的連接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲码国产精品高潮在线| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲娇小性色xxxx| 日本不卡在线观看免费v| 精品国产福利尤物免费| 亚洲精品动漫在线| 免费a级毛片无码a∨性按摩| 四虎影视在线影院在线观看免费视频 | 花蝴蝶免费视频在线观看高清版 | 在线观看亚洲免费视频| 国产色无码精品视频免费| 亚洲一区AV无码少妇电影| 亚洲色欲色欲www在线丝 | 免费一级毛片在线播放| 一级毛片免费毛片一级毛片免费| 激情无码亚洲一区二区三区| 亚洲AV无码一区二区三区系列 | 国产精品jizz在线观看免费| 99在线视频免费| 亚洲精品国产日韩无码AV永久免费网| 久久精品亚洲一区二区三区浴池| 免费在线不卡视频| 114一级毛片免费| 伊人久久大香线蕉免费视频| 蜜芽亚洲av无码一区二区三区 | 亚洲成a人片在线观看中文!!!| 亚洲男人av香蕉爽爽爽爽| 99久久这里只精品国产免费| 免费看一区二区三区四区| 美女一级毛片免费观看| 亚洲xxxx18| 亚洲日本国产乱码va在线观看| 亚洲精品中文字幕乱码三区| 免费二级毛片免费完整视频| 成人毛片视频免费网站观看| 最近的中文字幕大全免费8| 高清永久免费观看| 色爽黄1000部免费软件下载| 亚洲s码欧洲m码吹潮| 亚洲综合久久一本伊伊区| 亚洲综合久久综合激情久久|