목록공부 (21)
보키_기록용
a * 2 == a 1 a % 2 == a & 1 항상 우측이 빠름. 함수로 만들기 보단 매크로로 짜면 더 빠름. (함수는 메모리 카피를 하기 때문) ex) #define DOUBLE(X) X > 1

1. 메모리 계층구조 (Memory Hierarchy) 위에서 부터 CPU에 가까움. CPU에 멀어질수록 속도가 느리고 용량이 커짐 메모리 계층구조를 나눈 이유 : 전체 메모리 시스템의 가격 최소화, 가능한 최고의 평균 접근 속도를 달성 Register가 제일 빠르지만 이걸 늘리기엔 돈이 매우 많이 듦.. 2. Cache가 생긴 이유 처음엔 캐시(Cache)가 없었고 CPU, RAM, HDD(하드디스크) 셋이서 데이터를 주고 받았는데, CPU가 버스에 데이터를 주고받는 속도와 Main Memory가 버스에 데이터를 주고받는 속도 차이가 너무 나서 CPU는 Main Memory의 반응을 기다리느라 성능이 뒤쳐지게됨. Cache는 Main Memory보다 속도가 빨라서 평균 접근 속도를 올릴 수 있었다. 3..

유스케이스 적기 유스케이스는 그리지않고 글로 적는다. 유스케이스는 다이어그램이 아니다. 유스케이스란 무엇인가 시스템의 동작 하나를 기술한 것 방금 시스템에 특정한 일을 시킨 사용자의 관점에서 적성하며, 사용자가 보낸 자극 '하나'에 대한 반응으로 시스템이 진행하는 '눈에 보이는' 이벤트들의 흐름을 포착한다. 사용자의 눈에 보이지 않는 동작을 전혀 기술하지 않고 시스템 안에 숨겨진 메커니즘도 다루지 않는다. 오직 사용자가 직접 볼 수 있는 것을 적어 놓을 뿐이다. 유스케이스를 구성하는 항목은 보통 두 개이다. 기본 흐름 (primary course) 사용자의 자극에 시스템이 어떻게 반응하는지 기술하는데 이때 아무것도 잘못되지 않는다고 가정한다. ex ) 판매 시점 관리(point of sale. POS) ..

기본 개념 표기 협력에 참여하는 객체와 클래스는 맨 위에 그린다. 객체는 이름 아래 밑줄이 있어서 클래스와 구분된다. Actor : 익명의 객체. 협력 과정에 들어오고 나가는 모든 메시지의 시작점이자 마지막점. 모든 시퀀스 다이어그램이 익명 액터를 갖지는 않지만, 가지는 경우가 많다. 인자(Argument) : 메세지 이름 뒤 괄호 안에 적거나, 데이터 토큰(반대쪽 끝에 원이 그려진 작은 화살표)아래에 적는다. 시간이 아래쪽으로 흐르니까 메세지는 아래쪽에 있을수록 나중에 보낸 것이다. 활성상자(Activation) : 꼭 그리지 않아도 되는 선택사항이다. 어떤 함수가 실행되는 시간을 나타낸다. 생성과 소멸 public class ShapeFactory { public Spape makeSquare() {..

SVN으로 언리얼 프로젝트를 개발하다보면, 비프로그래머(아트, 기획)직군을 위해 프로그래머가 소스코드를 올릴 때 항상 바이너리 파일들을 같이 올려줘야했다. Unreal Game Sync(UGS)는 이런 과정을 자동으로 해주는 툴이다. UGS 사용 이점 개발자 개발자는 변경목록(ChangeLists : CL)을 제출하자마자 동기화할 수 있으므로, 그 CL 에 맞는 소스 코드를 로컬에서 바로 컴파일할 수 있다. 각 변경 사항에 코멘트를 추가하거나, 해당 빌드가 좋고 나쁜지 플래그를 설정하여 다른 개발자에게 알릴 수 있다. 엔지니어가 깨진 빌드에 대한 수정 작업을 할 때, 플래그를 설정하여 수정 중이라는 사실을 나머지 팀원에게 알릴 수 있다. 개발자는 버전이 없는 애셋을 제출할 필요 없이 로컬 빌드에서 안전하..
[VSC] 이미 있는 프로젝트를 깃허브 레파지토리에 업로드하기 (velog.io) [VSC] 이미 있는 프로젝트를 깃허브 레파지토리에 업로드하기 !youtube1I3hMwQU6GU비주얼 스튜디오 코드를 열어서 File - Open Folder로 깃허브와 연동시킬 폴더를 연다.ctrl + shift + \` 단축키로 새 터미널 창을 연다2-1. 터미널 창이 git bash로 설정되어있지 않다면 참고 velog.io [TIL] github의 파일/폴더 삭제하기 (velog.io) [TIL] github의 파일/폴더 삭제하기 파일 삭제하기, 폴더 삭제하기 모두 터미널 창 또는 cmd를 켠 뒤 삭제하고자 파일/폴더가 있는 위치로 이동해서 실행하기! velog.io + ) 언리얼 프로젝트 github에 올릴시 ...
분명 대학생때 공부할땐 Try-Catch문을 배운거같은데 현업에서 일하거나 언리얼 엔진 코드내에서도 쓰는 걸 못봐서 이유를 찾아봤다. 언리얼 엔진 등의 인지도가 있는 제품에는 C++ Exception을 쓰지 말라고 되어 있는데 왜 그런 걸까요? (gamecodi.com) 언리얼 엔진 등의 인지도가 있는 제품에는 C++ Exception을 쓰지 말라고 되어 있는데 왜 그런 걸까요 언리얼엔진 및 구글 코딩 규약을 보게 되면 C++ Exception 쓰지마라 라는 내용을 담고 있는거 같은데..쓰라고 만들어 놓은건데 왜 쓰지 말라고 하는 건지... lab.gamecodi.com 새로운 프로젝트에서는 Exception을 써서 이점이 더 많지만 기존에 Exception을 고려하지 않고 설계한 프로젝트들은 사실상 불..