日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

上周技术关注:函数式编程另类指南

發(fā)布時間:2024/1/1 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 上周技术关注:函数式编程另类指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • [網(wǎng)站設計, 用戶體驗] 改進網(wǎng)頁可讀性(Readability)的7個方法 >>
  • [用戶體驗, delicious] 美味書簽(del.icio.us)的用戶體驗改進項目 >>
    從了解公司的商業(yè)戰(zhàn)略開始,進行全面的研究。之后首先進行了專家評估,建立了一個Listening Labs進行用戶情景研究,觀察和訪談。根據(jù)前面一系列研究結(jié)果,制定出用戶體驗的戰(zhàn)略,最后設計了15個頁面的框架原型,以揭示用戶體驗戰(zhàn)略如何貫徹到執(zhí)行中。
  • [編程思想, Lisp] 函數(shù)式編程另類指南 >>
    函數(shù)式編程是對阿隆左·丘奇理論的實踐應用。但也并非全部 lambda 演算都被應用到了實踐中,因為 lambda 演算不是被設計為在物理局限下工作的。因此,象面向?qū)ο蟮木幊桃粯?#xff0c;函數(shù)式編程是一系列理念,而不是嚴格的教條。現(xiàn)在有很多種函數(shù)式編程語言,他們中的大多數(shù)以不同方式完成不同任務。在本文中我將就最廣泛使用的源自函數(shù)式編程的思想作一解釋,并將用Java語言舉例。(的確,你可以用Java寫出函數(shù)式的程序如果你有顯著的受虐傾向)。在下面的小節(jié)中,我將會把Java作為一種函數(shù)式語言,并對其稍加修改使它成為一種可用的函數(shù)式語言。現(xiàn)在開始吧。
  • [數(shù)學, google, 算法] 數(shù)學之美 系列十六(上) 不要把所有的雞蛋放在一個籃子里 -- 談談最大熵模型 >>
    最大熵原理指出,當我們需要對一個隨機事件的概率分布進行預測時,我們的預測應當滿足全部已知的條件,而對未知的情況不要做任何主觀假設。(不做主觀假設這點很重要。)在這種情況下,概率分布最均勻,預測的風險最小。因為這時概率分布的信息熵最大,所以人們稱這種模型叫“最大熵模型”。我們常說,不要把所有的雞蛋放在一個籃子里,其實就是最大熵原理的一個樸素的說法,因為當我們遇到不確定性時,就要保留各種可能性。
  • [數(shù)學, google, 財經(jīng)股票, 算法] 數(shù)學之美 系列十六(下)- 不要把所有的雞蛋放在一個籃子里 最大熵模型 >>
    拉納帕提成功地將上下文信息、詞性(名詞、動詞和形容詞等)、句子成分(主謂賓)通過最大熵模型結(jié)合起來,做出了當時世界上最好的詞性標識系統(tǒng)和句法分析器。拉納帕提的論文發(fā)表后讓人們耳目一新。拉納帕提的詞性標注系統(tǒng),至今仍然是使用單一方法最好的系統(tǒng)。科學家們從拉納帕提的成就中,又看到了用最大熵模型解決復雜的文字信息處理的希望。最大熵模型,可以說是集簡與繁于一體,形式簡單,實現(xiàn)復雜。值得一提的是,在Google的很多產(chǎn)品中,比如機器翻譯,都直接或間接地用到了最大熵模型。我們知道,決定股票漲落的因素可能有幾十甚至上百種,而最大熵方法恰恰能找到一個同時滿足成千上萬種不同條件的模型。達拉皮垂兄弟等科學家在那里,用于最大熵模型和其他一些先進的數(shù)學工具對股票預測,獲得了巨大的成功。從該基金 1988 年創(chuàng)立至今,它的凈回報率高達平均每年 34%。
  • [MapReduce, google, 搜索技術] Map Reduce - the Free Lunch is not over? >>
    MapReduce中最重要的兩個詞就是Map(映射)和Reduce(規(guī)約)。初看Map/Reduce這兩個詞,熟悉Function Language的人一定感覺很熟悉。FP把這樣的函數(shù)稱為”higher order function”(”High order function”被成為Function Programming的利器之一哦),也就是說,這些函數(shù)是編寫來被與其它函數(shù)相結(jié)合(或者說被其它函數(shù)調(diào)用的)。如果說硬要比的化,可以把它想象成C里面的CallBack函數(shù),或者STL里面的Functor。比如你要對一個STL的容器進行查找,需要制定每兩個元素相比較的Functor(Comparator),這個Comparator在遍歷容器的時候就會被調(diào)用。拿前面說過圖像處理程序來舉例,其實大多數(shù)的圖像處理操作都是對圖像矩陣進行某種運算。這里的運算通常有兩種,一種是映射,一種是規(guī)約。拿兩種效果來說,”老照片”效果通常是強化照片的G/B值,然后對每個象素加一些隨機的偏移,這些操作在二維矩陣上的每一個元素都是獨立的,是Map操作。而”雕刻”效果需要提取圖像邊緣,就需要元素之間的運算了,是一種Reduce操作。再舉個簡單的例子,一個一維矩陣(數(shù)組)[0,1,2,3,4]可以映射為[0,2,3,6,8](乘2),也可以映射為[1,2,3,4,5](加1)。它可以規(guī)約為0(元素求積)也可以規(guī)約為10(元素求和)。面對復雜問題,古人教導我們要“分而治之”,英文中對應的詞是”Divide and Conquer“。Map/Reduce其實就是Divide/Conquer的過程,通過把問題Divide,使這些Divide后的Map運算高度并行,再將Map后的結(jié)果Reduce(根據(jù)某一個Key),得到最終的結(jié)果。Googler發(fā)現(xiàn)這是問題的核心,其它都是共性問題。因此,他們把MapReduce抽象分離出來。這樣,Google的程序員可以只關心應用邏輯,關心根據(jù)哪些Key把問題進行分解,哪些操作是Map操作,哪些操作是Reduce操作。其它并行計算中的復雜問題諸如分布、工作調(diào)度、容錯、機器間通信都交給Map/Reduce Framework去做,很大程度上簡化了整個編程模型。MapReduce的另一個特點是,Map和Reduce的輸入和輸出都是中間臨時文件(MapReduce利用Google文件系統(tǒng)來管理和訪問這些文件),而不是不同進程間或者不同機器間的其它通信方式。我覺得,這是Google一貫的風格,化繁為簡,返璞歸真。接下來就放下其它,研究一下Map/Reduce操作。(其它比如容錯、備份任務也有很經(jīng)典的經(jīng)驗和實現(xiàn),論文里面都有詳述)
  • [google, 比賽] Google Code Jam 2006補充報道——中國選手成績斐然 >>
    2006 年11月7日,Google(谷歌)中國公司今天宣布,在剛剛結(jié)束的國際頂級編程比賽--2006年Google(谷歌)全球編程挑戰(zhàn)賽決賽中,中國選手取得了參賽以來的最佳成績。來自中國的選手王穎勇奪本次比賽的第二名,另有6名選手進入前50名,本次比賽共有13名中國選手成功入圍前100名,其中就包括了本次比賽唯一的中學生,來自中國廣東中山的中學生余江偉。據(jù)了解,此次中國進入決賽的選手人數(shù)僅次于俄羅斯,排名全球第二。來自俄羅斯的選手獲得了本次比賽的冠軍。
  • [MapReduce, Google, 搜索技術] MapReduce: Simplified Data Processing on Large Clusters >>
    MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the pap
  • [.NET開發(fā)] .NET 3.0 資源列表 >>
  • [mail, 數(shù)學] 發(fā)一封郵件做一道數(shù)學題 100%剿滅垃圾郵件 >>
    國內(nèi)Windows平臺郵件系統(tǒng)提供商WinWebMail Server,最新提供了據(jù)稱可以100%剿滅垃圾郵件的數(shù)學題反垃圾模式,它嘗試通過要求發(fā)信方回答隨機數(shù)學題的方式來徹底解決困擾互聯(lián)網(wǎng)多年的垃圾郵件問題.
  • [開發(fā)工具, .NET開發(fā)] 使用WebDevHelper輔助ASP.NET AJAX程序開發(fā) >>
    WebDevHelper是微軟公司ASP.NET Team架構師Nikhil Kothari在業(yè)余時間的小作品(贊嘆人家架構師對技術的執(zhí)著,加上對編碼的熱愛……),其中包含一些輔助Web開發(fā)的小工具,包括DOM查看、HTTP Trace、JavaScript Console、ASP.NET ViewState查看等雜項功能。今天Nikhil Kothari剛剛發(fā)布了WebDevHelper一個最新版本——0.8.4.0,其中非常引人注目的就是對ASP.NET AJAX開發(fā)的有力支持。
  • [IIS, 開發(fā)工具] 使用IIS Request Viewer查看當前IIS連接 >>
    如果有自己的服務器,如果想查看當前IIS連接情況:例如有多少個請求,每個請求的動作,請求的Url,請求的IP等信息,使用微軟的IIS Diagnostics Toolkit無疑是非常好的選擇,利用它的IIS Request Viewer,查看當前連接以及連接狀態(tài),一目了然,非常方便好用。
  • [.NET開發(fā), LINQ] 在ASP.NET中使用LINQ(第一部分) >>
    我將在接下來的幾周中發(fā)表一系列文章來介紹怎樣在ASP.NET工程 中使用LINQ/DLINQ/XLINQ。下面這第一個走過場的示范將幫助你了解一些LINQ重要的基本概念。
  • [InfoQ, TheServerSide, Java] InfoQ-China發(fā)布在即,敬請關注支持 >>
    和InfoQ全球網(wǎng)站一樣,InfoQ-China將繼續(xù)秉承“扎根社區(qū)、服務社區(qū)、引領社區(qū)”的經(jīng)營理念。來自軟件開發(fā)者社區(qū)的支持是InfoQ-China內(nèi)容及時性、專業(yè)性的重要保證,InfoQ-China也為支持幫助我們的專家創(chuàng)造更多提升個人聲望、參與社區(qū)交流的機會。您可以通過以下幾種方式幫助我們: 1. 瀏覽InfoQ-China網(wǎng)站,發(fā)表您的評論,將您對我們網(wǎng)站的意見和建議告訴我們的編輯,將InfoQ-China介紹給您的同事朋友。 2. 提供新聞線索。InfoQ-China關注中國企業(yè)軟件開發(fā)領域的變化與創(chuàng)新,尤其是Java、.NET、Ruby、敏捷方法等領域。如果您了解這些領域發(fā)生的任何值得關注的事,請告訴我們的編輯,我們渴望聽到您的聲音。 3. 撰寫技術文章。如果您是上述領域的專家,并且有獨到的經(jīng)驗心得希望與別人分享,InfoQ-China將是您最合適的投稿平臺。InfoQ-China有專業(yè)的技術編輯審核您的作品,與您共同商討完善。優(yōu)秀的作品在發(fā)表之后還會由InfoQ-China將其翻譯為英文,介紹給全世界的開發(fā)者社區(qū)。InfoQ的全球化平臺將為您創(chuàng)造獨一無二的與世界主流社區(qū)交流的機會。 4. 撰寫mini-book。如果您希望用您的寶貴經(jīng)驗著書立說、又苦于缺乏圖書寫作及出版的經(jīng)驗,mini-book將是一個好的起點。您可以將初具雛形的著作以mini-book的形式發(fā)表在InfoQ-China,從而盡快得到讀者的關注與反饋。InfoQ-China與清華大學出版社、電子工業(yè)出版社、人民郵電出版社等國內(nèi)知名出版機構建立了緊密的聯(lián)系,在圖書出版流程上也能為您提供支持。

CSDN技術網(wǎng)摘生成。更多技術動態(tài),請訪問我的技術網(wǎng)摘(RSS)

總結(jié)

以上是生活随笔為你收集整理的上周技术关注:函数式编程另类指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。