전체 글 77

[오류] Window API (PeekMessage) 쓰레드 관련 오류 해결

상황 설명 Main Thread 에서 Window를 초기화 한 후 쓰레드를 하나 생성해 해당 쓰레드에서 Window 로직을 실행시키려는 상황이다. 하지만 윈도우 창은 반응하지 않았다.. 아래 Server UI 초기화를 Main Thread 에서 진행한 후 아래와 같이 Thread 를 하나 생성해서 ServerUI를 동작하게 구현했다. 그러나 이런식으로 구현했을 때 응답없음이 떴었고 PeekMessage 에는 아예 메시지가 들어오지 않았다. 즉, 아예 응답을 받지 못하고 있는 상황인 것이다. else 부분에 렌더링 하는 부분만 계속 돌아가고 PeekMessage는 전혀 반응하지 않았다... 하지만! 이렇게 Main Thread 에서 Server UI 로직을 실행시켰을 때는 잘 돌아갔다..! 여기서 또 한번..

졸업작품 2024.01.16

Remote Repository

git Remote Repository 게임 중에 싱크가 맞아야 하는 것 git init --bare origin 은 주소를 가리킨다 . 클론이 되는 순간 중간 브랜치를 생성하고 그걸 가져와서 먼저 업데이트한다? origin/master 은 master 와 싱크를 맞추기 위해 생성된 브랜치이다. master 브랜치는 origin/master 를 통해서 Remote Repository 와 통신한다. Remote Repository 에서 푸쉬나 풀 한것들은 여러 로컬에서 코밋이 다 같다. git fetch origin -> origin/master 를 최신정보로 업데이트를 해라 라는 명령어이다 . master말고 origin/master 만 건들인다. origin/master는 새로운 정보로 엎어쳐지기만 한..

Git 2023.12.05

특정 버전으로 가기

특정 버전은 곧 코밋 아이디이다 . Reset - Head 를 특정 Commit ID 로 옮기는 것이다. --soft HEAD 가 가리키는 스냅샷이 변경된다. --mixed HEAD 가 가리키는 스냅샷이 변경된다. 스테이지 영역이 HEAD 가 가리키는 스냅샷과 동일하게 변경된다. --hard CheckOut 은 작업하는 Branch 까지 바뀐다. branch 로 HEAD 가 이동한다. branch 에 영향을 미친다. Revert - 특정 Commit 을 취소하는 Commit ID 를 만들고 HEAD 를 해당 위치로 옮기는 것 CheckOut - 특정 Branch 의 마지막 Commit ID 로 HEAD 를 옮기는 것 HEAD 가 변경되었음에도 스테이지 영역과 워킹 디렉토리의 변경 내용은 바뀌지 않았다. ..

Git 2023.12.05

정규화

1. 좋은 관계형 데이터 모델이란? 1-1. 관계형 데이터 모델 설계는 무엇인가? 릴레이션을 만들고 릴레이션을 구성하는 애트리뷰트를 만들었다. 그룹을 잘 만들었다는 것은 - 그룹화를 잘 못하면 무슨일 이 일어나나? 중복이 발생할 수 있다. - 그룹화를 잘하면 NULL 을 없앨 수 있을까? 분해는 스키마와 그 안에 있는 튜플들도 원래 데이터와 동일하게 복구가 가능해야 분해할 수 있다. ( 무손실 분해 ) 2. 함수적 종속성 Tip. 두 개의 데이터가 서로 연관성이 있다는 것을 어떻게 표현할까? 3. 정규형

데이터 베이스 2023.12.05

git 브랜치

1. 브랜치 1-1. 브랜치 병합 1-2. 브랜치 삭제 git branch -d [BranchName] git branch -D [BranchName] 브랜치를 강제 삭제한다. test 브랜치를 삭제한 상태에서 삭제된 브랜치로 체크아웃을 한다면? 체크아웃이 된다. 하지만 어떠한 브랜치에도 속해있지 않으며 대신에 HEAD 는 15e2fa4 를 가리키고 있다. 한마디로 이렇게 해서는 안된다.! 아래는 HEAD 가 Detached HEAD 형태이다. 아래 git branch 15e2fa4 는 '해당하는 commit 아이디( 15e2fa4 )에 새로운 브랜치를 만들어라 라는 명령어'이다. 이렇게 하면 절대 안된다!!! HEAD 에 상관없는 commit 을 가리키는 것이다. 그냥 체크아웃은 가능하다는 것만 알아두..

Git 2023.11.28

Git - Branch

1. 브랜치 1-1. 브랜치 병합 1-2. 브랜치 삭제 git branch -d [BranchName] git branch -D [BranchName] 브랜치를 강제 삭제한다. test 브랜치를 삭제한 상태에서 삭제된 브랜치로 체크아웃을 한다면? 체크아웃이 된다. 하지만 어떠한 브랜치에도 속해있지 않으며 대신에 HEAD 는 15e2fa4 를 가리키고 있다. 한마디로 이렇게 해서는 안된다.! 아래는 HEAD 가 Detached HEAD 형태이다. 아래 git branch 15e2fa4 는 '해당하는 commit 아이디( 15e2fa4 )에 새로운 브랜치를 만들어라 라는 명령어'이다. 이렇게 하면 절대 안된다!!! HEAD 에 상관없는 commit 을 가리키는 것이다. 그냥 체크아웃은 가능하다는 것만 알아두..

Git 2023.11.27

SQL

널값 널은 해당 데이터 값을 모르는 경우 삽입한다. 값이 없다 해당사항이 없다. 널은 값이 아니고 일종의 특수 문자이다. IS NULL : NULL 이 있으면 그것을 출력하라 그룹화 그룹화 애트리뷰트 조인에서 기말고사 문제 많이 낼것이다. 조인은 셀렉션 조건, 조인 조건 -> 모두 AND로 연결해서 WHERE 절에 떄려 넣는다. 두개의 릴레이션을 조인 할 때 조인애트리뷰트가 필요한데 이 조인 애트리뷰트가 없는 경우 남성 여성 릴레이션을 조인할 때 어떻게 할 것인가? 중간에 다른 릴레이션이 들어가서 [][][][]. [][][][]

데이터 베이스 2023.11.27

관계형 데이터 모델

1. 관계 데이터 모델의 개념 관계형 데이터 모델은 표로 데이터를 나타내는 것이다. 표를 영어로 바꾸면 Table 인데, 관계형 모델에서 테이블을 관리한다고 한다. 실제로 SQL 에서는 Table을 관리한다고 한다. Relation 이라고도 한다. Table = Relation relation : 튜플의 집합 파일 레코드 필드로 파일시스템과 비슷하다. 파일은 여러 레코드가 순차적으로 저장된 구조이다. 그렇기 떄문에 파일을 얘기할 떄 정렬이 되어있느냐가 중요했다. 다른점을 알기 위해서 수학을 공부해야한다 . 레코드를 튜플이라고 한다. 2. 관계 모델 제약조건과 관계형 데이터 베이스 스키마 1. 도메인 제약조건 1-1. 애트리뷰트 A 의 값은 반드시 A의 도메인 dom(A)에 속하는 원자값이어야 한다. 1-..

데이터 베이스 2023.11.02

Git Branch

중복되는 데이터를 최소화한다. 포인터 만으로 저장했던 내용을 구축한다. 깃 브랜치 - 해쉬 코드 형태의 아이디 - 모든 VCS 는 브랜치를 지원한다. - 원래 코드를 유지하면서 독립적으로 개발 진행 시 필요하다. -> 원래 코드에 영향을 주지 않으면서 독자 개발 가능 - 브랜치는 작업하고 있는 다른 브랜치에 전혀 영향을 주지 않으면서 독립적으로 개발 할 수 있다. - 테스트 용도로도 쓸 수 있다. - - 트리형식으로 재활용하는 것이 많아서 중복을 방지한다. 따라서 버젼이 많아도 데이터 저장량이 그렇게 많이 늘지 않는다. Commit ID 커밋 당시 워킹 디렉토리를 복구할 수 있다. 하나의 사진: 스냅샷 , 버젼 하나의 코밋을 의미한다. 코밋은 해당되는 버젼의 모든 내용을 의미한다. 코밋이 일어날때마다 가..

Git 2023.11.02

Git Branch

중복되는 데이터를 최소화한다. 포인터 만으로 저장했던 내용을 구축한다. 깃 브랜치 - 해쉬 코드 형태의 아이디 - 모든 VCS 는 브랜치를 지원한다. - 원래 코드를 유지하면서 독립적으로 개발 진행 시 필요하다. -> 원래 코드에 영향을 주지 않으면서 독자 개발 가능 - 브랜치는 작업하고 있는 다른 브랜치에 전혀 영향을 주지 않으면서 독립적으로 개발 할 수 있다. - 테스트 용도로도 쓸 수 있다. - - 트리형식으로 재활용하는 것이 많아서 중복을 방지한다. 따라서 버젼이 많아도 데이터 저장량이 그렇게 많이 늘지 않는다. Commit ID 커밋 당시 워킹 디렉토리를 복구할 수 있다. 하나의 사진: 스냅샷 , 버젼 하나의 코밋을 의미한다. 코밋은 해당되는 버젼의 모든 내용을 의미한다. 코밋이 일어날때마다 가..

Git 2023.10.31