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

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

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

    秋風的蕭瑟 又見湖邊木葉飛

    歡迎來到梁良 | LonBlog,這里記錄下了我生活點點滴滴。

    2010年9月2日

    Javascript和Ajax中文亂碼吐血版解決方案

     

    今天弄了一天的Ajax中文亂碼問題,Ajax的亂碼問題分為兩種:

    1. JavaScript輸出的中文亂碼,

    比如:alert("中文亂碼測試");

    2. 這第二種就是Ajax從服務器端獲得的數據出現亂碼的問題。(我搜了n個小時試了n中方法才找到答案)

    現在將我搜集的比較有效的方法都與大家分享:(我使用的開發環境是Eclipse,相信其他語言和開發環境都差不太多。)

     比如

    var message = xmlHttp.responseText;
     alert("message: "+message);

    獲得這個message輸出就是亂碼

     

    解決辦法有兩種:

     

    (1)在jsp文件里引入js文件時可以這樣寫:<script Charset="UTF-8" type="text/javascript" src="jslib/jquery-1.4.2.min.js"></script>,該方法具有移植性

    (2)(該方法可能會導致換一臺電腦導入項目后js文件里中文會亂碼). 修改編碼。切記要將代碼備份一下,改了編碼之后中文會變為亂碼。

    在js文件上右鍵點擊Properties,最好是在菜單欄欄里選擇Window-->Perferences(以絕后患),修改Text file encode 為UTF-8(這里應當與jsp中的編碼相同) 

     

    同樣的將JavaScript source file和JSP的Default encoding設置為UTF-8(這里應當與jsp中的編碼相同,這樣以后的項目就都是utf-8的編碼了,推薦使用這個)

    (2). 注意response.setContentType("text/html;charset=utf-8");和PrintWriter out = response.getWriter();的位置關系,切記要將PrintWriter out = response.getWriter();放在response.setContentType("text/html;charset=utf-8");的后面,否則設置的編碼將無效,這也是我弄了n久都搞不定的原因!!!

      

    3. 客戶端發給服務器端得中文數據為亂碼

     

     

    解決辦法:示例:客戶端的javaScript腳本

     

    function verify(){
        $.get("AJAXServer?name="+encodeURI(encodeURI($("#userName").val())),null,function callback(data){$("#result").html(data);});
    }

    ?注意:encodeURI需要使用兩次!

    服務器端代碼:
              //1.取參數
              String str = request.getParameter("name");
              str = java.net.URIDecode.decode(str,"UTF-8") 

    posted @ 2014-08-27 08:22 梁良 閱讀(1698) | 評論 (0)編輯 收藏

    PSP版豆瓣電臺獨家發布 (2012-3-28 更新:公共頻道。)

    下載發布
     
    中文名稱   psp版豆瓣電臺 (2011年6月24日 更新)
    原文名稱   psp版豆瓣電臺
    發行版本
    開發人員
      1.1.5
      LonLeung
    游戲類型   多媒體
    發行廠商   豆瓣 © 2005-2012 douban.com, all rights reserved
    容量大小   103 KB
    語言   中文
    其他   京ICP證090015號 京ICP備09113438 網絡視聽許可證0110418號 文網文[2009]267號

    安裝和使用方法:將壓縮包“psp版豆瓣電臺”文件夾的“PSP”文件夾解壓在psp根目錄中,在XMB的“網絡”-》“互聯網電臺”-》“douban.fm”中打開。注意系統選擇中文,編碼GBK(936),瀏覽器文字編碼:自動選擇
            Update:                   

                        1.0.0
                        2010-6-18 新建PSP豆瓣電臺項目

                        1.0.1
                        2010-7-20 第一個Demo

                        1.0.2
                        2010-8-8  在1.0.1版本上增加了官方UI

                        1.0.3
                        2011-5-15 PSP豆瓣電臺發布

                        1.0.4
                        2011-5-17 新增加20個豆瓣頻道,用搖桿光標選擇下拉框的頻道后自動播放相應頻道的歌曲

                        1.0.5
                        2011-5-22 新增豆瓣私人頻道

                        1.0.6
                        2011-5-23 新增加紅心、去紅心、刪除歌曲功能

                        1.1.0
                        2011-5-24 新增Lee MHz 頻道、優化UI

                        1.1.1
                        2011-5-25 修正歌曲還差0.5秒未播放完就開始跳歌問題

                        1.1.2
                        2011-5-27 修正Skip歌曲時延時問題,增加短報告處理方法,刪除UI中多余的控件讓界面更清爽

                        1.1.3
                        2011-6-1  增加長報告處理方法,使后臺的歌曲喜好計算更加準確
                        1.1.4
                        2011-6-10 新增一臺服務器,今后開始采取自動腳本更新方式,方便同學們升級。
                        1.1.5
                        2011-6-24 作者 Saoirse Ronan 對豆瓣電臺圖標進行了美化修復

              psp版豆瓣電臺.rar (145.32 KB) 下載地址:

     

    thunder://QUFodHRwOi8vMTI3LjAuMC4xLzExMDUxNjE4NDlmODdkN2EyOTNhZGRjNWVhLnJhcj9maWQ9ZnVTVnFDTTFNcDVkSlp1eGhMRjlKMjRSNGtwR1JRSUFBQUFBQUs2YldpMGo3SThjK2FRZzdkQ1pyandzWUxXcCZtaWQ9NjY2JnRocmVzaG9sZD0xNTAmdGlkPTRGMjJFOUUyQjkxMjhEN0UxRUNGNTUwMUE4NDNFOTRBJnNyY2lkPTZaWg==


    (2011年5月18日 更新:新增加二十多個豆瓣頻道)
     
    115網盤:http://u.115.com/file/bhnqilut
     
     thunder://QUFodHRwOi8vMTI3LjAuMC4xL3BzcOeJiOixhueTo+eUteWPsCgyMDExLTUtMTjmm7TmlrApLnJhcj9maWQ9VzVnWEZLbW90cThPOHpldmRnQmxUWFFtcUF1alJRSUFBQUFBQU9nZjBYeHVBaS9TVWZneUlwazN5c2hSL0FBZyZtaWQ9NjY2JnRocmVzaG9sZD0xNTAmdGlkPTU5RDA1MkYwNTJFMTQzQUEwMzg2N0QwNkZBM0YzREQ4JnNyY2lkPTZaWg==

    (2011-5-22 更新:新增豆瓣私人頻道)

    115網盤:http://u.115.com/file/aq86ktqe

    (2011-5-23 更新:新增加紅心、去紅心、刪除歌曲功能)
    115網盤:http://u.115.com/file/aq86k99f
     
    (2011-5-24 更新:新增Lee MHz 頻道、優化UI)
     
    115網盤:http://u.115.com/file/aq867udi

    (2011-5-25 更新:修正歌曲還差0.5秒未播放完就開始跳歌問題)
    115網盤:http://u.115.com/file/e61dkddd

    (2011-5-27 更新:修正Skip歌曲時延時問題,增加短報告處理方法,刪除UI中多余的控件讓界面更清爽)

            115網盤:http://u.115.com/file/e61dk1rk

    thunder://QUFodHRwOi8vMTI3LjAuMC4xL3BzcOeJiOixhueTo+eUteWPsCgyMDExLTUtMjfmm7TmlrApLnJhcj9maWQ9M2dVc3dvVG1ZUWlONjlCYndoanZMQ2pPWXJwOG5BRUFBQUFBQU0xSUVyM003TnRiR1ZGY0hWYUE2WXJzejBIZiZtaWQ9NjY2JnRocmVzaG9sZD0xNTAmdGlkPTA2OTAyMjYxOTNGREFEMTgyRjdBNjg3MzU5NjE0Qzc2JnNyY2lkPTZaWg== 
     
     (2011-6-1 更新: 增加長報告處理方法,使后臺的歌曲喜好計算更加準確)
     
     dbank網盤: http://dl.dbank.com/c0pfpb8e53 

            (2012-3-28 更新: 公共頻道) 
     
            dbank網盤: http://dl.dbank.com/c0gdv0aj9c


    posted @ 2011-05-16 19:42 梁良 閱讀(5490) | 評論 (34)編輯 收藏

    Visual Studio 2008中文正式版下載和破解

    Visual Studio 2008中文正式版下載和破解

    Visual Studio 2008中文正式版官方下載地址:

    下載壓縮分卷:(7個分卷壓縮包均需下載才能正常安裝,包含MSDN。解壓后是一個ISO文件,前面6個壓縮包均為700M,最后一個壓縮包為142M)
    分卷1
    分卷2
    分卷3
    分卷4
    分卷5
    分卷6
    分卷7
    Visual Studio 2008團隊資源管理器:
    http://download.microsoft.com/download/d/7/2/d72f8415-7b4b-4168-ba3b-65c3ca4c1f81/VS2008TeamExplorerCHS.iso

    另附兩個Visual Studio 2008非官方下載地址:

    首先聲明這和MSDN上提供的90days-trial是不同的版本。電驢上已經有ZWT放出的VSTS2008了,下載中,目前還無法驗證其真實性。另外還有一個BT下載的種子,同樣是ZWT放出的這個版本,似乎連接數不多。之前公布的Visual Studio Team System 2008 正式版下載,確認是真貨。
    eMule下載:Visual.Studio.Team.System.2008-ZWTiSO

    BT下載:Microsoft.Visual.Studio.Team.System.2008.Team.Suite-ZWTiSO.zip
    把Visual Studio 2008九十天試用版本升級成正式版的辦法:
    第一種:
    升級正式版的方法是把Setupsetup.sdb文件中的[Product Key](用UltraISO編輯),

    T2CRQGDKBVW7KJR8C6CKXMW3D

    修改為

    PYHYPWXB3BB2CCMV9DX9VDY8T

    因為九十天試用版本已經是 rtm版本。所以改變序列號以后的升級或者安裝,就會變成正式版。不再有使用期限。

    第二種:在開始>設置>控制面版>添加或刪除程序>卸載Visual Studio 2008>出現卸載界面>點擊Next>輸入上面CD-key ->出現成功畫面即可完美將試用版升級成為正式版。
    Visual Studio 2008正式版序列號CDKEY:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T

    另附 Visual Studio 2008 SP1

    posted @ 2011-02-27 15:58 梁良 閱讀(4070) | 評論 (1)編輯 收藏

    又一個山寨的 Google 瞬時搜索,好處是它可以加密搜索

    wmr山寨了一個Google瞬時搜索。其使用了Google Ajax Search API,將其中的onkeyup加入了action的值,就得到了一個瞬時搜索。其對比之前的那些山寨瞬時搜索的優勢在于支持加密傳輸,不怕發生意外。

    posted @ 2011-01-09 21:55 梁良 閱讀(1472) | 評論 (0)編輯 收藏

    Wine 1.3.11

    Wine是一個在X86、X86-64上容許類Unix操作系統在X Window System下運行Microsoft Windows程序的軟件。另一方面,計算機程序設計師能經由Wine的程序庫將視窗的程序轉移至類Unix操作系統中運行。也有不少軟件經過 Wine測試后發布,比如Picasa,uTorrent,MediaCoder. Wine解為 "Wine Is Not an Emulator",即Wine不是模擬器。雖然Wine有另一個非官方名稱,"Windows Emulator",即Windows模擬器。Wine的正確名稱是"Wine",不是全大寫、全小寫或大小寫混合.Wine是自由軟件,在GNU寬通用公共許可證(LGPL) 下發布.

    下載:http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.11.tar.bz2

    What's new in this release (see below for details):
    - PO files now used for translations.
    - Various JavaScript improvements.
    - Some fixes to the Wine debugger.
    - Translation updates. - Various bug fixes.

    posted @ 2011-01-09 21:12 梁良 閱讀(1366) | 評論 (0)編輯 收藏

    《PSPo2i》《啪嗒砰3》全系統通用破解版下載

    在剛推出體驗版不久的時間,在網上再次出現了兩個游戲的破解版。這次的神速破解全系統通用確實讓人驚嘆,到底是誰做的好事呢?目前暫時還是一個謎,但是對于廣大還處于低端固件系統的玩家來說,這無疑是一大的福音。那么小編也神馬都不說了,快速的下載游戲的破解版吧。

    PSP 游戲破解版 夢幻之星:攜帶版2無限

    PSP 游戲破解版 夢幻之星:攜帶版2無限

    PSP 游戲破解版 夢幻之星:攜帶版2無限

    PSP 游戲破解版 啪嗒砰3

    PSP 游戲破解版 啪嗒砰3

    PSP 游戲破解版 啪嗒砰3

    PSP 游戲破解版 啪嗒砰3


    點擊下載

    posted @ 2011-01-08 21:51 梁良 閱讀(1364) | 評論 (0)編輯 收藏

    PSP歐版 憤怒的小鳥 下載

    游戲名稱:憤怒的小鳥
    英文名稱:Minis - Angry Birds
    制作廠商:Abstraction Games / Rovio Mobile Ltd.
    代理發行:Chillingo Ltd.
    游戲類型:ACT - Action Game(動作射擊游戲)
    載體容量:UMD×1
    對應主機:Play Station Portable / Nintendo Wii / Nintendo Dual Screen / Android / iPhone / iPad
    語言版本:英文(歐版)
    發行日期:2011年01月05日(PSP歐版)
    官方網站:http://www.chillingo.com/sku.htm?sid=269
    游戲簡介:
        益智動作射擊游戲《憤怒的小鳥》(Angry Birds)是Rovio Mobile開發的一款極為有趣的小游戲,曾經在蘋果、谷歌手機平臺以及網頁游戲上推出過作品。日前游戲發行商Chillingo公司正式宣布這款作品將會登陸PSP掌機,游戲目前預定2011年1月份在PSN上以MINIS游戲販賣的形式提供下載。
        《憤怒的小鳥》玩家控制一群不同樣子的小鳥從一群丑惡的肥豬手里搶回他們珍貴的蛋。而那些肥豬則建造了各種各樣不同材料的碉堡和防御設施來防御這群憤怒的丟了蛋的小鳥。而游戲的故事也相當有趣,為了報復偷走鳥蛋的肥豬們,鳥兒以自己的身體為武器,仿佛炮彈一樣去攻擊肥豬們的堡壘。游戲是十分卡通的2D畫面,看著憤怒的紅色小鳥,奮不顧身的往綠色的肥豬的堡壘砸去,那種奇妙的感覺還真是令人感到很歡樂。而游戲的配樂同樣充滿了歡樂的感覺,輕松的節奏,歡快的風格。不過在進行游戲的時候卻沒有這樣的音樂,有點可惜。但是將鳥兒們彈射出去時,鳥兒的叫聲倒是給人很好笑的感覺。

        游戲總共有100多個關卡可以選擇,每一關都有一定數量的小鳥可供選擇,他們總共有6個不同的種類,每一種都有不同的攻擊效果,玩家的終極目標就是將這些小鳥像彈弓一樣彈射出去,摧毀那些肥豬的碉堡。當所有躲在碉堡里的肥豬被砸扁或者做掉之后,游戲就過關了。通過嘗試不同的方式和不同的彈射角度,玩家還可以在每一關獲得不同的成績,以至最終的三星的評價!
        《憤怒的小鳥》的MINIS版本會完整移植經典版本的所有內容。




    游戲下載:

      迅雷/本地:下載地址1 下載地址2

      115網盤:下載地址


    P.S..博主認為psp版的小鳥沒有iphone操作的流暢。

    posted @ 2011-01-08 21:50 梁良 閱讀(1345) | 評論 (0)編輯 收藏

    6.35 HEN V2/6.36 HEN(alpha v3版)發布

    HEN發布:忠貞炙烈之炎

      由忠貞炙烈之炎發布的6.36 HEN測試版發布,同時忠貞炙烈之炎還發布了6.35的v2 HEN測試版,下面我們一起來看下具體的更新內容以及說明吧:

     

    以下是引用片段:

    忠告:5.03和6.20用戶,沒有必要來升級.這個HEN問題還很多;你的固件版本必須和你下載的HEN完全一樣。不要小看了0.01的版本差。.如果你版本(如6.30)不夠先升級去。

     

      PSP 6.35 HEN(v2版)更新內容:

      修復了03g支持;修復了wifi不能在非標準頻率外啟動的問題。

      PSP 6.36 HEN(下載文件已更換為alpha v3版)更新說明:

      目前只有在PSP 1000主機系統為6.36上才能完全正常運行。PSP 2000/3000/PSPgo 主機系統為6.36官方固件目前需要等待忠貞炙烈之炎發布新的可用的HEN,也可以去這里參與測試,測試方法如下:

     

    以下是引用片段:

    目前狀況:

      至少Prometheus ISO Loader是可以運行的。
      支持大內存支持(MEMSIZE=1)
      支持插件(放在plugins而不是seplugins)
      支持version.txt(放在ms0:/)

      我需要其他機型的測試者來測試獲取一些重要的數據。

    測試方法:

      1.PSP 2000/3000/3000(04g) 請取下電池,直接使用電源(PSPgo主機無須進行這一步,);

      2.然后在按L鍵不放的情況下,進入HBL運行HEN,屏幕會提示:"Kernel memory will be dumped into ms0:/KMEM.BIN and ms0:/SEED.BIN";

      3.然后將你們棒子上生成的kmem.bin和seed.bin打包上傳給我,并附帶你的機器型號,HEN運行情況等。

      可以降級到6.35了,把老版本固件的version.txt放在根目錄,然后運行6.35固件升級程序即可。目前只能降級到6.3X固件。降級過程在PSP-1000上成功,降級有風險后果自負

     

    安裝及破解說明:

      1.確認你的PSP主機為6.31/6.35/6.36官方系統(注:6.36為《怪物獵人P3》UMD中自帶的官方固件);

      PSP 6.31官方系統升級固件:下載地址

      PSP 6.35官方系統升級固件:下載地址

      2.根據你的系統,下載對應的HEN程序(以下程序包括大眾高爾夫、大眾高爾夫漏洞、HBL以及HEN程序);

      PSP 6.35 HEN(alpha v2版)下載:點擊下載 PSP/PSPgo全主機適用

      PSP 6.36 HEN(下載文件已更換為alpha v3版)下載:點擊下載 僅適用于PSP1000主機

      3.將下載得到的“PSP”、“h.bin”、“HBL”,三個文件拷貝至PSP記憶棒(PSPgo為內置存儲)中,覆蓋即可。(注:覆蓋并不影響文件夾內的其它文件)

      4、參考這里教程的步驟,在6.35/6.36官方系統下將你的主機安裝加載對應的6.35/6.36 HEN程序。

    posted @ 2011-01-08 21:44 梁良 閱讀(1357) | 評論 (0)編輯 收藏

    游戲解包/簽名軟件發布 無須自制系統也能玩?

            黑客Mathieulh宣布破解PSP密匙算法,并由此得到了PSP的授權簽名,簡單來說就是完全的完美破解,取得簽名后,黑客能夠不需要通過自制系統不需要通過漏洞,完全自由控制PSP運行任意軟件、任意游戲。

      就在前不久,Mathieulh沒有直接公布破解PSP密匙算法的源代碼而是發布了PS3/PSP共用的PS3/PSP PKG Decrypter Extractor v1.0(游戲解包/取得簽名的文件,取得簽名就意味著游戲無須通過自制系統/漏洞/ISO引導就能直接在PSP主機上運行)。那么我們就來看看Mathieulh黑客以及其它的黑客大神們會利用這個給PSP帶來怎么樣的破解吧。

    posted @ 2011-01-08 21:43 梁良 閱讀(1120) | 評論 (0)編輯 收藏

    PKG Decrypter Extractor v1.0發布

      我們早前報道過黑客Mathieulh宣布破解PSP密匙算法,并由此得到了PSP的授權簽名,簡單來說就是完全的完美破解,取得簽名后,黑客能夠不需要通過自制系統不需要通過漏洞,完全自由控制PSP運行任意軟件、任意游戲。

      就在前不久,Mathieulh沒有直接公布破解PSP密匙算法的源代碼而是發布了PS3/PSP共用的PS3/PSP PKG Decrypter Extractor v1.0(游戲解包/取得簽名的文件,取得簽名就意味著游戲無須通過自制系統/漏洞/ISO引導就能直接在PSP主機上運行)。那么我們就來看看Mathieulh黑客以及其它的黑客大神們會利用這個給PSP帶來怎么樣的破解吧,更多PSP破解相關情報,請繼續關注電玩巴士為您帶來的后續報道。

    PS3/PSP PKG Decrypter Extractor v1.0下載以及說明:點擊查看

    PKG Decrypter Extractor v1.0發布

    posted @ 2011-01-08 21:42 梁良 閱讀(1173) | 評論 (1)編輯 收藏

    微軟官方博客揭秘Kinect工作原理

    “你就是控制器。”(You are the controller.)如果你有在關注Kinect,相信已經聽過這句給力的廣告詞了。從《Kinect Adventures!》中手腳并用堵漏水窟窿,到Zune播放界面中揮手換歌,Kinect開創了一種更加自然的娛樂交互方式。在這篇博客文章中,我將 揭秘這款體感系統背后的秘密以及它如何讓開發者創造Kinect體驗。而Kinect團隊的項目經理Arjun Dayal則將展示如何實現通過基于手勢的方式來控制Xbox Dashboard和Kinect Hub。首先,讓我們從指導Kinect研發的概念原理開始。

    我們生活在一個模擬的世界

    傳統編程基于一系列的規則:原因和結果,非黑即白,非真即假。在為輸入輸出數目有限的簡單系統建模時,這種方式工作得挺好。拿游戲《Halo》來說 吧:按A鍵是讓士官長跳,前撥左搖桿讓他向前走,前撥右搖桿讓他向上看。不是A,就是B。可惜的是,我們生活的真實世界并不是如此數字化,而是模擬的。

    在模擬世界中,并不是只有簡單的“是”和“否”,還有“也許是/否”;不僅有“對”和“錯”,還有“對/錯的可能性”。讓我們想象一下揮手這一簡單 動作的所有可能性:身體運動的幅度,環境差異,衣服質地的不同,文化差異造成的動作差異等等。你可能需要研究10的23次方這么多的可能性,顯然用傳統編 程方式來解決這類問題是不現實的。

    我們從一開始就知道必須采用一種全新的,接近于人腦工作的方式來解決這一問題。當你遇到一個人的時候,你的大腦立即將注意力集中在他身上,并根據經 驗辨識出他的身份。這一過程并不是通過數百層的決策樹來實現,人腦就是知道。嬰兒很難區分出兩個人的不同,但我們通過多年的學習和訓練可以在幾分之一秒內 做到。事實上,你也許還能蠻準確地估摸出他們的年齡、性別、心情甚至個性。這也是讓我們成就為人類的原因之一。

    Kinect以類似的方法被創造出來。它觀察身邊的世界,它注意觀察你的動作。即使Kinect從來沒見過你揮過手,也能很快地從它學習過的TB級數據中猜測出你所做動作的含義。

    Kinect傳感器

    Kinect骨架追蹤處理流程的核心是一個無論周圍環境的光照條件如何,都可以讓Kinect感知世界的CMOS紅外傳感器。該傳感器通過黑白光譜 的方式來感知環境:純黑代表無窮遠,純白代表無窮近。黑白間的灰色地帶對應物體到傳感器的物理距離。它收集視野范圍內的每一點,并形成一幅代表周圍環境的 景深圖像。傳感器以每秒30幀的速度生成景深圖像流,實時3D地再現周圍環境。如果你玩過pin point impression 3D針模玩具可能更容易理解這一技術——將你的手(或者臉,如果你愿意的話)按壓在這種玩具上,就可以產生你身體某一部位的簡單3D模型。

    微軟官方博客揭秘Kinect工作原理

    尋找移動部位

    Kinect需要做的下一件事是尋找圖像中較可能是人體的移動物體,就像人眼下意識地聚焦在移動物體上那樣。接下來,Kinect會對景深圖像進行像素級評估,來辨別人體的不同部位。同時,這一過程必須以優化的預處理來縮短響應時間。

    Kinect采用分割策略來將人體從背景環境中區分出來,即從噪音中提取出有用信號。 Kinect可以主動追蹤最多兩個玩家的全身骨架,或者被動追蹤最多四名玩家的形體和位置。在這一階段,我們為每個被追蹤的玩家在景深圖像中創建了所謂的 分割遮罩,這是一種將背景物體(比如椅子和寵物等)剔除后的景深圖像。在后面的處理流程中僅僅傳送分割遮罩的部分,以減輕體感計算量。

    微軟官方博客揭秘Kinect工作原理

    Kinect的大腦

    真正的魔術在這里發生。分割化玩家圖像的每一個像素都被傳送進一個辨別人體部位的機器學習系 統中。隨后該系統將給出了某個特定像素屬于哪個身體部位的可能性。比如,一個像素有80%的幾率屬于腳,60%的幾率屬于腿,40%的幾率屬于胸部。看起 來這時候我們就可以把幾率最大的可能性當作結果,但這么做未免太過武斷了。我們的做法是將所有的這些可能性輸入到接下來的處理流程中并且等到最后階段再做 判斷。

    看了上面的介紹,你也許要問我們如何教會Kinect辨識人體部位。開發這一人工智能(被稱 為Exemplar(模型)系統)可不是一件輕松的事情:數以TB計的數據被輸入到集群系統中來教會Kinect以像素級技術來辨認手、腳以及它看到的其 他身體部位。下圖就是我們用來訓練和測試Exemplar的數據之一。

    微軟官方博客揭秘Kinect工作原理

    模型匹配:生成骨架系統

    處理流程的最后一步是使用之前階段輸出的結果,根據追蹤到的20個關節點來生成一幅骨架系 統。Kinect會評估Exemplar輸出的每一個可能的像素來確定關節點。通過這種方式Kinect能夠基于充分的信息最準確地評估人體實際所處位 置。另外我們在模型匹配階段還做了一些附加輸出濾鏡來平滑輸出以及處理閉塞關節等特殊事件。

    骨架追蹤系統的目標之一是為處理流程的各種輸出提供一種菜單式的選擇界面。游戲開發者可以選擇任意的系統部件組合來開發各種游戲體驗。比如,你可以僅僅使用分隔映射來制造一些驚人的華麗效果(《Your Shape: Fitness Evolved》是一個好例子)。

    講到這里,我們已經描繪出一個可用于控制游戲或娛樂的完全實時的體感系統。接下 來,Arjun將介紹改進的Xbox Dashboard和Kinect Hub。他將向你展示這兩個用戶界面如何利用景深圖像流和20關節骨架系統來創造一種基于自然手勢的,訪問游戲、電影、音樂和其他娛樂活動的全新方式。

    微軟官方博客揭秘Kinect工作原理

    Kinect:技術如何最終理解你!

    如今,技術在我們的日常生活中扮演著重要角色,但直到現在,技術產品在真正理解人類意圖以及 適應個體風格差異方面做得仍然不好。Kinect的問世讓這一切有所改變。站在Kinect前,它就能知道你是誰。不僅如此,還能將你和你的愛人區別開 來。當你移動時,傳感器能在瞬間追蹤到你。想要互動?用聲音和肢體移動就可以播放電影、玩游戲、和朋友聊天等等。不需要學習任何新的控制方式,多么神奇!

    前面Kinect團隊項目經理Ron已經描述了Kinect傳感器讓Xbox實時追蹤玩家動 作背后的高深技術,但我們如何最佳地運用?我們的目標是讓玩家盡可能自如地控制Xbox,同時讓所有用戶可以容易地學習并理解各種控制手勢。接下來我們會 更加深入地揭秘這一體感技術,并且談談在Kinect Hub和Dashboard中的Kinect體驗。

    手勢:從何說起?

    聽到我們要設計一種手勢來上下左右移動物體的時候,你也許會想:“沒難度啊,把你的手移到物體上,選中然后向你想要的方向移動,搞定!”

    等下,別那么自信。問問你的朋友他們是怎么想的,你可能會驚訝地發現他們的回答和你是如此的 不同。是你的方式更好嗎?不一定,只是對你來說更有邏輯性。人類的獨特之處在于能通過多種方法來完成某一特定任務。讓我們拿駕駛來做例子。如果你讓100 個人來模仿如何開車,你可能會得到許多答案。有些人會將兩手分別握住面前的10點鐘和2點鐘位置,有些人可能會只用一手握住12點鐘位置,有些人可能會背 靠椅子坐著;同樣地,模仿腳踩油門、剎車和離合器的方式也會五花八門。所有這些方式都能讓我們駕駛,而技術的工作就是要能識別所有這些方式——讓技術理解 你!

    那么,識別一個看似簡單動作有多復雜呢,拿伸手做例子。當你想伸手去拿什么東西的時候,你會 認為伸手的方向應該完全垂直于身體平面。但實際上由于肩膀和手臂關節的結合方式,你不可能以直線方式伸手。因此,每個人都會以略為不同的方式做出一個伸手 動作,但每個人都覺得這是一個同樣的伸手動作。成功的手勢識別就是要理解人類動作的微妙之處,并且讓技術了解這些不同。

    研發Kinect這款革命性產品的過程中,我們既要戰勝上述挑戰還要讓產品易于使用。我們所做的每個決定都是人機互動領域史無前例的,我們的工作有可能將重新定義互動娛樂技術的未來。

    手勢原型: 去粕取精

    我們在為屏幕導航創造控制手勢時,采用了很常見的方法:記錄下了所有能想到的天馬行空的點子,比如用腳來選擇菜單神馬的。當我們意識到這樣的點子實在太多了的時候,我們知道需要一種更靠譜的選擇方式。

    我們收集并記錄下所有創意,并且一一制作出原型以檢驗那一種更適合普通用戶。和普通用戶進行 原型測試非常重要,我們因此學到了許多關于人體運動的信息,并用于重新調整每次新測試。人機互動的現有規則并不總是適用于在客廳進行的10英寸距離上的體 感交互。通過測試我們更好地理解用戶行為,比如長時間做手勢時怎樣才舒服,以及我們創造的控制手勢集和人類自然手勢是否沖突。

    在測試過程中,我們的理念是“不斷失敗,去粕取精”,我們不斷拋棄不合適的方案,保留有效方案。工程、用戶研究和設計團隊都充分參與到手勢集的原型制作過程中,并和普通用戶一起進行測試,根據所有獲取到的數據來決定最佳手勢。

    在數月的測試、觀察和研究后,我們得到了一種簡單且容易理解的控制方式——懸停選擇和翻頁控制。懸停選擇是一種容易學習、高度可靠并且可預測的機制,而翻頁控制提供了一種更有觸感的方式來控制屏幕內容。

    讓我們通過Xbox Dashboard和Kinect Hub的實現方式來更加深入地談論這種控制模型的細節。

    Kinect Hub: Kinect體驗大本營!

    Kinect Hub是Xbox Dashboard中的Kinect體驗中心,在這里你可以用手勢來訪問Kinect內容。Hub的設計簡單且容易理解,你可以注意到我們采用了巨大的顏色分明的項目方塊,讓用戶輕松地找到并選擇他們所想做的事。

    微軟官方博客揭秘Kinect工作原理

    微軟官方博客揭秘Kinect工作原理

    微軟官方博客揭秘Kinect工作原理

    微軟官方博客揭秘Kinect工作原理

    微軟官方博客揭秘Kinect工作原理

    微軟官方博客揭秘Kinect工作原理
     

    文/驅動之家

    posted @ 2011-01-08 21:35 梁良 閱讀(931) | 評論 (0)編輯 收藏

    在 Firefox 里通過外部編輯器查看網頁源碼

    在 Firefox 瀏覽器中,通過右鍵、菜單欄功能項或快捷鍵(cmd + U)就可以查看的網頁源碼。不過彈出的僅僅是個瀏覽窗口,想要進行編輯等進一步操作的話就得靠復制粘貼大法了。有沒有這樣一個辦法,能夠讓 Firefox 的查看源代碼功能直接調用外部編輯器來進行操作呢?

    • 在 Firefox 地址欄輸入 about:config,然后在過濾器中搜索 source.editor
    • 雙擊 view_source.editor.external 將其值設置為 true;
    • 雙擊 view_source.editor.path 輸入外部編輯器對應的字符串值,即可。
    • PS:該字符串值是 Unix 路徑,請填入應用“顯示包內容”里面的 Unix 可執行文件路徑。

    Coda 網頁開發工具

    填入應用的 Unix 可執行文件路徑(注意替換 xxx 為適合你的路徑): /Applications/xxx/Coda.app/Contents/MacOS/Coda

    其他應用均可以使用查找 Unix 可執行文件路徑方法來找到對應的字符串值。(TextMate、MacVim 測試可用)

    BBEdit 文件編輯器

    對于 BBEdit 來說,有點小小的不同。首先確定你機器里面 BBEdit 附帶的 Command Line Tools 是已安裝狀態(菜單欄 BBEdit - Install Command Line Tools...),然后將外部編輯器字符串值指向:/usr/local/bin/bbedit,即可。

    如果不喜歡這樣的修改,只要把 view_source.editor.external 值恢復成 false 就行了。

    posted @ 2011-01-08 21:31 梁良 閱讀(921) | 評論 (0)編輯 收藏

    設置新建文件夾的默認名字

    在 Mac 上新建一個文件夾,默認名字總是“未命名文件夾xxx”。很沒勁而且很沒意義是吧?下面教你改變命名規則的方法。

    Mac 新建文件夾

    打開 Finder-Machintosh HD-系統-資源庫-CoreServices,找到“Finder”,右擊選擇“顯示包內容”

    繼續,Contents-Resources,找到 “zh_CN.lproj” 文件夾(用其它語言的,找對應文件夾),找到 “Localizable.strings” 這個文件,拖桌面上去。

    用文本編輯器打開,找到下面這段,改成你想要的文字就行了。拖回原來的地方,輸密碼,覆蓋原來的文件。

    當然,除了文件夾的默認命名規則,你也可以修改其它的文字,比如警示語什么的。就像下面這句

    posted @ 2011-01-08 21:29 梁良 閱讀(837) | 評論 (0)編輯 收藏

    禁用 OS X 屏幕縮放時抗鋸齒效果

    你或許已經知道如何在 OS X 系統下通過快捷鍵使用屏幕縮放功能,當放大倍數越大的時候你看到的圖像或文本會越模糊,抗鋸齒效果在這時候便發揮了作用。如何禁用此時的抗鋸齒效果呢?

    首先進入屏幕縮放的放大模式(按住 Contorl 滾動鼠標滾輪或雙指在觸摸板垂直滑動;抑或是 Cmd + Option + '+'),然后利用快捷鍵 Command + Option + \ 便可以啟用或關閉抗鋸齒效果。

    下面一組圖展示出此效果關閉前后的效果對比:

    當然,此效果對圖片也同樣有效。

    posted @ 2011-01-08 21:28 梁良 閱讀(830) | 評論 (0)編輯 收藏

    解決 Mac App Store 安裝程序 error 100 問題

    OSX Daily 為此提供了簡單的解決方法,步驟如下:

    • 在Mac App Store里從菜單里直接選擇登出帳號
    • 退出 Mac App Store
    • 登出你的 Mac OS X用戶
    • 重新登陸你的Mac系統
    • 再次進入 Mac App Store,登入,再次下載程序

    如果你覺得有點麻煩,MacStories提示:你可以嘗試登出Mac App Store用戶,然后重新登陸一樣可以解決問題。

    ps:如果你運行系統升級沒有 10.6.6的提示,可以點擊這里單獨下載系統升級安裝包

    posted @ 2011-01-08 21:28 梁良 閱讀(838) | 評論 (0)編輯 收藏

    OS X 中實現 Aero Snap 效果的小工具 Shift it

    shiftit

    如果你在大屏幕上用過 Windows 7,那么你一定會對其中 Aero Snap 這個功能印象深刻。其實我們在 OS X 中也可以借助一個小工具實現類似的功能:Shift it 是一個 host 在 Google Code 的開源項目,同時支持 OS X 10.5 和 10.6,運行后可以用鍵盤快捷鍵快速排布當前應用程序的窗口位置。點擊這里進入 Softpedia 的下載頁面

    另外 Shift it 還有個 fork 叫 Krikava,我很懶完全沒有用過,感興趣的讀者可以試試看并且告訴我們其優勢。

    posted @ 2011-01-08 21:27 梁良 閱讀(782) | 評論 (0)編輯 收藏

    聽終端命令 say 如何正確發音:OS X

    之前給大家分享過“讓你的 Mac 給你讀課文”,今天再來個類似的,一個談不上很實用但挺有意思的終端(Terminal)命令。

    打開終端輸入 say 命令后空格,然后鍵入你要 Mac 說的話(僅限英文),比如:

    say What do you want to say?

    命令很簡單吧!知道 OS X 如何發音嗎?通過下面視頻聽聽 say 命令給出的正確發音吧。
    (照顧 iOSer,視頻原始鏈接點這里

    怎么樣,你喜歡正確發音(Oh. Ess. Ten)還是果粉們的常用發音(Oh. Ess. Ex)呢?

    小編試了一下用 say 命令說十個羅馬數字,其中 II、III、XII、XIII、X 會直接發出對應的英文數字音,其余的五個和 X 以上的則是直接發字母音。

    posted @ 2011-01-08 21:19 梁良 閱讀(845) | 評論 (0)編輯 收藏

    讓 iTunes 打開后繼續播放上次退出時的音樂

    只要電腦開著,音樂就不能停,這是我的一個毛病。而我另外一個毛病則是習慣建立一個有很多很多歌的播放列表,可能是某個樂隊多達數十張專輯的一個播放列表,我沒法在一天的時間里聽完,必須分好幾天來聽完,于是第二天再次打開iTunes的時候問題就來了:它記不住我上次聽到哪里了。這讓我很苦惱,直到我發現了“Now Where Was I?”這個iTunes腳本

    首先點此下載該腳本(很小只有110KB,點此從本地下載),把它放在任何地方都可以,雙擊它即可直接找到iTunes.app打開,然后在你每天退出iTunes的時候要記得再次雙擊這個腳本,之后iTunes會彈出一個對話框問你是否運行該腳本,選擇Yes,iTunes正常關閉,同時也記下了你聽到了哪個播放列表的哪首歌:

    以后再用腳本打開iTunes,音樂會直接響起──就是你上次退出時候聽到的那首歌(唯一的遺憾是歌曲是從頭播放的,而非從你退出的位置開始繼續播放,如果你聽的是一段長達2小時的現場錄音的話……)。一定要記住,打開iTunes的時候要用腳本啟動,退出iTunes的時候也要用腳本關閉,否則就無效了。

    其實我更推薦大家把這個腳本放到“資源庫\iTunes\Scripts”目錄下(也許你找不到Scripts目錄,那就手動建立一個):

    然后你會發現iTunes的菜單里多了一個小冬冬:

    以后你就不必再找那個腳本去雙擊來退出iTunes了,點擊這個菜單即可。聰明的你一定想到了,既然這個腳本進入到菜單里了,那么顯然就可以用快捷鍵來啟用之了(如何建立快捷鍵請看此文):

    此腳本支持任何iTunes版本,我從8.x開始用,一直到現在10.x都可正常使用。

    posted @ 2011-01-08 21:19 梁良 閱讀(799) | 評論 (0)編輯 收藏

    用 Option 鍵調出系統偏好設置

    在 OS X 系統下,很多時候我們會要用到系統偏好設置(System Preferences)。大家是否知道利用 Option 鍵配合蘋果鍵盤功能鍵可以直接調用出相關功能的偏好設置呢?

    • 按住 Option 鍵的同時按亮度調節功能鍵(F1、F2),可以調出顯示器設置;
    • 按住 Option 鍵的同時按音量調節功能建(F10、F11、F12),可以調出聲音設置;
    • 按住 Option 鍵的同時按 Exposé 或 儀表盤功能鍵(F3、F4),可以調出 Exposé 與 Spaces 設置;

    當然,利用 Option 鍵配合播放暫停鍵(F8)調出來的是 iTunes 程序,而不是系統偏好設置。

    p.s..補充一些快捷方式:
    按F3是all applications Exposé,按fn + F9可以有同樣效果
    control + F3 是one-app Exposé,或者fn + F10
    command + F3 是desktop Exposé,或者fn + F11
    control + fn + F2 選中menu bar
    control + fn + F3 選中dock
    control + fn + F8 選中menulet(就是菜單欄右側那些小圖標)
    如果你發現有更多需求使用帶fn鍵的組合,可以在System Preference->Keyboard里把這個邏輯反轉一下。
    修改后的邏輯是原先帶fn的都去掉fn,不帶fn的都加上。

    posted @ 2011-01-08 21:18 梁良 閱讀(818) | 評論 (0)編輯 收藏

    Intel超給力新Core i5廣告:跨窗口追蹤

    伴隨著本周Sandy Bridge系列處理器的發布,Intel針對“第二代Core ix”處理器的宣傳攻勢也已經開始。一則相當給力的新Core i5廣告日前就在海外上線播放,名為“The Chase Film”追蹤。這段視頻堪稱廣告中的大片,片中的利落女主角為躲避追蹤,跨越了大量各種各樣的應用程序窗口,展示第二代Core i5處理器的多任務影音娛樂性能。廣告片實拍視頻、動畫、Windows桌面動作相結合的創意也令人叫絕。廢話少說,看片:

    posted @ 2011-01-07 21:35 梁良 閱讀(826) | 評論 (0)編輯 收藏

    【AngryBirds】手機游戲《憤怒的小鳥》全關卡攻略(261P)

    風靡全世界的手機游戲《憤怒的小鳥》(Angry Birds)既是一個非常好玩的游戲,同時玩起來也有一些難度。
    不少朋友在某一關卡被死死卡住就是無法過關,導致后面更多有趣的關卡不能進行。實在讓人惱火。
    今天我們就幫助這些用戶收集齊了全部關卡的過關圖解,會玩的朋友一點就透,我就不多說了你懂的。
    最后還是說,玩游戲最快樂的莫過于面對困難的關卡,通過自己的努力嘗試和智慧去通關,因此我們不建議大家一邊看著本篇攻略,一邊玩游戲哦,那樣,即使通關了你也會感到非常遺憾的。
    再次重申,本攻略只為那些被死死的卡在某一關的倒霉蛋們準備。劇透有風險,閱讀需謹慎……
    EP1




































    EP2








































    EP3






































    EP4














































    EP5

















































    更新完畢!共計261張圖!!!圖片取自AngryBirdsWalkthrough!
    給需要的朋友!

    posted @ 2011-01-07 19:33 梁良 閱讀(1040) | 評論 (0)編輯 收藏

    iPhone 特別使用技巧指南

    design-camera-20100607

    網路上關于 iOS 的使用技巧可以說是汗牛充棟,不有一些極其有用的小技巧,由于比較零碎,很容易被忽略。
    此文就是 nAODI 收集的一些使用技巧,之前在 Twitter 上想到就推,在此做一個歸檔。
    如果你還有什么實用的小技巧,歡迎留言,偶會補充。

    當你不想接一通來電,又被其不斷的響鈴或震動所困擾時,只需按一下任一「音量」按鈕或「開關」按鈕,手機馬上進入靜默狀態。響鈴與震動統統消失。

    當你在輸入文字時,搖晃手機就會有對話框彈出詢問你是否「Undo」,再晃一下則是「Redo」。在輸錯內容時格外方便,免去不斷按「退格鍵」繁瑣。

    當你在輸入大段文字時要插入零星數字(比如要輸入年份或是時間)或標點,可以單手按住「123」鍵然后直接滑到要輸入的數字或符號,松開后鍵盤會自動回到「字母」狀態。

    如果臨時要輸入一段內容有大量自創詞,又不想去關閉「改錯」功能。可疑先輸入一個字母「z」,然后將光標移到「z」字母前,再鍵入任何內容都不會激活「自動糾錯」功能。

    將一些條形碼的會員卡、單據拍下來存成照片,借由 iPhone 高清晰的屏幕完全可以被掃描器識別,從而免去帶大量卡片的繁瑣。

    在電話「撥號鍵盤」模式下,不輸入任何電話號碼,直接點擊「Call」,則會自動跳出最后一個呼出號碼。

    當你進出電梯之類的地方導致 3G 或是電話信號丟失,可以通過開關「飛行模式」來快速重獲信號,這比等待手機自動重搜信號快很多。

    Mac 下 iPhone 的備份文件存放在路徑「/Library/Application Support/MobileSync/Backup」下,Win 下存放在路徑「C:\Documents and Settings\XXXXX\Application Data\Apple Computer\MobileSync\Backup」下。

    如果你覺得許多轉好的 iPhone 格式視頻清晰度太低,可以直接下載 iPad 適用的視頻文件,在 iPhone 4 上播放清晰度會比普通為 iPhone 轉換的視頻好很多。

    當你在同步 iPhone 時,如果有電話撥入,同步會被中斷。可將手機調到飛行模式避免之。

    當你設置了鎖屏密碼后,每次待機重開都需要輸入密碼,甚為繁瑣。只需要在設置﹣常規﹣鎖屏密碼 選項中的「Require Passcode」設置一個時間,鎖屏密碼就會在設定時間之后才開啟,省去頻繁待機重開時需要輸入密碼之苦。


    posted @ 2011-01-07 19:31 梁良 閱讀(247) | 評論 (0)編輯 收藏

    黑客透露50個最常用密碼

    據美國華爾街日報報道,美國高客傳媒(Gawker Media)旗下諸多網站遭到黑客襲擊,致上百萬用戶信息泄露。受“高客事件”的影響,其他很多網站也開始敦促用戶修改密碼。

    上周日,黑客在網上貼出了關于高客傳媒用戶的個人信息,包括用戶名、電子郵件和密碼等。令人啞然的是,人們最常用的密碼居然是“123456”和 “password”!雖然原始密碼經過加密,但還是很容易被破解。有業內人士從中總結出了50個最流行的密碼設置,看一下是不是你自己也正在用呢?

    通常注設置密碼時,網站會提醒你密碼的安全程度,單純的數字或者字母的安全程度是非常低的,一些固定的詞或者數字組成的密碼也是很容易猜到的。但還是有很多人這樣設置密碼,如“123456”“654321”“1234567”“666666”“password(密碼)”“monkey(猴子)”“football(足球)”“superman(超人)”等。

    此外,密碼的長度也與安全程度有關,密碼越長,相對來說就越安全。據黑客資料顯示,在谷歌、雅虎和微軟這三大網站的用戶中,超過40%的用戶密碼是6位的,將近20%的用戶密碼是7位的,30%左右的用戶密碼為8位及以上。如圖所示:

    黑客也披露了谷歌、雅虎和微軟三大網站的用戶電子郵件的常用密碼:passwOrd、blahblah、iloveyou、666666、cheese。如圖所示:

    也許雅虎郵箱是適宜向對方示愛的媒介,不然為什么有這么多人都用情意綿綿的“iloveyou(我愛你)”來做密碼呢?不過,不然你今天給女友發一封郵件說“我們結婚吧”,明天也許就會收到回信說“我們分手吧”。瞧,信息安全多重要!

    ps:結果真是有點出乎意料,相信在中國,以中國網民的智商能力,結果更恐怖。梁蕭提示大家還是把密碼修改得復雜點,最常用的郵箱和軟件要定期修改密碼,查看登陸ip。

    源地址;http://www.mittrchinese.com/single.php?p=5774

    posted @ 2011-01-07 19:30 梁良 閱讀(327) | 評論 (0)編輯 收藏

    GFW變廢為寶篇,高實在是高 - China Android Dev | Google Groups

    GFW變廢為寶篇,高實在是高
    From: Carray Lee <carray...@gmail.com>
    Date: Fri, 24 Dec 2010 17:38:15 +0800
    Local: Fri, Dec 24 2010 5:38 pm
    Subject: GFW變廢為寶篇,高實在是高

    How to use GFW to stop DDoS attacks from China

    It’s a easy way to protect your website.
    But it will block any request from China.
    So please remove it after the attack.

    <?php
    if(strpos($_SERVER['REQUEST_URI'],'minghui') === false) {
     header('Location:'. $_SERVER['REQUEST_URI'] . '?minghui');
     exit;

    }

    ?>
    If you are in China, you can visit http://vii.im/gfw-test.php to test.

    http://vii.im/articles/639.html

    posted @ 2011-01-07 19:29 梁良 閱讀(316) | 評論 (0)編輯 收藏

    audio.js – A JavaScript Library For Flexible HTML5 Audio Players

    audio.js is a drop-in JavaScript library that provides a more flexible HTML5's <audio> tag usage.

    It uses native <audio> where available and falls back to an invisible flash player to emulate it for other browsers.

    Audio.js

    The player can be completely styled with CSS to provide a consistent user interface.

    audio.js can only play mp3 files and can be extended in any way like playing a single file or a list of songs.

    Special Downloads:
    Ajaxed Add-To-Basket Scenarios With jQuery And PHP
    Free Admin Template For Web Applications
    jQuery Dynamic Drag’n Drop
    ScheduledTweets

    Advertisements:
    Professional XHTML Admin Template ($15 Discount With The Code: WRD.)
    Psd to Xhtml
    SSLmatic – Cheap SSL Certificates (from $19.99/year)

    Tags: , ,

    Related posts

    posted @ 2011-01-07 19:26 梁良 閱讀(530) | 評論 (0)編輯 收藏

    【親歷“世界最大科學實驗”】一、 抓住“反物質

    【親歷“世界最大科學實驗”】 之 新發現

    CERN科學家捕獲反氫原子

    抓住“反物質”

    歐洲核子研究中心(CERN)是一個龐大的科研機構,除了LHC的相關實驗之外,還有上百個實驗在同時進行,而大部分的實驗,最終的目的都是一個:解開宇宙起源之謎。我們知道建造LHC的最主要目的是為了尋找聞名卻未見的希格斯子,但CERN還有很多其他的事情要做。比如說按照現行理論,宇宙大爆炸時同時出現了物質和反物質,但是兩者卻無法共存,但為什么今天的宇宙只有物質但沒有反物質呢?反物質到底是什么東西?隨著技術的進步,這也成了物理界越來越引人注意的話題。

    11月底,CERN發布的一個突破性消息引起了人們的廣泛關注。反氫激光物理設備(ALPHA)坐落于CERN的主樓群,僅有40位科學家為此工作。正是他們首次長時間捕捉到了反物質。盡管這個發現借用了LHC的成果,但其實驗和LHC的思想完全相反,不是加速,而是“減速”。

    對稱定律解釋世界

    ALPHA實驗室全景。圖/CERN

    和其它物理界的發現一樣,反物質首先也是“思想實驗”。早在79年前,英國物理學家狄拉克就試圖把量子理論和狹義相對論結合在一起。這是兩個互不兼容的基本物理理論。狄拉克發現,反物質必定存在。1932年,人們在實驗中尋找到了狄拉克設想的正電子,其質量、帶電量與電子完全相同,只不過它帶的是正電(電子帶負電荷)。

    隨后,人們逐漸發現了各種基本粒子對應的反物質。“反物質就像是物質在鏡子中的像。它和對應基本粒子的質量完全一樣,卻具有相反的其他量子性質。”ALPHA實驗發言人杰弗瑞(Jeffrey Hangst)在接受本報記者采訪時說,“質子帶正電,反質子帶負電;電子帶負電,正電子帶正電……”

    按照目前解釋微觀世界最好的理論模型,宇宙大爆炸時,同時產生了物質和反物質。今天,NASA的天文學家們也觀察到,在遙遠的宇宙區域———也就是我們所能看到的早期的宇宙,似乎存在物質和反物質碰撞后產生的伽瑪射線蹤跡。不過今天的宇宙卻是由物質而非反物質組成的。“自然選擇了物質,反物質似乎消失了。沒有人知道為什么。”

    宏觀世界中,很多東西都是對稱的。微觀世界也是這樣。在“標準模型”中,有著一個對稱定律,認為量子場論方程所有允許的解,都依據這個對稱定律,物質所遵循的物理法則,反物質也同樣遵循。這個對稱定律由三個字母組成:C、P、T,它們意味著三方面的對稱:電荷共軛變換、宇稱(左右)、時間反演。在隨后的歲月中,不少物理學家們靠研究對稱性問題拿下了nbl獎。其中很多人研究的是“對稱破壞”,即在一些物理過程中,一些對稱性(特別是C和P的對稱)被破壞了。

    “CP對稱破壞”是描述今天宇宙中物質數量超過反物質的重要解釋之一。目前,有很多科學實驗都在對這個現象進行驗證,希望通過反物質研究了解到對稱性定律及標準模型的有效性。

    最冷的反物質

     

    ALPHA實驗室全景。圖/CERN

    LHC的四大探測器之一LHCb研究的主要就是反物質和對稱性問題。但ALPHA實驗卻和LHC幾乎沒關系,和LHCb的實驗目的和方法也截然不同。在這里科學家們同樣選擇了氫,氫原子和反氫原子都只有一個質子和一個電子,結構非常簡單。

     

    兩個反氫原子的原料分別是這么制作的,將定向質子束射向一小片銥,高能碰撞會生成反質子,再加以分階段冷卻。由放射性鈉衰變產生正電子也加以冷卻。“我們借用了對撞機中產生的反氫質子,所以我們還是依附于CERN的實驗。但設備和實驗都是我們自己設計。”杰弗瑞告訴本報記者。

    在ALPHA 并不大的實驗室里,層層的管道連到磁場上方的探測器。在這里工作的科學家設計了一個改變速度的設備。它并不是另一個加速器,而是一個減速器。科學家將已有的反質子和正電子放在一起,令其生成反氫原子,然后讓它逐漸減速,以便在一個像浴缸一樣的磁場中將其“捕獲”。

    反物質無法與物質共存,因為兩者一旦接觸,便會同時消失并轉化為能量,轉化的能量形式如光子,這個過程用術語叫做“湮滅”。該過程產生的能量十分巨大。

    ALPHA的實驗結果卻跨過了這個門檻。首先,實驗必須在真空中進行,科學家設計了一個真空管道,排除了絕大部分的空氣物質。反氫原子是中性的,沒法通過電荷來捕獲,怎么逮住它呢?杰弗瑞介紹,盡管電中性,反氫原子還是帶有微弱的磁場,可以對磁場做出反應。

    在熱力學上,溫度體現的是物質粒子的動能。理論上說,如果物質粒子達到絕對零度時,它應該完全靜止。所以,溫度越低,粒子的速度越慢。科學家們讓來自 LHC的高能反氫質子減速冷卻,最后讓-70℃左右的反質子束和更冷的正電子束進行對撞,一些反質子和正電子結合形成了反氫原子。如果說LHC的目的是令粒子更快、更熱、更重,那這個實驗中,原子則變得更冷更慢,其中速度最慢的反原子,溫度僅有-272.5℃。

    這些超級冷的反原子,最后“陷”入了一個超導磁鐵構成的“磁場缸”里。“磁場越強,抓住的反原子也越多。”杰弗瑞說。他們共運行了335次實驗,由1000萬個反質子和7億個正電子結合。產生的反氫原子中,有38個被捕獲。

    要觀察被“囚”的反物質的存在,唯一的方法就是“釋放”它。0.17秒后,科學家們關閉了磁場,反氫原子迅即與氫原子碰撞,湮滅無蹤。探測裝置及時地記錄下了這38次能量爆炸。這些爆炸都發生在反氫原子和產生磁場的缸狀容器壁上。反物質和物質湮滅后形成了新的粒子。實驗中,新產生的粒子是名為π介子的亞原子粒子。

    杰弗瑞說,這是科學家第一次長時間“逮住”反物質。LHCb這樣的高能粒子實驗是沒法捕捉反物質的,因為高能量的反粒子會迅速與實驗設備相撞而消失,唯一能困住的,是低能、寒冷、運動緩慢的反粒子。

    反物質不會炸毀地球

    在高能物理的反物質實驗如LHCb,主要的實驗目的是尋找宇宙初期為何物質戰勝了反物質而存在。另一些反物質實驗,如CERN的另一實驗ATHENA,主要研究反物質和引力的關系,而ALPHA的主要目的是研究標準模型是否能夠同樣作用于反物質。

    標準模型認為,反物質和物質遵循一樣的物理原則,比如反粒子應該和對應的粒子一樣能夠吸收同樣的光的顏色。因此,此次科學小組用激光照在反物質上,準備探究其是否和對應的物質一樣吸收同樣的光波。

    “到目前為止,在量子層面上,‘CPT對稱定律’都表現得很好。但對于反物質,人們從來沒有在原子核層面測量過其對稱問題。”杰弗瑞說,“我們不知道為什么自然選擇了物質而不是反物質,也不知道標準模型是否能夠應用在反物質系統,或許標準模型能夠在反物質中被證實,或許我們會尋找到驚喜,因為我們不知道物理會往哪兒走。”

    捕捉反物質的技術正在突飛猛進。杰弗瑞表示,明年年初,他們將能夠捕獲更多的反原子。CERN的另一個實驗項目ASACUSA,最近也在他們實驗的基礎上,通過新技術,將反氫原子引導到一個真空管中研究飛行速度。這個實驗的目的是制造足夠多的反物質,研究其運動行為。

    即使這樣,反物質的取得基本上還是只存在于實驗室。79年前,狄拉克第一次提出了反物質的想法,這個名字就開始進入科幻小說。15年前,科學家制造出了反物質,但直到今天,人們才第一次較長時間捕捉到了反物質。雖然動用了大量昂貴的超導磁鐵,科學家也只逮住38個反氫原子,技術之艱難可見一斑。因此,對于媒體與文藝作品描述的,將反物質作用于航空、軍事等領域的設想,杰弗瑞表示這完全是天方夜譚,離科學現實還遠得很。

    “要造出《星際迷航》或者《天使與魔鬼》中所描述的那么多反物質,我們所需要的時間甚至會超過宇宙的壽命。而且,為制造它們而消耗的能量要比它們最后產生的能量還要大。”他補充說,在小說《天使與魔鬼》中,就提到了ALPHA實驗使用的低能反物質。在拍攝同名電影的時候,導演曾來CERN咨詢相關科學細節,但最終還是為了保證良好的視覺效果,將故事嫁接在了LHC上———實際上,LHC是根本無法保留住反物質的。

    另一方面,反物質研究可以推動技術進步。今天,反物質已經在醫學上的正子放射斷層掃描儀(PET)中發揮作用。但真正研究反物質的目的,還在于科學追求真理的本質。“人類的好奇心永遠無止境,我們想要知道宇宙爆炸時到底發生了什么。”杰弗瑞說。

    本版采寫/本報記者 金煜

    posted @ 2011-01-07 19:25 梁良 閱讀(327) | 評論 (1)編輯 收藏

    2010年最具創意的10個病毒廣告(上)

    來自有意思吧(www.u148.net)

     

    IT資訊網站Mashable挑選出了2010年最具創意的10個病毒廣告,我們就來看看這些廣告是如何變成“病毒”,讓觀者和廣告商都感覺驚喜的。

     


    1、一個獵人射殺了一只熊  A hunter shoots a bear

     

    廣告客戶:Tipp-Ex / 廣告代理:Buzzman


    點評:這是個在Youtube上的互動式廣告,估計不是每個人能體驗到,所以找到了個演示視頻。點開視頻,想象你是一位獵人,你會選擇射殺一只熊還是和它跳舞呢?影片播放過程中會讓你選擇要不要射殺;獵人當然不會殺了,他會伸出手拿出修正帶把“Shoots”刪掉,接著你就可以輸入任何單詞決定獵人和熊該發生啥事了。根據你輸入的單詞,網頁就會播放不同的內容。截至目前,該視頻廣告已經被播放13,763,110次,難怪有人稱之為“史上最強互動式廣告”了。

     

     


    2、擁抱生活 Embrace Life_ A new online ad with a twist


    廣告客戶:Sussex Safer Roads Partnership / 廣告代理:Alexander Commercials


    點評:這支來自英國的公益廣告鼓勵人們在開車時系上安全帶。沒有以前慣常使用的“惡心法”,而是通過優美的音樂和溫馨場面襯托生活的美好,使得它變得更加受歡迎。

     

     



    3、橫跨美國 Guy Walks Across America


    廣告客戶:Levi Strauss & Co(李維斯) / 廣告代理:Conscious Minds Productions

    點評:來自Levi’s富有想象力的定格動畫讓人在兩分鐘內橫跨整個美國,而組成動畫的2770張照片更是讓人領略了一番美國各地風景和各式地標性建筑。你甚至還可以在Google map里面找到拍攝者經過的每個地方。

     

     


    4、Old Spice的回應 Re_ Everyone _ Old Spice


    廣告客戶:Procter & Gamble(寶潔) / 廣告代理:Wieden + Kennedy

    點評:“Old Spice”是寶潔旗下的一款男性香水,通過3天之內推出的100條影片就獲得了超過2000萬的點擊,而每條片子也大概只有20秒。那到底這100多條20秒的短片都拍的啥呢?原來,此香水品牌是先開了一個叫“Old Spice”的twitter帳號,期間他請大家問他們“問題”,有一個人(畫面中的強壯黑人)就針對問題拍一段短片“回應”。而這位毫無演技的帥哥就一直站在同一間浴室布景前露出大塊肌肉,非常有禮貌,卻吞吞吐吐,機智幽默地給出各種“回應”。各位女性觀眾也受其吸引與“他”會話,而黑人帥哥也幾乎只回復女性觀眾,這樣就呼應這次宣傳的策略“我就是那個,你的男人應該聞起來像的男人”(I’m the man your man could smell like)。

     

     


    5、Puma大合唱 The PUMA Hardchorus


    廣告客戶:Puma / 廣告代理:Droga5

    點評:當球賽和情人節沖突的時候,許多男性球迷都得在足球和他們愛人之間做出艱難的選擇。而Puma就組織這群最Man的歐洲球迷在一支視頻里面合唱一首浪漫的情歌(Savage Garden 的 Truly Madly Deeply),剛好幫助他們解決這天擁擠的安排(既能看球又能對愛人表達愛意)——又一個為客戶著想的絕佳案例。

    posted @ 2011-01-07 19:24 梁良 閱讀(242) | 評論 (0)編輯 收藏

    [ZT]超強車震手冊


     車作為一件工具,對我們的生活越來越重要,因為車除了開,還可以震……

    在不同環境的野戰中,車震的刺激指數始終排行第一,尤其是如果你膽子大,在馬路邊車震,那種刺激可不是一點亮點可以形容滴……

     不過,房車房車,畢竟不如房間,空間較為狹窄,所以車震是一項相當需要技巧的活兒。各種姿勢、道具等都和正常方式的SX不同。甚至于有不少車在設計時已經開始考慮用戶車震的需求,從而進行了一些特殊設計……

    點擊圖片可查看大圖

    看到排第一的mini cooper,我震精了,果然,豪車貴有貴的道理,外表實在不咋樣,內里如此給力,難怪二奶三奶都開它!國外的設計師就是牛X啊!

    嘖嘖,不同的車有不同的震法,大有大的好,小有小的妙,色男色女們的智慧可真是不得了!

     可惜這里的車都是進口車,國產車太少了,什么時候國內也為國產車出一個車震手冊就好了!

    最后的注意事項大家要仔細看哦——假如你想學著車震……

    如果車展上買車送美女,那么大家買了馬上就能震了,送福利圖一張,表示我對車震的深深怨念!

    posted @ 2011-01-07 19:22 梁良 閱讀(416) | 評論 (0)編輯 收藏

    憤怒的小鳥(Angry Birds) PC硬盤版

      憤怒的小鳥(Angry Birds)這款游戲在Android手機平臺上非常火!近日Rovio公司發布了PC版的憤怒的小鳥,非常給力!憤怒的小鳥這款游戲的故事相當有趣,為了報復偷走鳥蛋的肥豬們,鳥兒以自己的身體為武器,仿佛炮彈一樣去攻擊肥豬們的堡壘。卡通的畫面,可愛的配音,玩起來相當有趣!游戲中有不同種類的小鳥,每種小鳥都有自己的特長,要好好配合利用才能順利過關。

    憤怒的小鳥硬盤版

    游戲說明:
    1、由于某些顯卡或顯示器分辨率不支持本游戲,為了更好的兼容性,軟件便利店提供的版本已經修改為窗口模式運行。
    2、用記事本打開“config.lua”,把“fullscreen = false”改為“fullscreen = true”即可變回全屏模式。
    3、游戲時,按“ALT+回車”可以在全屏和窗口模式之間切換。
    4、游戲的存檔保存在以下路徑中:
    XP系統:C:\Documents and Settings\你的用戶名\Application Data\Rovio\Angry Birds
    WIN7系統:C:\Users\你的用戶名\AppData\Roaming\Rovio\Angry Birds

    不會玩的朋友請看這里:
    《憤怒的小鳥》完全解析:http://game.ali213.net/thread-3399935-1-1.html
    《憤怒的小鳥》官方視頻攻略:http://game.ali213.net/thread-3399798-1-1.html

    下載地址:Angry_Birds_Soft711.7z

    posted @ 2011-01-07 19:07 梁良 閱讀(495) | 評論 (0)編輯 收藏

    國產開源XHTML在線編輯器xhEditor v1.1.3正式版發布

    xhEditor是一個基于jQuery開發的簡單迷你并且高效的可視化XHTML編輯器,基于網絡訪問并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。在眾多用戶不斷的問題回饋和意見反饋下,經過長達1年零3 個月的不斷完善后,v1系列的正式版本v1.1.3 Final終于正式對外發布。經過這么久的不斷開發修正和完善,v1.1.3 Final的BUG數量相對已經非常少,我們有自信可以給大家交上一份滿意的答卷。

    我們不是最好的,但是我們會努力做的更好,我們愿意傾聽和接受所有用戶的心聲。最后,大家在使用過程中若發現任何的問題,或者有比較好的創意和想法,可以隨時向我們反饋(yanis.wang@gmail.com),我們會隨時傾聽大家的意見,xhEditor的發展離不開大家的支持。

    查看最新版演示:http://xheditor.com/demo

    更多官方在線演示:
       1. 默認模式:http://xheditor.com/demos/demo01.html
       2. 自定義按鈕:http://xheditor.com/demos/demo02.html
       3. 皮膚選擇:http://xheditor.com/demos/demo03.html
       4. 其它選項:http://xheditor.com/demos/demo04.html
       5. Javascript交互:http://xheditor.com/demos/demo05.html
       6. 非utf-8編碼網頁調用:http://xheditor.com/demos/demo06.html
       7. UBB可視化編輯:http://xheditor.com/demos/demo07.html
       8. Ajax文件上傳:http://xheditor.com/demos/demo08.html
       9. 插件擴展:http://xheditor.com/demos/demo09.html
       10.iframe調用文件上傳:http://xheditor.com/demos/demo10.html
       11.異步加載:http://xheditor.com/demos/demo11.html

    v1.1.3 Change (2011-1-1)

    1. 調整:取消刪除線的快捷鍵:Ctrl+S
    1. 修正:IE瀏覽器下無邊框的table沒有顯示輔助的虛線邊框問題的修正
    2. 修正:IE瀏覽器下光標定位在編輯器中,xheditor(false)卸載編輯器會造成當前頁面光標被鎖死問題的修正
    3. 修正:&reg;和&copy;被瀏覽器強制轉為字符問題的修正
    4. 修正:從其它網站復制粘貼WORD文檔和普通HTML混合的內容時,會導致圖片丟失問題的修正
    5. 修正:urlType參數開啟情況下,mailto:地址被轉絕對地址問題的進一步修正
    6. 修正:Flash和視頻不支持輸入百分比數值問題的修正
    1. 優化:優化Word自動文檔清理功能,進一步提高代碼處理效率并且兼容Excel文檔粘貼
    2. 優化:優化formatXHTML函數,極大提高代碼格式化效率

    官方下載:

     

    posted @ 2011-01-07 19:04 梁良 閱讀(253) | 評論 (0)編輯 收藏

    Google研究人員稱中國黑客正在利用IE新漏洞

    著名的Google安全黑客Michal Zalewski宣布,他的fuzzer工具發現了IE的一個新漏洞,fuzzer至今已經從IE、Firefox、Chrome、Safari等瀏覽器中發現了上百個漏洞。微軟周日表示正對此進行調查,它之前曾要求Zalewski推遲發布安全工具cross_fuzz發現的漏洞,但被拒絕。

    Zalewski聲稱,他相信中國黑客正在利用這個新漏洞。證據是他在12月30日,發現來自中國的IP地址在Google.com.hk上搜索兩個MSHTML.DLL函數——BreakAASpecial和BreakCircularMemoryReferences——與新發現的漏洞有關,而中國黑客似乎對cross_fuzz不很熟悉,他下載了所有能訪問到的文件。

    posted @ 2011-01-07 19:02 梁良 閱讀(242) | 評論 (0)編輯 收藏

    [ZT]開發與研發(上)

    按:這幾天我一直在寫這篇東西,本來是胸有成竹,沒想到后來越寫越發現自己在這個題目下有太多話想說,而以我現在的能力又不能很好地概括總結,以至 于越寫越長,文章結構也變得混亂,到后來修改的時候每次都要考慮好久才能下筆,所以決定拆成兩部分來發,以便閱讀。這篇寫得我心力交瘁,質量不算好,湊合著看吧。

    同樣是寫程序,不同的崗位工作內容不一樣,對程序質量以及工程師的要求也不一樣。程序開發大概可以劃分成兩類:開發和研發,相應也就有開發工程師和 研發工程師。很多人覺得做開發和做研發沒什么區別,“都是一樣對著電腦寫程序啊”,但其實這兩者是完全不一樣的,下面我想拋開公司對員工的期望、社會對工 程師的需求等其它因素,單純從國內互聯網行業“工程師個人發展”的角度來說一下我個人對這兩類工作的看法。
     
    開 發一般是指產品開發,開發工程師直接為產品貢獻代碼。每個公司都有自己的產品線,拿 Google 來說吧,它有 Gmail, Chrome 等產品,每個產品都有很多開發工程師在后面支持,這些產品的開發、維護以及升級都是由相應的開發工程師負責的。由于開發工程師的工作直接關系到產品的質量 和在線情況,所以開發工程師的責任是很重的,他可能經常為了下個版本的發布而加班,為了產品的故障不得不在休假的時候打開電腦工作,甚至在過年的時候都會 接到領導的電話。所以你看到那些總抱怨加班太多,總是說自己是“IT民工”的,大部分都是開發工程師。在工程師當中,大部分人都是做產品開發的,畢竟公司 都是要靠產品盈利,招聘的大部分人也要直接為產品服務。

    做開發是很辛苦,但也有好處,因為需要對產品線負責,所以會是公司的核心,裁員 對你威脅不大,如果你負責的產品恰好又是盈利產品的話,那么加薪、獎 金、集體出游等福利都不會少。如果你足夠幸運地加入了一家快速發展的創業公司,說不定一下子就發家了。還有很重要的一點是,作為產品的開發人員可以看到自 己做的東西被那么多人使用,那是一種莫大的鼓勵和肯定。

    苦悶的開發工程師

    盡管我很尊重開發工程師,但是我不得不承認,在國內大部分的 公司,做開發工程師是沒有前途的。首先,從微博到開心,有多少國內的產品不是山寨的?這 也罷了,最惡心的是有一些產品經理連產品設計圖都懶得自己畫,直接去截取別人產品的圖片,假如我是一個人人網的開發工程師,每天看到產品經理把 Facebook 新上線功能的截圖拿過來讓我做,你讓我如何對產品有榮譽感和認同感?而如果一個開發工程師對自己做的東西沒有榮譽感和認同感,那么他堅守自己的崗位要么是 因為公司給的錢多,要么是因為他還沒有找到下家。我個人認為,做開發最大的一個好處就是可以親手實現一個“自己的作品”,就算平時很累,但最后完成它的時 候也還是會無比滿足,這點被剝奪了之后,和飯店打工的服務員有什么兩樣?不一樣是為了糊口嗎?

    我不知道別人怎樣,但我自參加工作以來就一直糾結于此——甚至開發的大部分產品都不好意思寫上自己的名字;直到前不久有機會去做一個公司內部使用 的 平臺,才終于有個作品讓自己覺得滿意。相信很多開發工程師參加工作之前都對互聯網上很多諸如Gmail, Facebook 等優秀的產品耳熟能詳,自己也常夢想做出那樣的產品,但萬萬沒有想到的是,工作之后要學習的第一課就是“不要對自己做的東西有感情”——有了感情你就不愿 意做廣告彈窗,不愿意看到它下線,不愿意為了短期利益傷害用戶。與此同時,你還要繼續聽產品經理和老大們滿懷激情地說“我們一定要讓用戶喜歡我們的產 品”。一個連開發工程師本人都覺得無聊的產品如何讓用戶真正喜歡呢?拿搜索巨人來說吧,Google 把社交網站看作是某種形式的娛樂而不是有用的工具,所以它會在社交領域失敗,再牛的技術也無法遮蓋情感上的空白。不過話說回來,這好像對于國內大部分的公司都不是問題,因 為它們做一款產品只是想從用戶那里拿到錢,如果以后用戶流失了就下線,然后再開發一個新的。他們要的不是用戶的長期感情,而是一夜情,開發工程師就是一夜 情的工具。

    其次,國內幾乎所有公司的技術流程和技術積累都做得很爛,大部分都只是片面地追求開發速度。我們在大學里受到的教育是“文檔和注釋很重要”,工作 之 后才發現文檔和注釋是很稀有的東西,只有特別負責任的工程師才會擠時間去寫。有一個很有意思的現象是,國內很多產品發布之后會特別自豪地說“XX 是我們開發團隊在時間緊迫的情況下,封閉開發了X 天就完成的!只有最牛的工程師才能創造這樣的奇跡!!多少個凌晨,XX寫字樓上只有我們辦公室的燈還亮著……”,然后你會覺得“好感動啊”,但冷靜下來想 一想,這種拼命趕工做出來的東西質量會過硬嗎?拋開產品質量不談,沒有時間寫文檔、沒有時間寫注釋、沒有時間做 code review, 沒有時間做階段總結……沒有了這些,作為一個開發工程師你通過這個項目可以提升多少呢?所以好多開發工程師一開始是“代碼民工”,過了幾年還是“代碼民 工”,而一個人年富力強的時間又有幾年呢?怪不得那么多人說工程師和妓女一樣,都是吃青春飯的。

    發展方向

    我個人認為,國內的開發工程師大概有三個發展方向:1.做管理。 2. 去做架構等與產品關系不那么緊密的研發。3. 提升其它方面的能力,做 “A+ Player”,然后自己創業。我對管理沒有研究,也沒有興趣,這里就不說了。研發我會在下篇中細說,這里主要說一下第三條。
    為什么要關注代碼之外的事情

    如果你只會埋頭寫代碼,那么代碼寫得再好也可能不會是一個好的開發工程師。做開發不是做學術研究,你的任務不是去鉆研技術,而是利用自己的技術把 產 品做出來。盡管技術能力是基礎,但如果無法把能力很好地應用到開發當中,那么你在團隊中就沒什么價值。舉個例子,如果你不能很好地理解產品需求,那么就會 根據自己的理解去做技術方面的架構和編碼,等到后來發現了再去修改就特別麻煩,這個時候技術能力強反而成了壞事,南轅北轍的故事我想大家都聽說過。

    很多開發工程師屬于那種“很本分”的人,從來不會提出意見,不關心產品形態和細節,只是去做產品經理提出的需求。我覺得別人把工程師叫做“代碼民 工”也就算了,但是工程師對自己做的東西完全沒有看法,那就是甘心淪落為民工了。這也有文化的原因,國內的公司都喜歡那些不愛抱怨的員工,因為他們聽話而 且符合中國傳統的價值觀,但我更喜歡那些愛抱怨并且抱怨得有道理的人,因為國內(不只是互聯網上面)粗制濫造的東西實在太他媽的多了,不抱怨才不正常,有 不滿才會去思考如何做得更好。

    曾經聽到有人談論如何管理技術人員的時候說:“管理技術人員很簡單,找一個比他們都牛的人就行了。” 這個人很了解工程師的脾氣。工程師去判斷其他工程師的時候,往往只看他的技術能力,覺得誰的技術好誰就最牛,其它的都無所謂。沒錯,技術牛的工程師寫的代 碼質量很高,但這只是一個方面而已,判斷一個人在團隊中是不是“很牛”要看他對團隊對產品的整體貢獻,而不是他的個人能力。他能很好地理解產品需求嗎?能 很好地理解設計師的意圖嗎?和團隊其他成員溝通順利嗎?寫出的代碼方便測試嗎?會對產品提出好的建議嗎?……這些都是判斷一個開發工程師的標準,整體素質 越高在團隊中的價值也就越大。

    所以要想做一個好的開發工程師,就要在寫好代碼的同時努力提高其它方面的能力。我知道大部分的工程師都喜歡和機器而不是和人打交道,所以遇到和產 品 經理、設計師以及 QA 等部門協調溝通的時候就皺眉頭。協調溝通確實是一件鬧心的事情,但從另一方面來說,這是開發工程師的一個得天獨厚的優勢:你可以深入接觸產品生產線上的所 有環節。需求評審的時候,你可以了解產品設計;開發界面的時候,你可以了解到視覺和交互設計;測試的時候,你可以了解到產品測試的細節;上線的時候,你也 可以多觀察 Ops 同事的操作。如果你可以在協調溝通的時候學會換位思考,多從對方的角度看問題,多想一下“他為什么要這么做”,那么不知不覺就會對各個領域有一些了解,進 而發現原來每個領域都大有學問,就不會因為周圍那些學藝不精的人而輕視他們所在的領域。

    學習設計

    對于工程師來說,測試和上線都是技術性的工作,和開發有很多相通的地方,而產品設計、交互設計和視覺設計等設計領域則比較陌生。對于自己不了解的 東 西,我們的看法往往會趨于兩個極端:要么是看得高深莫測,要么是看得一文不值。其實對于大部分的東西,只要不笨并且愿意下功夫學習,總是可以學會的。盡管 達到大師的水平可能需要傳說中的“天賦”,但做到中等水平并不是特別困難。關于設計領域我一直在斷斷續續地在學習,到現在可能連略窺門徑也算不上,這里只 是說一下我個人對設計的理解和心得,供大家參考。

    產品設計

    產品設計看上去比較簡單,因為只要清楚自己想要做什么,那么自然可以慢慢勾勒出產品的形態和功能。要做好產品設計,就需要平時多下一些功夫,多研 究 一下互聯網上那些已有的產品,另外還需要多看一些諸如社會學、歷史等“閑書”,舉個例子,假如你想開發一款針對臺灣用戶的產品,那么了解一下臺灣的文化肯 定是有必要的。總之,學習產品設計是慢功夫,沒有什么速成的捷徑,只有一點一滴地不斷積累才能培養出敏銳的產品意識和深刻的洞察力。

    工程師學習產品設計有一個優勢,那就是設計出來的產品是自己親手實現的,你可以在實現的過程中不斷重新反思原來的設計,然后加以修改和完善。這就 好 像寫文章一樣,很多時候你寫東西的時候并不清楚自己具體要寫什么,但只要是下筆開始寫,寫著寫著就會發現新的想法,寫作的過程同時也是思考的過程。寫作和 寫代碼很像,它們不僅可以表達想法,還可以創造想法。

    視覺設計

    很多工程師聽到視覺設計會立刻退避三舍,覺得自己“不會畫畫”、“不懂配色”是不可能學習視覺設計的。誠然,視覺設計是需要更多藝術方面的基本 功, 要完全掌握需要長期的訓練,但我們還是可以從簡單的學起,慢慢培養對設計的感覺。我個人在這方面所知非常有限,但是對視覺設計中的完美主義印象深刻。

    編程的時候,如果你的某行代碼多了一個空行可能不會有什么問題,但在視覺設計中差了 1 個像素或者 10% 的透明度就是不可容忍的,很多設計師要求的都是 “Pixel-Perfect”——像素級別的完美。如果你不苛刻地追求完美,幾個這樣的“小瑕疵”就可以把整個作品毀掉。在我沒有接觸過視覺設計的時候 很難理解這一點,切頁面的時候并不會特別仔細地去看設計圖,而且為了降低技術難度會想當然地篡改設計師的意圖,比如把一些微小的漸變用純色代替,這是很無 知的做法。所以當設計師要求你做一個 1px 的修改的時候,即使會花掉你幾個小時的時間也要聽他的——只有這樣才可以把界面做到百分之一百的完美。當然,設計師自己做不到完美另當別論。

    此外,作為一個頁面設計師,從職位名稱上來看他的最終作品應該是頁面,而不只是視覺效果圖。所以我覺得頁面設計師應該精通 CSS,只有自己才可以精確實現自己的設計意圖。對于那些沒有受過設計訓練的工程師來說,很難注意到頁面上色彩、字體和漸變的細節,讓他們精確實現一個設 計師的意圖幾乎是不可能的。精通 CSS 對于頁面設計師來說并不算一個過分的要求,很多國外的設計師甚至可以自己用 PHP 寫出產品原型,相比之下,國內的頁面設計師進化得實在太慢了。

    交互設計


    交互設計是有關行為的設計,它更關注如何讓產品更好用。舉個例子,網頁中一般都有很多超鏈接,當你把鼠標移動到超鏈接上的時候,鼠標形狀會變成手 型,暗示它是可以點擊的,而且訪問過的超鏈接和普通超鏈接的顏色是不同的,這樣就很好地引導了用戶行為。

    之前我一直把設計和“視覺設計”等同起來,但在深入了解了之后發現,對于互聯網產品來說,交互設計要比視覺設計重要得多,而且交互設計相對于視覺 設 計也更加有跡可循,對“感覺”要求沒那么高,工程師完全可以把重點放在交互設計上。如果交互設計做得好,視覺設計遵循一些標準,那么完全可以做出一款“不 難看并且好用”的產品。沒有人特別夸贊 Google 的產品“好看”,但它們都特別好用,Google 注重的是易用、快速,用戶體驗是很棒的。

    互聯網行業的大部分頁面設計師(Web Designer)都是學習平面設計出身的,但我覺得網頁和軟件設計更像是“顯示器里面的工業設計”。很多平面設計師設計出的頁面很好看,好像海報一樣, 非常適合打印出來,但往往對交互方面重視不夠。不太好看影響不會很大,但不好用就沒有辦法留住用戶,而且有時候太注重外觀的視覺效果反而會分散用戶的注意 力進而影響產品的使用,這種 “eye candy” 是糟糕的設計。現在專門培養交互設計師的機構不多,我很希望對互聯網有興趣的工業設計師們到這個行業中來。

    關于設計我就說這么多,以后有機會再另外撰文專門探討這些主題。值得一提的是,沒有人可以真正把設計和開發全部精通,如果深入到細節,無論設計和 開 發都會占用你大量的時間和腦力。單從設計來說,需要掌握的就有顏色、字體排印(Typography)、排版(Layout)、交互設計等,其中每一種技 能又涵蓋無數細節,真的是要皓首窮經才可以在其中的某個領域成為大師。不過,即使你對這些知識只是有一個大致的了解,以后在看一款產品的時候也可以從功 能、交互、排版、頁面代碼、整體性能以及URL語義化等各個方面進行全面而細致的分析,明白它哪里做得好,哪里做得不好,而不是在那里想當然地說“真酷” 或者“狗屎”。真正了解什么是好的什么是差的,自己做東西的時候才會心中有數。

    一專多能的好處

    很多人可能會說:“一個人要是可以把所有事情都搞定,那還要其他人干嘛?我更相信團隊的力量。” 沒錯,一個人就算從設計到開發都精通,如果只有他一個人做東西,開發效率也不會高。但是若你真的花心思去了解那些“與代碼無關的事情”,你就會在寫代碼的 時候更多考慮到產品經理/設計師的想法,對產品經理/設計師疏忽的地方也可以及時提醒,讓自己真正地融入整個團隊。目標并不一定要實現,它是用來指明方向 的。開發工程師提高自己的產品意識和設計能力絕對不會是白費心血,不然的話你就只是一個實現產品的工具。你只會回答別人提出的問題,而好的問題要比好的答 案有價值得多。

    當你各方面能力提高得差不多的時候,應該就可以出來創業了(注意,我說的是創業,不是去創業公司打工)。因為對各個領域都有一定的了解,平時也經 常 接觸到各個領域的人,那么在創業的時候你就很清楚自己需要什么樣的產品經理/設計師,知道具有什么樣能力的產品經理/設計師才是最好的,這樣就可以從一開 始就保證團隊的質量和氣質。很多互聯網的業界前輩都說過“要招聘最好的人”,但問題是你如何判斷一個人是不是該領域最好的呢?如果一個人對程序和設計一竅 不通,滿腦子都是商業運作,你覺得他有可能找出最好的工程師和設計師嗎?有一次和一個創業公司的CEO聊天,他和我講他們“只招聘 Geek”,后來我才發現他其實根本不知道什么是 Geek,只是不知道從那里聽到 Geek 這個詞,他真正想要的應該是那種只知道寫代碼愿意沒日沒夜任勞任怨給他當牛做馬的人。國內大部分的創業公司就是這樣,老大們喊著技術密集型的口號,實際上 做著勞動密集型的事情,金玉其外,敗絮其中。你可以和他們不一樣。

    我自己并沒有創業的經歷,也沒有創業的打算,所以對創業的理解可能很片面而且天真。但是我相信,找到最好的人永遠都是關鍵,不然即便后來成功了, 也 不過是多了一家靠人數取勝的血汗工廠。假如你選擇成為移動互聯網的獨立開發者,對一個產品各個環節的全局把握也是有必要的。如果一個團隊的每個人都能獨當 一面并且可以很好地理解其他人的意圖和專業技能,就算最后在商業上失敗了,那也會是一個幸福的團隊,比那些除了盈利之外找不到任何亮點的團隊好太多。

    對產品經理的偏見

    在“開發”這個小節的最后,我想多說一點自己對產品經理這個角色的看法。在國內絕大多數公司,開發工程師的作用就是把產品經理的想法以代碼的方式 寫 出來,“代碼民工”這個稱呼倒是很恰當。我對互聯網行業的產品經理們一直感到很奇怪:他們沒有能力把自己的想法實現出來,但是卻幾乎總是認為自己比其他人 更理解產品;當工程師對產品提出自己的意見的時候,他們往往會心中不屑但盡量保持禮貌擠出微笑說一句:“呵呵,工程師不是普通用戶”。一個產品本來就是需 要很多人齊心協力一起完成的,產品經理和工程師的地位也是平等的,但是由于產品經理在工作流的上游,所以情況往往演變成工程師在為產品經理工作。如果產品 經理真的對產品負責也就罷了,可惜的是大公司的產品經理大部分是對KPI負責,小公司的產品經理大部分是對老板的個人好惡負責,結果就是工程師跟在產品經 理屁股后面做一些莫名其妙的事情。我接觸到的幾乎所有開發工程師都對他們的產品經理頭疼不已,據他們說,好的產品經理就像真正的愛情,是極為稀有和可遇不 可求的。

    按照現在大部分公司的分工方式,產品經理是產品的總負責人。根據我個人的理解,產品經理之于產品,應該相當于導演之于電影,建筑師之于建筑。一個 導 演如果對拍攝一竅不通,那么就很難控制鏡頭的表現力;一個建筑師如果對建筑材料和結構一無所知,就不可能把握建筑整體的感覺。那為什么那么多人會覺得產品 經理可以不懂技術不懂視覺設計,只需要寫好文檔畫個框圖然后交給別人去做就可以做出好的產品呢?本來是一個需要對各個領域融會貫通最難做得好的角色,現在 反而被很多人視為清閑的差事,不愛干活的人紛紛想要轉去做產品經理,實在是可悲至極。

    我一直堅信好的工程師是不需要產品經理的。如果一個產品非要有一個什么產品經理的話,Google 的很多產品都不會出現,DropBox 這種只招聘工程師的公司也早就完蛋了。很多偉大的產品都是幾個工程師想到一個點子然后慢慢做出來的,比如 Paypal 和 Google. 但需要說明的是,我討厭產品經理并不是說我推崇“技術導向”——無論怎樣產品都應該是讓用戶使用的,而不是用來炫耀技術的,只不過工程師不需要產品經理也 可以設計好一個產品并且實現它。產品設計不是產品經理的專利。

    想知道懂得設計的工程師沒有產品經理的時候可以做出什么東西嗎?去看一下 Livid 做的 V2EX 就知道了。在國內,設計和代碼都有品味的網站可不多,我覺得 Livid 同學真是開發工程師的典范。

    接下來我們說一下“研發”。(未完待續)

    posted @ 2011-01-07 18:59 梁良 閱讀(200) | 評論 (0)編輯 收藏

    Ubuntu 11.04 將用 LibreOffice 代替 OpenOffice

    posted @ 2011-01-07 18:58 梁良 閱讀(281) | 評論 (0)編輯 收藏

    中移動首推增值業務扣費提醒及查詢退訂服務

    1月7日消息,中國移動今日在國內率先推出業務扣費主動提醒和增值業務0000統一查詢退訂 兩項“透明消費”服務舉措,今后客戶訂購增值業務后,在扣費之前能夠得到短信提醒,且只要發送短信“0000”到10086,就能便捷查詢和退訂已訂購的 包月類增值業務,兩項服務均免費。據了解,中國移動此次推出的“業務扣費主動提醒”服務是一項基于客戶行為的主動提醒服務,是在業務訂購二次確認的基礎上開展的一項深化服務,主要面向客戶新訂購的業務。

    在客戶確認訂購某項個人增值業務后,在扣減該增值業務費用前,中國移動會通過“10086”向訂購客戶發送提醒短信;客戶如有疑問,可根據短信提示方便地進 行投訴或直接退訂,對于客戶退訂的業務,不予收費。目前,該服務涵蓋絕大部分個人增值業務,只有極個別業務因為產業鏈技術原因,暫時未能實施。此外,當客 戶訂購或變更套餐時、以及次月套餐生效時,中國移動也會通過“10086”向客戶發送提醒短信。

    “增值業務0000統一查詢退訂”服務,是一項針對客戶已訂購業務的便捷查詢退訂服務。客戶只要發送短信“0000”到10086,即可快速查詢到客戶截止目前訂購的除套餐內包含業務外的包月類增值業務,這包括中國移動的自有業務和合作業務,如手機報、歌曲下載、天氣預報等。此外,通過該服務還可查詢集團彩鈴、校訊通、農信通、手機郵箱等集團客戶常用的業務。根據業務查詢結果,客戶可方便快捷的根據短信提示退訂某項、多項或全部已訂購的業務。

    目前,業務扣費主動提醒和增值業務0000統一查詢退訂兩項服務均免費向中國移動客戶提供。

    新業務全國后臺支撐升級工作完畢

    據悉,中國移動自2010年初就開始著手實施這項“透明消費”服務專項行動,歷時近一年時間,逐一梳理了758個自有業務以及20多萬個合作業務,并投入大量人力、物力對后臺支撐系統等進行了全面升級。

    截至目前,中國移動全國31個省、自治區、直轄市公司已完成兩項“透明消費”服務舉措的后臺支撐系統升級工作。

    中 國移動副總裁沙躍家表示,將逐步建立起全面的“透明消費”服務體系,推出業務扣費主動提醒和增值業務0000統一查詢退訂兩項服務舉措是建立全面“透明消 費”服務體系的關鍵一步。近期,中國移動還將開展帳單、詳單、發票信息優化工作,使帳單、詳單、發票信息更加清晰明了,不斷提升客戶感知。

    posted @ 2011-01-07 18:57 梁良 閱讀(373) | 評論 (0)編輯 收藏

    程序員:下一次面試前你需要準備的五個基本步驟

    導讀:面試準備的重要性不用編者多言,大家都很清楚。本文是加拿大的一位程序員所寫。大家可以看看國外程序員是怎么準備面試。不管你是否認同他的說法,《詩經》中有句話非常好——“它山之石,可以攻玉”。如果你還有其他面試準備方法,不妨在評論或微博中和大家一起分享。

    一、開門見山

    一般來說,你(求職者)在面試中會花很多時間談論以前的經歷。如果你還沒有想出你的最具代表性的經歷/案例,那么你現在是時候該做了。下面有張問題 表,雖然很多問題看似比較低級,但相信我,看完這些問題后,你應當反思自己。即便面試時沒有碰到類似這張列表上的問題,你在面試也可以用上已準備好的答 案。

    • 1. 說說你自己吧
    • 2. 你的短期目標是什么?你2到5年內的目標是什么?
    • 3. 你的愿景/使命是什么?
    • 4. 你想從這個崗位中學到什么?
    • 5. 你為什么認為自己能勝任這個崗位?
    • 6. 除了這個崗位,你還在找哪些崗位?
    • 7. 你有什么樣的管理或領導經驗?
    • 8. 你有什么樣的團隊工作經驗?
    • 9. 你最滿意/不滿意的經歷是什么?
    • 10. 你的強項/弱項是什么?
    • 11. 你最擅長處理哪一類的問題?
    • 12. 你是如何減壓?如何平衡工作和生活?
    • 13. 如果他人提出的要求有違你的道德準則或商業道德,你怎么處理?
    • 14. 你上次試圖向他人出售點子有什么樣的結果?
    • 15. 你為什么要應聘我們公司?你對我們公司了解多少?
    • 16. 你認為加入我們公司有什么樣的利弊?
    • 17. 你最看重雇主的哪一方面?
    • 18. 你過去遇到的主管有哪些共同點?
    • 19. 如果要在競爭中保持領先,你認為我們公司的員工最需要哪些品質?
    • 20. 你最喜歡/不喜歡什么課程?為什么?
    • 21. 你的兼職/暑假/實習經歷中有什么收獲?
    • 22. 你有什么樣的深造計劃?
    • 23. 為什么你的成績這么低?
    • 24. 你是如何打發空余時間的?
    • 25. 如果我讓你的朋友們描述你,你覺得他們會怎么說呢?
    • 26. 什么事最讓你沮喪?
    • 27. 你上次在工作中遇到惱火的事是什么時候?結果如何?
    • 28. 你如何提高你的整體效益?
    • 29. 去年你遇到最艱難的決定是什么?為什么它很艱難?
    • 30. 你為什么到現在還沒有找到工作?
    • 31. 你在哪些方面沒有任何經驗?比如:銷售、籌款或者簿記。
    • 32. 我們為什么要雇用你?
    •  
    上面這個列表中的問題需要深思和反省才能回答,所以在下一次面試之前很有必要提前想一想。有些問題可以有相同的答案。如果問題答案需要講述一段故事/經歷,你可以按如下方式來做:
    • 1. 20秒描述情況。“代碼出問題了,整個團隊必須找出原因。”
    • 2. 30秒描述你做了什么。“我認為是內存溢出,我注意到AbstractMemberCreationFactory本應該只有一個實例,但它有很多實例”。
    • 3. 20秒描述結果。“我用一行代碼解決溢出問題,我們的產品如期上線。后來,我都會先測試確保不會再有類似問題”。
    在每次面試前,瀏覽整個列表并大聲練習你的回答。這樣做讓你在面試中更加輕松自如,你就比其他應聘者有更多的優勢。比如,當在回答問題時,其他應聘者可能會先看著天花板說“嗯”,然后開始回憶過去5年中發生的一切。而你則可以微笑地看著面試官的眼睛,再陳述你的答案。

    二、事先練習最常用的編程算法,以建立自信

    鋼琴家在達到下一級水平之前,他們必須先學習一套短曲。這些短曲雖然不曾在聚會上彈奏,但他們要練習特定的部分,比如右手小指和切分音。同理,盡管有些算法你或許沒有在你的代碼中用過,但它們經常在編程面試中出現。比如:
    • 1. 反轉單鏈表;
    • 2. 反轉字符串或反轉段落中的單詞順序;
    • 3. 利用星號輸出畫一個任意大小的圓;
    • 4. 整數轉換為字符串,數字型的字符串轉換為整數;
    • 5. 寫一個函數,返回任意整數對應二進制形式中的“1”的個數;
    • 6. 寫一個函數,輸出字符串中字符的所有排序。(比如:abc acb bac bca cab cba)
    一般來說,可以先不考慮算法的運行時間,都是先用最簡單有效算法。然后再盡量減少運行時間。能讓算法正常跑起來,總比你花大量時間想一步到位要好。(一步到位的想法雖好,但大部分時候都是事倍功半。)

    提示:做練習時,別自欺欺人看答案。
    我第一次寫“反轉單鏈表”算法是利用課間時間。我并不急,從運行時間較長的方案到優化的方案,我用了半個小時。在驗證算法正確無誤后,我非常高興!我知道不看答案我也能解決問題了。(建立自信了!)在面試中,當遇到從未見過的問題時,我以前的經驗給了我信心。

    三、練習解決問題能力

    有些應聘者認為能解決腦筋急轉彎問題就有良好的編程技能。如果你也這么認為,那你應當培養猜謎這方面的興趣和技巧。你可以去圖書館或在網上找這方面的書。然后,挑一些有趣的問題,先別看解答。如果半個小時之內還想不出答案的,才可以查閱解答。

    第四、展現出真正的熱情

    另一個技巧就是要把真正的熱情展現出來。作為人,我們應該真誠和熱情與他人共處工作。另一方面,我們也要有看穿虛假笑臉的能力(沒有這種能力,也需要鍛煉出來),所以活出真我很重要。

    最優秀的面試官會讓你討論一些你非常熱衷的事情,即使有些些事和你所應聘的崗位沒有直接關系。然而,大多數面試官卻沒有這么做。雖然如此,你還是應當 好好考慮那些你非常感興趣的事,并且要抓住機會來和面試官討論一番。如果面試官允許的話,一定要在面試過程中的前段時間內完成,如果能在第一時間展現出來 更佳。面試開始10分鐘后的效果可能就不怎么樣了,因為面試官已經給你打分了。

    想象一下:你第一天去新崗位工作,轉向新的開發平臺,遇到一些有趣的新朋友,并且了解了公司的生活。(總之)在公司中會有很多讓你興奮的事,要不然,你為什么去應聘呢?

    五、睡眠/休息

    如果你缺覺的話,“舌尖現象”則會急劇上升,導致你在面試中就不能很好回憶事情。所以,面試前必須有個良好的睡眠。 到底睡多長時間最合適呢?請參考此文《你的睡眠時間和睡眠質量達標了么?》。

    編者注:“舌尖現象”非常普遍,它是因為大腦對記憶內容的暫時性抑制所造成的。這種抑制來自于多方面,比如對有關事物的其他部分特征的回憶掩蓋了所要 回憶的那部分特征,又比如回憶時的情境因素以及自身情緒因素的干擾等等。而消除了抑制,(如經他人提示、離開回憶困難時的情境、消除緊張情緒等,)舌尖現 象往往就會消失。很多人都有過這樣的經歷:一些平時很簡單、很熟悉的字、單詞或公式等話到嘴邊就是無法記起,考試過后卻突然憶起。再比如,遇到一個熟人, 就是叫不出名字來。心理學上稱這種特殊現象為記憶的“舌尖現象”,意思是回憶的內容到了舌尖,只差一點,就是無法憶起。

    本文出處:伯樂在線 - 職場博客
    本文鏈接:http://www.jobbole.com/entry.php/253
    Via: Steve  編譯:伯樂在線 敏捷翻譯組 - 關關

    posted @ 2010-10-04 20:18 梁良 閱讀(241) | 評論 (0)編輯 收藏

    向DWR傳遞map/返回map

     

    1、調用沒有返回值和參數的JAVA方法
    1.1、dwr.xml的配置
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod1"/>
    </create>
    </allow>
    </dwr>
    <allow>標簽中包括可以暴露給javascript訪問的東西。
    <create>標簽中指定javascript中可以訪問的java類,并定義DWR應當如何獲得要進行遠程的類的實例。creator="new"屬性指定java類實例的生成方式,new意味著DWR應當調用類的默認構造函數來獲得實例,其他的還有spring方式,通過與IOC容器Spring進行集成來獲得實例等等。javascript=" testClass "屬性指定javascript代碼訪問對象時使用的名稱。
    <param>標簽指定要公開給javascript的java類名。
    <include>標簽指定要公開給javascript的方法。不指定的話就公開所有方法。
    <exclude>標簽指定要防止被訪問的方法。
    1.2、javascript中調用
    首先,引入javascript腳本
    <script src=‘dwr/interface/ testClass.js‘></script>
    <script src=‘dwr/engine.js‘></script>
    <script src=‘dwr/util.js‘></script>
    其中TestClass.js是dwr根據配置文件自動生成的,engine.js和util.js是dwr自帶的腳本文件。
    其次,編寫調用java方法的javascript函數
    Function callTestMethod1(){
          testClass.testMethod1();
    }
    2、調用有簡單返回值的java方法
    2.1、dwr.xml的配置
    配置同1.1
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod2"/>
    </create>
    </allow>
    </dwr>
    2.2、javascript中調用
    首先,引入javascript腳本
    其次,編寫調用java方法的javascript函數和接收返回值的回調函數
    Function callTestMethod2(){
          testClass.testMethod2(callBackFortestMethod2);
    }
    Function callBackFortestMethod2(data){
         //其中date接收方法的返回值
         //可以在這里對返回值進行處理和顯示等等
    alert("the return value is " + data);
    }
    其中callBackFortestMethod2是接收返回值的回調函數
    3、調用有簡單參數的java方法
    3.1、dwr.xml的配置
    配置同1.1
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod3"/>
    </create>
    </allow>
    </dwr>
    3.2、javascript中調用
    首先,引入javascript腳本
    其次,編寫調用java方法的javascript函數
    Function callTestMethod3(){
                     //定義要傳到java方法中的參數
          var data;
          //構造參數
          data = “test String”;
          testClass.testMethod3(data);
    }
    4、調用返回JavaBean的java方法
    4.1、dwr.xml的配置
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod4"/>
    </create>
    <convert converter="bean" match=""com.dwr.TestBean">
                      <param name="include" value="username,password" />
    </convert>
    </allow>
    </dwr>
    <creator>標簽負責公開用于Web遠程的類和類的方法,<convertor>標簽則負責這些方法的參數和返回類型。convert元素的作用是告訴DWR在服務器端Java 對象表示和序列化的JavaScript之間如何轉換數據類型。DWR自動地在Java和JavaScript表示之間調整簡單數據類型。這些類型包括Java原生類型和它們各自的封裝類表示,還有String、Date、數組和集合類型。DWR也能把JavaBean轉換成JavaScript 表示,但是出于安全性的原因,要求顯式的配置,<convertor>標簽就是完成此功能的。converter="bean"屬性指定轉換的方式采用JavaBean命名規范,match=""com.dwr.TestBean"屬性指定要轉換的javabean名稱,<param>標簽指定要轉換的JavaBean屬性。
    4.2、javascript中調用
    首先,引入javascript腳本
    其次,編寫調用java方法的javascript函數和接收返回值的回調函數
    Function callTestMethod4(){
          testClass.testMethod4(callBackFortestMethod4);
    }
    Function callBackFortestMethod4(data){
         //其中date接收方法的返回值
    //對于JavaBean返回值,有兩種方式處理
                 //不知道屬性名稱時,使用如下方法
               for(var property in data){
                  alert("property:"+property);
                  alert(property+":"+data[property]);
               }
    //知道屬性名稱時,使用如下方法
               alert(data.username);
               alert(data.password);
    }
    其中callBackFortestMethod4是接收返回值的回調函數
    5、調用有JavaBean參數的java方法
    5.1、dwr.xml的配置
    配置同4.1
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod5"/>
    </create>
    <convert converter="bean" match="com.dwr.TestBean">
                      <param name="include" value="username,password" />
    </convert>
    </allow>
    </dwr>
    5.2、javascript中調用
    首先,引入javascript腳本
    其次,編寫調用java方法的javascript函數
    Function callTestMethod5(){
                     //定義要傳到java方法中的參數
          var data;
          //構造參數,date實際上是一個object
          data = { username:"user", password:"password" }
          testClass.testMethod5(data);
    }
    6、調用返回List、Set或者Map的java方法
    6.1、dwr.xml的配置
    配置同4.1
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod6"/>
    </create>
    <convert converter="bean" match="com.dwr.TestBean">
    <param name="include" value="username,password" />
    </convert>
    </allow>
    </dwr>
    注意:如果List、Set或者Map中的元素均為簡單類型(包括其封裝類)或String、Date、數組和集合類型,則不需要<convert>標簽。
    6.2、javascript中調用(以返回List為例,List的元素為TestBean)
    首先,引入javascript腳本
    其次,編寫調用java方法的javascript函數和接收返回值的回調函數
    Function callTestMethod6(){
          testClass.testMethod6(callBackFortestMethod6);
    }
    Function callBackFortestMethod6(data){
         //其中date接收方法的返回值
    //對于JavaBean返回值,有兩種方式處理
                 //不知道屬性名稱時,使用如下方法
               for(var i=0;i<data.length;i++){
    for(var property in data){
                      alert("property:"+property);
                      alert(property+":"+data[property]);
                   }
    }
    //知道屬性名稱時,使用如下方法
    for(var i=0;i<data.length;i++){
                   alert(data.username);
                   alert(data.password);
    }
    }
    7、調用有List、Set或者Map參數的java方法
    7.1、dwr.xml的配置
    <dwr>
    <allow>
    <create creator="new" javascript="testClass" >
    <param name="class" value="com.dwr.TestClass" />
    <include method="testMethod7"/>
    </create>
    <convert converter="bean" match="com.dwr.TestBean">
    <param name="include" value="username,password" />
    </convert>
    </allow>
    <signatures>
    <![CDATA[
    import java.util.List;
    import com.dwr.TestClass;
    import com.dwr.TestBean;
    TestClass.testMethod7(List<TestBean>);
    ]]>
    </signatures>
    </dwr>
    <signatures>標簽是用來聲明java方法中List、Set或者Map參數所包含的確切類,以便java代碼作出判斷。
    7.2、javascript中調用(以返回List為例,List的元素為TestBean)
    首先,引入javascript腳本
    其次,編寫調用java方法的javascript函數
    Function callTestMethod7(){
    //定義要傳到java方法中的參數
          var data;
          //構造參數,date實際上是一個object數組,即數組的每個元素均為object
    data = [
                          {
                             username:"user1",
                             password:"password2"
                          },
                          {
                             username:"user2",
                             password:" password2"
                          }
                      ];
          testClass.testMethod7(data);
    }
    注意:
    1、對于第6種情況,如果java方法的返回值為Map,則在接收該返回值的javascript回調函數中如下處理:
    function callBackFortestMethod(data){
               //其中date接收方法的返回值
               for(var property in data){
                      var bean = data[property];
                      alert(bean.username);
                      alert(bean.password);
                  }
    }
    2、對于第7種情況,如果java的方法的參數為Map(假設其key為String,value為TestBean),則在調用該方法的javascript函數中用如下方法構造要傳遞的參數:
    function callTestMethod (){
                  //定義要傳到java方法中的參數
                  var data;
                  //構造參數,date實際上是一個object,其屬性名為Map的key,屬性值為Map的value
                  data = {
                             "key1":{
                                 username:"user1",
                                password:"password2"
                             },
                             "key2":{
                                username:"user2",
                                password:" password2"
                             }
                         };
                  testClass.testMethod(data);
    }
    并且在dwr.xml中增加如下的配置段
    <signatures>
    <![CDATA[
    import java.util.List;
    import com.dwr.TestClass;
    import com.dwr.TestBean;
    TestClass.testMethod7(Map<String,TestBean>);
    ]]>
    </signatures>
    3、由以上可以發現,對于java方法的返回值為List(Set)的情況,DWR將其轉化為Object數組,傳遞個javascript;對于java方法的返回值為Map的情況,DWR將其轉化為一個Object,其中Object的屬性為原Map的key值,屬性值為原Map相應的value值。
    4、如果java方法的參數為List(Set)和Map的情況,javascript中也要根據3種所說,構造相應的javascript數據來傳遞到java中。

    posted @ 2010-09-14 01:13 梁良 閱讀(975) | 評論 (0)編輯 收藏

    國產開源在線HTML編輯器 xhEditor v1.1.0正式發布

    xhEditor是一個基于jQuery開發的簡單迷你并且高效的輕量可視化XHTML編輯器,基于網絡訪問并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。此次v1.1.0版主要變化在于提升編輯器用戶體驗,在修正大量問題的基礎上增加了各種提升用戶體驗的實用功能,例如HTML5功能支持下的直接將文件拖入編輯區域上傳功能,就能極大的提高用戶操作效率,改善使用體驗。

    我們不是最好的,但是我們會努力做的更好,我們愿意傾聽和接受所有用戶的心聲。最后,大家在使用過程中若發現任何的問題,或者有比較好的創意和想法,可以隨時向我們反饋(yanis.wang@gmail.com),我們會隨時傾聽大家的意見,xhEditor的發展離不開大家的支持。

    本次v1.1.0版本主要變化如下
    1,可自定義表情根路徑(emotPath參數)
    2,提供本地圖片等資源文件的前后臺路徑不一致問題的解決方案(urlBase參數)
    3,雙擊鏈接、圖片等直接打開修改界面
    4,Word代碼粘貼過濾功能由原先的IE only改為跨瀏覽器兼容
    5,強制粘貼為文本功能(forcePasteText參數)
    6,將本地電腦直接拖入編輯區域即可上傳在當前光標處,此功能需要HTML5上傳支持(Firefox,Chrome)

    完整更新列表如下
    ver 1.1.0 (2010-9-1)
    1. 添加:添加由網友shiny原創設計的皮膚NoStyle
    2. 添加:demo07 UBB演示頁面添加Google地圖插件,也作為不定寬按鈕的演示
    3. 添加:添加urlType轉非相對路徑中合并“..”到上一級路徑的功能
    4. 添加:添加emotPath初始化參數,以將表情指向其它自定義URL路徑下,注意路徑必需以“/”結尾
    5. 添加:添加urlBase初始化參數,用來定義超鏈接、圖片及Flash等文件的相對根路徑,同時也是urlType參數的參考根路徑
    6. 添加:經用戶反饋意見,重新添加“預覽”功能按鈕
    7. 添加:添加雙擊超鏈接、圖片、Flash和多媒體可直接打開相應修改界面的功能,注:某些瀏覽器雙擊Flash和多媒體會有問題
    8. 添加:打開面板時可按Esc鍵隱藏當前的面板
    9. 添加:初始化參數添加disableContextmenu,用以禁用瀏覽器在編輯區域的默認右鍵菜單,設置為true禁用,默認不禁用
    10.添加:Word粘貼自動過濾功能由原先的IE only增加為跨瀏覽器兼容
    11.添加:添加強制粘貼為文本功能,初始化參數forcePasteText設置為true開啟此功能,默認不強制文本
    12.添加:添加Pidgin和IPB兩套表情,并在demo05和demo07中添加相應的配置演示
    13.添加:初始化參數添加editorRoot,在某些特殊情況下定位編輯器的根路徑
    14.添加:將本地電腦中的多個文件拖放至編輯器的編輯區即可上傳并插入,此功能需要瀏覽器支持HTML5上傳(Firefox,Chrome)

    1. 修正:showIframeModal上傳模式下onUpload接口無效問題的修正
    2. 修正:使用無效按鈕名稱會導致JS出錯問題的修正
    3. 修正:IE6,IE7在iframe框架中使用xhEditor會在頁面中出現_xhe_cursor問題的修正
    4. 修正:IE瀏覽器在圖片、FLASH等控件上按Backspace會導致整個頁面后退問題的修正
    5. 修正:回車BR模式在IE瀏覽器下,按下回車只顯示一個空格不換行問題的修正
    6. 修正:IE瀏覽器中會造成內存泄漏問題的修正
    7. 修正:WebKit內核瀏覽器回車換行在切換一次源代碼后會丟失問題的修正

    1. 調整:皮膚框架進行了調整,支持不定寬按鈕,需要的用戶可自行設計修改
    2. 調整:為使按鈕配置更直觀簡便,原按鈕分隔符Separator變更為“|”,原按鈕換行符BtnBr變更為“/”
    3. 調整:原localUrl參數名變更為urlType

    查看最新版演示:http://xheditor.com/demo

    更多官方在線演示
       1. 默認模式:http://xheditor.com/demos/demo01.html
       2. 自定義按鈕:http://xheditor.com/demos/demo02.html
       3. 皮膚選擇:http://xheditor.com/demos/demo03.html
       4. 其它選項:http://xheditor.com/demos/demo04.html
       5. Javascript交互:http://xheditor.com/demos/demo05.html
       6. 非utf-8編碼網頁調用:http://xheditor.com/demos/demo06.html
       7. UBB可視化編輯:http://xheditor.com/demos/demo07.html
       8. Ajax文件上傳:http://xheditor.com/demos/demo08.html
       9. 插件擴展:http://xheditor.com/demos/demo09.html
       10.iframe調用文件上傳:http://xheditor.com/demos/demo10.html
       11.異步加載:http://xheditor.com/demos/demo11.html

    最新v1.1.0下載地址
    http://xheditor.com/download

    posted @ 2010-09-02 10:18 梁良 閱讀(471) | 評論 (0)編輯 收藏

    <2010年9月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    導航

    公告

        歡迎光臨

    常用鏈接

    隨筆分類

    隨筆檔案

    相冊

    .我的網站.

    友情博客

    開源社區

    科技博客

    資料網站

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    Powered by:
    LonLeung
    Copyright © 梁良

    本頁生成時間:毫秒

    主站蜘蛛池模板: 一级一看免费完整版毛片| 亚洲爆乳精品无码一区二区| 亚洲成av人片不卡无码| 亚洲av永久无码精品天堂久久| 亚洲sss综合天堂久久久| 国产亚洲精品2021自在线| 中国人免费观看高清在线观看二区| 久久成人免费播放网站| 国产AV无码专区亚洲A∨毛片| 亚洲AV无码一区二区乱孑伦AS| 亚洲色图视频在线观看| 亚洲精品永久在线观看| 4hu四虎免费影院www| 中文字幕免费视频一| 国产福利免费观看| 亚洲精品无码不卡在线播放HE| 亚洲精品美女久久久久9999| 久久亚洲AV永久无码精品| 久久精品亚洲综合一品| 一区二区亚洲精品精华液| j8又粗又长又硬又爽免费视频| 亚洲国产成人精品无码一区二区 | 精品免费久久久久久成人影院| 亚洲av午夜精品一区二区三区| 日韩在线视频免费看| 中文亚洲AV片在线观看不卡| 亚洲综合激情视频| 麻豆91免费视频| 亚洲视频在线免费看| 日本中文一区二区三区亚洲| 亚洲福利一区二区精品秒拍| 黄色a三级免费看| 在线观看免费中文视频| 免费一级一片一毛片| 国产亚洲成人久久| 色老板亚洲视频免在线观| 在线观看免费无码视频| 在线观看人成网站深夜免费| 国产精品二区三区免费播放心| 亚洲成AV人片在线观看WWW| 亚洲日本VA午夜在线影院|