컴퓨터 과학과 C++를 공부하며 정리한 기술 노트입니다.
노트 (74)
블로그 (1)
최적화 (8)
- 컴파일 타임에 사용되는 구조체
- 컴파일러는 switch-case와 if-else를 어떻게 최적화할까
- Bit-Banding
- for 루프 처리 방식
- Native Type과 연산
- template 분기 최적화 케이스
- vector uint8_t, bitset 테스트
- x86 함수 호출과 스택 프레임
assembly (1)
c++ (13)
- && (rvalue reference)
- 리터럴 문자열 저장
- 배열 참조(reference)
- 생성자 & operator
- 참조 합침(reference collapsing)
- 포워딩 레퍼런스(forwarding reference)
- ARM 어셈블리에서 bool 타입이 처리되는 방식 이해
- C++ lambda와 fold expression
- C++ preprocessing
- SFINAE (substitution failure is not an error)
- std;;decay_t
- std;;move는 어떻게 값을 lvalue로 만들까
- switch-case 블록 스코프와 변수 초기화
cash memory (1)
cs (2)
csapp (2)
debug (1)
embedded (10)
- 카메라가 이전 프레임의 일부를 처리하는 이유
- CAN_J1939 프로토콜 — 작성 중
- CMSIS
- DMA와 프로세서 캐시
- DSI Host에서 LCD를 갱신하는 과정
- Introduction to ARM Based Processors
- MCU의 인터럽트
- STM32 Peripherals Mapping and HAL Handlers
- Thumb-2 and Memory Alignment
- xPSR 세부설명 — 작성 중
Encoding (1)
game (2)
graphics (8)
- 3가지 광원의 종류
- 구면좌표계를 가지는 카메라
- 원을 삼각형으로 그리는 방법
- Barycentric Coordinates
- object rotation, scale, translation
- perspective projection
- Pineda’s method, 삼각형 탐지
- Sphere에 Phong reflection model 구현
math (11)
- (𝜋 half 2 ± 𝜃) 의 sin, cos
- 2D 직전 물리 충돌에서의 AI
- 구면좌표계를 가지는 카메라
- 두 2차원 vector의 접점
- 삼각함수 덧셈 정리
- 원을 삼각형으로 그리는 방법
- Barycentric Coordinates
- object rotation, scale, translation
- Pineda’s method, 삼각형 탐지
- sin^2 theta + cos^2 theta = 1
- Sphere에 Phong reflection model 구현
network (5)
- 3-way handshake 패킷 분석 — 작성 중
- 네트워크 기초 — 작성 중
- IPv4 헤더 필드와 옵션 정리
- one’s complement sum 계산 방식
- TCP 연결 종료 후 write()와 SIGPIPE 발생 시점 — 작성 중
os (16)
- _tx_byte_allocate
- _tx_byte_pool_create
- _tx_thread_schedule
- _tx_thread_stack_build
- 3.1 process 개념
- 3.2 process scheduling
- 3.3 operation on processes
- 3.4 interprocess communication
- 3.8 Communication in Client–Server Systems
- 5.6 Real-Time CPU Scheduling
- 6.4 Hardware Support for Synchronization
- 6.5 Mutex Locks
- 8.7 Deadlock Detection
- 가상메모리 세부 정리 — 작성 중
- 라운드 로빈(Round Robin) 알고리즘
- System call
retrospect (1)
- 5inch-forklift 프로젝트 회고 — 작성 중