原创 需掌握的模式設計原則

1、找出應用中可能需要變化之處,把它們獨立出來,不要和那些需要變化的代碼混在一起      如果每次新的需求一來,都會使某些方面的代碼發生 變化,那麼你就可以確定,這部分的代碼需要被抽出來,和其他穩定的代碼有所區分。這個原則另一個思考方式

原创 redis RDB數據持久化

RDB數據持久化 目錄 RDB數據持久化 原理 實現步驟 自動數據持久化 手動RDB持久化 備份恢復 原理 RDB持久化:將Redis在內存中的數據定時dump到磁盤上,實際操作過程是fork一個子進程,先將數據寫入臨時文件,寫入成功後

原创 Unity 協程用法總結

Unity 協程用法總結 協程:協同程序,在主程序運行的同時,開啓另外一段邏輯處理,來協同當前程序的執行,注意協程不是線程,只是具有線程特點的“僞協程”。 協程的使用需要直接或間接的繼承MonoBehavior。 協程的執行原理 協程函數

原创 Skip List(跳躍表)原理詳解與實現

原文鏈接:https://dsqiu.iteye.com/blog/1705530   目錄   1 Skip List 介紹 2 Skip List 定義以及構造步驟 3 Skip List

原创 goahead移植

1.網上下載goahead-3.1.2-0-src.tgz包   2.解壓         tar -zxvf goahead-3.1.2-0-src.tgz  3.編譯        cd goahead-3

原创 PC軟件開發中BC/S設計架構的實現

    公司現有項目是C/S結構,客戶端採用Qt進行的開發,已經開發維護近10年,結構穩定成熟。現開發一個新的項目,主要的功能需求一致,只是展示方式需要重新設計實現。公司傾向於向B/S方向轉變,新項目直接採用B/S開發,所有功能模塊都需要

原创 goahead Web Server 環境搭建

GoAhead WebServer GoAhead WebServer,它是一個源碼,免費、功能強大、可以在多個平臺運行的嵌入式WebServer。 GoAhead WebServer的主要特性有: 1. 支持ASP 2. 嵌入式的j

原创 實現QT與HTML頁面通信

1.  前言最近,C++和WEB本地混合應用開發模式逐漸流行起來,個人也認爲標記語言描述的界面是界面開發的一個發展趨勢。WPF、Java FX,當然也少不了Html。基於Html的界面在開發效率,可移植性上都十分有優勢,所以也被很多程序採

原创 程序員最值得關注的10個C開源項目

程序員最值得關注的10個C開源項目 摘要: Webbench 是一個在 linux 下使用的非常簡單的網站壓測工具。它使用 fork ()模擬多個客戶端同時訪問我們設定的 URL,測試網站在壓力下工作的性能,最多可以模擬 3 萬個併發

原创 Qt/HTML交互庫QtWeb+Cjax的實現

Qt與HTML通信在項目少量的使用還可以,大面積使用就比較麻煩,沒有固定的模式接口。爲了方便使用,封裝了通信的庫Qt端爲QtWeb、HTML端爲Cjax。通信邏輯QtWeb庫1、QtWeb庫主要實現內容及功能:提供WebView用於加載顯

原创 Qt stylesheet 詳解

stylesheet 本文不準備談樣式表的使用。因爲Manual中介紹的很清楚了,給的例子也都很不錯。再就是我本身對CSS語法不太熟,術語把握不好,qss用的不多。 不過,有兩個問題新手似乎特容易迷惑,簡單提一下: QWidg

原创 使用Qt庫時出現winsock2.h和windos.h包含順序錯誤

同時使用Qt與mms.lite庫時時,在互相包含頭文件時出現了winsock2.h和windos.h包含順序錯誤的出錯信息(一大堆重定義錯誤)。查找mms.lite庫發現在sysincs.h中已經有對這兩個頭文件包含順序的處理,如下所示

原创 QTabWidget添加自定義的按鈕

原本的QTabWidget沒有支持在標籤後面添加自定義的按鈕的方法。想在後面添加自定義的功能按鈕需要重寫QTabWidget類,自己實現按鈕圖標的重繪和鼠標點擊判斷等操作。 1、使用到的主要事件函數:    (1) void pai

原创 設計模式的設計原則

1、找出應用中可能需要變化之處,把它們獨立出來,不要和那些需要變化的代碼混在一起      如果每次新的需求一來,都會使某些方面的代碼發生 變化,那麼你就可以確定,這部分的代碼需要被抽出來,和其他穩定的代碼有所區分。這個原則另一個思考方式

原创 策略模式(Strategy Pattern)

1、傳統程序設計思考      面向對象的編程方法中“繼承”是一個重要的特性,在面向對象的編程中經常使用。通過使用繼承可以提高代碼的複用、提高開發的效率。大大提高了程序的維護和功能擴充的遍歷性。 按照“繼承”和“封裝”的原則我們通常這樣設