Time of Update: 2018-12-04
假設基於這樣的一個情況:在某一個程式裡有兩個主要的兩個邏輯功能部分---UI互動的功能塊和用於網路通訊的網路功能塊。當網路中有新的訊息到達時,網路功能塊需要通知UI重新整理資訊的顯示;當使用者輸入新的操作命令或資訊時,UI功能塊將通過調用網路程式來進行資料的傳送。在非Qt程式中,我們一般是通過函數的回調或事件監聽機制來實現這樣的程式。打個比方,假設有類A和類B,類A對象中存有類B對象的指標,同時將自身的對象指標傳到類B中去,這樣便可以實現了函數的回調;A對象可以調用B的公有方法,同時B也可以根據
Time of Update: 2018-12-04
在進行wp開發時,要注意一片的載入形式。在wp7中,資源檔主要有三種BuildAction屬性,Resource/Content/None。預設情況下會選擇Resource的方式載入。我剛開始學wp開發的時候,碰到了大多數人都會碰到的問題:為什麼圖片設定成Resource的時候,程式運行時不能圖片顯示出來,而設定成Content的形式則可以。(1)資源檔的三種產生屬性先簡單說說這三種載入方式的區別吧。Resource方式:資源檔在程式打包時,會整合到xap檔案的dll中。Content方式:資源
Time of Update: 2018-12-04
僅作學習筆記,具體代碼如下:@Controller@RequestMapping(value="mainPage") // 類對應的請求urlpublic class MainPageController extends AbstractController{
Time of Update: 2018-12-04
直接雙擊提示invalid encoding,使用shell運行則提示cannot execute binary file。這兩天居然被這個東東難倒了,一直以為是無法識別編碼或者缺少編譯環境的問題。於是加了個什麼轉碼器,還apt-get install g++了,問題依舊。突然覺得會不會又是32位和64位系統的問題,結果一查,還真是這個原因,傷不起。32位系統,下載了個64位的軟體,結果就無法執行;換位32為版本即可運行。註:查看系統命令: -uname -a 或 lsb_release -a,
Time of Update: 2018-12-04
如果伺服器支援線程,那麼對於客戶/服務進程的架構我們可以採取一個線程處理一個客戶串連的設計方案。也就是每當有新的串連請求到達伺服器時,伺服器會新開一個子線程來專門處理這個串連的資訊傳遞;這種方法類似於伺服器為每個客戶串連fork一個子進程,但這相對來說更輕量級。1.首先初始化伺服器資訊(部分代碼):if ((servfd = socket(AF_INET,SOCK_STREAM,0)) < 0) {
Time of Update: 2018-12-04
spring項目中,下面兩個html標籤語句是有區別的:<input type="hidden" id="id" name="id" value=${user.id }>以及<input type="hidden" id="id" name="id" value=${user.id }/>在進行參數傳遞(form表單提交)的時候,第一條語句傳出的參數為"user.id",
Time of Update: 2018-12-04
套介面地址結構是在進程和核心中之間傳遞的。1. 從進程到核心傳遞套介面地址結構有三個函數:bind, connet和senddto,這三個函數的一個參數是指向通訊端地址結構的一個指 針,另一個參數是結構的整數大小。例如: struct sockaddr_in serv; connect(sockfd, (SA*)&serv, sizeof(serv));
Time of Update: 2018-12-04
(1)擷取list的長度加入<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>標籤庫,然後這樣使用:${fn:length(logList)}即可。(2)關於if/else<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>庫中只有<c:if>但沒有<c:else>,因此可以使用<
Time of Update: 2018-12-04
有時候我們希望在關閉視窗之前做一些操作,例如儲存快取資料或向使用者提示是否關閉視窗等等。由於一般的視窗都是繼承自QWidget, 那麼我們可以通過覆蓋QWidget中的虛函數closeEvent(QCloseEvent* event);來達到這個目的。(1)首先添加依賴庫:#include <QCloseEvent>(2)接著聲明和定義closeEvent函數: a).h檔案protected: void closeEvent(QCloseEvent *event);
Time of Update: 2018-12-04
在Ice中建立線程很簡單,假設有一個名為ReaderThread的線程類,則可以這樣建立線程: class ReaderThread : public IceUtil::Thread { virtual void run() { //..... //實現run方法 } }; IceUtil::ThreadPtr t = new ReaderThread;
Time of Update: 2018-12-04
今天看到了dpkg,又有所發現,拿來分享: dpkg是Debian系統的後台包管理器,類似RPM。也是Debian包管理系統的中流砥柱,負責安全卸載軟體包,配置,以及維護已安裝的軟體包。由於ubuntu和Debian乃一脈相承,所以很多命令是不分彼此的。 Ubuntu中所有packages的資訊都在/var/lib/dpkg/目錄下,其中子目錄”/var/lib/dpkg/info”用於儲存各個軟體包的設定檔列表.不同尾碼名代表不同類型的檔
Time of Update: 2018-12-04
最近學習了非同步通訊這一章:非同步包括服務端的非同步指派(AMD)以及用戶端的非同步呼叫(AMI)。下面介紹一下如何?簡單的非同步通訊(主要實現了用戶端的非同步呼叫,AMD暫未體現): 1.首先編寫Ice檔案:Demo.icemodule Demo{interface Employee{ ["amd"]void add(int a, int b, out int sum);};};
Time of Update: 2018-12-04
(轉載自http://dbear.iteye.com/blog/750825) 最近在開發一個小web的時候想給一個按鈕增加一個彈出dialog功能,但是發現點擊按鈕後頁面總是自動滾動至頂部,這點從使用者體驗上來講是極其不爽的,於是開始跳進google大池尋求解決辦法。網上的辦法有很多,但是唯獨下面這個生效了,轉來收藏。 "平時開發的HTML表單,連結通常會使用<a href="#" onclick="openWnd();">Open new window</a>
Time of Update: 2018-12-04
安裝Ice3.4.2之前,應該下載並安裝其依賴庫。經過了n此安裝失敗後,最後終於弄好了。兩個字,苦逼。具體過程如下: 1. 下載第三方包和Ice源檔案:http://www.zeroc.com/download.html(官方下載頁面) 在Source Distributions一欄下下載源檔案:Ice-3.4.2.tar.gz;在Third-Party Source Code 一欄下選擇ThirdParty-Sources-3.4.2.tar.gz第三方壓縮包下載。 2.
Time of Update: 2018-12-04
Ice訊號處理機制概述 訊號(signal)是一種處理序間通訊機制,它給應用程式提供了一種非同步軟體中斷,使應用程式有機會接受其他程式或者終端發出的命令(訊號)。應用程式接收到訊號後,一般有三種處理方式:忽略,預設,或者捕捉。如果我們自訂了訊號處理函數,那麼程式將會執行該訊號的處理函數。 Ice::Application類提供了ice
Time of Update: 2018-12-04
spring mvc3工程中,會有三個地方容易出現亂碼:(1)web頁面之間的參數傳遞(2)頁面到資料庫過程的參數傳遞(3)資料庫自身的編碼格式要避免出現類似與中文亂碼的情況,可以統一設定編碼為utf8:(1)避免web頁面之間參數傳遞出現亂碼,在web.xml中加入如下代碼: <filter> <filter-name>encodingFilter</filter-name>
Time of Update: 2018-12-04
假設:在使用者登入系統一段時間沒有操作後,session失效,如果這時使用者有操作時應該跳轉到登入頁面要求重新登入。一般解決方案:(1)使用者首次登入成功時,將使用者物件存入session,如 session.setAttibute("loginUser", user);(2)定義攔截器,對於所有關於某中url請求進行攔截,然後擷取loginUser的對象,如果不存在,那麼session到期:import
Time of Update: 2018-12-04
(1)java.lang.NoClassDefFoundError: Could not initialize class org.springframework.context.config.MBeanServerBeanDefinitionParser
Time of Update: 2018-12-04
mysql在utf8編碼格式下的中文排序會出現問題,因為現在用的是hql查詢,不支援原生sql函數convert。有效一種解決方案如下:(1)建立一個類,派生自MySQL5Dialectpublic class MyISAMDialect extends MySQL5Dialect { public MyISAMDialect(){super();registerFunction("convert_mine", new
Time of Update: 2018-12-04
異常資訊如下:java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'helloController' bean method事實上在controller定義方法時並沒有重定義,只能說明在設定檔中除了問題。debug過程時,無意中在*servlet.xaml刪去<mvc:annotation-driven />這行代碼,卻發現問題不再出現了。究竟是什麼原因呢?在某個串連中找到了這樣的解釋:The