Time of Update: 2018-12-03
希望這是現階段阻礙閱讀shiboken和PySide源碼的涉及cmake的最後一個障礙 ^ _^學習 cmake 的單元測試部分 ctest。簡單使用最簡單的使用ctest的方法,就是在 CMakeLists.txt 添加命令:enable_testing()該命令需要在源碼的根目錄檔案內。從這一刻起,就可以在工程中添加add_test命令了add_test(NAME <name> [CONFIGURATIONS [Debug|Release|...]]
Time of Update: 2018-12-03
開閉原則:(一個軟體實體如類,模組和函數應該對擴充開放,對修改關閉)開閉原則要求盡量通過擴充軟體實體的方法來適應變化,而不是通過修改已有的代碼來完成變化。它是為軟體實體的未來而制定的對現行開發設計進行約束的一個原則。 簡單例子:以圖書銷售為例,圖書有三個屬性,價格,書名以及作者。小說書繼承了圖書介面。如果有一天圖小說書打折,修改方案有三種:(1)修改圖書介面,在介面中增加獲得打折價格方法。缺點是所有實現圖書的介面都需要增加這種方法。(2)直接修改小說類中獲得價格的方法。缺點是:無論誰都看不到小說
Time of Update: 2018-12-03
2010版 DOM章節,第56課《編程式控制制層練習點評》裡老師說在匿名函數裡重複定義var的變數不衝突,因為“他們是兩個函數,只是寫在了一起而已”, 但是我寫代碼實驗後,發現在匿名函數中可以取到在匿名函數外定義的var變數,這說明匿名函數外的變數的範圍可以延伸到匿名函數內,那就與楊老師說的衝突了,但是事實是不衝突,這是為什麼捏?待求真。 <script type="text/javascript"> function
Time of Update: 2018-12-03
代碼如下,用jQuery實現一個功能,select下包含option,同時UL下包含LI,為什麼UL可以實現點擊加到下邊,select點擊加不到下邊?記在這裡以後學的多了,有可能解決了再回來解決試試吧,唉。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
Time of Update: 2018-12-03
如題,但是this更不易出錯因為如果是table的情況event.srcElement取得的是TD,而造成點擊無反映,(比如表格行變色),而this正常。那想獲得TR,怎麼辦?用event.srcElement.parentElement.title可。附表格變色代碼:<script type="text/javascript">function initEvent(){var trs=document.getElementsByTagName("div");for(var i=0;
Time of Update: 2018-12-03
儘管每次和cmake對比起來,我們總是說 qmake 簡單、功能少。但是qmake仍然是一個非常複雜的東西,我想大多人應該和我一樣吧:不是太清楚CONFIG等變數到底如何起作用的用過的qmake內建變數和函數不超過20個看Qt Creator源碼或者QtSolution等庫中自己使用的 *.pro 檔案就想看天書一樣本文只能抓住一條線,簡單介紹一下 *.pro、*.pri、*.prf、*.prl等四種檔案:幹嘛用的,如何用的*.proqmake
Time of Update: 2018-12-03
《Unix環境進階編程》這本書附帶了許多短小精美的小程式,我在閱讀此書的時候,將書上的代碼按照自己的理解重寫了一遍(大部分是抄書上的),加深一下自己的理解(純看書太困了,呵呵)。此例子在Ubuntu10.04上測試通過。程式簡介:這個程式的功能的是每次顯示每次一頁產生已產生的輸出,已經有很多UNIX系統的應用程式具有分頁的功能,因此無需再構造一個新的分頁程式,只需要調用使用者最喜歡的分頁程式就可以了(為了示範底層原理,本程式故意不使用popen和pclose函數)。//《APUE》程式15-2:
Time of Update: 2018-12-03
看到藍色理想論壇有朋友發帖“跪求輸出0-9,a-z,A-Z的隨機20個符號”於是試著寫了一個,寫完想回複發現藍色理想註冊還要手機邀請碼?算了!發到自己部落格裡:function s20(){var data=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","
Time of Update: 2018-12-03
《Unix環境進階編程》這本書附帶了許多短小精美的小程式,我在閱讀此書的時候,將書上的代碼按照自己的理解重寫了一遍(大部分是抄書上的),加深一下自己的理解(純看書太困了,呵呵)。此例子在Ubuntu10.04上測試通過。程式簡介:這個例子是一個會發生死結的程式。//《APUE》程式14-2:加鎖和解鎖一個檔案地區//《APUE》程式14-4:死結檢測執行個體#include <stdio.h>#include <stdlib.h>#include
Time of Update: 2018-12-03
簡單原廠模式太簡單了,簡單地連GOF23種設計模式裡都不願意收錄它,但是我們還得從它來理解原廠模式。 using System;namespace OperateFactory{ class Program { static void Main(string[] args) { //4.使用工廠類產生執行個體 Operate operate =
Time of Update: 2018-12-03
我們假設有個窮工廠,只生產汽車產品,假設它只能生產車門和車窗。 如果是簡單原廠模式,我們會這麼做: 汽車產品 汽車產品執行個體=汽車工廠.get具體產品(); //具體產品可能是車門或窗,而在汽車工廠的這個靜態方法裡,我們用面向過程的方法,如switch判斷來取得我們到底想得到哪個具體產品。 這樣的話,如果程式有擴充,我們就得修改汽車工廠這個類。
Time of Update: 2018-12-03
網上一個教程,在回答這個問題時遵循了我國教育的一貫風格。舉個例子:當有病人家屬諮詢醫生:吃飯和掛水都能讓病人獲得營養。但它們有什麼區別啊?掛水比吃飯有什麼好處和壞處?如果醫生這樣回答,您看您滿意不? 1.二者的名稱不同; 2.二者獲得營養的渠道不同:吃飯是通過口,掛水是通過血液直接獲得。(這個說的是在建立菜單裡選得菜單不一樣) 3.二者的數量不一樣:吃鈑需要較多食物,掛水只需少量。(這個說的是檔案數量)
Time of Update: 2018-12-03
Factory 方法模式:一個抽象產品類,可以派生出多個具體產品類。 一個抽象工廠類,可以派生出多個具體工廠類。 每個具體工廠類只能建立一個具體產品類的執行個體。抽象原廠模式:多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。 一個抽象工廠類,可以派生出多個具體工廠類。 每個具體工廠類可以建立多個具體產品類的執行個體。 區別:Factory 方法模式只有一個抽象產品類,而抽象原廠模式有多個。 Factory
Time of Update: 2018-12-03
老師在第30課《類型化DataSet大量操作》裡講到批量插入資料時建議手動開啟資料庫連接,再執行批量插入,這樣的效果是:手動開啟串連插入耗時比不手動開啟串連節省時間高達20多倍(一個耗時45秒,一個耗時2秒)(老師視頻代碼)
Time of Update: 2018-12-03
前天同學筆記本不能開機了,叫我看看,裝了系統就好了。沒想到今天又不能開機了,而且情況很嚴重,系統也不能裝了。於是花了幾個小時給同學的膝上型電腦裝系統,終於大功告成,其間遇到了很多問題,不過最終一一解決,分享一下心得。
Time of Update: 2018-12-03
想出這麼個辦法協助新人理解多態。如果你能想出輸出內容來,就理解多態了可以飄過了……;如果你不理解多態,理解了這個例子相信你會記一輩子。using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication2{ class Program { static void Main(string[] args) { Bird b1
Time of Update: 2018-12-03
Internet 的應用正在不斷地擴大,但我們的 Internet 編程方式還處於石器時代。Internet使用者就像老式主機的分時終端上的使用者一樣,他們從一個受保護的資源請求資訊,然後等待回應。你從正在瀏覽的 Internet網站上接收的資訊由它希望提供給你的、基於 HTML 的資訊組成的。 但是,同遠程 Web 網站進行互動式操作是不是更有趣?如果我們能用某種方法訪問遠端站台提供的計算能力並利用它的服務,而不僅僅是利用它的發布能力,會不會更好?這就是 .NET 將要提供的精華。 .
Time of Update: 2018-12-03
傳值的話,如果是非對象,會傳一個值的拷貝,對這個變數做任何改動都不影響原值。傳引用或者傳對象,是傳真實的記憶體位址,對這個變數做的改動會影響原值。<?php$num1 = 15;$num2 = &$num1;$num2 = 20;echo $num1;//輸出20?>再比如:<?phpfunction func1($a) { $a = $a + 1;}function func2(&$a) { $a = $a + 1;}$sample = 1;func1($
Time of Update: 2018-12-03
在cmake 學習筆記(三) 中簡單學習了 find_package 的 model 模式,在cmake 學習筆記(四)中瞭解一個CMakeCache相關的東西。但靠這些知識還是不能看懂PySide使用CMakeLists檔案,接下來繼續學習find_package的 config 模式及package configure檔案相關知識find_package 的 config 模式當CMakeLists.txt中使用find_package命令時,首先啟用的是 module 模式:按照
Time of Update: 2018-12-03
接前面的一二三,學習一下 CMakeCache.txt 相關的東西。CMakeCache.txt可以將其想象成一個設定檔(在Unix環境下,我們可以認為它等價於傳遞給configure的參數)。CMakeLists.txt 中通過 set(... CACHE ...) 設定的變數CMakeLists.txt 中的 option() 提供的選項CMakeLists.txt 中find_package() 等find命令引入變數命令列 cmake . -D <var>:<type&