Today I Learned
- POCU 아카데미 과제 진행중. 방향성을 잡았으니 작성만 하면 된다~
- 친구에게 자바스크립트 코딩 표준 같은게 있냐 물어보니 돌아온 대답은 결국 MDN Docs였다. 해당 스펙이 공식 스펙이라고 ㅋㅋ
- 하려던 공부는 못하고 스타크래프트 맵 파일 분석에 빠졌다. 카봇 스킨 패치 이후로 특정 타일과 EUD 가 겹칠시 멀티플레이에서 튕기는 이슈가 있는데 특정 타일 부분을 다른 타일들로 고치는 작업을 해보고 있다. 자동 프로그램을 만들기전에 수동으로 해보려고 노가다로 128 * 128 맵에서 16384 Byte를 확인하는 작업을 했는데 생각해보니 타일 하나당 2 Byte라 했던만큼 더 해야하더라… 새벽까지 하다 너무 피곤해서 그냥 잤다.
느낀점 및 생각
- 과제를 하다 든 생각이 파일을 읽으면서 그 내용을 여러 동적 메모리에 나눈어 저장할 때 한번만 읽으면서 동적할당과 재할당을 반복해주는 방식이 빠를지 파일을 여러번 읽되 재할당 없이 한번씩만 할당해주는게 빠른지 궁금해졌다. 우선은 하드웨어 스펙따라 차이가 있을 수 있겠다. HDD/SSD가 빠르다면 후자가 더 좋을 것 같고 램이 빠르고 빈공간이 많다면(혹은 힙 메모리 관리자가 성능이 매우 좋다면) 전자가 더 편할 것이다. 우선 과제 진행은 전자의 방식을 택하기로 했고, 나중에 특정 파일 확장자를 정의하게 된다면 가능하면 한번만 읽으면서도 별도의 동적 메모리 재할당이 없도록 설계를 해봐야겠다. 생각해보니 스타 맵 파일 구조가 그런 것 같기도?
- 스타 맵 파일 분석 및 개조는 예전부터 해보고 싶었으나 프로그래밍을 배웠음에도 (선구자들이 기록한 문서의) 내용이 잘 이해가 안되어 포기했었었다. 그런데 C언어 하나 제대로 배웠을 뿐인데 이게 다 이해가 되는걸 보니 역시 공부는 어중간하게 해선 안되는구나 싶었다. 분석이라 하기엔 아직 남들이 분석해둔 내용을 따라가는 수준이지만 아주아주 기초적인 리버싱을 했다는 기분이 마냥 나쁘지만은 않다.
20.03.09 강사님께서 하신 말씀이 메모리 동적할당보다 파일 읽기가 훨~씬 느리다고 한다. 결국 가능하면 버퍼를 쓰거나 최대한 파일을 적게 읽을 방법을 강구해야 할 듯
내일 할 일
- POCU 아카데미 과제(동적할당, 다중포인터 관련)
- 파이썬 공부
- 코딩 과외 운영자분께 연락
- 스타 맵 헥스 에디터를 통한 타일 교체시 에러 없이 정상동작 하는지 여부 확인