본문 바로가기

Programing

(39)
Docker 이용한 개발 환경 구축(Mac Os, MySQL) Docker 를 이용한 개발 환경 구축 (Mac Os, My SQL)    1. Docker Desktop 설치https://www.docker.com/products/docker-desktop/ Docker Desktop: The #1 Containerization Tool for Developers | DockerDocker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.www.docker.com 1.1 위 링크를 타고 들어가서 각자 컴퓨터 사양에 맞는 버전을 다운로드 합니다 - 아래 Download ..
[Winform] C# Keydown Event 동작 안함 Issue(KeyPreview) C# Keydown Event 동작 안함 Issue에 대한 내용을 기록한다. Display 되는 글자를 입력하면 되는 게임을 만드는 과정에서 키 입력을 받기 위해 아래와 같이 Key Down 항목에 더블 클릭하여 Event Handler를 작성하였다.  하지만 다음과 같이 E 키를 눌러도 E 키가 먹히는 것이 아니라 다음과 같이 파란색 음영표시로만 나올 뿐 Key Down Event로 넘어가지를 않았다.   알고보니, Form에서 해당 키를 받기 위해서는 그림1과 같이 속성 창에서 KeyPreview 속성을 True로 설정해야 한다.   아래와 같이 Display 된 키를 제대로 입력 받아 Correct의 카운트가 올라간 것을 볼 수 있다.
[Git] not a git repository Error 해결 방법 Git을 설치하고 난 후 git이 제대로 동작해보려고 하니 이게 왠걸? 아래와 같은 Error 가 발생 했다. fatal: not a git repository (or any of the parent directories): .git   이 Error의 원인 부터 알아보자 fatal: not a git repository (or any of the parent directories): .git 에러가 발생하는 이유현재 폴더에 git에 대한 정보 담은 파일이 없기 때문에 발생하는 에러이다. git에 대한 정보를 담은 파일을 만들기 위해서는 git init 명령어만 작성해주면 된다.  Initialize가 되면서 아래와 같이 .git 폴더도 생신것이 확인 된다.     이제 다시 git status 명령어를..
[Git] Git Setup (Window) CMD에 git 관련 명령어를 입력했을때 아래와 같은 문구가 뜬다면 git이 설치가 되어 있지 않기 때문이다.  'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.    https://git-scm.com/download/win Git - Downloading PackageDownload for Windows Click here to download the latest (2.46.0) 32-bit version of Git for Windows. This is the most recent maintained build. It was released about 1 month ago, on 2024-07-29. Other Git for Windows download..
Github 연동 및 사용법 (Mac Os) 완벽 정리 (토큰 생성 포함) 처음에 공부를 시작했을 때는 버전 관리?에 굉장히 무지했었는데, 회사에서 작게나마 개발을 시작하면서 버전관리가 정말 중요하다는 것을 느꼈다.. 반도체 회사에서 무슨 개발인가? 할 수도 있지만, 요즘 추세가 추세이다 보니 부서 내부적으로도 프로그래밍쪽에 관심이 있는 사람들 대상으로 이런저런 교육을 수료 후 개발 프로젝트를 진행 하게 하였다. 나야 뭐 원래 개인적으로도 관심이 많았고 공부도 나름 열심히 해오던 터라 자신있게 손들고 지원했지만,, 이 업계(?)에 처음 들어서니 시작하자마자 걸림돌이 무수히 많았다.. 사설이 길어, 이만 줄이고... 버전 관리에 가장 좋은 방법인 Github에 연동하여 관리하는 방법에 대해서 정리해보고자 한다. 요약하면 다음과 같다. Summary 1. 깃 설치하기 2. 깃 허브..
[C++] Null Ptr (널포인터) 기본 다지기 오늘은 C++11 에서 부터 추가된 Null Ptr(널 포인터) 에 대해 살펴 보겠다. nullptr 먼저 아래의 코드를 보자 위의 2줄은 ok이지만, 마지막 2줄에서는 error가 발생 한다. 왜 일까? #include int main(int argc, const char * argv[]) { // insert code here... int n1 = 0; // 1. ok int* p1 = 0; // 2. ok int* p2 = 10; // 3. error int* p3 = n1; // 4. error } 먼저 int n1 = 0; 구문에서 이 '0'에 대해서 생각 해보자. 이 '0'은 바로 정수(int)형 literal 이다. 즉 포인터 변수 초기화에 사용이 될 수 있다. (포인터로 암시적 형 변환) ..
[C++] Const, Return, Rvalue - Reference 전 포스팅에 이어서 Reference의 활용으로 Const, Return, Rvalue에 대해서 알아보자. Const Reference 아래와 같은 예시가 있다고 생각해보자, #include struct Rect { int left; int top; int right; int bottom; }; void foo(Rect r) { } int main(int argc, const char * argv[]) { // insert code here... Rect rc = {1,1,5,5}; foo(rc); } 여기서 foo 함수에 Rect 타입 변수 rc를 전달하는데 "foo 함수 안에서는 rc의 상태는 변경되면 안된다." 라는 규칙이 적용이 되면 우리는 Call by value로 전달하면 된다. Call by..
[C++] Reference 오늘은 표준 입출력에 이어서 Reference에 대해 공부해보자. 레퍼런스 (Reference, 참조) 란? 이미 존재하는 변수(메모리)에 대한 추가적인 별칭(alias)를 부여 하는 문법 예시는 다음과 같다. #include int main(int argc, const char * argv[]) { // insert code here... int n = 10; int*p = &n; int&r = n; r = 20; std::cout