主頁 > 軟體工程 > C++中的頭檔案必須要轉變為vba的模塊嗎

C++中的頭檔案必須要轉變為vba的模塊嗎

2020-09-19 18:21:33 軟體工程

#if !defined(THOST_FTDCMDAPI_H)
#define THOST_FTDCMDAPI_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ThostFtdcUserApiStruct.h"

#if defined(ISLIB) && defined(WIN32)
#ifdef LIB_MD_API_EXPORT
#define MD_API_EXPORT __declspec(dllexport)
#else
#define MD_API_EXPORT __declspec(dllimport)
#endif
#else
#define MD_API_EXPORT 
#endif

class CThostFtdcMdSpi
{
public:

virtual void OnFrontConnected(){};


};

class MD_API_EXPORT CThostFtdcMdApi
{
public:

static CThostFtdcMdApi *CreateFtdcMdApi(const char *pszFlowPath = "", const bool bIsUsingUdp=false, const bool bIsMulticast=false);


virtual const char *GetTradingDay() = 0;

virtual void RegisterNameServer(char *pszNsAddress) = 0;
virtual void RegisterFensUserInfo(CThostFtdcFensUserInfoField * pFensUserInfo) = 0;

virtual void RegisterSpi(CThostFtdcMdSpi *pSpi) = 0;

virtual int UnSubscribeMarketData(char *ppInstrumentID[], int nCount) = 0;

virtual int UnSubscribeForQuoteRsp(char *ppInstrumentID[], int nCount) = 0;


virtual int ReqUserLogin(CThostFtdcReqUserLoginField *pReqUserLoginField, int nRequestID) = 0;


virtual int ReqUserLogout(CThostFtdcUserLogoutField *pUserLogout, int nRequestID) = 0;
protected:
~CThostFtdcMdApi(){};
};

#endif

頭檔案里是這樣,怎么轉變成模塊呢,然后宣告了對應的dll檔案,如何使用頭檔案里面的函式呢,請大神指引

uj5u.com熱心網友回復:

這個不是必須的。
“轉換成模塊”更不是必須的。

C頭檔案中的宏定義,有些對VB6來說是無意義的,或者沒有對應的“轉換關系”。
對于VB6,需要用到的主要是(注意:這些也不是一定要用到):
結構體定義 ───→ 轉換為“自定義型別”
列舉型別 ───→ VB6中也是列舉型別
宏(僅僅是數值或字串的宏) ───→ 常量定義
函式形式說明 ───→ API宣告

以上這些,只要是你按VB6的語法要求,在需要用到的地方有正確的宣告或定義,就可以了,不是必須轉換成模塊。
當然,寫入一個專用的模塊中,全部是“公共”的宣告或定義,也是很好的,這樣便于通用:
在不同的工程中,如果要用到它們,只要把這個模塊加入就行了。

不過,從樓主這個頭檔案的內容來看,這個應該是一個ActiveX DLL吧?
你應該是Regsvr32注冊這個DLL,然后在工程中“參考”CThostFtdcMdApi吧(猜測應該是這個“類”物件名)!

因為它只有一個“公共的靜態函式”:static CThostFtdcMdApi *CreateFtdcMdApi( ) ,
這個是創建并回傳CThostFtdcMdApi物件指標的;
其它的以virtual修飾的函式,是“虛函式”,只能通過CThostFtdcMdApi物件來呼叫的。

uj5u.com熱心網友回復:

不是ActiveX DLL的,注冊時彈出無入口點,所以不知道怎么使用,有ThostFtdcMdApi.h,ThostFtdcTraderApi.h,ThostFtdcUserApiDataType.h,ThostFtdcUserApiStruct.h,thostmduserapi.dll,thostmduserapi.lib,thosttraderapi.dll,thosttraderapi.lib這幾個檔案,都是官方給的檔案,但是因為注冊不了dll檔案,而頭檔案在vba中也不知道該如何使用,所以向大神請教該如何使用這幾個檔案,本身官方給的示例是用c++寫的,我想用vba實作。有人說用declare宣告,但是我也用了,但是還是不對好像,請具體舉出示例該如何使用這幾個檔案,在vba中,該如何呼叫api

uj5u.com熱心網友回復:

這些.lib檔案,對VB6來說是沒有用處的。
程式運行時,只需要它的這兩個dll檔案,頭檔案也只是用于寫應用程式時的“參考”。
如果不是ActiveX DLL,你就用工具看看這兩個dll中分別有哪些匯出函式,
然后,再對照頭檔案中的函式形式說明,“推敲”一下應該如果使用這些介面函式。
當然,最直接的是,要求軟體開發方提供技術支持和應用實體(特別是“購買”的軟體,更應如此)。

uj5u.com熱心網友回復:

知道要宣告dll檔案,.h頭檔案不需要轉變為模塊嗎,具體該怎么宣告,按照declare宣告一直都沒有反應,所以希望大神們示范下具體怎么使用,并且舉個呼叫頭檔案函式的事例

uj5u.com熱心網友回復:

第二十七章:使用外部庫擴展 Visual FoxPro 的功能
通過使用 ActiveX 控制元件(.ocx 檔案),ActiveX物件和元件(dll),可以擴展 Visual FoxPro 功能。外部庫不僅允許您訪問其他程式,而且可以訪問 Windows 本身。例如,可以使用一個 ActiveX 控制元件直接對 Windows 注冊表進行讀取和更新,也可以通過鏈接一個 Windows 的 dll 來呼叫系統級別的函式。 

如果在外部庫中沒有所需的函式功能,可以使用一個三十二位的 C++ 編譯器(如 Microsoft Visual C++? 4.0 或更高版本),或 Microsoft Visual Basic? Control Creation Edition version 5.0 創建自己的 ActiveX 控制元件。有關詳細內容,請參閱第二十八章“訪問 Visual FoxPro API”。

本章內容要點: 

使用外部庫


訪問 ActiveX 控制元件和物件


訪問元件


訪問 Visual FoxPro 庫 
使用外部庫
在大部分情況下,Visual FoxPro 為開發應用程式提供了完整的工具。但是,偶爾也會遇到 Visual FoxPro 尚不能提供開發某個應用程式所需功能的情況。這時,可以在 Visual FoxPro 的外部,借助外部庫的功能來實作。

Visual FoxPro 允許訪問以下型別的外部庫: 

ActiveX 控制元件(.ocx 檔案)和物件。ActiveX 控制元件和物件是程式,其中包含能完成特定任務的物件。大多數 ActiveX 控制元件和物件可以向 Visual FoxPro 中添加新的物件,包括新型的文本框、日歷、計算器以及其他復雜的物件。一些 ActiveX 控制元件和物件甚至還結合了附加的功能,如訪問電子郵件系統、訪問計算機的通訊埠等。一般來講,將一個 ActiveX 控制元件和物件合并到 Visual FoxPro 后,您就可以象使用任何 Visual FoxPro 基類一樣來使用其中的物件。


元件(.dll 檔案)。一個 .dll 檔案是一個函式庫,這些函式可以被 Visual FoxPro 程式呼叫,就象呼叫 Visual FoxPro 中的自定義函式一樣。事實上,許多 Windows 程式(包括 Windows 本身)都是使用元件來實作各種功能。例如,通過鏈接一個系統的 .dll 檔案,呼叫其中的函式,您可以訪問 Windows 中的系統顏色設定。


Visual FoxPro 外部庫(.fll 檔案)。.fll 檔案和 .dll 檔案很相似,但它使用特殊的協議和 Visual FoxPro 共享資料,同時經常會呼叫內部的 Visual FoxPro 函式。因此,fll 檔案不象 .dll 檔案那樣可以被任意的 Windows 程式呼叫,而只能由 Visual FoxPro 呼叫。在 Visual FoxPro 中,您可以象呼叫其它用戶自定義函式一樣呼叫 .fll 檔案中的函式。 
無論使用哪種庫,您首先必須了解訪問其控制元件或函式的規則。例如,如果想在一個表單中包含一個 ActiveX 控制元件,您必須知道管理該控制元件具有的屬性、事件和方法程式。對于 ActiveX 控制元件,可以使用“Visual FoxPro 類瀏覽器”確定您能夠使用的屬性、事件和方法程式。同樣,如果想呼叫一個 .dll 檔案中的函式,您必須知道該函式的名稱、引數的數目和資料型別以及回傳值的資料型別。通常,該類資訊可以從隨庫帶的檔案(手冊或者聯機幫助系統)中找到。要查詢正在使用的 Windows 系統的 .dll 檔案資訊,請參閱對應版本的 Software Development Kit (SDK)。

訪問 ActiveX 控制元件和物件
可以使用任意在您的計算機上使用的 ActiveX 控制元件。如果要使用一個 ActiveX 控制元件,需將其添加到一個表單中,然后設定它的屬性,撰寫事件的處理代碼,或者呼叫它的方法程式。使用“表單工具列”或者“OLE 容器”控制元件可以向一個表單中添加 ActiveX 控制元件,也可以用代碼來實作。有關在“表單設計器”中添加 ActiveX 控制元件的詳細內容,請參閱第十六章“添加 OLE”。

可以用代碼創建一個 ActiveX 控制元件,就象創建其他的 Visual FoxPro 控制元件一樣。但是,在創建控制元件之前,必須確定控制元件所在的類別庫名稱,該名稱將存盤在 Windows 注冊項中。如果無法確定控制元件所在類別庫的名稱,使用“表單設計器”創建控制元件(在前面的章節中說明),然后就可以獲得該控制元件的 OLEClass 屬性。

可以使用 CREATEOBJECT( ) 函式直接創建 ActiveX 物件,不需要表單的實體。

若要使用代碼創建 ActiveX 控制元件 

呼叫 CREATEOBJECT( ) 創建一個表單。


呼叫新表單的 AddObject 方法程式來添加控制元件,指定該類為 olecontrol。注意,必須將該控制元件的類別庫名稱作為 AddObject 方法程式的第三個引數來傳遞。 
例如,下述程式創建一個新的表單,并向其添加一個 outline 控制元件:

oMyForm = CREATEOBJECT("form")
oMyForm.AddObject("oleOutline","olecontrol", ;
   "MSOutl.Outline")

在創建了表單和控制元件之后,可以呼叫表單的 Show 方法程式來顯示表單,并設定該控制元件的 Visible 屬性為“真”(.T.),來顯示這個控制元件:

oMyForm.oleOutline.Visible = .T.
oMyForm.Show

一些 ActiveX 控制元件主要不是為用戶互動作用而設計的。例如,計時器控制元件不支持用戶互動操作。但是,仍可以在表單中創建這個控制元件,因為該控制元件一般可以通過一個默認的顯示組件(用圖示顯示)來創建。通常,您不能更換該圖示或調整其大小。

在應用程式中,如果不想顯示非互動方式的控制元件,可以通過設定其 OLE 容器控制元件的 Visible 屬性為“假”(.F.),或者設定它的 Left 屬性為負值(如 -100),將其移到螢屏的可視區域以外來實作。另外的方法是將該控制元件添加到一個不可見的表單上(就是說,該表單的 Show 方法程式從未被呼叫)。無論怎樣,您仍然可以呼叫該控制元件的方法程式,如同控制元件是可見的一樣。

訪問元件
如果需要呼叫的函式在某 dll 中,可以鏈接該庫,再呼叫該函式。在呼叫一個 dll 函式之前,必須了解該函式的呼叫協議,包括函式的名稱,引數的數目和型別以及回傳值型別。

在 Visual FoxPro 中,只能使用為三十二位環境撰寫的 dll。但是,如果需要訪問一個十六位的 dll,可以使用 Foxtools.fll 中合適的函式來實作。有關詳細內容,請參閱“幫助”中的 Foxtools (Foxtools.hlp) 主題。

若要呼叫一個 dll 函式 

使用 DECLARE - DLL 命令注冊 DLL 函式,函式的名稱區分大小寫。 
注意 如果指定 WIN32API 為庫名稱,Visual FoxPro 將在 Kernel32.dll、Gdi32.dll、User32.dll、Mpr.dll 和 Advapi32.dll 中查找被呼叫的 32 位 Windows DLL 函式。

象呼叫其它 Visual FoxPro 函式一樣呼叫 DLL 函式。 
例如,下面的程式將注冊 Windows USER 系統中 DLL 庫里的 GetActiveWindow( ) 函式,該函式將顯示 Visual FoxPro 主視窗的句柄。GetActiveWindow( ) 無引數,但回傳一個一位整數:

DECLARE INTEGER GetActiveWindow IN win32api
MESSAGEBOX(STR( GetActiveWindow() ) )

包含所要注冊函式的 DLLl 必須存放在默認目錄中,如 Windows 或 System 目錄,或者在 DOS 路徑中。

如果要呼叫的函式和 Visual FoxPro 中已存在的函式(本地函式或者前面宣告的 dll 函式)重名,您可以為重復的函式名字取一個別名,然后用別名來呼叫它。

DECLARE INTEGER GetActiveWindow IN win32api AS GetWinHndl
MESSAGEBOX(STR( GetWinHndl() ) )

在退出 Visual FoxPro 之前,所鏈接的 DLL 函式一直保持有效,因此,在每個作業期中只須宣告一次。如果不再想呼叫 DLL 中的函式,可以執行 CLEAR DLLS 命令將其從記憶體中清除以釋放資源。

注釋 執行 CLEAR dllS 命令時,將從記憶體中清除所有已宣告的 dll 函式。

向一個 DLL 傳遞引數
在注冊一個 dll 函式時,必須指定引數的數目和型別。默認情況下,資料按值傳遞。也可以在引數前面添加符號 (@) 來強制引數按參考傳遞。

一般,dll 函式遵循 C 語言中的資料型別規則,這和 Visual FoxPro 中的規定有所不同。例如,dll 函式不支持日期和貨幣資料型別。如果傳遞給 DLL 函式的資料不被該函式支持,那么在傳遞該資料之前,必須將其轉換為適當的資料型別。例如,如下命令可以將日期型別轉換為數值型的 Julian 格式:

cDate = sys(11, date())
nDate = val( cDate )

某些 dll 函式需要比較復雜的引數,如結構或陣列。如果函式需要一個指向結構的指標,那么必須確定該結構的內部布局,然后在向 DLL 函式傳遞之前或從 DLL 函式回傳之后,轉換為 Visual FoxPro 中的字串。例如,Windows 系統函式 GetSystemTime( ) 需要一個指向結構的指標,該結構包含八個字或 16 位的無符號整數,分別代表年、月、日等,其結構定義如下:

typedef struct _SYSTEMTIME { 
   WORD wYear ;
   WORD wMonth ;
   WORD wDayOfWeek ;
   WORD wDay ;
   WORD wHour ;
   WORD wMinute ;
   WORD wSecond ;
   WORD wMilliseconds ;
} SYSTEMTIME

為了在 Visual FoxPro 和 GetSystemTime( ) 函式之間傳遞資料,首先必須創建一個 40 位元組的字串緩沖區(初始時其內容為空格),然后把這個字串的地址作為引數傳遞給函式,讓函式向這個字串填寫要回傳的資料。回傳之后,必須以兩個字符為一單元,進行分析,然后提取出結構的各個部分。下面的陳述句描述了如何提取該結構的三個欄位:

DECLARE INTEGER GetSystemTime IN win32api STRING @
cBuff=SPACE(40)
=GetSystemTime(@cBuff)

tYear = ALLTRIM(STR(ASC(SUBSTR(cBuff,2)) *  ; 
   256 + ASC(SUBSTR(cBuff,1))))
tMonth = ALLTRIM(STR(ASC(SUBSTR(cBuff,4)) * ; 
   256 + ASC(SUBSTR(cBuff,3))))
tDOW = ALLTRIM(STR(ASC(SUBSTR(cBuff,6)) * ; 
   256 + ASC(SUBSTR(cBuff,5))))

如果要獲得更多的資訊,請運行 Visual Studio …\Samples\Vfp98\Solution\Winapi 中的示例表單 Systime.scx。有關如何向 DLL 函式傳遞引數的其他實體,請參閱 Visual Studio …\Samples\Vfp98\Classes 中的程式 Registry.prg。

如果在 Visual FoxPro 中使用的資料是陣列,則在傳遞給 DLL 函式之前,必須遍歷該陣列,把它聯結到一個用 C 語言樣式的陣列的單個字串。如果 Windows 函式需要 16 位或 32 位的值,則在鏈接為字串之前,必須將該值轉換為等價的十六進制的形式。在傳遞包含陣列資料的字串時, Visual FoxPro 將該串的地址傳送給 DLL,該 DLL 將其作為陣列處理。實體程式請參閱 Visual Studio …\Samples\Vfp98\Solution\Winapi 中的示例表單 Syscolor.scx。

訪問 Visual FoxPro 庫
象 dll 一樣,Visual FoxPro 庫(.fll 檔案)包含了可呼叫的函式。因為 .fll 檔案是專門為 Visual FoxPro 內部呼叫建立的,因而更容易和 .fll 進行資料傳遞。 

如果要使用一個 Visual FoxPro 庫,首先指定 .fll 檔案的名稱,然后呼叫此函式。和注冊 dll 函式不同,您無須單獨注冊 fll 檔案中的每個函式,也沒有必要指定該函式所需引數和資料型別。

注釋 如果要使用一個早期版本的 Visual FoxPro .fll 庫,必須在 Visual FoxPro 中重新編譯。 

若要呼叫一個 .fll 函式 

使用 SET LIBRARY 命令注冊 .fll 函式。


象呼叫其它函式一樣呼叫庫中的任意函式。 
例如,下面的程式從 Foxtools.fll 庫中呼叫一個函式,來指定 C:驅動器的型別:

SET LIBRARY TO "C:\Program Files\Microsoft ;
Visual Studio\Vfp98\Foxtools.fll"
? DriveType("C:")

如果所注冊的 .fll 檔案不只一個,請在 SET LIBRARY 命令中包含 ADDITIVE 關鍵字。否則,前面注冊的 .fll 檔案將被清除,被最近注冊的檔案所代替。

如果函式名稱和 Visual FoxPro 中已存在的函式名稱沖突,則最后定義的函式優先;如果鏈接庫中的函式名稱和 Visual FoxPro 中的內部函式名稱沖突,Visual FoxPro 的內部函式優先。

在退出 Visual FoxPro 之前,.fll 檔案中的函式一直保持有效,因此在每個作業期中只需注冊一次。如果不想再使用 .fll 檔案中的函式,可以使用 RELEASE LIBRARY、RELEASE ALL 或者 SET LIBRARY TO 命令將其從記憶體中清除,以釋放資源。

uj5u.com熱心網友回復:

上帖手滑把FoxPro的粘貼上來了!
將 C 語言宣告轉換為 Visual Basic 宣告


在檔案中,通常使用 C 語言的語法描述 DLL 中的程序。要在 Visual Basic 中呼叫這些程序,需要將它們轉換成合法的 Declare 陳述句,并使用正確的引數呼叫它們。

在進行這種轉換時,必須將 C 資料型別轉換為 Visual Basic 的資料型別,并且說明每個引數是以使用值的 (ByVal) 方式,還是使用參考的 (ByRef)(預設)方式。下表針對常用的 C 語言資料型別列出了與之等價的 Visual Basic 型別(用于 32 位版本的 Windows)。

C 語言資料型別 在 Visual Basic 中宣告為 呼叫時使用的運算式 
ATOM ByVal variable As Integer 結果為 Integer 型別的運算式 
BOOL ByVal variable As Long 結果為 Long 型別的運算式 
BYTE ByVal variable As Byte 結果為 Byte 型別的運算式 
CHAR ByVal variable As Byte 結果為 Byte 型別的運算式 
COLORREF ByVal variable As Long 結果為 Long 型別的運算式 
DWORD ByVal variable As Long 結果為 Long 型別的運算式 
HWND, HDC, HMENU 等。(Windows 句柄) ByVal variable As Long 結果為 Long 型別的運算式 
INT, UINT ByVal variable As Long 結果為 Long 型別的運算式 
LONG ByVal variable As Long 結果為 Long 型別的運算式 
LPARAM ByVal variable As Long 結果為 Long 型別的運算式 
LPDWORD variable As Long 結果為 Long 型別的運算式 
LPINT, LPUINT variable As Long 結果為 Long 型別的運算式 
LPRECT variable As type 自定義型別的任意變數 
LPSTR, LPCSTR ByVal variable As String 結果為 String 型別的運算式 
LPVOID variable As Any 任何變數(在傳遞字串的時候使用 ByVal) 
LPWORD variable As Integer 結果為 Integer 型別的運算式 
LRESULT ByVal variable As Long 結果為 Long 型別的運算式 
NULL As Any 或
ByVal variable As Long ByVal Nothing 或 ByVal 0& 或 vbNullString 
SHORT ByVal variable As Integer 結果為 Integer 型別的運算式 
VOID Sub procedure 不可用 
WORD ByVal variable As Integer 結果為 Integer 型別的運算式 
WPARAM ByVal variable As Long 結果為 Long 型別的運算式 

uj5u.com熱心網友回復:

參考 4 樓 qq_30680701 的回復:
知道要宣告dll檔案,.h頭檔案不需要轉變為模塊嗎,具體該怎么宣告,按照declare宣告一直都沒有反應,所以希望大神們示范下具體怎么使用,并且舉個呼叫頭檔案函式的事例

我在1樓的回復中多次提到”不是必須“、”不一定要用到“等,難道這意思還不明顯嗎!

VB6中的 declare不會直接引起任何反應!
只用你的代碼執行到相應的API函式時,才可能“有反應”。
需要用到的API,才必須用Declare對它進行函式宣告,如果你的代碼中用不到,你去管它干啥呢?
比如我們經常會用到的User32.dll中的API,它里面可能有三、四百個吧(也許更多,我沒太在意這個);
  它對應的那個頭檔案,兩百多KB的內容。
難道你只需要用到其中幾個、甚至只用一、兩個API,你卻偏要用一個模塊把那些API全部宣告出來?
 需要用到的API,很多情況下都是只需要宣告API就行的,難道你也要把那個頭檔案全部轉成VB6模塊代碼?

至于“呼叫頭檔案函式的示例”,這個根本就沒有多大的意義。
給個簡單的,沒什么“啟示作用”;
給個復雜的,也未必就能使你的水平“飛躍提升”,
跟你的需求沒有可比性,估計你仍然搞不定你這個dll呼叫,我又何必白費這勁……

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/82862.html

標籤:API

上一篇:vb.net控制元件屬性font的問題

下一篇:求解

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more