C++ Emplace / emplace_back()
·
C++
Emplace 메서드 정의컨테이너에 키가있는 요소가 없는 경우 지정된 인수로 구성된 컨테이너에 새 요소를 삽입한다.emplace를 주의해서 사용하면 불필요한 복사 또는 이동 작업을 피하면서 새로운 요소를 구성할 수 있다.반복자 및 참조자가 무효화되지 않는다.여기서 말하는 첫 번째, "컨테이너에 키가 있는 요소가 없는 경우"는 map과 같이 중복되는 원소(키 값)를 허용하지 않는 컨테이너에 한정되는 듯하다. 추가로 emplace는 영어로 "배치하다"라는 뜻으로 새로 삽입한다고 생각하면 편하다. 두 번째, "불필요한 복사 또는 이동 작업을 피하면서 새로운 요소를 구성할 수 있다" 이 부분이 가장 중요한데, 보통 2개 이상의 요소들을 묶어서 queue나 vector에 옮기기 전에pair나 tuple을 만들고,..
MFC 기초
·
C++
MFC 란?- Microsoft가 제공하는 C++ 라이브러리로, Windows API 호출을 쉽게 하기 위한 클래스를 제공- MFC는 Windows 메시지 기반 구조를 사용하며, 메시지를 처리하는 클래스를 제공 이번 프로젝트에서 MFC 어플리케이션 종류에 단일문서 / 여러문서/ 대화상자/ 여러최상위문서가 있는데 저희는 대화상자기반으로 프로젝트를 진행하기로 ** 대화상자 기반 MFC : 대화 상자는 기본적으로 팝업 창 형태로 제공되며, 사용자와 상호작용할 수 있는 컨트롤(버튼, 텍스트박스 등)이 포함된 창** CDialog 클래스를 기반으로 작성되며, 대화 상자가 프로그램의 중심 역할 [MFC 솔루션 탐색기]- 리소스 파일 : 애플리케이션의 UI 요소(대화 상자, 메뉴, 아이콘, 문자열, 비트맵 등)를 정..
Git 기초 사용법 1
·
개발TIP Program
Git 과 GitHub* Git프로그램이 아닌 버전관리 툴 (도구)Git은 데이터를 Change Set이나 변경사항(Diff)으로 기록하지 않고 일련의 스냅샷으로 기록한다.커밋하면 Git은 현 Staging Area에 있는 데이터의 스냅샷에 대한 포인터, 저자나 커밋 메시지 같은 메타데이터, 이전 커밋에 대한 포인터 등을 포함하는 커밋 개체(커밋 Object)를 저장한다. 이전 커밋 포인터가 있어서 현재 커밋이 무엇을 기준으로 바뀌었는지를 알 수 있다. 최초 커밋을 제외한 나머지 커밋은 이전 커밋 포인터가 적어도 하나씩 있고 브랜치를 합친 Merge 커밋 같은 경우에는 이전 커밋 포인터가 여러 개 있다. * Git HubGit에서 원격으로 Git Hub 저장소 만들어 저장하기 위한 수단 Git Commi..
C# - MVVM 패턴 ICommand
·
C#
변수와 프로퍼티 차이점 알아보기** 변수는 소문자 / 프로퍼티는 대문자로 시작 ^^1. 변수 변수는 데이터를 저장하기 위한 메모리 공간으로, 클래스나 메서드 내에서 값을 직접 저장하고 가져오는 데 사용됩니다.- 외부 접근 제어 및 로직 추가가 불가능합니다.- 외부 접근 제어 및 로직 추가가 불가능합니다.2. 프로퍼티- 필드에 대한 읽기/쓰기 접근을 캡슐화합니다.- 로직을 추가하여 데이터 접근을 제어할 수 있습니다.- get : 값을 반환 - set : 값을 설정대리자 생성 Action , Function(Func) 으로 대리자를 선언하는데반환값이 없으면 Action 반환값이 있으면 Func 사용 ** Action - 최대 16개의 매개젼수를 받을 수 있다.  ICommand   - 인터페이스 ** ICo..
MVVM 패턴 - Accuweather API 기반 날씨 검색 APP
·
C#
MVVM 정의Model (모델) : 데이터를 포함하는 데이터 구조 - 데이터 저장소와 직접적으로 연계되는 구조- API 호출이 이뤄지는 부분- DB 접근, 데이터와 관련된 연산  View (뷰) : 사용자에게 데이터를 표시하고 상호작용하는 UI- 일반적으로 컨트롤러로 구성- XAML에서 객체로 사용되는 부분 ViewModel (뷰 모델) : 모델에 값을 할당 하고 뷰와 상호작용 할 때 모델을 업데이트하는 역할 - 뷰모델 과 뷰는 데이터 바인딩 기능으로 연결 - 모델에서 선언한 클래스 객체 생성 - 객체가 생성 후 프로퍼티 값 할당- 외부API, DB등에서 각 프로퍼티로 업데이트 되었을 때 값이 할당되는 동작 구현  ** API Json 파일 C#클래스 모델로 변환 https://jsonutils.com/..