Scala是Twitter使用的主要應用編程語言之一。很多我們的基礎架構都是用Scala寫的,我們也有一些大的庫支持我們使用。Scala是一門高效并且龐大(large)的語言,經驗教會我們在實踐中要非常小心。 它有什么陷阱?哪些特性我們應該擁抱,哪些應該避開?我們什么時候采用“純函數式風格”,什么時候應該避免?換句話說:我們發現哪些可以高效的使用這門語言的地方?本指南試圖把我們的經驗提煉成短文,提供一系列最佳實踐。我們使用Scala主要創建一些大容量分布式系統服務——我們的建議也偏向于此——但這里的大多建議也應該自然的適用其他系統。這不是法則,但有違于它的做法須有足夠的理由。
嵌入還有另外一個小便利,如下例子展示了一個嵌入字段以及一個正常的命名字段。 type Job struct { Command string *log.Logger } 現在 Job 類型具有 *log.Logger
盡管JSP是在Spring MVC應用中產生視圖的最可能的選擇,但它不是惟一的選擇。通過切換視圖解析器和視圖實現,你的應用可以使用其他視圖層技術產生Web頁面,甚至可以產生非HTML的輸出。在本章中,你學會了如何在Spring MVC應用中使用Velocity或FreeMarker來代替JSP。以類似的方式,你也看到如何將Jakarta Tiles集成到你的Spring MVC應用中,使應用的外觀可用性更高,也更美觀。最后,你看到如何創建定制的視圖實現,能夠產生動態生成的二進制內容,比如Excel工作表、PDF文檔以及圖像。雖然本章在應用的視圖層為你提供了若干種選擇,但所有你看到的實現都是在Spring MVC應用中完成的。那么,如果你更偏愛別的MVC框架呢?在下一章中,我們會把選擇的范圍擴展到其他MVC框架,從而你可以同時使用Spring以及你自己選擇的MVC框架。
Hadoop分布式文件系統(HDFS)被設計成適合運行在通用硬件(commodity hardware)上的分布式文件系統。它和現有的分布式文件系統有很多共同點。但同時,它和其他的分布式文件系統的區別也是很明顯的。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。HDFS放寬了一部分POSIX約束,來實現流式讀取文件系統數據的目的。HDFS在最開始是作為Apache Nutch搜索引擎項目的基礎架構而開發的。HDFS是Apache Hadoop Core項目的一部分。這個項目的地址是http://hadoop.apache.org/core/。
Python 研究(Dive Into Python) Dive Into Python 是為有經驗的程序員編寫的一本 Python 書。<br>ActiveState 制作了一個 Windows 上的 Python 安裝程序稱為 ActivePython, 它包含了一個完整的 Python 發布; 一個適用于 Python 編程的 IDE 附加了一些 Python 的 Windows 擴展, 提供了全部的訪問 Windows APIs 的服務, 以及 Windows 注冊表的注冊信息。 雖然 ActivePython 不是開源軟件, 但它可以自由下載。 ActivePython 是我曾經學習 Python 時使用過的 IDE, 除非有別的原因, 我建議您使用它。可能的一個原因是:ActiveState 通常要在新的Python 版本出來幾個月以后來更新它的安裝程序。如果您就需要Python 的最新版本, 并且 ActivePython 仍然落后于最新版本的話, 您應該直接跳到在 Windows 上安裝 Python 的第二種選項。
JMS 給java 程序員提供了一種通用的方式來創建、發送、接收和查看企業消息系統消息。企業消息產品(或者有時稱為面向消息的中間件產品)正逐漸成為公司內操作集成的關 鍵組件。這些產品可以將分離的業務組件組合成一個可靠靈活的系統。除了傳統的MOM 供應商,企業消息產品也可以由數據庫供應商和許多與網絡相關的公 司來提供。Java 語言的客戶端和Java 語言的中間層服務必須能夠使用這些消息系統。JMS 為Java 語言程序提供了一個通用的方式來獲取這些系統。JMS 是一個接口和相關語義的集合,那些語義定義了JMS 客戶端如何獲取企業消息產品 的功能。由于消息是點對點的,所以JMS 的所有用戶都稱為客戶端(clients)。JMS 應用由定義 消息的應用和一系列與他們交互的客戶端組成。
我第一次寫關于Standard Template Library的東西是在1995年,那時,我決定把More Effective C++的最后一個條款寫成一個STL的簡要概覽。我早該更好地了解STL。不久以后,我開始收到一些mail,問我什么時候寫Effective STL。 我把這個想法忍耐了幾年。一開始,我對STL不夠熟悉,所以不能給出關于它的建議。但隨著時間的推移,我的STL的經驗豐富了,主要問題出在其他方面。當一個程序庫的在效率和可擴展性設計上表現出突破性的時候從來沒有出過什么問題,但當開始使用STL時,這成了我不能預見的實際問題。遷移到一個幾乎最簡單的STL程序都成了一個挑戰,不光是因為庫的實現變化多端,而且因為現有的編譯器對模板支持有好有壞。STL的教材很難得到,所以學習“用STL方式編程”很難;但即使跨越了這個障礙,找到正確易學的參考文檔同樣很困難。可能使人畏懼的是,即使最小的STL使用錯誤往往會導致一個編譯器診斷的風暴——每一個錯誤都有上千個字長,而且大多涉及的類,函數或模板在令人厭惡的源代碼中并沒有被提及——幾乎都是難以理解的。雖然我很欽佩STL和它背后的英雄們,但我還是覺得把STL推薦給在業的程序員并不合適。我不能肯定能有效率地使用STL。 然后我開始注意到一些讓我感到驚奇的事情。盡管有很多小問題,盡管只有令人消沉的文檔,盡管編譯器的出錯信息像無線電信號雜音,但仍然有很多我的咨詢客戶在使用STL。而且,他們不只是玩玩而已,他們竟然把STL用到了產品的代碼中!這是一個革命。我知道STL表現出的是一流的設計,但程序員是不會喜歡用“必須忍耐輕微頭痛,只有貧乏的文檔和天書般的錯誤信息,但設計得很好”的程序庫的。我了解到越來越多的專業程序員都認為即使一個實現得很不好的STL也比什么都沒有好得多。
OS 9 上的 Python 10 1.5.?RedHat Linux 上的 Python 11 1.6.?Debian GNU/Linux 上的 Python 12 1.7.?從源代碼安裝 Python
ng在Lua中是很常見的。可以使用單引號或者雙引號表示字符串 a = "a line" b = 'another line' 為了風格統一,最好使用一種,除非兩種引號嵌套情況。對于字符串中含有引號的情
有一份規范的指南能協助您更理智的,更好維護和更好擴展Sass。
?Google MapReduce中文版 ????譯者: alex ? 摘要 MapReduce是一個編程模型,也是一個處理和生成超大數據集的算法模型的相關實現。用戶首先創建一個Map函數處理一個基于key/value
Oracle數據庫是第一個為企業網格計算而設計的數據庫,她為管理信息和應用提供了靈活、低成本、高效益的方式。企業網格計算把存儲及服務能力轉化為符合業界標準、模塊化的資源池 (resource pool)。在這種體系結構之下,新系統可以從組件化的資源池中組合資源而迅速構成。企業也無需建設尖鋒負荷系統 (peak workloads),因為計算能力可以在需要時輕松地從資源池中獲得或重新分配。
本書的前身是Marakana Android Bootcamp培訓課程內部的連載讀物,其受眾多達幾千人,遍布四個大洲,大多是一些移動設備公司的開發者。它總結了我在幾年Android教學中的心得體會:哪些實踐有用,哪些實踐應該避免。經過適當的增刪與提煉,最終編成本書。<br> 自Java初出茅廬不久,我就與它結下了不解之緣。當時java的定位還是在嵌入式領域,“對身邊的各種設備編程”,這一想法對我觸動很深。不久之后Java的主力就轉向了Web應用的開發,我的工作也隨之而轉型到大型企業級應用,并在此間度過了十個春秋。所以當Android出現時,我馬上就認了出來:為非PC的設備編程!更何況Android所支持的不僅僅是手機而已。<br> 本書假定讀者擁有java或類似語言的基礎,配合實例,參照一個合適的難度,手把手地為你講解Android應用的開發過程。Learning Android,更是體會Android的思維方式。
Spring培訓應用和銀行之間的會話開始于一個從Spring培訓應用到銀行的支付服務的遠程過程調用(RPC)。表面上看,RPC調用類似于調用一個本地對象的方法。它們都是同步的操作,調用代碼將被堵塞,直等到被調用過程完成為止。<br> 它們的不同也就是距離的問題,類似于人類之間的交流。假設你們在眾所周知的正在工作的水冷機旁討論周末足球比賽的結果,你們就在進行一個本地會話——也就是說,會話發生在同一房間的兩個人之間。同樣地,一個本地方法調用就是執行流程在同一個應用的兩個代碼塊之間的交換。
CA. SPKAC FORMAT ????The input to the -spkac command line option is a Netscape signed public key and challenge
源項目,為了讓更多人使用和了解這個項目。本人發了點時間將其網站提供的Cookbook翻譯/整理成中文版。 地址: http://www.baiduhome.net/jsoup
Git 堪稱版本控制瑞士軍刀。這個可靠、多才多藝、用途多樣的校 訂工具異常靈活,以致不易掌握,更別說精通了。 正如Arthur C. Clarke所說,足夠先進的技術與魔法無二。這是學習Git的好辦法:新手 不妨忽略Git的內部機理,只當小把戲玩,借助Git其奇妙的能力,逗逗朋友,氣氣敵人。
application對象實現了用戶間數據的共享,可存放全局變量.它開始于服務器的啟動,直到服務器的關閉,在此期間,此對象將一直存在;這樣在用戶的前后連接或不同用戶之間的連接中,可以對此對象的同一屬性進行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的訪問.服務器的啟動和關閉決定了application對象的生命.它是ServletContext類的實例。 pageContext對象提供了對JSP頁面內所有的對象及名字空間的訪問, 也就是說他可以訪問到本頁所在的SESSION.也可以取本頁面所在的application的某一屬性值, 他相當于頁面中所有功能的集大成者,它的本類名也叫pageContext.
JMS 客戶端創建一個 Connection 對象,一個或多個 Session 對象,還有一些消息的生產者和消費者。連接在創建之初處于停止狀態,這就意味著,沒有消息會被傳送。 通常在連接準備好之前(即在所有消息消費者創建之前),都讓其處于停止狀態。隨后,客戶端調用此連接對象的 start 方法,然后消息就開始到達此連接的消費者。這種準備期間的約定將客戶端的混亂減至最少,否則在客戶端尚在準備自身的過程中,就可能有異步消息被傳送過來。 連接可以被立即啟動,而后再繼續客戶端的準備工作。這樣的話,客戶端就必須準備好在它的準備過程中處理異步消息的傳送。
JavaScript是由Netscape公司開發并隨Navigator導航者一起發布的、介于Java與HTML之間、基于對象事件驅動的編程語言,正日益受到全球的關注。因它的開發環境簡單,不需要Java編譯器,而是直接運行在Web瀏覽器中,而因倍受Web設計者的所愛。