4월 16일 금요일 역수직구조팀 팀원분들과 개발/취업에 관한 이야기를 나누었습니다. 재미있는 내용이 있었지만 썰과 프라이빗한 내용이 담겨서 질문 위주로 기록해두었습니다. 앞으로도 궁금한 것들이 있다면 편하게 질문해주시고 갹자의 경험을 공유하는 시간을 자주 가졌으면 좋겠습니다. - ZETTA -


1. 서비스 DB 설계 구체화 정도는 어느 정도로 작성해야 좋을지 궁금합니다.

실무에서는 적어도 ERD를 개발 전 미리 작성합니다. 서비스 DB는 사용자에 매우 밀접하게 관련이 있어 세심히 설계되어야 합니다. 실무에서 병목은 주로 웹서버가 아니라 DB때문에 발생합니다.

  1. 우선 제공하고자 하는 기능 (프론트)의 요구사항을 받고
  2. API에서 어떤 기능을 사용하는지 정리해보고
  3. 이 기능을 위해서, 그리고 성능을 만족하기 위해서는 어떤 데이터베이스를 사용할지 / 어떤 구조로 짤지를 정합니다.
  4. 3에서 RDB냐 NoSQL에 따라서 많이 달라지기는 하는데 "데이터 모델링/디자인"을 조금 공부해보시면 좋을 것 같습니다. 사이드프로젝트에서는 ERD 작성 정도면 충분하다고 생각합니다.

2. 실제 현업이나 사이드프로젝트에서 Redis를 캐시로 사용하는 사례가 많은지 궁금합니다.

3. 다양한 IT 기업들의 백엔드/서버 모집 요강을 보면, 필수 항목으로 Spring Boot 개발 경험/API 개발경험 등 여러가지 항목이있는데 이에 대한 경험의 수준은 어느 정도를 요구하는지 궁금합니다(신입기준). 단순하게 토이프로젝트 수준인건지? 그렇지 않으면 회사에서 직접 진행한 프로젝트경험을 말하는건지 궁금합니다.

4. 이번 프로젝트는 프론트엔드(Reactjs)와 백엔드(Nodejs) 협업을 진행하게 되었습니다. 그리고 REST API를 이용해서 하게 됩니다. 로컬환경에서의 서버 연결 관계는 이해됩니다. 그러나 배포 환경일 시, 프론트서버와 백 서버, REST API 서버 등 서버 연결 관계가 영 감이 잡히지 않습니다 (NGINX 포함 등..?). 배포 시, 서버 연결에 대해 이해하고 싶습니다!

5. 오픈소스를 활용한 api 경험 개발이 있으신지 궁금합니다.

6. 백엔드 파트에서 TDD를 적용해보기 위해 가장 쉽게 시작해볼 만한 것이 있을까요?

7. 캐시 서버, 메시징 서버, 비동기 서버를 경험해보고 싶은데, 어떤 것부터 시작해보면 좋을까요?

  1. 서버에 직접 올려서 소스 빌드/컴파일 or 바이너리 다운받아 실행 후 단일 노드나 클러스터 구축
  2. Managed Service (AWS ElasticCache, GCP Memorystore)