repository assumed

Demo project for Spring Boot 【1】spring-boot-starter【2】Accessing Data with JPA 这里有一个Customer类,它有三个属性:id、firstName和lastName。您不直接使用它,所以它被指定为受保护的。另一个构造函数是用于创建要保存到数据库中的Customer实例的构造函数。Customer对象的id属性用@id注释,以便JPA将其识别为对象的id。Customer类用@Entity注释,表明它是一个JPA实体。(由于不存在@Table注释,因此假定此实体映射到名为Customer的表。假设它们被映射到与属性本身同名的列。方便的toString()方法打印出客户的属性。 阅读详情
    //
    /*    while(ReadFile(hFile,buffer,sizeof(buffer),&dwRead,NULL) && dwRead>0){
            for (int n=0;n<dwRead/3;n++)
            {
                offset=(n/16)*2;
                if(buffer[n*3+offset]>='a' && buffer[n*3+offset]<='f')
                    buffer2[n]=buffer[n*3+offset]-'a'+10;
                else if(buffer[n*3+offset]>='A' && buffer[n*3+offset]<='F')
                    buffer2[n]=buffer[n*3+offset]-'A'+10;
                else
                    buffer2[n]=buffer[n*3+offset]-'0';
                buffer2[n]<<=4;
                if(buffer[n*3+1+offset]>='a' && buffer[n*3+1+offset]<='f')
                    buffer2[n]+=buffer[n*3+1+offset]-'a'+10;
                else if(buffer[n*3+1+offset]>='A' && buffer[n*3+1+offset]<='F')
                    buffer2[n]+=buffer[n*3+1+offset]-'A'+10;
                else
                    buffer2[n]+=buffer[n*3+1+offset]-'0';
            }
            bRet=Send(buffer2,1024);
            if(!bRet)
                break;
            m_dwParam1+=dwRead;
            ResponseMessage(REDM_RESPONSE_UPDATE,m_dwParam1,0);

        }*/

//////////////////////////////

tool bar project, October 9,2011

//ON_COMMAND(ID_BUTTON_RED,OnButtonRed)
    ///ON_COMMAND(ID_BUTTON_GREEN,OnButtonGreen)
    ///ON_COMMAND(ID_BUTTON_BLUE,OnButtonBlue)

    //ON_UPDATE_COMMAND_UI(ID_BUTTON_BLUE,OnUpdateButtonBlue)
    //ON_UPDATE_COMMAND_UI(ID_BUTTON_GREEN,ButtonGreenUpdate)
    //ON_UPDATE_COMMAND_UI(ID_BUTTON_RED,ButtonRedUpdate)



    September 17, 2011 Saturday

///给TAB控件发送消息,企图改变当前选择项     TabCtrl_SetCurSel(GetDlgItem(m_hWnd,IDC_TAB1), 0); (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0) 

            NMHDR nmh;
            nmh.code=TCN_SELCHANGE;
            nmh.idFrom=GetDlgCtrlID(GetDlgItem(m_hWnd,IDC_TAB1));//control id
            nmh.hwndFrom=GetDlgItem(m_hWnd,IDC_TAB1);
            SendMessage(m_hWnd,WM_NOTIFY,(WPARAM)GetDlgItem(m_hWnd,IDC_TAB1),(LPARAM)&nmh);


强制生成的对话框窗口在任务栏上显示图标(September 22,2011 Thursday 15:30)

     DWORD dwStyle=0;
    dwStyle=GetWindowLongPtr(m_hWnd,GWL_EXSTYLE);
    DWORD status=0;
    status=SetWindowLongPtr(m_hWnd,GWL_EXSTYLE,dwStyle|WS_EX_APPWINDOW);


cl.exe path bat file (October 10,2011 Monday 14:07)

@SET VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 9.0

@SET VCINSTALLDIR=C:\Program Files\Microsoft Visual Studio 9.0\VC
@SET FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework
@SET FrameworkVersion=v2.0.50727
@SET Framework35Version=v3.5
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR

@echo Setting environment for using Microsoft Visual Studio 2008 x86 tools.

@call :GetWindowsSdkDir

@if not "%WindowsSdkDir%" == "" (
    set "PATH=%WindowsSdkDir%bin;%PATH%"
    set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
    set "LIB=%WindowsSdkDir%lib;%LIB%"
)


@rem
@rem Root of Visual Studio IDE installed files.
@rem
@set DevEnvDir=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE

@set PATH=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;%PATH%
@set INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE;%INCLUDE%
@set LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;%LIB%
@set LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;%LIBPATH%

@goto end

:GetWindowsSdkDir
@call :GetWindowsSdkDirHelper HKLM > nul 2>&1
@if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1
@if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%\PlatformSDK\
@exit /B 0

:GetWindowsSdkDirHelper
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v "CurrentInstallFolder"') DO (
    if "%%i"=="CurrentInstallFolder" (
        SET "WindowsSdkDir=%%k"
    )
)
@if "%WindowsSdkDir%"=="" exit /B 1
@exit /B 0

:error_no_VSINSTALLDIR
@echo ERROR: VSINSTALLDIR variable is not set.
@goto end

:error_no_VCINSTALLDIR
@echo ERROR: VCINSTALLDIR variable is not set.
@goto end

:end


亮度数据存在一个位图中。(Nov 17,2011)

/*
	TCHAR szFilter[MAX_PATH],szFile[MAX_PATH],szDefExt[]=_T(".rrpb"),*pChr;
	TCHAR szBuf[MAX_PATH];
	OPENFILENAME ofn;
	HANDLE hfile;
	BITMAPFILEHEADER bmpfile;
	BITMAPINFOHEADER bmpinfo;
	RGBQUAD rgb[256]; ///256 STRUCTURES
	DWORD size;

	if(m_pControl->btBrightReserType){
		if(QueryINIText(_T("LEDSETUP"),_T("FILEBRIGHTREVISE9"),szFilter,MAX_PATH)<=0)
			lstrcpy(szFilter,_T("Receiver Chroma Revise File(*.rcpb)|*.rcpb|"));
		while((pChr=_tcsrchr(szFilter,'|')))
			*pChr=0;
		szFile[0]=0;
		strcpy(szDefExt,_T(".rcpb"));
		ZeroMemory(&ofn,sizeof(ofn));
		ofn.lStructSize=sizeof(ofn);
		ofn.hwndOwner=m_hWnd;
		ofn.lpstrFile=szFile;
		ofn.nMaxFile=MAX_PATH;
		ofn.lpstrFilter=szFilter;
		ofn.lpstrDefExt=szDefExt;
		ofn.nFilterIndex=1;
		ofn.Flags=OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_EXTENSIONDIFFERENT;
		lstrcpy(szBuf,g_szModPath);
		lstrcat(szBuf,_T("config"));
		ofn.lpstrInitialDir=szBuf;
		if(GetSaveFileName(&ofn)!=TRUE)
			return FALSE;
		hfile=CreateFile(szFile,GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,

(HANDLE)NULL);
		if(hfile==INVALID_HANDLE_VALUE){
			if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
				lstrcpy(szBuf,_T("Failed to save!"));
			MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
			return FALSE;
		}
		WriteFile(hfile,m_BrightnessRevise9,sizeof(BRIGHTNESSREVISE9),&size,NULL);
		if(size!=sizeof(BRIGHTNESSREVISE9)){
			if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
				lstrcpy(szBuf,_T("Failed to save!"));
			MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
			CloseHandle(hfile);
			return FALSE;
		}
		CloseHandle(hfile);
		return TRUE;
	}
	//////////////////////////////////////////////////////////////////////////////////////////////////////////
	if(QueryINIText(_T("LEDSETUP"),_T("FILEBRIGHTREVISE"),szFilter,MAX_PATH)<=0)
		lstrcpy(szFilter,_T("Receiver Bright Revise File(*.rrpb)|*.rrpb|"));
	while((pChr=_tcsrchr(szFilter,'|')))
		*pChr=0;
	szFile[0]=0;
	ZeroMemory(&ofn,sizeof(ofn));
	ofn.lStructSize=sizeof(ofn);
	ofn.hwndOwner=m_hWnd;
	ofn.lpstrFile=szFile;
	ofn.nMaxFile=MAX_PATH;
	ofn.lpstrFilter=szFilter;
	ofn.lpstrDefExt=szDefExt;
	ofn.nFilterIndex=1;
	ofn.Flags=OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_EXTENSIONDIFFERENT;
	lstrcpy(szBuf,g_szModPath);
	lstrcat(szBuf,_T("config"));
	ofn.lpstrInitialDir=szBuf;
	if(GetSaveFileName(&ofn)!=TRUE)
		return FALSE;

	hfile=CreateFile(szFile,GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,(HANDLE)

NULL);
	if(hfile==INVALID_HANDLE_VALUE){
		if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
			lstrcpy(szBuf,_T("Failed to save!"));
		MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
		return FALSE;
	}

	bmpfile.bfType=0x4d42;///indicating the bitmap file
	bmpfile.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(rgb);
	bmpfile.bfSize=bmpfile.bfOffBits+sizeof(m_BrightnessRevise);
	bmpfile.bfReserved1=bmpfile.bfReserved2=0;

	bmpinfo.biSize=sizeof(BITMAPINFOHEADER);
	bmpinfo.biWidth=256;
	bmpinfo.biHeight=256*4;
	bmpinfo.biPlanes=1;
	bmpinfo.biBitCount=8;
	bmpinfo.biClrUsed=256;
	bmpinfo.biCompression=BI_RGB;
	bmpinfo.biSizeImage=sizeof(m_BrightnessRevise);
	bmpinfo.biClrImportant=0;
	bmpinfo.biXPelsPerMeter=bmpinfo.biYPelsPerMeter=0;

	for(size=0;size<256;size++){
		rgb[size].rgbBlue=rgb[size].rgbGreen=rgb[size].rgbRed=(BYTE)size;
		rgb[size].rgbReserved=0;
	}

	WriteFile(hfile,&bmpfile,sizeof(BITMAPFILEHEADER),&size,NULL);///bitmap file header written

	if(size!=sizeof(BITMAPFILEHEADER)){
		if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
			lstrcpy(szBuf,_T("Failed to save!"));
		MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
		CloseHandle(hfile);
		return FALSE;
	}
	WriteFile(hfile,&bmpinfo,sizeof(BITMAPINFOHEADER),&size,NULL);///bitmap info header written
	if(size!=sizeof(BITMAPINFOHEADER)){
		if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
			lstrcpy(szBuf,_T("Failed to save!"));
		MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
		CloseHandle(hfile);
		return FALSE;
	}
	WriteFile(hfile,&rgb,sizeof(rgb),&size,NULL);///the real rgb value written
	if(size!=sizeof(rgb)){
		if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
			lstrcpy(szBuf,_T("Failed to save!"));
		MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
		CloseHandle(hfile);
		return FALSE;
	}
	WriteFile(hfile,&m_BrightnessRevise,sizeof(BRIGHTNESSREVISE),&size,NULL); ///the practical revise data 

written
	if(size!=sizeof(BRIGHTNESSREVISE)){
		if(QueryINIText(_T("LEDREDDATA"),_T("ERRORSAVEFILE"),szBuf,MAX_PATH)<=0)
			lstrcpy(szBuf,_T("Failed to save!"));
		MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
		CloseHandle(hfile);
		return FALSE;
	}

	lstrcpy(m_szPath,szFile);

	SetWindowText(m_hWnd,m_szPath);

	return CloseHandle(hfile);
	////////////////////////////////////////////////////////////////////////////////////////////////////////
*/



///load file data to memory struct
//if(strcmp(pChr,"txt")==0)//直接读取色度系数文件
	//{
	//	CRedData::ReadChromParamFromPMFile(NULL,hfile,&m_BrightnessRevise,0);
	//	lstrcpy(m_szPath,szFile);
	//	SendDlgItemMessage(m_hWnd,IDC_COMBO1,CB_SETCURSEL,m_BrightnessRevise.btH,0);
	//	SendDlgItemMessage(m_hWnd,IDC_COMBO2,CB_SETCURSEL,m_BrightnessRevise.btW,0);
	//	SetWindowText(m_hWnd,m_szPath);
	//	CloseHandle(hfile);
	//	return TRUE;
	//}
	//ReadFile(hfile,&bmpfile,sizeof(BITMAPFILEHEADER),&size,NULL);
	//if(size!=sizeof(BITMAPFILEHEADER) ||
	//	bmpfile.bfType!=0x4d42 ||
	//	bmpfile.bfOffBits!=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(rgb) ||
	//	bmpfile.bfSize!=bmpfile.bfOffBits+sizeof(m_BrightnessRevise)){
	//	if(QueryINIText(_T("LEDREDDATA"),_T("ERRORLOADFILE"),szBuf,MAX_PATH)<=0)
	//		lstrcpy(szBuf,_T("Failed to load!"));
	//	MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
	//	CloseHandle(hfile);
	//	return FALSE;
	//}

	//ReadFile(hfile,&bmpinfo,sizeof(BITMAPINFOHEADER),&size,NULL);
	//if(size!=sizeof(BITMAPINFOHEADER) ||
	//	bmpinfo.biSize!=sizeof(BITMAPINFOHEADER) ||
	//	bmpinfo.biWidth!=256 ||
	//	bmpinfo.biHeight!=256*4 ||
	//	bmpinfo.biPlanes!=1 ||
	//	bmpinfo.biBitCount!=8 ||
	//	bmpinfo.biClrUsed!=256 ||
	//	bmpinfo.biCompression!=BI_RGB ||
	//	bmpinfo.biSizeImage!=sizeof(m_BrightnessRevise)){
	//	if(QueryINIText(_T("LEDREDDATA"),_T("ERRORLOADFILE"),szBuf,MAX_PATH)<=0)
	//		lstrcpy(szBuf,_T("Failed to load!"));
	//	MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
	//	CloseHandle(hfile);
	//	return FALSE;
	//}
	//for(size=0;size<256;size++){
	//		rgb[size].rgbBlue=rgb[size].rgbGreen=rgb[size].rgbRed=(BYTE)size;
	//		rgb[size].rgbReserved=0;
	//}
	//ReadFile(hfile,&rgb,sizeof(rgb),&size,NULL);
	//if(size!=sizeof(rgb)){
	//	if(QueryINIText(_T("LEDREDDATA"),_T("ERRORLOADFILE"),szBuf,MAX_PATH)<=0)
	//		lstrcpy(szBuf,_T("Failed to load!"));
	//	MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
	//	CloseHandle(hfile);
	//	return FALSE;
	//}
	//for(size=0;size<256;size++){
	//	if(rgb[size].rgbBlue!=(BYTE)size ||
	//		rgb[size].rgbGreen!=(BYTE)size ||
	//		rgb[size].rgbRed!=(BYTE)size){
	//		if(QueryINIText(_T("LEDREDDATA"),_T("ERRORLOADFILE"),szBuf,MAX_PATH)<=0)
	//			lstrcpy(szBuf,_T("Failed to load!"));
	//		MessageBox(m_hWnd,szBuf,_T(""),MB_OK|MB_ICONEXCLAMATION);
	//		CloseHandle(hfile);
	//		return FALSE;
	//	}
	//}

	//ReadFile(hfile,&m_BrightnessRevise,sizeof(BRIGHTNESSREVISE),&size,NULL);
	
	/*lstrcpy(m_szPath,szFile);
	SendDlgItemMessage(m_hWnd,IDC_COMBO1,CB_SETCURSEL,m_BrightnessRevise.btH,0);
	SendDlgItemMessage(m_hWnd,IDC_COMBO2,CB_SETCURSEL,m_BrightnessRevise.btW,0);
	SetWindowText(m_hWnd,m_szPath);
	ResetLimit();*/
	//ResetScroll();
	//m_Screen.Draw(NULL);



trash code:

/////////////////////////////////////////////////
	//CProgressStatus *prgStatus;
	///prgStatus=new CProgressStatus(g_hInstance);
	///prgStatus=new CProgressStatus(g_hInstance);
	///prgStatus.DoModal(NULL);
	///CProgressStatus prgStatus(g_hInstance);
	//prgStatus->Create(NULL);
	///prgStatus->DoShow(SW_SHOWNORMAL);
/*
	RECT rect;
	POINT pt;
	GetClientRect(GetDesktopWindow(),&rect);

	MoveWindow(prgStatus->GetWin(),(rect.right-rect.left)/2-300,(rect.bottom-rect.top)/2,363,47,TRUE);
	at 10:13, October 15,2011
	*/
/* commented at 17:20, October 13,2011

	HWND hwndPB,hwndParent;
	int cyVScroll;
	RECT rcClient;
	hwndParent=prgStatus->GetWin();
	///hwndParent=GetDesktopWindow();
	GetClientRect(hwndParent,&rcClient);
	///cyVScroll=GetSystemMetrics(SM_CYVSCROLL);

	hwndPB=CreateWindowEx(0,			///dwExStyle
				PROGRESS_CLASS			///class Name of window
				,(LPTSTR)NULL			/// window name
				,WS_CHILD|WS_VISIBLE	// dwStyle
				,rcClient.left			//x
				,rcClient.top		//y
				,rcClient.right									//nWidth
				,rcClient.bottom							//nHeight
				,hwndParent
				,(HMENU)0							///hMenu
				,g_hInstance						///窗口关联的模块的句柄
				,NULL);								///生成窗口的结构体参数
				
	//SendMessage(hwndPB,PBM_SETRANGE,0,MAKELPARAM(0,100));
	///totalPackage=nArray*nColorPackage;
	int totalPrgBar=(pBrigRev->btH+1)*(pBrigRev->btW+1)*(btAddress-0x07)*4;///using the properation
	SendMessage(hwndPB,PBM_SETRANGE,0,MAKELPARAM(0,totalPrgBar));
	SendMessage(hwndPB,PBM_SETSTEP,(WPARAM)4,0);
	SendMessage(hwndPB,PBM_STEPIT,0,0);
	/////////////////////////////////////////////////
*/



December 7,2011, 

256*256内270度旋转物理屏

/*
			//spining deasil ninety degree
			int i,j;
			BYTE *spinArray,*spinArrayTo;
			spinArray=new BYTE[lW*lH];
			spinArrayTo=new BYTE[lW*lH];
			///put single color datas into the temporal space, spinArray;
			for(i=0;i<lW;i++)//height
			{
				for(j=0;j<lH;j++)//width
				{
					spinArray[i*lH+j]=nData[i*256+j];
				}
			}
			//spining the spingArray
			for(i=0;i<lW;i++)//height, based on the perspective of original spinArray.
			{
				for(j=0;j<lH;j++)//width.
				{
					spinArrayTo[j*lW+lW-i-1]=spinArray[i*lH+j];
				}
			}
			///putting back the datas
			for(i=0;i<lH;i++)///height
			{
				for(j=0;j<lW;j++)///width
				{
					pData[i*256+j]=spinArrayTo[i*lW+j];
				}
			}
*/

//anther way

for (int i=0;i<lW;i++)//目标高度 ///this algorithm is not correct for 270 degree rotation.
			{
				for (int j=0;j<lH;j++)
				{
					//memcpy(&pData[(i*256+j)*nodebyte],&nData[((j)*256+(lW-i-1))*nodebyte],nodebyte);
                                        ///(j,w-i-1)==>(i,j), 256*256的放大版旋转。
					memcpy(&pData[((j)*256+(lW-i-1))*nodebyte],&nData[(i*256+j)*nodebyte],nodebyte);///singlebytes?
				}
			}

/// log file(January 16, 2012)

#ifdef _DEBUG
		DWORD lastError=0;
		HANDLE record=CreateFile("c:\\led_record.txt",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_ALWAYS,0,NULL);
		if(record==INVALID_HANDLE_VALUE)
		{
			lastError=GetLastError();
			//return FALSE;
		}
		BOOL record_status=0;
		DWORD dwSend_record=0;
		DWORD distance=0;
		distance=::GetFileSize(record,NULL);
		SetFilePointer(record,distance,NULL,FILE_BEGIN);
		record_status=WriteFile(record,lpData,dwSize,&dwSend_record,NULL);
		if(record!=INVALID_HANDLE_VALUE)
			CloseHandle(record);
	
#endif



fatal: subcommand wasn‘t specified; ‘push‘ can‘t be assumed due to unexpected token 摘要:Git stash 命令允许暂存未提交的修改。使用 git stash push 命令可以暂存当前工作目录的更改。若需为暂存添加备注名称,可通过 -m 参数实现,例如:git stash push -m "这里是你的备注名称"。该功能便于开发者临时保存工作进度,并为后续恢复提供清晰的标识。 阅读详情

相关推荐

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

git repository 的使用

1. You should only be pushing to a bare repository. A bare repository is a repository that has no checked out branches. If you were to cd to a bare repository directory, you'd only see the contents of...

weixin_34041003的博客 320

ROS下UR+Realsense相机进行手眼标定

手眼标定主要是用来确定相机坐标系和机械臂坐标系之间的转换关系,从而实现后续的抓取等任务。

weixin_42157689的博客 7573

Setting Up a Maven Repository

1. Introduction<br />Maven is a popular build tool available for java developers. One of the benefits of maven is that helps to reduce the duplication of dependent software libraries (jars) required to build an application. The maven suggested approach is

@Ron White 的专栏 2088

视频监控设备(NVR、IPC等)如何通过国标GB28181接入到视频监控平台,以及接入过程如何测试视频接入是否成功

GB/T28181标准广泛的应用,视频监控设备通过国标GB28181接入视频监控平台的过程变成程序化、标准化的互联过程,确保了视频监控设备能够在不同系统、不同网络环境下实现远程、跨区域、跨级别的访问和控制。版本有GB28181-2011、2016、2022几个常用版本,威迪斯特的视频监控平台完全支持GB28181的这几个版本,能够实现不同品牌视频监控设备的国标视频接入(国标视频监控接入),或者为国标28181视频接入(国标28181视频监控接入),也为国标281818接入(国标GB/T28181接入。

weixin_70208651的博客 1万+

Dify 从入门到熟悉100 天的学习大纲

理解 Dify 的核心概念,熟悉操作界面,并能创建简单的 AI 应用。祝你在这 100 天的旅程中学有所成,成为一名优秀的 AI 应用开发者!掌握生产环境部署、监控、调优,并关注 Dify 生态和前沿动态。探索多模态、Agent、API 集成、性能优化等高级主题。掌握工作流编排、高级提示词技巧、知识库优化等核心功能。

IT深耕十余载,大道之简 1735

使 JPA 中的 repository.save() 不执行 select 语句的方法

在部门开发的产品中使用了 Spring JPA 做持久化框架。JPA 从开发效率上来说很高,而且从封装角度来说更易做框架级的封装。基本的增、删、改、查可以做好规范约束,再配合上代码生成器,单表功能开发非常的快。但是 JPA 在运行效率上就差了,很多本来一条语句就能解决的问题,JPA 会执行很多条语句。比如表单新增的数据,正常情况下一条 insert 语句就行了,但是 JPA 会先执行 select...

Souther_Feather的博客 5780

谷歌A2A协议入门指南:附简易Python代码示例

继"关税"之后,当下最热门的词汇当属AI智能体——这种基于人工智能的软件能够执行复杂任务、实现工作流自动化并提升生产效率。但迄今为止,大多数智能体都处于各自为政的状态,难以顺畅协作。就像团队执行重大项目时,成员之间却无法交流!对于技术人员而言,一个可能遇到的典型场景是:假设你需要协调四个不同的AI服务——处理用户查询的Gemini智能体、在向量数据库进行搜索的AI应用、基于Claude的摘要生成器,以及运行专业领域逻辑的Python智能体。

独立开发,substack顶级编辑 799

Spring Data JPA Hibernate实现

Spring data Jpa hibernate实现

Weison 575

第八届传智杯WPS智能办公能力挑战赛练习题库

本文是关于WPS Office软件操作知识的选择题汇总,内容涵盖WPS文字、表格和演示三大组件的常用功能。主要包括:云文档协同编辑、文本框插入、幻灯片打印设置、数据排序与筛选、函数应用(如SUMIF、COUNT)、动画效果设置、格式刷使用、页眉页脚设置、单元格引用类型等基础操作要点。同时涉及计算机基础概念如二进制、ROM存储器等。题目以单选和多选形式呈现,附带详细答案解析,全面检验用户对WPS办公软件的功能掌握程度和实际操作能力,适用于办公软件技能培训和水平测试。

qq_73044452的博客 1432

修复Oracle MySQL Server 安全漏洞(CVE-2023-0464)

修复Oracle MySQL Server 安全漏洞(CVE-2023-0464)

路~可以走过 3683

npm package.json属性详解

目录 概述 name version description keywords homepage bugs license 和用户相关的属性: author, contributors files main bin man directories directories.lib directories.bin directories.man directories.doc directories.example repository scripts confi..

htong521的博客 835

工业-实时数据采集

在主节点使用Flume采集/data_log目录下实时日志文件中的数据,将数据存入到Kafka的Topic 中(Topic名称分别为ChangeRecord、ProduceRecord和EnvironmentData,分区数为4),Flume 采集ChangeRecord。

dafsq的博客 590

[Reference] Test Drive Development using SqlCE and NHibernate

http://www.codeproject.com/useritems/TDD_and_SqlCE.asp Download SamplesSqlCe.zip - 610.5 KB Introduction This article demonstrates how to use SQL Compact Edition to perform database unit t...

weixin_30920513的博客 72

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

CANN/PTO乘加运算指令

![TMULADDDST tile operation](https://raw.gitcode.com/cann/pto-isa/raw/c77ebbbad5c528b5374ff5bfffddf3f91e9a0553/docs/figures/isa/TMULADDDST.svg?utm_source=gitcode_repo_files) ## Introduction Elem

gitblog_00291的博客 666

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CANN/PTO-ISA融合乘加激活指令

![TFUSEDMULADDRELU tile operation](https://raw.gitcode.com/cann/pto-isa/raw/c77ebbbad5c528b5374ff5bfffddf3f91e9a0553/docs/figures/isa/TFUSEDMULADDRELU.svg?utm_source=gitcode_repo_files) ## Introduc

gitblog_00489的博客 423

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CANN/PTO-ISA融合乘加操作

![TFUSEDMULADD tile operation](https://raw.gitcode.com/cann/pto-isa/raw/c77ebbbad5c528b5374ff5bfffddf3f91e9a0553/docs/figures/isa/TFUSEDMULADD.svg?utm_source=gitcode_repo_files) ## Introduction

gitblog_01163的博客 394

CANN PTO ISA TSUBRELU指令

![TSUBRELU tile operation](https://raw.gitcode.com/cann/pto-isa/raw/c77ebbbad5c528b5374ff5bfffddf3f91e9a0553/docs/figures/isa/TSUBRELU.svg?utm_source=gitcode_repo_files) ## Introduction Elementw

gitblog_00946的博客 193

@ManyToMany,Cascade为All时,save报detached entity passed to persist

问题描述 public class EditPrivilege extends EntityId { @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinTable(name = REL_EDITPRIVILEGE_ROLE) private Set&lt;Role&gt; edita...

dalangzhonghangxing的专栏 3077

NHibernate Best Practices with ASP.NET, 1.2nd Ed. from CodeProject.com

Authors note added June 11, 2008 - Announcement of S#arp ArchitectureThankfully, technologies evolve over the years. Accordingly,Microsoft has introduced ASP.NET MVC as an alternative to classic

kissjob的专栏 2215

Cpplint - Static code checker for C++ (C++ 静态代码审查工具)

Cpplint - Static code checker for C++ (C++ 静态代码审查工具)

程永强 3417

Installing CUDA 8.0 + cuDNN 5.1 + TensorFlow with Ubuntu 14.04 (下)

Step 2. Install NVIDIA cuDNN Once the CUDA Toolkit is installed, download cuDNN v5.1 Library(或者从百度云下载) for Linux (note that you will need to register for the Accelerated Computing Developer Program

zshouyi的博客 2787

EN 学习

【S】Specify the repository to track. This can be a URL or a local file path.   【C】Note that for super-projects (repositories with submodules), only a local file path or a complete URL is valid. For ins

xiongmc的专栏 807

CANN/pto-isa:TINTERLEAVE交织指令

![TINTERLEAVE](https://raw.gitcode.com/cann/pto-isa/raw/056a9b8a15dcc601a20127f91b32042cd595c36c/docs/figures/isa/TINTERLEAVE.svg?utm_source=gitcode_repo_files) ## Introduction Interleave two sourc

gitblog_00593的博客 369
上一篇: afternoon wondering
下一篇: special addressing mode
cmpfish
博客等级 码龄19年 65粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值