반응형

2025/02/02 2

프로그램 설계, 이게 정답입니다.

개발을 잘하고 싶어하는 분들이 자주 묻는 질문이 있습니다."설계는 어떻게 해야하나요?", "이런 설계가 정답인가요?"그리고 이런 질문에 대한 답변은 다양합니다.모놀리식 VS MSA로도 갈리기도 하고, kafka VS rabbitmq 로도 갈릴 수 있구요.케바케(case by case), 서비스에 따라 다르다 라는 말을 하는 사람도 있습니다.회사에서 서비스 개발을 하면서 수많은 선택을 하는데 있어서 설계에 대한 정답이 뭘까요?요리로 빗대어 생각해보자.직접 요리를 해드시거나, 하지 않더라도 음식은 누구나 먹겠죠?요리를 하지 않더라도 계란프라이 정도는 해보거나 드셔보셨을꺼에요.그럼 계란프라이를 만드는데 필요한 것은 무엇이 있을까요?대표적인 재료로는 계란, 식용유, 소금 등이 있습니다.자, 그럼 계란프라이를 만..

개발부하와 업무부하는 비슷하다.

개발자들은 보통 하드 스킬에는 많은 신경을 쓰지만, 정작 업무 효율에 대해서는 깊이 고민하지 않는 경우가 많습니다.특히 신입 개발자일수록 이런 경향이 강하게 나타나죠.하지만 개발과 업무는 생각보다 비슷한 패턴을 보입니다.시스템에 부하가 생기는 경우?아무런 최적화가 없을 때 시스템에 부하가 생기는 원인은 다음과 같습니다.단순한 조회가 많을 때네트워크 요청이 많을 때CPU, 메모리, Disk I/O, 네트워크 등 시스템 자원을 많이 사용할 때그 외 기타...위에서 이야기한 내용들은 대부분 쉽게 개선이 가능한 영역입니다.캐시를 사용하거나, 요청 여러개를 묶어서(bulk) 요청하거나, 스케일 업 또는 스케일 아웃 하는 방법 처럼요. 이런 케이스는 간단하게 해결할 수 있는 부분을 업무적으로 봤을 때는 어떤 상황일..