Time of Update: 2018-12-06
urllib是python內建的一個抓取網頁資訊一個介面,他最主要的方法是urlopen(),是基於python的open()方法的。下面是主要說明:urllib.urlopen('網址'):這裡傳入urlopen()的參數有特別說要求,要遵循一些網路通訊協定,比如http,ftp,也就是說,在網址的開頭必須要有http://這樣的說明,如:urllib.urlopen('http://www.baidu.com'),要麼就是本地檔案,本地檔案需要使用file關鍵字,比如urllib.urlop
Time of Update: 2018-12-06
應老婆的要求,用javascript做了一個滑鼠滑上去後圖片放大浮出的效果,大家指正一下。 1 <script> 2 3 function GetAbsPosition(obj) 4 { 5 var curleft = 0, curtop = 0; 6 do { 7 curleft += obj.offsetLeft; 8 curtop += obj.offsetTop; 9 } while (obj = obj.off
Time of Update: 2018-12-06
微軟Surface 平台帶給人們帶來觸摸真實世界感受,它是結合硬體與軟體的新技術,用家可以直接用手或聲音對螢幕作出指令,觸摸和其他外在物理物來和電腦進行互動。最近,Microsoft Surface 2.0 SDK已在7 月 12 日發布,在Microsoft 下載中心供免費下載。Surface 2.0 使用了最新的技術:WPF 4.0, XNA 4.0, Windows 7 (32 bit and 64 bit),與一般觸控式電腦最大不同在於提供了多點觸控(Multi-Touch)
Time of Update: 2018-12-06
上一節已經搭建好了OS開發環境,現在我們來寫個簡單的引導代碼吧先講一下作業系統的引導過程:PC加電自檢後,會把引導裝置的0磁頭,0磁軌,1扇區的內容載入到記憶體 0x7c00 處,然後就跳轉到該處執行引導代碼。我只是簡單地說了下,詳情請自行Google。boot.SCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 .code16 2 .text
Time of Update: 2018-12-06
聲明:請看到此文章的朋友不要轉載,因為寫作才剛剛開始,有很多不成熟甚至錯誤的地方。等所有文章完成之後,我會細心整理。相信很多人曾經都有過一種衝動,那就是像linus一樣自己寫個作業系統。這個系列的文章就是關於這個話題的,但是我並不奢望能開發出一個像當代linux一樣的OS,實際上幾乎不可能,即使是linus也做不到。linux能發展到現在靠的是互連網上的無數駭客,及各大公司的支援。我的目標只是個multitasking,帶有檔案系統的簡單OS
Time of Update: 2018-12-06
平台: Intel x86作業系統: Ubuntu8.10核心: linux-source-2.6.27 步驟:1 $: sudo apt-cache linux-source //查看更新源上有哪些可用的核心2 $: sudo apt-get install linux-source-2.6.27 //裝上你需要的核心版本3 $: cd /usr/src/linux-source-2
Time of Update: 2018-12-06
這篇文章基本上就是把WDK文檔複述了一下,算不上原創,各位將就著看吧。在使用者態的世界很多程式員(特別是*NIX界的人)不喜歡用多線程,認為這東西大大增加了程式的複雜度的同時帶來的好處卻不多,他們寧願用進程來分割任務。當然這是一種很好的設計原則,我個人也持一模一樣的觀點。但是自從多核被炒熱之後這部分內容越來越受關注,你假裝問題不存在已經不可能了,借用冠希哥的日歪普歌詞說就是:就算忘記你們不可能看不見。而在核心態的世界多線程的傳統由來已久,因為核心部分的地址空間多半是共用的,即使是多進程架構在反映
Time of Update: 2018-12-06
文章目錄 插入排序 插入排序
Time of Update: 2018-12-06
文章目錄 冒泡排序快速排序
Time of Update: 2018-12-06
無意中看到程式員雜誌中 關於編程的四個境界,覺得非常有意思,也比較有道理,想想自己也是這麼過來的1 無意識無能力(不知道自己不知道這個時候是剛開始接觸編程到編程有差不多一年左右的時間,大多數這個時候在大學生涯,年少輕狂,激情四射,學習起來超級有幹勁,尤其當自己知道一個個編程法則,寫出很自己認為很牛逼的程式,研究過高深的演算法,做過幾個項目,覺得編程很簡單。我當初就是這樣的,在大學的時候會用
Time of Update: 2018-12-06
前面有人問到Bing Maps Silverlight Control如何離線開發,下面說一下思路。不管是有線還是離線,本質上就是所載入的地圖資料不同而已,載入不同的地圖資料可以通過自訂TileSource實現。部署地圖資料將地圖資料通過Web伺服器(如:IIS)部署自訂TileSource這個TileSource實現Google衛星地圖的載入,主要是正確的TileSource映射Url。public class GoogleTileSource : TileSource{
Time of Update: 2018-12-06
就跟上回講的一樣,動不動就使用spin lock是非常不合適的行為,我們應該盡量使用別的同步機制。NT核心提供了一族統稱為dispatcher lock的鎖,它們各有各的特點,適應不同的應用情境,瞭解它們的特性可以協助你找到最適合自己的同步機制,避免spin lock的濫用。 表徵dispatcher
Time of Update: 2018-12-06
本次我們來聊兩個不常見的鎖類型:Resource與Fast Mutexes。這兩種鎖只有在核心態可用,並且微軟的design guide裡也並未提及,但它們在有些情境下卻非常好用。我們學作業系統或者資料結構的時候一定接觸過一種鎖類型叫做讀寫鎖,在讀寫鎖的保護下,一個資源可以被很多線程讀取,卻只能被一個線程寫。如果你有針對多線程環境好好考慮過你的設計,那麼這種單線程寫多線程讀的模型多半已經很熟悉了。讀寫鎖特別適合這種情境,Resource便是核心態的讀寫鎖。而Fast
Time of Update: 2018-12-06
最近Bing maps團隊為我們帶來了Bing Maps WPF Control ,現在是Beta 1版本,現在我們可以為Microsoft Surface提供地圖開發。建立項目添加引用Xaml Code:1 xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF" BingMaps使用使用BingMaps前需要註冊獲得 Bing Maps
Time of Update: 2018-12-06
先講個題外話,不知是出於炫耀的目的還是什麼惡趣味作怪,程式員給自己的項目起名字時喜歡玩一些“遞迴”的小把戲,比如GNU的全稱是GNU is Not Unix,再比如WINE的全稱是WINE Is Not Emulator。這種小玩笑在開源界很常見,但是微軟以及跟著微軟混的人則很少這麼幹,MSND這種嚴肅古板的產品文檔上更是不太可能出現。MDL卻是個例外,我們來看看MSDN是怎麼描述MDL的:MDL An MDL structure is a partially-opaque structure
Time of Update: 2018-12-06
What Is SurfaceView this video as a WMVIntroduction to Expression Encoder ProView this video as a WMVWindows Phone 7 Device LineupView this video as a WMVKinect for Xbox 360View this video as a WMVBing and Facebook: Search More SocialView this video
Time of Update: 2018-12-06
IRP這個話題太大,基本上這是一個框,什麼都能往裡面裝。我也不知道我漏掉了多少內容,總之呢,想到哪兒就說到哪兒吧。IRP_MN_REMOVE_DEVICE和IRP_MN_SURPRISE_REMOVAL一個PnP裝置被刪除時有兩個事件會發生,一個是IRP_MN_SURPRISE_REMOVAL,另一個是IRP_MN_REMOVE_DEVICE。看名字就知道這兩個事件都是告訴程式員裝置已經不在了讓他趕緊做點善後工作。我知道你的第一反應時什麼:為什麼要有兩個事件呢,清理資源難道不是清理一次就夠了嗎?
Time of Update: 2018-12-06
1public void transHtml(string path,string outpath) 2 { 3 System.Web.UI.Page page=new Page(); 4 StringWriter writer = new StringWriter(); 5 page.Server.Execute(path, writer); 6 FileStream fs; 7
Time of Update: 2018-12-06
引言在看django和scrapy源碼的時候,可以看見他會有一個模式,即先有一些模組檔案,在他的源碼中,當你使用他規定的命令的時候,就會複製這些檔案,來產生你要的模板檔案。這裡就是用了python內建的shutil模組。回想曾經自己寫過一個複本備份的模組,當時寫的時候還覺得自己太NB了,還能兼顧linux,windows的相容性,使用了windows的copy命令和linux的cp命令,用python來調用這些命令,現在想想挺搞笑,其實完全可以用shutil模組來,哎,沒文化真可怕。不過開發的過
Time of Update: 2018-12-06
當你寫下new和delete的時候,到底發生了什麼事呢,讓我們來做個實驗看看。寫一段小代碼:class a{public:a(){foo();}int foo(){return 0;}~a(){bar();}int bar(){return 1;}};int _tmain(int argc, _TCHAR* argv[]){a* tmp = new a();delete tmp;return 0;} 在main函數的第一句下斷點,調試,然後開彙編視窗輸出結果:int _tmain(int