[습관일기]는 프로젝트를 겪으며, 기술적인 문제를 겪었을 때 어떻게 해결해왔는지에 대해 기록을 남기기 위해 작성한 글입니다.
우선 나는 어셈블리를 배우는 이유가 과제를 푸는게 목표였기에, 서브젝트부터 꼼꼼히 읽어 보았다. 그리고 모르는 개념들을 구글링해서 이해했다.
배워야하는 걸 명확하게 하는 과정이 공부를 시작하는데 많은 도움이 되었다.
해당학문의 기초가 없을 때, 구글링으로 개념을 공부를 하니 문제점이 발생했다. 어려운 개념을 만났을 때, 글을 일부분만 보고 회피하는 경우가 발생했고, 개념을 부분적으로 수용하게 되어, 잘못된 정보로 이해할 경우가 생겼다.
42 libasm 서브젝트
libasm과제를 진행할 때 처음부터 블로그를 작성하며 과제를 진행했는데, 나중에 보니 잘못 이해한 부분들이 많았고 그 부분들을 고치며 도움이 많이 되었다.
구글링으로 지식들은 많이 습득했지만, 정리가 안되어 같이 공부하는 동료들과 함께 스터디 하는 시간을 가졌다. 그 과정에서, 개념정리가 잘 된 동료의 설명덕분에 개념을 좀더 명확히 정리 할수 있었다. 그 친구에게 물어보니, 영상으로 처음 개념을 접하는게 좀 더 빨리 이해하고 넘어갈 수있엇다고 알려주었다.
나동빈, 어셈블리에 대한 기초영상
단순히 어셈블리언어만 이해하고 공부하니 내가 무엇을 공부하고 있는지 명확하지 않았다. 그래서 cpu에 대해서 따로 공부를했다. cpu의 구조와 메모리의 구조 그리고 커널에 대해서 살펴보았는데, 이 부분이 어셈블리를 이해하는데 많은 도움이 되었다.
cs지식이 새로운 언어나, 기술들을 배우는데 많은 도움이 되는거 같다. 틈틈히 공부하자.
syscall을 하는 과정에서 레지스터에 저장한 값이 사라졌다. 구글링을 아무리해도 나오지 않아. 한글로 검색하는데 한계를 느꼈다. 레퍼런스와 msda포럼을 읽고 이해할 수 있었다. 영어 문서들을 읽는걸 생활하자. 모르는건 레퍼런스로 보는 습관을 들이자.