반응형 전체 글76 [도서 / Book] 또 다른 제 2의 세상 - 「 넥스트 레벨 ② 메타버스 」 도서 기록 | 02 「 넥스트 레벨 ② 메타버스 」 저자 : 원종우 , 최향숙 지음 출판 : 한솔수북 코로나 19 이후 우리의 주변 모습은 많이 변했습니다. 비대면 활동이 많아지면서 여러모로 핫한 주제가 하나 떠올랐죠? 바로 "메타버스" 입니다. 여러분은 메타버스에 대해 어느 정도 아시나요? 아무래도 저는 게임 쪽이 전공이다 보니 주변에서 관련 이야기들이 많이 들려오니 꽤 안다고 생각하는 편이었습니다. 역시 자만하면 안된다는 이유가 있죠. 이 책을 보니까 메타버스에 대해 얄팍한 지식 만을 가지고 있었구나 싶었습니다. 왜 이런 생각을 하게 되었는지 본격적으로 책에 대한 내용과 함께 설명해 드리겠습니다. ✨ [ 전체적인 목차와 구성에 대하여 ] 책 이름에 대해서 넥스트 레벨은 무슨 의미일지 궁금증이 있었는데.. 2024. 4. 18. [✨일돌일] 4월 2주차 저번 일주일은 어떻게 보냈는가? 월급 주였기에 음식을 야무지게 먹었다 진짜 야무지게.. 돌아오는 주에는 다시 거지 메타로 가야 할 듯 먹는 게 행복할 나이, 23세 맞나? 23살이나 먹었으면 이제 그만 먹어도 될 것 같은 뭐가 이리 먹고 싶은 게 많은지.. 학교 근처 길을 걸어 가는데 핀 꽃이 너무 이쁘지 않은가 심지어 은은하게 퍼지는 냄새도 좋길래 식물 전문가 엄마한테 연락해보았다 싸리꽃? 우리가 아는 조팝나무 중 하나라고 한다 왜 4년 동안 다니던 길인데 처음 보는 꽃 같지 남자친구가 밥 먹다가 이런 짤을 발견했다 붕당 짤은 어떤 것이든 항상 재밌는 것 같다 ㅋㅋㅋㅋ볼 때 마다 웃음벨 들여쓰기는 탭이 국룰이 아닌가 😳 애들 C++ 멘토링 목요일마다 하는데 이번 주 수업이 지금까지 했던 수업 중에 가장.. 2024. 4. 15. [도서 / Book] A부터 Z까지 다 담았다! - 「 Do it! C++ 완전 정복 」 도서 기록 | 01 「 Do it! C++ 완전 정복 」 저자 : 조규남 , 문종채 지음 출판 : 이지스퍼블리싱 요즘 많은 학과에서 C++을 배울 것이라 생각되는데요. 제가 재학 중인 게임공학과는 4년 내내 C++을 사용하는 학과인 만큼 그냥 단순히 하는 수준이 아닌, 잘해야 한다는 압박이 있습니다. 😵 이번 학기에 C++ 멘토를 맡게 되면서 도움이 될 만한 C++ 책을 여러 찾아보았습니다 한 3권은 본 것 같아요 ㅎㅎ.. 그러던 중에 이지스퍼블리싱에서 새 책이 나온다고 해 서평단을 신청했고 오늘은 이 책에 대해 다뤄보고자 합니다. [ 전체적인 목차와 구성에 대하여 ] 개발자 스티브 매코널 님이 하신 말과 함께 책이 시작되며, 책을 통해 배울 수 있는 개념이 16주 차로 나눠져 있습니다. 처음 공부하시거.. 2024. 4. 12. [멀티코어CPU] 09. 병렬 프로그래밍 & 하이젠 버그 - 원자적 연산 (atomic operation) : 원자 연산 → 더 이상 나눠지지 않는 연산 : DataRace 문제 발생할 수 있음 → 두 개 이상의 스레드가 공유 자원을 놓고 서로 경제적으로 값을 읽고 써서 발생함 : 원자 연산이 되도록 처리해주어야 함 뮤텍스(mutex) 세마포어(semaphore) 어떤 코드 영역이나 데이터의 배타적 접근 (상호배제)을 보장하는 객체 Critical section 또는 lock이라고도 부름 세마포어는 최대 n명이 공유 자원을 동시에 접근 가능하게 하고 나머지 객체는 한 번에 한 명만 공유 자원에 접근 가능함 조건 변수(conditional variable) 이벤트(event) 한 스레드가 어떤 조건이 만족되거나 신호가 올 때까지 잠자도록 함. 다른 스레드가 이 .. 2024. 4. 11. [멀티코어CPU] 08. 메모리 명령 실행 알고리즘 & 프리펫처 - 컴퓨터 성능을 좌우하는 2가지 요소 : 메모리 레이턴시 - 메모리에서 원하는 데이터를 갖고 오고 쓰는데 걸리는 시간 : 메모리 대역폭 - 단위 시간당 메모리에서 가져올 수 있는 데이터양 : 캐시를 중요하게 다루는 것도 메모리 레이턴시를 극복하기 위함이었음 : 메모리 연산(로드와 스토어) → 어떻게 비순차 프로세서에서 처리되는가? - 효율적인 메모리 연산 : 비순차 프로세서에서 명령어가 완료된다 → 반드시 자신이 비투기적인 상태임을 뜻함 (명령어가 확실히 판명난 분기문의 흐름에 있어야 함) : 그렇지 않다면 분기 예측 실패로 무효화 될 가능성 존재 → 최종적으로 메모리나 레지스터에 반영 X : 확실해지기 전까지 ROB 같은 곳에서 보류 됨 : 만약 의존성이 없다면, 이들은 비순차로 실행될 수 있음 : .. 2024. 4. 11. 05. 상속과 포함 - 상속과 포함 // - 상속 (is a kind of, is a) // 말그대로 부모 클래스의 모든 멤버를 물려 받은 것 + 새로운 멤버를 추가 가능 // 파생 클래스 // class 파생클래스 : public: 부모클래스 // 다중상속 존재 // : - 상속을 나타냄 // 포함 - 클래스 내부에 외부 클래스의 멤버가 있는 상황 (has a) class AAA{ public: int a=10; public: output(){ }; } class CCC{ public: int c=30; AAA p; public: output(){ cout 2024. 4. 11. [winAPI 04] Timer 저번 시간에 작성했던 프로그램을 토대로 게임을 만든다고 했을 때 두 가지 문제가 있을 수 있다 1. 컴퓨터가 느린 사람과 빠른 사람의 이동 속도가 달라질 수 있다. 즉 CPU의 속도에 따라 처리 속도가 달라져 1초 당 이동 거리 속도가 다른 문제가 발생한다. 2. 정수 단위로 이동하고 있어서 1초에 엄청나게 많은 거리를 이동하고 있다. 우선 실수 단위로 이동 시켜 보도록 하자 기존 Object class에서 POINT 객체로 되어 있던 것을 vec2 라는 객체로 만들겠다. 여기서 vec2는 우리가 아는 수학적 2차원 개념이다. // new header file : struct.h #pragma once struct Vec2 { float x; float y; Vec2() :x(0.f) ,y(0.f) {}.. 2024. 4. 9. [멀티코어CPU] 07. 분기문 & 가상함수 - 분기문(branch) : 프로그램 실행 흐름, PC(Program Counter) 값이 바뀔 수 있는 명령어 : 분기문이 아닐 경우 다음 값을 가르키지만, 분기문일 경우 계산 결과로 좌우됨 1) 조건/무조건 분기문 → for, while, do ... : 무조건 분기문 - goto, jump로 항상 해당 목적지로 분기 : 조건 분기문 - 특정 연산 결과가 어 떤 조건을 만족할 때 2) 직접/간접 분기문 : 직접 분기문 - 분기 목적지를 바로 얻을 수 있음 : 간접 분기문 - 분기 목적지가 메모리 어딘가에 존재해 메모리 참조가 필요함 → 콜백 함수 호출, 프로시저 리턴, 가상함수 호출, switch-case 점프 테이블 등 - 분기 예측 : 분기의 방향과 관련이 있음 : 컨트롤 해저드에 의한 파이프라인.. 2024. 4. 9. [멀티코어CPU] 06. 데이터 병렬성 & 캐시 정내훈 교수님이 추천한 책 「 프로그래머가 몰랐던 멀티코어 CPU 이야기」 - 김민장 지음 위의 책을 토대로 공부한 내용이 작성되었음 - 데이터 병렬성 : SIMD(Single Instruction Multiple Data) → 같은 명령어가 다른 데이터에 각각 적용됨 for (int i = 0; i C[3] // A[2] + B[2] -> C[2] // A[1] + B[1] -> C[1] // A[0] + B[0] -> C[0] : 벡터에 대한 산술 뿐만 아니라 비교, 변환, 셔플 등에도 제공됨 : 명령은 컴파일.. 2024. 4. 8. 이전 1 2 3 4 5 6 7 8 9 다음 728x90 반응형