《c# 實現(xiàn)p2p文件分享與傳輸系統(tǒng)》 一、 模型
P2P的概念大家都不陌生,也就是所謂的“點對點傳輸”,即不直接通過服務(wù)器,在兩臺或多臺客戶端之間傳輸數(shù)據(jù),實現(xiàn)信息交流和資源恭喜。P2P技術(shù)已經(jīng)發(fā)展了很多年了,雖然理論上已經(jīng)發(fā)展了很多的模型,但在實際的網(wǎng)絡(luò)環(huán)境中(尤其是鎮(zhèn)里這種環(huán)境),究竟怎樣的網(wǎng)絡(luò)結(jié)構(gòu)才具有較好的穩(wěn)定性和較高的傳輸性能,還是有很大... ...
通過COM組件在Web上實現(xiàn)Kinect骨骼追蹤、聲控截屏保存的功能
前些天在淘寶上訂購了Kinect,剛剛到貨,對于這個新鮮的玩意兒,自己趕緊卸開包裹,插上PC機,先前已經(jīng)裝好了Kinect SDK。既然Kinect已經(jīng)入手,自己打算也小小地練一下手,因為自己目前主要從事Web方面的開發(fā),自然想到在網(wǎng)頁上能夠運行Kinect,于是就誕生了本篇文章。 ...
語言的數(shù)據(jù)親和力
目前,程序設(shè)計語言似乎進入了一個蓬勃發(fā)展的時期,Javascript、Perl、Python、Ruby、Groovy等一批較新的語言正越來越多地被熟悉和使用,而C++、C#、Java等主流語言也在不斷地融入函數(shù)式和動態(tài)性特征。程序員的百寶箱中可供選擇的寶貝是越來多了,而社區(qū)中關(guān)于語言間的比較和爭論也... ...
缺陷驅(qū)動的流程優(yōu)化和技術(shù)引進
軟件領(lǐng)域一個非常大的特點是流程和技術(shù)變化相當(dāng)?shù)目臁W鳛橐粋€軟件企業(yè),面對日新月異的開發(fā)流程和開發(fā)技術(shù),何時、如何選擇及引進新的流程和技術(shù)變得十分重要。這篇文章主要討論的是進行選擇和引進時的出發(fā)點,我稱之為“缺陷驅(qū)動”。 什么是缺陷驅(qū)動? 這涉及到引進新技術(shù)的根本原因。其實很簡單,就是為了解決軟件開發(fā)... ...
【創(chuàng)業(yè)】創(chuàng)業(yè)團隊的那些事(二)
在上一篇(創(chuàng)業(yè)團隊的那些事(一))從郵件中看到很多博友的評論,很行賞他們的觀點,關(guān)于創(chuàng)業(yè)團隊,我們都有說不完的理論,想不完的創(chuàng)意,干不完的事情,永遠無法預(yù)知的結(jié)果,只知道我們這樣做是目前最好的做法。每個互聯(lián)網(wǎng)工作者都想在互聯(lián)網(wǎng)這五線譜上彈出屬于自己的的旋律。這年代,大街小巷都是兩個字的聲音:“創(chuàng)業(yè)”... ...
自己動手開發(fā)編譯器(八)用Linq編寫解析器組合子
上回我們說到手寫遞歸下降語法分析器。手寫遞歸下降的方式是目前很多編譯器采用的方式,如果你想寫一個商業(yè)質(zhì)量的編譯器,這是首選的方法。但是,一個完善的遞歸下降解析器需要的代碼量也不少,如果要進行錯誤報告、錯誤恢復(fù)等等那代碼量就更大了。作為懶人,我們有時想要一些小型語言的解析器,最好寫起來像直接寫文法的產(chǎn)... ...
MongoDB實戰(zhàn)開發(fā) 【零基礎(chǔ)學(xué)習(xí),附完整Asp.net示例】
【目標】:本文將以實戰(zhàn)的形式,向您展示如何用C#訪問MongoDB,完成常見的數(shù)據(jù)庫操作任務(wù),同時,也將介紹MongoDB的客戶端(命令行工作模式)以及一些基礎(chǔ)的命令?!菊f明】:MongoDB是什么?有什么用?如果不清楚這些問題的,請自己google一下吧?!具m合對象】:完全沒有接觸MongoDB或... ...
數(shù)據(jù)庫設(shè)計Step by Step (7)——概念數(shù)據(jù)建模
引言:在前兩篇博文(數(shù)據(jù)庫設(shè)計 Step by Step (5)和數(shù)據(jù)庫設(shè)計 Step by Step (6) —— 提取業(yè)務(wù)規(guī)則)中,我們進行了數(shù)據(jù)庫需求分析,著重討論了兩個主題:1.理解用戶需求;2.提取業(yè)務(wù)規(guī)則。當(dāng)需求分析完成后,我們就要進入到概念數(shù)據(jù)建模環(huán)節(jié)。本篇文章將使用之前介紹過的“基本... ...
擦亮自己的眼睛去看SQLServer之簡單Select
這篇文章主要和大家討論幾乎所有人都熟悉,但不少人又陌生的一條select語句。不知道大家有沒有想過到底是什么東西讓SQLServer能理解我們寫的select。這中間到底發(fā)生了什么,是不是有過沖動想去了解。至少我曾經(jīng)沖動想去了解,但當(dāng)時主要在研究CLR以及webform相關(guān)知識。后來主要精力放在研究... ...
Windows Phone 7 培訓(xùn)總結(jié)
相信大家有所聽聞關(guān)于Nokia基本上放棄自己的獨立研發(fā)新的智能機操作系統(tǒng)Symbian和Meego,就在兩天前6月22日,關(guān)于Nokia全球?qū)⒂?800名員工轉(zhuǎn)到Accenture的協(xié)議已經(jīng)敲定,這次培訓(xùn)主要是為Nokia員工提供一個關(guān)于Windows Phone整體初步的了解,中國區(qū)諾基亞的研發(fā)主... ...
【討論】“轉(zhuǎn)賬功能”引發(fā)的“謎團”
今天拿出了一個憋在心中很久的問題來和領(lǐng)域驅(qū)動群的群友討論,經(jīng)過幾小時討論,總體上來說還是不能解決我心中的疑惑,所以直接拿出來和博友們來討論一翻,希望以博客園大家的見識來為我釋懷。為了讓大家對所討論的問題達成共識,就拿一個比較經(jīng)典的ATM轉(zhuǎn)賬功能實現(xiàn)來展開討論。如果我直接說大家都轉(zhuǎn)過賬,這未免太絕對了... ...
Kinect for Windows SDK開發(fā)初體驗(三)骨骼追蹤
作者:馬寧 我們的Kinect SDK開發(fā)開始漸入佳境了,Skeleton Tracking(骨骼追蹤)是Kinect的核心技術(shù),正因為有了這項技術(shù),很多有趣的功能才得以實現(xiàn)。 首先,我們來看一下骨骼追蹤的具體實現(xiàn)。Kinect最多可以追蹤20個骨骼點,而且目前只能追蹤人體,其他的物體或者動物就... ...
自己動手開發(fā)編譯器(七)遞歸下降的語法分析器
上回我們說到語法分析使用的上下文無關(guān)語言,以及描述上下文無關(guān)文法的產(chǎn)生式、產(chǎn)生式推導(dǎo)和語法分析樹等概念。今天我們就來討論實際編寫語法分析器的方法。今天介紹的這種方法叫做遞歸下降(recursive descent)法,這是一種適合手寫語法編譯器的方法,且非常簡單。遞歸下降法對語言所用的文法有一些限制... ...
120天學(xué)會匯編語言-第3天:HLA高級匯編語言基礎(chǔ)入門(一)
一20日學(xué)習(xí)匯編語言的感受 學(xué)習(xí)匯編已經(jīng)20天啦!我已經(jīng)學(xué)習(xí)完了王爽的匯編語言書籍,并做了全部的練習(xí)與實驗,覺得這是本非常好的書籍,在學(xué)習(xí)的過程中因為記錄筆記非常繁瑣,因為每一步都要截圖加說明,當(dāng)時對匯編也有一定的畏懼感,所以我停下了筆記,重點去實踐去啦!我現(xiàn)在開始第二次學(xué)習(xí)匯編語言了,現(xiàn)在對匯編... ...
自己動手開發(fā)編譯器(六)上下文無關(guān)語言和文法
上回我們已經(jīng)學(xué)習(xí)了語法分析第一階段——詞法分析的原理和工具,介紹了正則表達式、正則語言和DFA等工具。今次我們要開始涉及編譯器前端最重要的階段——語法分析。簡單而言,這一步就要完整地分析整個編程語言的語法結(jié)構(gòu)。上回說到詞法分析的結(jié)果是將輸入的字符串分解成一個個的單詞流,也就是諸如關(guān)鍵字、標識符這樣有... ...
Kinect for Windows SDK開發(fā)初體驗(二)操作Camera
作者:馬寧 Kinect SDK出來之后,不到24小時,很多Geek們已經(jīng)將自己的示例發(fā)布到網(wǎng)上去了??梢?,好東西肯定會被大家認可的,不好的東西投入再多的宣傳也沒用。 這一篇我們就要正式進入Kinect的編程世界了,介紹我們?nèi)绾螐腃amera獲取圖像信息。先來介紹一下Kinect的整體結(jié)構(gòu)... ...
Kinect for Windows SDK開發(fā)初體驗(一)環(huán)境配置
作者:馬寧 萬眾期待的Kinect for Windows SDK終于在廣大開發(fā)者的千呼萬喚中發(fā)布了beta版,作為歷史上銷售最快的消費電子產(chǎn)品,早就有無數(shù)人想將其用于其他領(lǐng)域了。微軟雖然在硬件接口上制造了一點小障礙,但并沒有對Kinect的輸出做任何加密。于是,基于Kinect的各種應(yīng)用層出不窮,... ...
愛麗絲的發(fā)絲──《愛麗絲驚魂記:瘋狂再臨》制作點滴
今天(2011年6月14日)是《愛麗絲驚魂記:瘋狂再臨 (Alice: Madness Returns) Xbox360/PlayStation3/PC》(下簡稱《愛》)正式發(fā)售日,身為其開發(fā)程序員之一,特撰此文以作紀念。簡介《愛》(圖1a)是一款由上海獨立游戲工作室麻辣馬(Spicy Horse)... ...
自己動手開發(fā)編譯器(五)miniSharp語言的詞法分析器
多謝各位的一直以來的支持,我們今天總算走到了實踐的一步。今天我們要用VBF.Compilers的詞法分析庫來開發(fā)一個小型語言——miniSharp的詞法分析。miniSharp是C#語言的子集,miniSharp程序的語義就等于把它當(dāng)做C#的語義。但是miniSharp只支持很少的語言特性,以降低制... ...
自己動手開發(fā)編譯器(四)利用DFA轉(zhuǎn)換表建立掃描器
上回我們介紹了兩種有窮自動機模型——確定性有窮自動機DFA和非確定性有窮自動機,以及從正則表達式經(jīng)過NFA最終轉(zhuǎn)化為DFA的算法。有些同學(xué)表示還是難以理解NFA到底怎么轉(zhuǎn)化為DFA。所以本篇開頭時我想再多舉一個例子,看看NFA轉(zhuǎn)化為DFA之后到底是什么樣。首先我們看下面的NFA,它是從一組詞法分析所... ...



