들어가며 Write once, run anywhere - 한 번 쓰면, 어디서든 실행된다. 위 문구는 자바를 대표하는 문구이다. 백엔드 개발자라면 누구나 한 번쯤은 접하게 되는 자바. 나 또한 피해 갈 수 없었는데, 시대생팀에서 서버를 개발하는 일을 맡게 되었을 때 나를 제외한 다른 팀원들이 스프링을 사용하기를 원했기 때문에 어쩔 수 없이 스프링으로 개발하게 된 적이 있었다. 뿐만 아니라, GDSC UOS 팀에서는 node를 사용하는 나를 제외한 모든 개발자들이 스프링을 사용하기 때문에 데일리 스크럼에서 자바와 관련된 이야기들이 오고 갔다. ex) 스프링 3.x 버전대에서 스웨거가 잘 안 되는 것 같다 -> 그 버전에서는 스웨거 오류가 있어서 swagger-ui 라이브러리를 써보실래요? 등.. 예전부..
컴파일러
들어가며배포 파이프라인을 구현하는 과정에서 Java 계열과 node 계열 프로그래밍 언어들이 동작이 미묘하게 다르다는 것을 느꼈는데 (컴파일러와 인터프리터의 차이점으로 인한 것이었다) 관련 내용에 대해서 트러블슈팅하는 과정에서 얻은 인사이트를 요약하여 컴파일러와 인터프리터의 차이에 대해서 포스팅하려고 한다. 또한 전공 수업을 들으면서 C언어의 복잡한 컴파일 과정을 살펴보면서 생긴 개인적인 호기심을 해결하기 위해 조사하며, 함께 자바스크립트의 동작 원리도 좀 살펴보고 개인적인 호기심을 통해 조사한 내용을 읽기 쉽게 최대한 집약해 두었다. 차례차례 빌드, 컴파일, 인터프리터, 하이브리드에 대해서 알아보려고 한다. 빌드(Build)먼저 빌드(Build)라는 것은 단어의 뜻에서 알 수 있듯이 뭔가를 짓는다는 ..