CS공부를 하는 방법
- 어셈블리어 동작 과정만 보고 실제 개발은 안해도된다.(어셈블리어 코드 작성)
- 대부분 핀트OS주차에서 추상화적인 지식을 해소할 수 있을 것이다.
- C나 파이썬이 어떻게 어셈블리어로 돌아가는가? 예를 들어 if, while문 등의 광정(이론)을 아는 것이 중요하다. 특히나 구성요소는 알아야한다. (최적화측면에서 중요하다)
- 특히나 데이터형 바꾸는 방법, GCC 역컴파일 방법은 잘 알아두자.
- 원작자의 영상을 먼저 보고 책을 확인하자 (영어인건 알아서 해결해야한다)
- CS 관련된 책을 새로 사서 이해하는 것도 하나의 방법이다.
- 원서를 보고 해석하는 것이 더 쉬울 수 있다.
- 개념을 잡고 선택적으로 공부하자
- 정글 전 기수의 블로그를 여러개 참고해서 이해하는 것도 좋다.
코드 리뷰 방법(현업)
굉장히 다양한 형식이 있고, 회사마다 다르다.
리뷰시간이 정해져 있어서 해당 시간내에 무조건적으로 지적을 해야했던 회사가 있다.
형식상 코드리뷰가 있고 코드리뷰가 있다는 것 자체에 부담감이 있어서 잘 쓰게 하는 케이스도 있다.
공유적인 문화로 다같이 확인하며 변수 이름이나 함수 이름 확인해서 일치성을 평가하고, 스탠다드(회사 내규)에 따라 코드를 분석한다. 특히나 보안적 요소를 많이 체크한다고 한다.
예전에 스마일게이트에서 배웠던 소나 큐브라는 정적 코드 리뷰시스템에 대해 질문을 했었는데, 현업에서도 많이 쓰인다고 한다. 자바 환경에서 보안요소나 SQL 인젝션 같은 문제를 많이 확인해준다고한다.
그외에 동적툴을 통해 실제로 돌려보기도 한다.