原创 一些工程中的基本概念

Generate Your Projects (GYP文件) 一個用於實現跨平臺代碼編譯組織功能的文件,能夠在不同的平臺環境中,通過預先設置好的組織規則選擇性的編譯與本平臺相關的源文件,從而生成適用於當前平臺的執行文件。 點贊

原创 嵌套#ifdef的帶參宏定義用法

  #ifdef DEBUGTEST functionName1(); % write log #endif functionName1(); % write log void functio

原创 管理git的跟蹤關係

遠程有上游分支,但是本地沒有相應的跟蹤分支時候,此時會在本地建立一個和遠程上游分支同名的分支 git checkout --track origin/上游分支 遠程有上游分支,但是本地沒有相應的追蹤分支,想建立一個與上游分支不同名稱的分

原创 在項目開發中更換開發分支的基礎分支

在項目開發中,由於一些歷史的原因,有可能會出現這樣一種情況: 代碼庫裏有一個發佈分支,一個主開發分支; 所有人都是在開發分支上進行開發; 有人的代碼跟其他人交互較少,所以直接以發佈分支爲基礎分支進行開發; 此人開發後的代碼會直接m

原创 用 python + PostgreSQL 實現個人數據庫

第一步:下載、安裝SQL數據庫軟件,win系統需要下載32位的,64位的安裝過程會報錯 第二步:安裝python,這裏選擇使用anaconda作爲python的管理軟件 第三步:安裝pycharm,並設置pycharm的環境爲anacon

原创 將代碼push到遠程指定分支/拉取遠程指定分支的代碼

git push origin 本地分支名:遠程分支名 git pull origin <遠程分支名>:<本地分支名>  

原创 通過vscode發佈項目開發文檔

    通常開發文檔中除了文字、鏈接,少不了各種流程圖、類圖甘特圖,之前我一直使用plantUML+word的方式,先用plantUML畫好各個流程圖,然後插入到word編輯好的文檔中,再發布pdf文檔;後來瞭解了markdown,這樣就

原创 對支持向量機中線性可分集分類過程的理解

根據初中數學知識,我們在二維笛卡爾座標系中畫出一條直線。 這條直線將平面切割成兩部分,若將兩部分的點分別代入直線方程,可以得到兩個不等式 若將上面的不等式組進行一些簡單的變換,將y替換成x2,x替換成x1,係數以及常數分別用w1,w2

原创 rosenblatt感知機

本文代碼使用matlab實現rosenblatt感知機,可以動態跟蹤顯示分類超平面的調整過程 rosenblatt感知機的原理詳解   首先使用下列代碼,隨機的生成分類數據 clc clear all close all %% 設置

原创 核函數

對於非線性特徵集的分類過程可拆解爲兩步: 第一步:利用非線性映射,將數據從輸入空間映射到特徵空間中 第二步:使用線性學習器對特徵空間的數據進行分類 將以上兩個步驟融合在一起,隱式完成輸入空間數據集到特徵空間數據集的映射,建立非線性學習器的

原创 多人合作項目中的git基本用法

git遠端的master作爲發佈分支,所有的代碼修改都不要在這個分支中進行! 首先,在本地master的基礎上新建一個分支,作爲某個功能的開發分支 git checkout mater # 切換到本地master分支 git pull

原创 如無必要需求,構造類時,不必提供默認構造函數接口

所謂默認構造函數的功能,就是在沒有任何輸入參數的情況下將對象進行初始化。一般在以下三種情況中,會認爲類的默認構造函數是必要的: 1】產生一個對象數組的時候,數組的聲明語法結構限制構造函數參數的提供,所以無法爲數組中的對象提供構造參數,因此

原创 不要用多態方式處理數組

基類中重載運算符 <<; 有一個專用來處理基類對象的函數; 如果對這個函數傳入的參數是單個對象,那麼通常情況下這個函數可以接收基類對象,也可以接收派生類對象,這是C++的多態特性決定的; 但是如果這個函數處理的是對象數組,因爲指針算數表達

原创 C++的四種強制轉型與C的強制轉型

在C++中有四種強制轉型,但是也保留了C語言中的強制轉型,從功能上來說C++的四種強制轉型,只是對C方式強制轉型的功能細分。 C語言方式的強制轉型原型如下 (targetType)argument; # 例如 (int)aDoubleN

原创 引用與指針的差別

引用與指針的差別 1】指針(pointer)可以爲NULL,引用(reference)不能爲NULL 2】指針可以重新賦值,引用不可以重新賦值 3】指針作爲函數參數時候,需要在函數內對傳入指針是否爲NULL進行檢驗;而相同用途的引用不需要