파이썬으로 만들어진 프로그램을 배포할 때는 항상 파이썬 가상 환경을 사용했습니다. pipx가 사용되는 것은 여러 웹 사이트나 문서에서 많이 봐왔지만, 처음엔 ‘늘 사용하던 파이썬 가상 환경만 사용하면 됐지.. 뭘 더 배워야 하나’ 했습니다. 하지만 pipx를 사용하고 나니 제가 콘솔 스크립트가 포함된 파이썬 프로그램을 배포하는 과정이 엄청 지저분했구나 하는 생각이 들었습니다. 여러분도 제가 느낀 이런 천지가 개벽하는 느낌을 받을 수 있으면 좋겠습니다. 그래서 여러분에게도 pipx를 소개하고자 합니다.
‘React Native, Metro를 넘어서’ 1회에서는 번들러가 무엇인지와 번들러의 역할로 Resolution, Load, Optimization에 관해 소개했습니다. 1부 마지막에서 파일 크기를 줄이기 위한 Optimizaton을 간단히 이야기하고, 파일 크기를 줄이는 테크닉에는 크게 Minification과 Tree Shaking이 있다고 말씀드렸죠. 이 글인 2부에서는 Metro와 ESBuild의 차이를 조금 더 명확하게 알기 위해서, 이 각각의 테크닉이 구체적으로 어떤 역할을 하는지 살펴보겠습니다. 그리고 토스에서 Metro를 ESBuild로 바꾼 여정도 소개합니다.
애플리케이션 현대화에 따라 컨테이너 기반의 마이크로서비스 아키텍처가 많은 부분에서 적용되고 있습니다. 이러한 기반 아키텍처는 컨테이너를 기반으로 한 배포 파이프라인이 필요한 경우가 많습니다. 그리고 이러한 배포 파이프라인으로 전달되는 최종 결과물은 컨테이너 이미지이며, 이 결과물을 어떻게 만들어 내는가에 따라서 효율적인 파이프라인을 가지고 있다와 아니다를 말할 수 있습니다. 하지만 우리가 여기서 중요하게 봐야 하는 또 다른 지점이 있는데, 바로 파이프라인등을 통해서 컨테이너가 빌드될 때 컨테이너의 용량을 줄이는 것입니다.
메타 인지를 높이는 데 가장 효과적인 방법은 피드백을 이용하는 것이다. 예를 들면 개발자들은 프로그래밍 언어를 배울 때부터 피드백에 익숙해져 있다. 코드를 타이핑하는 순간 컴파일러가 바로 구체적인 피드백을 준다. 무엇이 잘못되었는지를 바로 인지하고 고친다. 한 줄을 작성해도 그 안에 컴파일러 간의 몇 번의 피드백이 담겨 있다. 피드백을 있는 그대로 수용하는 것만으로 성장으로 연결되지 않는다. 피드백을 어떻게 받아들이는지가 중요하기 때문이다. 이 글은 피드백 받는 당사자 입장에 피드백을 받아들이고 이를 통해 성장하는 법을 다룬다.