posts - 14,  comments - 22,  trackbacks - 0
           
          文章出自:http://www.yeeyan.com/articles/view/nana/9276 譯者:scorpio31 

          簡介

          探討新的互聯網技術發展趨勢及其代表公司,google  蘋果  Facebook

          接受人類的創造并使用它

          但是不要崇拜它

          因為它將成為過去

          一位匿名的智者在一個廢棄的汽車門上刻下了上面的話,并把它拖到了我在北部加利福尼亞的家附近的一條小路上。原始的紅衫小樹林似乎不該出現這樣銹跡斑斑的汽車門,然而車門上的話卻神奇般地把這片破舊不堪的東西變成了一件藝術品。我一回到家就再google上搜索這句話,當然是什么也沒發現。(多虧了google, 我們生活的世界,把“我不知道”變成一個無法接受的回復。因此,我不能找到作者的結果讓我抓狂。)

          我住的小鎮距離硅谷很近,我大多數朋友都以技術為生,而我則以撰寫這些內容為生。 我們都崇拜那些璀璨耀眼的新事物。這段時間,日益臨近的蘋果下一代iphone發布正處在信誓旦旦的祈禱中。 如果這馬上到來的奇跡將被相信,這款新的手機將會成為下一個大的“平臺”。

          一個平臺,對于計算機人士而言,是指在其上可以運行第三方的應用程序。目前已有許多平臺,僅在手機一塊國際上就有30多種。 但是一個真正成功的平臺應該可以超越它的直接用戶群并能有效的創造并控制一個巨大的市場。 在計算機工業界,IBM憑借其大型機和操作系統主宰著高端商用平臺,著眼于企業用戶。 隨著PC革命的興起,似乎是在一夜之間,IBM受到了微軟和Windows操作系統的排擠。 依次下來,隨著web-不被任何個體擁有,對全體開放—成為主宰平臺,Windows正在失去其往日的威力。(是的,web只不過是一層巨大的程序代碼,所有我們訪問的網絡站點不過是跑在其上的應用程序而已。)

          當然每個技術領域的主要角色都想創造出下一代平臺。新穎之處在于的確有這樣的可能使得任意多的他們取得成功。“在這些當中與以往的觀點不同,即只有一個成功者” Marc Andreesen說,他輔助開發了第一個被廣泛使用的瀏覽器,Mosaic,后來在互聯網中流行。 互聯網相對PC操作系統而言是一個廣大的多的天地。“試圖找出誰將取勝”Andereessen 補充道,“有點類似于爭論在食品市場中牛肉、雞肉還是龍蝦將會贏得市場一樣。”

          然而,對象我這樣喜歡過度用功的人,觀察硅谷當中最具創新性的三家公司—每家都代表信息時代的一種基本特質—誰能勝出是一件吸引人的事情。 蘋果、google、facebook分別是個人計算機開創時代的小角色;是最大的、獲利最多的、造就了web的公司;并且是充滿膽識的“暴發戶”,是當前社會網絡遷移的同義詞。

          在很多方面,這些公司成為了技術標準的棋手,雖然他們的指導體系有差別。 例如,google倡導“開放”的web,并且傾向于在開發者中推動開放的標準和聯盟。 Facebook, 連同其注冊社區中7000萬的活動用戶,提供了一個更可控的經驗,至少迄今為止,希望在其虛擬社區內保證用戶的安全。蘋果從舊世界中走來。 它雅致的產品保護了用戶遠離信息時代的混亂,但是蘋果的經驗仍傾向于產品的高度受限,使用蘋果獨有的硬件終端以及蘋果的軟件和服務,例如iTunes音樂商店。

          在這場平臺之爭中的獲勝者將會贏得數十億的用戶,為廣告商賺足眼球,銷售其諸如音樂、電影、甚至按需的計算能力等服務。然而這里的結果遠比誰將掙得最多更為重要。互聯網的將來—我們如何獲取信息,如何在相互之間進行交流,更重要的一點,誰將控制它—都還是一個問題。

          Facebook為何出現

          當Facebook創始人Mark Zuckerberg宣稱這項運動開始時,平臺這個詞在一年前成了時髦用語。 ‘“社會網絡是封閉的平臺”。他講述了一群在舊金山的800開發人員的聚會。“今天我們將會去改變所有這些。”

          你將觀看這個講演的視頻,像我所做那樣,在google中搜索開發者會議的名稱,“F8。” 讓F8有史以來變得有意義的是Facebook平臺首次對開發人員開放。任何人知道如何編寫應用程序的人都被Facebook所歡迎。Andreessen說一個開放的編碼環境是任何一個平臺成功的關鍵,因為它將更加易用,更多的開發人員將匯集起來,使得平臺變得不斷強大。Facebook也把免費的版本分發給開發人員。想要增加新應用的用戶可以通過單擊的快捷方式來實現。謠傳將會進入Facebook董事會的Andreessen說,所有這些都幫助Facebook更引人注目。“成為一個平臺的關鍵是能夠激發成千上萬的處在另一側的你不需要支付費用的人群的創造力,并且他們可以想到你沒有想到的東西。”

          這正是過去一年中發生在Facebook身上的事情。類似于淘金熱的一波又一波的開發人開始編寫簡單的應用。截至6月1日,24000個程序,小到手勢,例如虛擬打人的能力,再到完整的游戲例如Scrabulous都對Facebook的用戶可用。期待可以加載更多,Facebook開放了其關鍵的編程接口,這些代碼是開發人員訪問Facebook平臺所需要的,令人震驚的達到400000個,遠遠超出了Zuckberg的預期。

          Zuckerberg,24歲,在會議中是熱門人物。當我和他交談時,他剛從舊金山附近的一個大型的業界技術活動回到加州的Palo Alto.在那里他又一次被問到是否會把Facebook賣給微軟,僅是小規模投資就給了Facebook150億資金。(微軟,曾經嘗試收購雅虎但以失敗告終,將會使用一個新的平臺。)Zuckerberg有一次說了不,他將不會賣出,他會盡全力打造一個偉大的并且切實可行的平臺,當然這需要時間。 Zuckerberg以一種平穩流暢的男高音講述著,他長長的脖子,并習慣于把下巴上翹,像是在吹薩克斯。“許多去年中所作的開發平臺的工作只是為了跟上勝利的步伐。”他說。

          這就是當你創造一個成功的平臺時所要發生的:一個有效的圈子擴張著,有廣大的用戶吸引著一批開發人員創造更多樂趣和有用的東西,這些反過來又吸引更多的用戶加入。無需提及的是,當然也會存在相當的無用的、讓人厭煩的應用。 在Facebook,應用程序開發者的收入是從與安裝該程序的用戶相關的廣告發布費用中提取的,其中一批很適合插入式的廣告。Facebook也會對類似Funwall的應用采取措施,這個程序很容易使得用戶不經意間對其郵件列表中的朋友發送垃圾郵件,邀請其安裝Funwall. Zuckerberg說Facebook在調整其平臺以幫助最有用的應用程序有效傳播,而打擊壓制那些不良應用程序。

          我詢問Zuckerberg關于類似Facebook這樣的封閉專有網絡可能會抑制網絡創新性的理論。這個想法是Jonathan Zittrain 的新書《互聯網的將來和如何停止它》的主題,這本書由哈福大學的Berkman互聯網與社會中心聯合撰寫。他指出像Facebook這樣的封閉社區的興起,iPhone的出現,以及看起來沒有副作用的google所設立的標準會使得那些不正當的、甚至有具有破壞性的發生在無序網絡中的創新活動退出視野。Zuckerbert停下來想了一回,接著說:“總體上我是同意上述原則的,我認為某種程度的開放性和兼容性是極其重要的。” 偉大的平臺在開始時通常都是封閉式的,當其走向成熟可以處理更多的負載時會逐漸開放。他補充道:“我們在某種程度上已經完成了那個初始階段,正在向更開放的階段邁進。”

          實際上,上個月Zuckerberg發布了Facebook Connect功能,這項功能允許用戶通過一小段代碼把自己的聯系列表放在網頁上。再比如說,過些時間,博客作者把Facebook風格的“圍墻“嵌入到自己的站點上也會成為可能,這將允許方便地查看朋友留言。這是個很棒的想法。到處都是Facebook! 但還存在一個問題。在Facebook Connect發布之后,goolge發起了一個近乎相似的計劃—Friend Connect. 如果有什莫會使Facebook近乎瘋狂腳步放慢下來,那就是google.

          Google嘗試連接

          網絡發展的最初階段是把信息在線發布并讓人們可以通過某種方式找到并連接上。第二階段即現階段是關于在人們之間彼此建立連接。

          “社會性是個新的重點” Joe Kraus說, 他負責指導google創建運行在整個網絡之上的社會層。在這一點上,正如google在其他方面所為一樣,Kraus的策略是創造一個社會網絡的聯盟,這個網路將使用開放的標準而不是Facebook的專有網絡和編程語言,因此開發人員可以推廣他們的應用。

          “Google依賴于開放的互聯網來運作它全部的業務。”他告訴我說,“這存在開放性所帶來的各種遺傳性問題。” 這部分也是由于google的核心業務,搜索依賴于開放性。Google無法找到位于網上的文件、音樂、圖片等等--除非它們是開放的可以訪問的,Kraus說。在財富500強中最富有的互聯網公司(排名150,市值165億),google有個商業計劃,其依賴于網絡被盡可能多的人使用。這也正是為何公司會投入如此大量的時間和精力來發掘新的應用以使得網絡變得更有用、更有趣。

          社會網絡對這個計劃是一個威脅;用戶將會傾向于留在其自己所屬的網絡社區中,在那些應用中流連。例如,當Facebook的用戶開始玩Scrabulous或修改圖片時,他們就不使用google。實際上,他們更可能過其朋友或網絡應用程序來發現新事物,比如iLike,一個用于匹配你的朋友和你相似音樂喜好的服務。

          所以,google在去年12月通過OpenSocial,這個由Facebook競爭對手:MySpace,Hi5, 以及google自己的社會網絡Orkut構成的聯盟, 試圖創造一個一次開發即可普遍運行的應用平臺。 這意味著開發者,只要經過微小的改動就可以創造一個可以

          在所有主要社會網絡運行的應用,當然了,Facebook除外。 "當你同開發人員交談時,他們中的多數都不超過50人;他們不可能用50種不同的方式來編寫應用,"Kraus說,“他們的確需要一次性開發,然后盡可能多的推廣。”

          他的觀點確實是有道理的。但是我在想也許對google也許已經晚了,或者對于社會網絡的聚會已經過時了。“Google意識到了它需要面向更多用戶,但這需要在現有平臺上增加許多。這并不都是自有的。”我的鄰居Seth Goldstein說,他經營著SocialMedia,一個針對社會網絡的廣告網。“Facebook是從頭開始被設計出來用于描繪展現這些復雜的且有細微差別的各種社會關系的。”

          為什么iPhone是重要的

          蘋果的理念更加簡單:誰占領網絡根本不重要- Facebook,Google或者二者都有,抑或其它。 Steve Jobs只是希望確保你使用他們的設備去訪問。

          到了那時,新的iPhone,這個被期待在于6月9日發布的茶品,將是具有“巨大意義的”,Andreessen說,他現在主持一家名為Ning的公司,允許任何人打造自己的社會網絡。 “,所有這里的人們都相信iPhone—并且我認為這是事實—將是第一個真正的、完整意義上的手持計算機終端,”他說,“它具備一個可用平臺所必需的一切要素。”

          Matt Murphy,一位位于Kleiner Perkins Caulfield & Byers的風險投資人,目睹了這項花費1億資金啟動iPhone偉大應用的過程,乃至更遠。他宣稱iPhone將會“毫無疑問的成為后PC時代的驅動力。” Murphy指出用于開發iPhone應用程序的開發包已經被下載超過了200,000次,他估計當iPhone商店開業時將約有1000個應用程序商品提供給消費者。“當看到有眾多的阻礙移動生態環境的制約因素時,蘋果只想拋棄這些因素并提供一個開放的平臺,一個偉大的設備和用戶群對于這些新的應用來說是非常重要的。”

          Jobs的杰出才能總是表現在融合邊緣的技術并使之易于接受。平板監視器,電影制作軟件,wi-fi,數字音樂播放器,觸摸顯示屏---所有這些都大約是在過去的20年中以比較粗糙的方式出現的,他的天才在于發現這些并重新包裝它們,使得這些技術可以在大眾面前閃亮登場。與之相似的是,蘋果的iPhone2.0將會在地理位置上更廣泛流行,想想車載衛星導航系統作為一種人們隨地都可進行的交流方式。

          又一次,在平臺之戰中面臨保衛多個戰場的Google將是蘋果的強大對手。它正在領導另一個聯盟為下一代手機以及其它消費終端來建造一個稱為Android的開放操作系統。這個開放的手持設備聯盟具有34名成員,手機網絡運營商以及設備制造商,包括摩托羅拉,LG電子,三星,中國移動,Sprint Nextel和T-Mobile. 盡管Google的CEO Eric Schmidt坐在蘋果執行董事會的位置上,Jobs像對待合作伙伴一樣在iPhone上運行google的應用,蘋果卻不在這個聯盟當中。

          這看起來類似于在山谷中來大喊“Frenemies”, 公司之間在某些領域進行合作而在其它則相互競爭。

          第一款Android研制的手機就要面世了,Google宣稱,在今年下半年,也可能就是在新的iPhone發布的時刻。在最近的google開發者大會上,公司第一次作了展示,一個通用的運行操作系統的手機。 可觸摸,附一個可隨車攜帶的運動檢測加速計,用于在google衛星地圖上指示用戶的位置,這個設備與iPhone沒有任何相似之處。 Google的移動平臺總監,Andy Rubin解釋說,Android對開發者來說是一個開放的平臺;他們可以隨意更改代碼。他說迄今為止,開發者已經編寫了超過1800個應用程序,這些都可通過google站點傳播,類似于YouTube一樣根據受歡迎程度。“這當中有一些相當有創意的東西”,Rubin解釋到,“這將融合手持設備與網絡以及隨之出現的全新的事物。”

          為了推動進程,google舉辦競賽,最終將有10個最佳應用的開發者贏取275000美元的獎金。 Robert Lam, 他的Eco2go在上個月被提名為50名進入決賽頂級獎項之一,他表示決定為Android平臺而不是iPhone開發自己的應用程序,用來幫助用戶計算并減少carbon footprints, 因為對于Android平臺而言,比iPhone要簡單的多。為iPhone做開發“將會花費我們一定的年度費用,所以我們不得不與蘋果分享收入的30%”,Lam說。這就是說,Lam已經考慮在Eco2go建立后把其應用移植到iPhone上。 iPhone可能最終將會變得非常流行,在這個階取消所有可能的選項是不明智的。

          我同意。像他一樣,在這場戰爭里,我在各處植根,因為聽起來哈佛的Zittrain的擔憂似乎并非是事實,我們都身處其中。當Andreessen說網絡太廣闊以至于拒絕任何控制的企圖時他是正確的。 有了google,使我深刻意識到Facebook或者任何其他人似乎都不太可能領先的太遠。同時我也相信當Zuckerberg說Facebook將隨著時間逐步開放。 這是個明智的進步,他是個聰明的人。最后,我希望手上可以拿著新的iPhone. 屬于它的時間會來的也會過去。但是現在呢?偉大的技術,仍會一如既往的呈現在我們每一個上帝面前。

          posted @ 2008-06-24 12:34 張老三 閱讀(276) | 評論 (0)編輯 收藏
              周末加班,在IBM小型機上部署升級版的應用程序。
          我在學校學過Linux,實驗室環境下用過red hat 。但是還沒用過IBM 的AIX系統,其實命令應該差不多,整整忙一天。
              系統很龐大,我們首先需要使用MQ將程序包從頂級節點下發到下一層每個服務器節點,剩下的都是重復性的工作了。每個下層環境下都有三臺小機,分別是DB2server、MQserver、WASserver,現在總結一下。
              使用secureCRT telnet到WASserver上,在這里,創建備份目錄,先備份當前版本的程序包,然后將升級版的程序包copy進去。
               1、mkdir -p /tmp/20080621/app_bak  創建備份目錄
                  如果不指定-p參數,那么若/tmp/20080621路徑不存在的話,app_bak就無法創建;指定-p就可以連續創建不存在的目錄
              2、cd  /tmp/20080621/app_bak 進入備份目錄 可以使用pwd查看一下當前目錄

              3、mv 原來的文件包 ./ 將原來的程序包移動到當前目錄下

              到現在為止,備份算是搞定了,接下來將升級版的軟件包copy到WASserver上,由于升級版的軟件包在MQserver上,我們使用ftp命令把它取到WASserver上,過程如下:
              1、cd 應用程序目錄
              2、ftp MQserver ip 
                  系統提示輸入user、password,驗證之后,進入ftp命令模式下,即ftp>
                  使用ftp的get命令將MQserver上的升級版軟件包取至當前目錄:ftp>get 軟件包在mqserver上的全路徑 ./
                  文件不大的話,應該很快就能傳完。然后使用bye命令斷開ftp連接(ftp真是個好東西,其他的命令很多,請見ftp相關資料)

                現在升級版的軟件包就copy到WASserver上了,接下來要做的是升級數據庫,這要登錄到DB2server上,AIX提供了一個連接本地主機或遠程主機的命令,rlogin [本地主機或遠程主機名],查看主機名可以使用hostname命令,例如我現在鍵入hostname,系統會打印出WASserver。
              1、rlogin DB2server 登錄到DB2server上
              2、cd /tmp/datascript 然后使用chown -R db2admin:db2grp1 * 修改此目錄的所有權,使用chmod 777 *修改讀寫權限,chmod 有符號方式和數字方式兩種,不清楚的Google一下。
              2、使用同樣的方法,將數據庫升級包從MQserver ftp到DB2server上
              3、DB2 -tvf xxxx.sql > ./xxxx.sql.log 執行升級腳本 并創建日志,如果有很多sql腳本要執行的話,可以寫成shell腳本,然后直接執行就ok了,如./update_20080621.sh
              4、使用cat或more命令仔細查看腳本執行的日志,確保執行無異常

          做到這里,一個地方的升級基本上完成了,重啟一下was就可以到另一個地方的去升級了。全國30多個地方呢,夠我們忙的了。

              期間也遇到了很多小問題,值得一提的是,在升級數據庫的時候,腳本文件是dos格式還是unix格式的問題。不知道怎么回事,我們在Windows下編寫好腳本之后,已經改為unix格式,而傳到小機上之后仍然發現有很多dos格式下的回車,只好使用vi編輯器在小機上做了修改。熟練使用vi是在unix/linux工作的必備能力,尚且不熟的請趕快Google,學習學習,vi的內容很多,先不說了。

                 周末忙了兩天,累,欣慰的是客戶反映升級后,系統使用正常,還沒發現問題。好了,收工嘍!
          其實上面這些都是類unix系統中最簡單的操作,對牛人來說不值一提,但我還不是牛人,希望和我同水平的人共同學習!
              
          posted @ 2008-06-22 16:40 張老三 閱讀(1983) | 評論 (1)編輯 收藏
          簡要說一下http請求報文的格式:
              HTTP請求包括三部分:請求行(Request Line),頭部(Headers)和數據體(Body)。其中,請求行由請求方法(method),請求網址Request-URI和協議 (Protocol)構成,而請求頭包括多個屬性,數據體則可以被認為是附加在請求之后的文本或二進制文件。

              get 請求表示客戶端請求一個uri,服務器返回客戶端請求的uri,post請求表示客戶端請求的時候還要提交數據,比如提交form表單,要提交的數據會放到請求報文的body部分,服務器收到后這樣的請求后通常需要來處理這些數據。

              get請求是將數據放在請求的url之后,是一個以"?"打頭的查詢字符串,比如常見的test.jsp?name=aaa&age=10這種格式,這個是可以直觀看到的,(登陸的用戶名和密碼可不能用get哦)。由于http協議的限制,這樣放在url之后的get請求的數據是受大小限制的,最大長度不超過256字符(好像是,可能和web服務器有關)。

              為了能夠傳輸更多的數據,可以采用post請求,post請求是將數據放到了http的Content中,這就無大小的限制了,而且傳輸的數據不能直接被看到(登陸的用戶名和密碼一般采用post請求),大量的數據或是文件上傳,都只能用post來傳輸。
              簡單的說,get是通過http header來傳輸數據,有數量限制,而且可見,而post則是通過http body來傳輸數據,沒有數量限制。

              再說servlet中的doget和dopost方法
              web服務器處理這些請求的時候,如果客戶端提交的是get請求,則響應doget方法,如果客戶端提交的是post請求,則響應dopost方法。這是web服務器在響應doservice方法時,由doservice方法分發下來的(詳情請查看http協議和servlet生命周期方面的文章)
          posted @ 2008-06-19 00:28 張老三 閱讀(4819) | 評論 (2)編輯 收藏
          大學中從未寫過Java代碼的我,竟然要做Java開發了,
          看來這個時間還是很有意思的!

          那我張老三也只能很感興趣的奉陪了!
          以后注定是Java的人。

          專注于技術,我會走好我的路!

          高調做事,低調做人,開博第一天,就不大宴賓客了!
          posted @ 2008-06-16 17:25 張老三 閱讀(496) | 評論 (1)編輯 收藏
          僅列出標題
          共2頁: 上一頁 1 2 
          主站蜘蛛池模板: 那坡县| 长治市| 冕宁县| 山西省| 北京市| 巴塘县| 台中县| 竹山县| 禄劝| 宜春市| 开平市| 陆丰市| 安图县| 海林市| 临汾市| 景宁| 和静县| 波密县| 秭归县| 禹城市| 南城县| 滦平县| 和田县| 武鸣县| 辽阳市| 若羌县| 登封市| 太保市| 资兴市| 霍林郭勒市| 闽清县| 安康市| 永新县| 清镇市| 永和县| 宿州市| 梁平县| 山阳县| 麦盖提县| 鸡泽县| 德惠市|