728x90
인기글
[windbg] windbg 사용하기, 덤프 분석하기
[windbg] windbg 사용하기, 덤프 분석하기
◽ 툴(tool)
2024.06.26 15:59
"[windbg] windbg 사용하기, 덤프 분석하기" 1. 덤프를 읽을 심볼과 심볼에 맞는 소스코드 경로를 연결시킨다.   2. 덤프를 windbg에 드래그 드롭 또는 open으로 파일을 열면 이런 화면을 볼수 있다.Loading Dump File : 덤프 파일의 위치, 덤프 종류 Executable search path is : 덤프가 발생한 OS Debug sesstion time : 덤프 발생 시점 시간 Process Uptime: 부팅 이후 동작한 시간   3. !analyze -v 명령어 실행 !analyze-v 명령어를 실행하면 더욱 자세하게 덤프 내용이 나온다.FAULTING_IP: 어떤 부분에서 문제가 일어났는지 표시한다. callstack의 마지막 부분이다. KERNRLBASE.ddl..
실무 면접 대비  1번째 C / C++ (게임 클라이언트 프로그래머 기준)
실무 면접 대비 1번째 C / C++ (게임 클라이언트 프로그래머 기준)
◽ 게임회사
2021.02.22 00:37
게임 클라이언트 프로그래머가 준비해야 할 실무면접 리스트입니다. 취준 할 때 만들었던건데 공유하려고 올립니다.  준비해야 될 영역을 간략하게 비중과 함께 이야기하면, 1. C / C++ (40% ~ 60%)2. 그래픽스 개념 (20%)3. 운영체제 (10%~20%)4. 데이터베이스 (10%)5. 알고리즘, 자료구조 (20%~30%) : 실무면접 기준입니다. 알고리즘과 자료구조는 코딩테스트는 당연히 100%이고필기 테스트라면 50%라고 생각하시면 될거 같습니다. 대답하는 형식으로 준비했으니 고려해주세요.첫번째 C++기초 프로그래밍 기초 예상 질문1. C++의 특징을 말해주세요.C++언어는 객체지향언어로 4가지의 특징이 있습니다.첫번째 다형성입니다. 하나의 객체가 여러 가지 타입을 가질수 있는 것을 의미합니..
1분 자기소개 (실제로 면접 때 했던...)
1분 자기소개 (실제로 면접 때 했던...)
◽ 게임회사
2021.02.22 00:56
1분 자기소개가 얼마나 중요하신지 다들 알거라고 생각합니다. 면접관님이 노트북에 적힌 자기소개서를 보면서 듣다가 얼굴을 쳐다 보느냐 안보느냐가 큰 싸인인거 같습니다. 가장 중요한 것은 중복된 말을 하지않고 간결하며 자기가 이 업무를 위해 남긴 작은 업적을 나열하는 것이 제일 좋지 않을까 생각합니다. 그리고 큰 소리로 면접관님을 쳐다보고 ... 당돌하게 !!저는 실제로 사용했던 1분 자기소개를 공개하려고 합니다. 이건 참고만 해주세요!!안녕하세요. 클라이언트 직무에 지원한 XXX입니다. 저는 게임 프로그래밍에 관심이 생겨 디자인학과에서 게임공학으로 편입 후 게임을 제작한 경험이 총 4번 있습니다. 이 중 마지막 게임은 학교의 산업대전에서 우수작으로 선정됨으로서 완성도를 확인한 작품이기도 합니다. 3년간 게..
[일상/사진] 수원 화성 유기견 보호소 봉사활동 후기
[일상/사진] 수원 화성 유기견 보호소 봉사활동 후기
◽ 일상&사진
2025.01.28 19:15
경기도 수원 화성시에 있는 유기견 보호소 봉사활동을 다녀왔다. 너무 오랜만에 간 봉사활동…. 다시 종종 다녀야겠다.봉사활동 중 유기견 봉사는 내가 아이들에게 도움을 주고, 나도 아이들에게 마음의 위로를 받는 활동이여서 좋아한다.여기는 강아지 약 90마리, 고양이 약 30마리 정도가 있었다. 이번에 또 2마리를 누군가 보호소에 두고 갔다고 한다. 한 아이의 삶을 책임지지 못할 거면 시작조차 하면 안된다. 에휴 .. 1. 아이들 밥그릇 물그릇 설거지 후 다시 배치 밥그릇 물그릇마다 이름표가 있어서 이름 찾아서 다시 배치해주고 밥과 물을 채워주면 끝청소하는 동안에는 애들 마당에서 놀도록 모두 풀어줬다. 2. 뒷견사, 앞견사 청소 담당이 아니였다. 설거지 하는동안 마당에 멍멍이 풀어두고 청소하는..
게임 회사 용어 정리 (아마 계속 업데이트 될거임.)
게임 회사 용어 정리 (아마 계속 업데이트 될거임.)
◽ 게임회사
2024.07.11 17:18
1. IBT (Interal Beta Test)- 임직원들을 대상으로 사내 테스트 2. CDN (Content Delivery Network)- 지리적으로 분산된 서버들을 연결한 네트워크 - 전 세계 CDN 서버의 분산 특성은 서버에서 캐시된 콘텐츠를 사용자에게 더 가깝게 제공함으로써 성능을 향상시킨다.(출처: 베타 플러스) 3. Launcher (런쳐) - 게임을 실행하는 실행파일을 말한다. exe- 바이너리라고 칭하기도 함.  4. OTP (One Time Password)  5. Mac Address (media access control address)- 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유식별자. (출처: 위키백과)🎞 상황극??? : 맥...?..
클라이언트 프로그래머 동영상 포트폴리오
클라이언트 프로그래머 동영상 포트폴리오
◽ 게임회사
2022.12.13 14:21
신입으로 취준 할 때 사용한 동영상 포트폴리오 (아직도 신입이지만.^^) 입니다. 쉐이딩 작업 보여줘야 해서 고화질로 올리려고 했는데 용량이 커서 안 올라가네요. 어쩔 수 없이 저화질로 올립니다.이 포트폴리오로 대부분의 회사 서류는 통과했었습니다. (한 곳 빼고 ㅠㅠ)제 블로그 포스팅 최고 조회가 면접 준비 관련 포스팅입니다.연관 검색도 포트폴리오, 면접, 취업 등등이었습니다.조금이나마 도움되고 싶어서 참고용으로 올립니다.참고용으로 올리는 거고 재사용을 할 생각이라서 절대 재배포 하지 말아주세요. 끝!
(VCS) svn 사용 방법 익히기!
(VCS) svn 사용 방법 익히기!
◽ 툴(tool)
2022.12.31 23:01
SVN의 용어 정리 1. 저장소(Repository) : 모든 프로젝트의 프로그램 소스들은 이 저장소 안에 저장이 된다. 코드뿐만이 아니라 코드의 변경 사항도 모두 저장됩니다. 네트워크를 통해서 여러 사람이 접근 할 수 있다. 2. 트렁크(Truck) : 가장 중심이 되는 메인 저장소(메인 코드라인). 브랜치도 트렁크에서 부터 시작이 된다. 3. 브랜치(Branch) : 나무 가지라는 뜻으로, 트렁크에서 따로 분류에서 개발을 해야할때나 한 부분을 공동 작업을 할 때 역할 분담을 하기 위해 나눌때 사용한다. 이 나눠져 있는 나무 가지는 트렁크로 merge한다. 4. 태그(Tag, 라벨) : 꼬리표라는 뜻으로, 프로그래을 개발하면서 정기적으로 릴리즈할때 라벨링을 한다. 로그랑 다름. Update 현재 설정된..
실무 면접 대비 3번째 운영체제, 그래픽스 기초 (게임 클라이언트 프로그래머 기준)
실무 면접 대비 3번째 운영체제, 그래픽스 기초 (게임 클라이언트 프로그래머 기준)
◽ 게임회사
2021.02.22 00:45
운영체제 기초1. 변수들이 메모리에 저장되는 영역에 대해서 설명해보아라.메모리 영역은 code bata heap stack으로 이루어져 있습니다. 이 순서대로 낮은 주소에서 높은 주소로 메모리를 저장합니다. stack영역 빼고 모두 런타임에서 크기가 결정되며 stack영역은 컴파일 타임에 크가가 결정됩니다.code영역은 실행될 명령어가 들어가는 구역입니다. 저희가 작성한 소스 코드가 들어가고 상수또한 이곳에 들어갑니다. 물론 컴파일 된 기계어가 들어갈 것이며 프로그램이 끝날 때까지 메모리에 계속 적재되어 있습니다. bata영역은 전역변수 또는 static등이 지정되는 구역입니다. 이 또한 프로그램이 끝날 때까지 메모리에 계속 적재 됩니다. heap영역은 malloc이나 new로 동적 할당 받은 메모리가 ..
[일상] 부모님을 존경하는 이유.
[일상] 부모님을 존경하는 이유.
◽ 일상&사진
2024.11.28 19:01
며칠 전 아빠랑 영상통화를 했다. 그냥 자주 하지 않는 영상통화여서 그런지 모르겠지만 화면 속에 비친 밝은 미소의 아빠 얼굴을 보면서 통화를 하고 나서 많은 생각이 들었다. 그걸 기록하고 기억하고 싶어서 끄적여본다. 현재 우리 아빠는 기숙사 생활을 하신다. 60세가 넘으셨지만, 아직도 일을 하고 계시고 그것도 공장에서 일을 하신다. 30년 넘게 한 업종에서 계속해서 일을 하신다. 허리 디스크도 있으시고 무릎도 좋지 않은데 가정을 위해 조금이나마 벌이가 괜찮은 곳에서 하시겠다고 꾸준히 하시고 계신다. 오늘 한 번 내가 아빠를 존경하고 사랑하는 이유에 대해서 적어보려고 한다.  첫 번째, 불평이 없으시다. 이건 우리 아빠만 해당하는 게 아닌 우리 부모님의 특징이다.  뭐…. 내가 [그것이 알고 싶다.], [..
실무 면접 대비 2번째 알고리즘, STL, 자료구조 (게임 클라이언트 프로그래머 기준)
실무 면접 대비 2번째 알고리즘, STL, 자료구조 (게임 클라이언트 프로그래머 기준)
◽ 게임회사
2021.02.22 00:43
0. STL이란 뭔가요? Standard Template Library로 C++의 템플릿을 사용하여 표준으로 정리된 라이브러리입니다. 반복자/컨테이너/알고리즘/함수 객체등의 라이브러리로 구성됩니다. 1. 시퀀스 컨테이너, 연관 컨테이너, 어뎁터 컨테이너에 대해서 설명해주세요. (자료의 구조로 구분을 하면…)시퀀스 컨테이너는 자료를 입력한 순서대로 저장하기 때문에 저장 검색 알고리즘이라고 불립니다. 많지 않은 양의 자료/검색속도가 중요하지 않은 경우에 사용되며 vector, list, string, dequue등이 이에 해당합니다. 연관 컨테이너는 일정한 규칙에 따라 자료를 조직화하여 저장하는 것을 말합니다. 자료를 정렬하여 저장하기 때문에 검색에 유리하고 많은 양의 자료/빠른 검색이 중요할 때 사용합니다..
최신글
Windows 응용 프로그램
◽ 컴퓨터 공학2025.02.05 14:37Windows 응용 프로그램

WindowsWindows라는 제품명과 같이 Windows용 응용 프로그램을 프로그래밍할 때 주된 주제 하나는 '창(Window)'을 만들고 관리하는 것이다. windows 응용 프로그램의 여러 구성요소, [주 창, 도구 모음, 메뉴, 스크롤바, 버튼, 기타 대화상자 컨트롤]은 모두 창이다. 따라서 windows 응용 프로그램은 일반적으로 다수의 창으로 구성된다.    1. 자원 Windows에서는 여러 개의 응용 프로그램이 동시에 실행될 수 있다. 따라서 CPU나 메모리, 모니터 화면 같은 하드웨어 자원들을 여러 응용 프로그램이 공유해야 한다. 그렇게 되면 여러 응용 프로그램이 자원(Resource)에 무질서하게 접근하게 된다. 이를 막기 위해 windows는 응용 프로그램이 하드웨어에 직접 접근을 못..

[일상/사진] 수원 화성 유기견 보호소 봉사활동 후기
◽ 일상&사진2025.01.28 19:15[일상/사진] 수원 화성 유기견 보호소 봉사활동 후기

경기도 수원 화성시에 있는 유기견 보호소 봉사활동을 다녀왔다. 너무 오랜만에 간 봉사활동…. 다시 종종 다녀야겠다.봉사활동 중 유기견 봉사는 내가 아이들에게 도움을 주고, 나도 아이들에게 마음의 위로를 받는 활동이여서 좋아한다.여기는 강아지 약 90마리, 고양이 약 30마리 정도가 있었다. 이번에 또 2마리를 누군가 보호소에 두고 갔다고 한다. 한 아이의 삶을 책임지지 못할 거면 시작조차 하면 안된다. 에휴 .. 1. 아이들 밥그릇 물그릇 설거지 후 다시 배치 밥그릇 물그릇마다 이름표가 있어서 이름 찾아서 다시 배치해주고 밥과 물을 채워주면 끝청소하는 동안에는 애들 마당에서 놀도록 모두 풀어줬다. 2. 뒷견사, 앞견사 청소 담당이 아니였다. 설거지 하는동안 마당에 멍멍이 풀어두고 청소하는..

[DirectX12] 섀도우 매핑 (shadow mapping), 섀도우 알고리즘 상세 정리
◽ directX122024.12.18 17:40[DirectX12] 섀도우 매핑 (shadow mapping), 섀도우 알고리즘 상세 정리

1. 장면 깊이 렌더링 광원의 시점에서 본 장면의 깊이를 렌더링하는 과정이 있다. 이는 텍스처 대상 렌더링 ( render - to - texture )의 일종이며, 광원의 시점에서 본 장면의 깊이 값들을 깊이 버퍼에 기록하는 것을 뜻한다. 그림자 매핑 알고리즘에는 두 번의 렌더링 패스가 필요하다. 광원의 시점에서 본 장면 깊이를 그림자 맵에 렌더링플레이어 카메라에서 본 장면을 후면 버퍼에 렌더링  2. 직교 투영/정사영 (Orthographic_Projection)그림자 매핑에서 평행 광이 만들어 내는 그림자를 본뜰때 직교 투영이 필요하다.  (2.1). 직교 투영 행렬 구하기 (orthogonal_projection_matrix) 벡터를 특정 벡터 공간 또는 부분 공간에 직교적으로 투영할 떄 사용하는..

[일상] 부모님을 존경하는 이유.
◽ 일상&사진2024.11.28 19:01[일상] 부모님을 존경하는 이유.

며칠 전 아빠랑 영상통화를 했다. 그냥 자주 하지 않는 영상통화여서 그런지 모르겠지만 화면 속에 비친 밝은 미소의 아빠 얼굴을 보면서 통화를 하고 나서 많은 생각이 들었다. 그걸 기록하고 기억하고 싶어서 끄적여본다. 현재 우리 아빠는 기숙사 생활을 하신다. 60세가 넘으셨지만, 아직도 일을 하고 계시고 그것도 공장에서 일을 하신다. 30년 넘게 한 업종에서 계속해서 일을 하신다. 허리 디스크도 있으시고 무릎도 좋지 않은데 가정을 위해 조금이나마 벌이가 괜찮은 곳에서 하시겠다고 꾸준히 하시고 계신다. 오늘 한 번 내가 아빠를 존경하고 사랑하는 이유에 대해서 적어보려고 한다.  첫 번째, 불평이 없으시다. 이건 우리 아빠만 해당하는 게 아닌 우리 부모님의 특징이다.  뭐…. 내가 [그것이 알고 싶다.], [..

[DirectX12] 큐브맵 만들기 / StructuredBuffer
◽ directX122024.11.26 23:05[DirectX12] 큐브맵 만들기 / StructuredBuffer

휴 ,,, 드디어 성공했다..큐브맵 자체를 만드는 건 어렵지 않다.하지만 이전 프로젝트와 큐브맵 프로젝트에서 달라지는 것이 많았다.매 장 새로운 걸 받아들이는 부분에서 제공해 주는 코드와 비교해 보면 달라지는 부분이 많다directX12 문법을 이해하고 연관성을 알아야만 큐브맵을 완성할 수 있었다.   1. 큐브맵 cubeMap / 입방체 매핑큐브맵의 텍스처는 단지 텍스처 여섯 장을 담은 배열이다. 2. 큐브맵 적용하기 🔸1) RootSignature  Texture Cube를 쉐이더와 연결하기 위해 table을 만들어준다.여기서 빨간색으로 표시한 RootParameterIndex(3)을 Texture Cube로 만들 거고 Init 매개변수 3번째 인자 0이므로 shader에서 t0으로 사용된다.  ?..

[DirectX12] 스텐실(stencil) 거울 만들기
◽ directX122024.11.07 12:00[DirectX12] 스텐실(stencil) 거울 만들기

1. 스텐실 버퍼 Stencil Buffer🔸 특징스텐실 버퍼는 후면 버퍼 및 깊이 버퍼와 해상도가 같다.스텐실 버퍼를 지정하면 그 스텐실 버퍼는 깊이 버퍼에 부착된다.픽셀 단편들이 후면 버퍼에 기록되지 못하게 하는 역할을 한다.CD3DX12_DEPTH_STENCIL_DESC구조체 채우고, D3D12_GRAPHICS_PIPELINE_STATE_DESC 설정한다.   2. 스텐실 판정 스텐실 버퍼를 이용하면 장면이 후면 버퍼의 특정 영역에만 렌더링되지 않게 만들수 있다. 스텐실을 적용하는 경우, 주어진 한 픽셀이 후면 버퍼에 기록되는지 아닌지는 스텐실 판정의 결과에 따라 결정된다. 스텐실 판정은 픽셀이 래스터화되는 과정에서, 즉 출력 병합기 단계에서 일어난다. 픽셀을 허용 : 후면 버퍼에 그리겠다. 픽셀..

(백준/c++) 1987 - 알파벳/ DFS, 백트래킹
◽ 백준2024.08.27 12:36(백준/c++) 1987 - 알파벳/ DFS, 백트래킹

" (백준/c++) 1987 - 알파벳/ DFS, 백트래킹"https://www.acmicpc.net/problem/1987🏆 solved.ac 난이도: 골드4 BFS로 풀었다가 ~ DFS와 Set을 함께해서 풀었다가 시간초과로 막혀서 Set을 없애고 문제를 풀었다.. 🔸 BFS로 풀었을 때 나왔던 이슈 - BFS는 넓이 우선으로 빨간색으로 체크한 부분이 이전 파란색 Que에 [F]가 담겨  파란색[E] 주변 노란색[H] [F]을 담으려 할 때 [F]가 빠지게 된다.   🔸 DFS + Set 풀이 Set으로 find해서 지나간 경로에 현재 알파벳이 포함되었는지 확인하려고했다.Set의 find 시간복잡도는 O(logN)배열은 바로 접근 가능하기 때문에 O(1)set alphabets;alphabets..

(백준/c++) 1238 - 파티 / 최단경로그래프, 플로이드 워샬
◽ 백준2024.08.22 17:12(백준/c++) 1238 - 파티 / 최단경로그래프, 플로이드 워샬

"(백준/c++) 1238 - 파티 / 최단경로그래프, 플로이드 워샬"https://www.acmicpc.net/problem/1238 🏆 solved.ac 난이도: 골드3 🔸 문제 핵심 단방향 도로갔다가 돌아오는 최단경로  🔹 주요 코드 부분파란줄: form ~ stopper 시작점부터 경유지까지 무한이면, 연결되어 있지 않는다는 뜻이기 때문에 무시해주자.노란줄: 시작점부터 도착점 > 시작점부터 경유지 + 경유지부터 도착점이 구조를 외우지 말고 완화(relax)를 이해하자. #include#include#includeusing namespace std;//vector> students[1'001]; int students[1'001][1'001];int result[1'001];int main(v..

[ Algorithm / 벨만 포드 알고리즘 ] + 백준 1865 웜홀 문제풀이
◽ 알고리즘2024.08.22 15:26[ Algorithm / 벨만 포드 알고리즘 ] + 백준 1865 웜홀 문제풀이

"벨만 포드(bellman-ford) 알고리즘 " 알고리즘 이름이 맘에 안든다. =3= 알고리즘이나 수학적 법칙을 보면 발견한 사람들의 이름으로 이름을 만든다. 직관적이지 않아서 계속 까먹게 된다. 직관적으로 이름을 지어줬으면 좋겠다. 예를 들어, "음수사이클 다익스트라" 이런식으로 ~  1. 최단 경로 트리 (shortest-path tree), 최적해 구조(optimal substructure 알고리즘이다. 답은 여러개가 존재 할 수 있으면 가중치가 있는 그래프로 최단 경로를 찾는다.  2. 음수 사이클의 유무를 확인할 수 있다. 다익스트라랑 다른 점!!으로 음수 사이클의 발생으로 최단 경로가 무한으로 빠지는 음수차이클을 찾는다.  3. 모든 음수 간선이 문제다 ? 아니다. (-) 마이너스 값이 있는..

(백준/c++) 10026 - 적록색약 / BFS, 그래프
◽ 백준2024.08.20 16:12(백준/c++) 10026 - 적록색약 / BFS, 그래프

"(백준/c++) 10026 - 적록색약 / BFS, 그래프"🏆 solved.ac 난이도: 골드5  #include#includeusing namespace std;char grid[101][101];bool visited[101][101] = {false,};bool visitesd[101][101] = { false, };int direction[4][2] = { {-1, 0} , {0, 1}, {1, 0}, {0 ,-1} };int mTC;int normalCount = 0;int blindnessCount = 0;queue> normalPerson; queue colorblindness;void normalFunc(int i, int j);void bilndnessFunc(int i, int j..

(백준/c++) 11403 - 경로찾기 / BFS, 그래프
◽ 백준2024.08.16 17:59(백준/c++) 11403 - 경로찾기 / BFS, 그래프

"(백준/c++) 11403 - 경로찾기 / BFS, 그래프"https://www.acmicpc.net/problem/11403  🏆 solved.ac 난이도: 실버1 오늘 쉬는 날이라 문제 푸는게 재미있다.Array 변수 이름은 Floyed이지만? 플로이드 와샬보다 BFS를 사용해서 푸는게 더 편할거 같아서 BFS로 풀었다. 다른 BFS와 다른 점은 모든 점에서 방문을 초기화 시켜줘야한다. ex ) 1 -> 5 -> 6 -> 7  이런 연결이 있을 때, 1을 5, 6, 7을 모두 방문 할 수 있다는 표시를 해줘야하고 그 다음 5번, 6번, 7번점도 이전에 방문 했더라도 연결되었는지 확인하기 위해 점 시작점에서 방문을 초기화 해야한다. #include#include#include#includeusing..

(백준/c++) 11724 - 연결 요소의 개수 / BFS, 그래프
◽ 백준2024.08.16 16:17(백준/c++) 11724 - 연결 요소의 개수 / BFS, 그래프

"(백준/c++) 11724 - 연결 요소의 개수 / BFS, 그래프"https://www.acmicpc.net/problem/11724🏆 solved.ac 난이도: 실버2 난이도는 쉬웠다. DFS, BFS 아무거나 골라서 풀수 있는 문제이다. 하지만~ 나는 5번 정도 틀렸다. 이유는 방향성이 없는 그래프인데 방향성이 있게 한 쪽만 입력해주고 있었다. ㅠㅠ 방향성이 없는 그래프라면 꼭 정점 양쪽을 비교할 수 있도록 해주자.  // 연결 요소의 개수 #include#include#includeusing namespace std; bool visit[1001] = { false, }; vector distributingLine[1001]; queue que;int main(void){ int N, M; ..

728x90
image