개발자 중에서도 사람마다 다양한 성향이 있다. 미적 감각이 뛰어난 예술가같은 개발자도 있고, 철학자같은 사람들도 있는 것 같다. 나는 고고학자같은 느낌이 있는 것 같다. 아무래도 전자전기컴퓨터공학부를 전공했다보니까 Low 레벨에 대한 내용도 꽤 많이 접해서 뭔가 궁금한게 생기면 Low 레벨 수준의 역사들을 발굴해내는 편이다. 예전에 딥러닝 관련해서 연구하는 과정에서 Kaggle에서 데이터를 수집하는 경우가 있었는데, 데이터가 깨지는 경우가 너무 많았다. 왜냐하면 일반적으로 영어로 쓰여있을 줄 알았던 .csv 데이터 속에서는 인도어나 독일어와 같은 다국어로 쓰여 있었고, .xlsx로 파일을 받는 경우에는 99% 확률로 깨져 있었던 것 같다. 그 외에 다른 경험으로는 데이터베이스에서 VARCHAR로 선언..
배포 파이프라인을 구현하는 과정에서 Java 계열과 node 계열 프로그래밍 언어들이 동작이 미묘하게 다르다는 것을 느꼈는데 (컴파일러와 인터프리터의 차이점으로 인한 것이었다) 관련 내용에 대해서 트러블슈팅하는 과정에서 얻은 인사이트를 요약하여 컴파일러와 인터프리터의 차이에 대해서 포스팅하려고 한다. 또한 전공 수업을 들으면서 C언어의 복잡한 컴파일 과정을 살펴보면서 생긴 개인적인 호기심을 해결하기 위해 조사하며, 함께 자바스크립트의 동작 원리도 좀 살펴보고 개인적인 호기심을 통해 조사한 내용을 읽기 쉽게 최대한 집약해 두었다. 차례차례 빌드, 컴파일, 인터프리터, 하이브리드에 대해서 알아보려고 한다. 빌드(Build)먼저 빌드(Build)라는 것은 단어의 뜻에서 알 수 있듯이 뭔가를 짓는다는 것이다...