記寫在開始學習設計模式前的話

上個公司呆了兩年半,專做一個產品,這是第一次把一個軟體當做自己的兒子來對待。不停地加需求,不停地改需求,結果裡面亂得好像一鍋粥,一動而發全身,改一個bug就湧出幾個bug,感覺bug永遠改不完,而且隱約中感覺裡面的東西不能再加了,再加就會全盤倒掉一樣。直到有機會看到《大話設計模式》我才知道我錯在哪裡,原來裡面的代碼完全是反著設計模式三大原則來寫的。易維護、易擴充、易複用,這三大原則猶如三記重拳打在我胸口上,看完策略模式後,我才發現,這一塊的知識不是用來瀏覽的,而是要用心來學的。所以我決定每天學兩

webbrowser控制項事件

Beforenavigate2: Fired before navigate occurs in the given WebBrowser(window or frameset element). The processing of this navigation may be modified. (這個事件發生一個給定的瀏覽器即將導航到一個URL前,這個導航的過程可能會被修改.)ClientToHostWindow:   Fired to request client sizes be

什麼是實模式、保護模式和虛擬8086方式

1:實模式:定址採用和8086相同的16位段和位移量,最大定址空間1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。2:保護模式:定址採用32位段和位移量,最大定址空間4GB,最大分段4GB (Pentium Pre及以後為64GB)。在保護模式下CPU可以進入虛擬8086方式,這是在保護模式下的實模式程式運行環境。 第一:實模式下程式的運行回顧.  

CEF中文教程(google chrome瀏覽器控制項) — CEF簡介

官方首頁:  點擊開啟連結CEF簡介:    嵌入式Chromium架構(簡稱CEF) 是一個由Marshall Greenblatt在2008建立的開源項目,它主要目的是開發一個基於Google Chromium的Webbrowser控制項。CEF支援一系列的程式設計語言和作業系統,並且能很容易地整合到新的或已有的工程中去。 

Lua的Table學習疑問

Lua裡面的Table類似於C++裡面的map,它裡面的元素是一個索引值對(key-value),所有的Table都可以用不同類型的索引來訪問valu(值),當需要容納新條目(entry)時,table會自動成長。Lua對於諸如a["name"]的寫法提供了一種更簡便的”文法糖(syntactic sugar)“,可以直接輸入a.name因此a.x= 10等同於a["x"]=

自旋鎖-原理

   

ubuntu下安裝Calibre

Calibre是電子書管理軟體,支援Amazon、Apple、Bookeen、Ectaco、Endless Ideas、Google/HTC、Hanlin Song裝置及格式,功能十分強大。ubuntu 有很多包都可以直接通過apt-get install

CEF中文教程(google chrome瀏覽器控制項) — CEF編譯

    這部分講解CEF的分支資訊並介紹下載編譯和打包原始碼背景:      CEF項目是做為Chromium的擴充項目而存在的,CEF跟Chromium一樣地維護兩個版本,開發版和發布版。CEF原始碼既可以手動編譯,也可以用工具自動編譯發展:     CEF項目在不斷的發展中,你可以從這裡看到整個項目的檔案trunk,因為當前的版本緊跟Chromium,所以不推薦拿當前的版本來開發發布版的產品。下面的連結可以用來下載CEF的開發版源碼:   

vimpress初體驗

鼓搗這個vimpress已經有幾天了,終於能夠上馬使用了。現將出現的問題列在下邊,以饗來者。安裝方法:下載vimpress外掛程式,解壓縮後,將plugin/blog.vim拷貝到vim執行目錄下plugin中,syntax/blogsyntax.vim拷貝到vim執行目錄下syntax中問題:python>>EOF不是編輯器命令,並報出一系列語法錯誤……描述:啟動vim時,提示無法載入blog.vim,經查驗,是因為當前不支援python的緣故。解決方案:安裝Linux對pytho

mount/unmount命令

 如果想在啟動並執行Linux下訪問其它檔案系統中的資源的話,就要用mount命令來實現。 2.      mount的基本用法是?格式:mount [-參數] [裝置名稱] [掛載點] 其中常用的參數有:-a 安裝在/etc/fstab檔案中類出的所有檔案系統。-f 偽裝mount,作出檢查裝置和目錄的樣子,但並不真正掛載檔案系統。-n 不把安裝記錄在/etc/mtab 檔案中。-r 講檔案系統安裝為唯讀。-v 詳細顯示安裝資訊。-w 將檔案系統安裝為可寫,為命令預設情況。-t

在 Ubuntu 下安裝 QT 開發環境

雖然網路上很多人使用 Redhat 或者fedora 作為上位機作業系統,但是我覺得使用Ubuntu最為方便,因為需要的軟體包大部分都可以通 過 apt-get 方式來安裝,而不必從原始碼開始自己編譯。要知道,自己編譯原始碼可不是一件輕鬆的事,因為在編譯過程中經常會出現令人意外而且莫名 其妙的錯誤。我們使用的作業系統是 Ubuntu 8.04,使用目前最新版本的QT 4.4.0,安裝起來即為簡單,只要運行以下命令就行:sudo apt-get install qt4-dev-tools qt4-

如何?遠程SQL資料庫的串連

 遠端連線sql server 2000伺服器的解決方案:  一 看ping 伺服器IP能否ping通。  這個實際上是看和遠程sql server 2000伺服器的物理串連是否存在。如果不行,請檢查網路,查看配置,當然得確保遠程sql server 2000伺服器的IP拼字正確。  二 在Dos或命令列下輸入telnet 伺服器IP 連接埠,看能否連通。  如telnet 202.114.100.100 1433  通常連接埠值是1433,因為1433是sql server

Understanding Factory Method and Abstract Factory Patterns(理解Factory 方法模式和抽象原廠模式)

前言:    在設計模式中,最普遍和最流行的是Factory 方法模式和抽象原廠模式,同時也是最讓初學者困惑的那種模式。    這篇文章通過清晰的例子梳理了這兩個“必須得知道”的設計模式,同時也進一步地講解了兩種模式之間的區別。最後我們也可以看到這兩種模式的長處和短處。Factory 方法模式:    在GOF中,Factory 方法模式是這樣定義的:    “定義一個建立對象的介面,但是讓子類決定具體執行個體化哪一個執行個體,Factory 方法模式把執行個體化操作延遲到子類中實現”   

關於選擇UI編輯器

    這些天都在想辦法解析MT的uii檔案,通過rapidXML做xml分析,這裡也有個小插曲,因為要通過屬性名稱遞迴找到一個子項目,結果始終沒有搞定這個遞迴函式,後面才發現錯誤,下面貼上代碼以示紀念:    void Global::FindNodeByAttribute(const char* strNodeAttr, xml_node<>* pNode, xml_node<>*& rResult){if(pNode){xml_node<>*

[gnuhpc 注釋版]奧巴馬演講——海地地震

Download Video: mp4 (140MB) | mp3 (6MB)The White HouseOffice of the Press SecretaryFor Immediate ReleaseJanuary 14, 2010Remarks by the President on Recovery Efforts in HaitiDiplomatic Reception Room10:10 A.M. ESTTHE PRESIDENT:  Good morning,

Lua: metatable and metamethod

    在TestLua工程裡面有兩個lua檔案: extern.lua和VisibleRect.lua。因為在TetsLua中VisibleRect就一個包含了很多靜態函數的類,它主要作用是儲存CCEGLView:sharedOpenGLView()的一些資訊。我在VisibleRect.lua看這個lua檔案做了些什麼事情,fuck的是前面三行我就看不懂,所以到處請教大神,最後大神提醒我看<lua

kscope 運行錯誤

錯誤:error while loading shared libraries: libkateinterfaces.so.0情境:kscope安裝成功後,啟動失敗,出現如上錯誤解決方案:轉自:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493192 的解決方案:The issue can’t be fixed in kscope itself as it needs some library provided bykate3 and

SUSE11 Firefox flash10的安裝問題

在SUSE 11 64位作業系統中當安裝最新的Firefox時可能會遇到flashplayer外掛程式無法使用的問題現解決辦法如下從adobe的網站上下載install_flash_player_10_linux.tar.gztar zxvf install_flash_player_10_linux.tar.gzcp libflashplayer.so /usr/lib/firefox/plugins/nspluginwrapper -i

__儲存一些有用的連結

1. http://angelcode.com/products/bmfont/ (windows下面的字型產生器)2. http://download.csdn.net/detail/mimixi666/4857633(螢幕錄影專家V7.5)3. http://download.csdn.net/detail/mimixi666/4857645(迅雷&快車&旋風地址轉換工具V3.0.exe)4. http://www.17xl8.com/soft/23069.html

主裝置號、次裝置號

分配並註冊主次裝置號    裝置號是在驅動module中分配並註冊的,也就是說,驅動module擁有這個裝置號(我的理解),而/dev目錄下的裝置檔案是根據這個裝置號建立的,因此,當訪問/dev目錄下的裝置檔案時,驅動module就知道,自己該出場服務了(當然是由核心通知)。    在Linux核心看來,主裝置號標識裝置對應的驅動程式,告訴Linux核心使用哪一個驅動程式為該裝置(也就是/dev下的裝置檔案)服務;而次裝置號則用來標識具體且唯一的某個裝置。   

總頁數: 61357 1 .... 20355 20356 20357 20358 20359 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.