티스토리 뷰

인턴쉽 프로그램에 의해 저희 팀에 인턴사원 한 명이 있습니다. 이런 저런 얘기를 하다가, 정리를 한 번 하는 것도 좋을 것 같아서, 생각나는대로 써봅니다.

마우스보다는 키보드를 사용해보십시오

늘 사용하던 환경이 달라 보이며, 그런 환경에서도 동작하는 UI를 느껴보십시오. 유용한 프로그래밍 개념은 간단한 유틸리티로 작성되는 경우가 많고, 화려한 UI가 없는 경우가 대부분입니다. 그래픽 인터페이스는 사람을 피곤하게 만들어 계속 쉬고 싶게 합니다.

컴파일러나 프로그래밍 도구의 여러 옵션에 관심을 가지십시오

이 옵션들을 모두 이해할때까지 옵션이 적용될 상황을 만들어 보십시오. 그 옵션들이 왜 필요하게 되었는지 시간을 내어 검색해보면, 생각지도 못했던 개념들과 연결되어 있을 것입니다.

상상하는 프로그램의 흐름을 디버거를 이용하여 눈으로 확인하십시오

디버거는 당신의 친구입니다. 모든 프로그래밍환경은 디버거가 존재합니다. 이 디버거를 하나둘씩 익히면서, 내가 작성한 프로그램이 실제 잘 동작하고 있는지 슬로 모션으로 확인하는 것은 정말 중요합니다. 디버거가 뽑아내는 알 수 없는 값들은 마치 살아 있는 심장 소리를 청진기로 듣는 것과 같습니다.

사용하는 디버거의 원리를 이해하십시오

디버거는 개발자의 숨결이 녹아든 비밀도구입니다. 디버거야 말로, 시스템을 창조한 사람만이 만들어 낼 수 있는, 시스템을 완벽하게 이해한 사람만이 만들어 낼 수 있는 도구입니다. 이 도구를 이해한다는 것은 시스템의 일부가 되는 과정입니다.

하나를 깊게 팔 때, 관련된 옆동네 지식을 소홀히 하면 파내려 간 만큼의 벽을 쌓는 것입니다

지식은 연결되어 있지 않은 것이 없습니다. 될 수 있으면, 스쳐지나가는 정도라 할 지라도, 다른 분야의 같은 지식들이 무엇이 있는지 인사라도 하는 것이 좋습니다.

가장 궁극적인 로망은 컴파일되어 나온 바이너리를 이해하는 것입니다

이 바이너리의 비밀을 모조리 이해할때 파란하늘을 비로소 볼 수 있습니다. 어떻게 이 녀석이 살아 움직이게되는지 그것과 연관되어 있는 모든 것을 이해하는 것이 궁극적으로 소스를 작성하는 것의 종착역입니다.

화이삼..!
반응형
댓글
댓글쓰기 폼