2023년 쿠버네티스를 보다 원할하게 사용하기 위한 많은 제품들이 나와 있지만, 역설적으로 너무 많은 제품들이 있기 때문에 오히려 선정하기 어려움이 있습니다. 이에 시장에서 많은 레퍼런스를 가지고 있고, 안정적으로 동작하는 제품들로 구성된 표준 아키텍처가 있어야 한다고 판단했습니다. 다음의 선정한 제품들은 쿠버네티스를 시작하는 분들은 위한 가이드 또는 새로운 영역을 구성 추가할 때 참고할 수 있는 내용이라고 이해해 주시면 좋겠습니다. 일부는 이미 디 팩토(de facto / 사실상 표준)인 경우도 있지만, 상황에 따라서는 한국 시장에 맞게 선정한 제품도 있습니다.
좋은 개발 스터디그룹을 찾기란 하늘의 별 따기이다. 개발자라면 공감할 것이다. 누구나 자신과 실력이 비슷하고 열정 있는 스터디원들을 만나 재미있게 공부하고 싶지만, 대부분 중간에 흐지부지되거나 어느새 모임에 생기를 잃은 채 간신히 유지하게 된다. 여럿이서 공부하는 데도 왜 시너지가 나지 않는 것일까? 그동안 스스로의 성장을 위해 많은 스터디에 참여하면서 여러 방법을 시도하면서 좋은 스터디의 기준에 대해 정리할 수 있었다. 이번 글에서는 어떻게 하면 좋은 개발 스터디를 할 수 있는지를 공유해보고자 한다.
“비동기 통신에 대해 설명해 보세요.” 프론트엔드 개발자 면접에서 자주 받는 질문이다. 개발자라면 비동기 통신과 동기 통신에 대한 개념을 정확하게 알아야 하고, 이를 바탕으로 효율적인 프로그램을 만들어야 하기 때문이다. 특히 자바스크립트는 싱글 스레드로 작동하기 때문에, 효율적인 프로그램을 만들기 위해서는 비동기 처리를 적절하게 사용하는 것이 중요하다. 이번 글에서는 필자가 면접에서 받은 질문을 토대로 비동기 통신, 동기 통신에 대한 개념을 소개한다. 그리고 비슷한 개념을 가진 블로킹과 논블로킹에 대해서도 살펴보고자 한다.
멋진 프로그래밍의 세계로 첫걸음을 내디딜 때, 우리가 하는 일이 수백만 명의 사람들에게 어떤 영향을 주는지 직접 확인하게 됩니다. 프로그래밍 덕분에 많은 사람들의 일이 단지 몇 개의 키를 누르는 것으로 해결되고 있습니다. 이것은 마법 같은 일입니다. 프로그래밍 세계에서 우리가 맡은 큰 책임은 쉽게 테스트할 수 있고, 오랫동안 유지 보수할 수 있는 코드를 작성하는 것입니다. 하지만 프로그래밍에는 우리가 작성하는 코드와 최종적으로 출시한 제품에 나쁜 영향을 주는 몇 가지 습관이 있습니다. 저는 이러한 문제들을 직접 경험해봤기 때문에 이 습관들을 왜 지양해야 하는지에 대해 공유하고자 합니다.
‘멱등(Idempotent)하다’는 생소한 표현이지만 알고 보면 쉽습니다. 컴퓨터 과학에서 멱등하다는 것은 첫 번째 수행을 한 뒤 여러 차례 적용해도 결과를 변경시키지 않는 작업 또는 기능의 속성을 뜻하는데요. 즉, 멱등한 작업의 결과는 한 번 수행하든 여러 번 수행하든 같습니다. 예를 들어, 어떤 숫자에 1을 곱하는 연산은 여러 번 수행해도 처음 1을 곱한 것과 같은 숫자가 되기 때문에 멱등합니다. 마찬가지로 숫자의 절대값을 계산하는 절대값 함수는 같은 값에 대해 여러 번 수행해도 처음과 항상 같은 숫자가 돌아오기 때문에 멱등 함수라고 부릅니다.