IT 개발 노트/PROGRAMMING 9

리팩토링할 때 알아두면 좋은 정보

리팩토링 정의리팩토링(Refactoring)이란 겉으로 드러나는 기능은 그대로 두고, 소프트웨어 내부 구조를 수정하여 코드의 가독성과 유지보수성을 높이는 작업입니다.  리팩토링 목적리팩토링의 주요 목적은 코드를 더 이해하기 쉽고 수정하기 쉽게 만드는 것입니다. 이 과정에서 소프트웨어의 겉으로 드러나는 기능에는 영향을 주지 않으며, 내부 구조를 개선하여 개발자들이 작업하기 편리하도록 만듭니다. 궁극적으로는 소프트웨어의 유지보수 비용을 줄이고, 향후 개발을 더 원활하게 합니다. 리팩토링 ≠ 최적화많은 사람들이 리팩토링과 최적화를 혼동할 수 있습니다. 그러나 이 둘은 목적이 다릅니다:리팩토링: 코드를 이해하기 쉽게 수정하는 작업최적화: 코드의 성능을 향상시키는 작업리팩토링은 이해하기 쉬운 코드를 목표로 하며,..

[Debug] 원격 디버깅

준비 단계원격 디버깅 도구를 다운로드합니다.https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-2022 Remote debugging - Visual Studio (Windows)Debug a Visual Studio application that has been deployed on a different computer by using the Visual Studio remote debugger.learn.microsoft.com 프로그램이 실행중인 원격지에 "다운 받은 도구"를 설치합니다.Remote debugging 프로그램을 실행합니다. 원격 접속을 위한 설정도구(Tools) - 옵션(Option) 메뉴를..

[C++] std::shared_ptr

효율적인 메모리 관리를 위해 만들어진 객체입니다.참조 카운트 방식으로 메모리 해제를 결정합니다. (0이 되면 해제)기본 사용법#include #include int main() { std::shared_ptr ptr1 = std::make_shared(); std::cout  참조 카운트 움직임#include #include void RefCountTest(std::shared_ptr param) { std::cout localPtr = param; std::cout ptr1 = std::make_shared(); std::cout  소멸자 중복 호출에서 벗어나기#include #include class duplicationDestroy {public: dupl..

[visual studio] SSDT (SQL Server Data Tools)

개발자는 데이터베이스 개발에 익숙한 Visual Studio 도구를 사용할 수 있습니다. Transact-SQL 편집기에서는 C# 및 Visual Basic에 사용할 수 있는 기능과 유사한 코드 탐색, IntelliSense 및 언어 지원과 같은 도구, 플랫폼별 유효성 검사, 디버깅 및 선언적 편집 기능을 제공합니다. 또한 SSDT에서는 데이터베이스 프로젝트나 연결된 데이터베이스 인스턴스에서 테이블을 만들고 편집하는 데 사용할 수 있는 시각적 테이블 디자이너를 제공합니다. 팀 기반 환경에서 데이터베이스 프로젝트 작업을 수행하는 동안 모든 파일에 대해 버전 제어를 사용할 수 있습니다. 프로젝트를 게시할 때 SQL Database 및 SQL 서버를 포함하여 지원되는 모든 SQL 플랫폼에 게시할 수 있습니다...

[MFC] OnInitDialog 추가하기 (초기화를 위한 작업)

자동 추가하는 방법Dialog Box 클래스 추가 후 헤더 파일을 엽니다.Properties → OnInitDoalog 를 추가해주면 자동 삽입됩니다.※ 참고로 메뉴에서 View → Class View를 이용하는 방법도 있습니다. 수동 추가 하는 방법Dialog Box를 추가 후 클래스를 생성하게 됩니다. 그 생성된 헤더파일(.h)에 OnInitDialog() 함수를 생성해줍니다.OnInitDialog()함수는 기본적으로 CDialog 클래스에 virtual로 존재합니다.// .h 파일에 선언 추가.protected: virtual BOOL OnInitDialog();        //생성한 클래스 헤더파일에 추가한다.// .cpp 파일에 정의 추가.BOOL classCreateName::OnDialog..

[MFC] 콤보 박스 사용법 정리

visual studio 2005 IDE 기준으로 작성.  Combo Box 생성Dialog Editior에서 Combo Box를 드래그 생성합니다.아래 그림과 같이 화살표 버튼을 누르면, "리스트 표시 영역"의 사이즈를 조정할 수 있습니다.리스트 개수에 맞게 마우스를 드래그하여 늘리거나 줄여줍니다.콤보 박스 리스트 추가 및 표현(출력) 방법콤보 박스에 마우스를 올려 놓고 오른쪽 버튼 클릭 [Add Variable...] 선택!아래와 같이 화면이 나오면 control을 생성합니다.OnInitDialog() 함수에 초기화 하는 내용을 추가합니다.m_comboServerList.AddString(_T("1 channel")); //텍스트 추가          m_comboServerList.AddStrin..

[C++] 32bit 자료형, 64bit 자료형 크기 정리

자료형32bit OS64bit OSint4 Byte (32 bit)4 Byteshort2 Byte (16 bit)2 Byte long4 Byte 8 Byte (64 bit)longlong8 Byte (64 bit)8 Bytepointer(*)4 Byte 8 Byte long double12 Byte (96 bit)16 Byte (128 bit)size_t, ssize_t4 Byte 8 Byte   자료형 사이즈 출력해보기#include #include #include int main(void){ printf("### 1 Byte = 8 bit ###\n"); printf("int : %d byte\n",sizeof(int)); printf("unsigned int : %d byte\n",..