목차
- 인사 및 친목 대화
- Mongoose와 ORM 대안: Prisma, Sequelize
- 경력기술서 PPT 작성 경험과 팁
- 소스코드 포트폴리오 활용 관련 고민
- 스트레스와 이직 고민
- 망사용료 이슈 및 인터넷 인프라 논의
- React Suspense와 Tanstack Query 리렌더링 이슈
- AWS 파일 업로드 시 확장자 중복 처리 방법
- React+TypeScript 콜백함수 타입 지정 방법
- 기타 개발 및 커뮤니티 소소한 이야기
1. 인사 및 친목 대화
- 개발자들 간에 친근한 인사와 응원 메시지 주고받음.
- 개인사정으로 나간 멤버들 이야기, 닉네임 변경에 대한 가벼운 농담 오감.
- 서로 오랫동안 코딩 질문에 답해주고 도움 준 경험 공유하며 성장 이야기.
- 취미로 코딩하거나 백준 문제 풀이하면서 실력 향상 중인 모습.
- 개발자 커뮤니티 특유의 자연스러운 소통 분위기.
2. Mongoose와 ORM 대안: Prisma, Sequelize
- 핵심: MongoDB ODM인 Mongoose에서 타입스크립트 호환 문제(일명 타입 트롤)가 있다는 불만.
- 설명:
- Mongoose는 MongoDB와 자바스크립트/타입스크립트 연결을 돕는 ORM(정확히는 ODM)인데, 타입스크립트 지원이 불편할 수 있음.
- Prisma는 SQL뿐만 아니라 MongoDB도 지원하는 최신 ORM으로 타입 안전성 지원이 우수함.
- Sequelize는 SQL기반 ORM으로, 몽고DB가 아닌 관계형 DB 환경에서 많이 쓰임.
- 의견:
- 프로젝트 상황에 따라 Prisma 도입 추천.
- MongoDB 연동이 중요하면 Mongoose 외에도 다른 ORM 고려 가능.
- 상황에 따라 DB 구조 및 운영방식에 맞는 ORM 선택 필요.
3. 경력기술서 PPT 작성 경험과 팁
- 핵심: 면접 시 경력기술서를 PPT 형식으로 제출 요청받는 사례 증가.
- 설명:
- 면접관이 지원자의 문서 작성 스킬과 경력 내용을 시각적으로 확인하려는 목적.
- PPT에 작업 이미지, 기술 스택, 업무 내용 등을 간결하고 구조적으로 정리하는 것이 중요함.
- 발표를 요구하지 않는 경우도 많지만, 발표 준비를 하는 것이 대비됨.
- 팁:
- 복잡하지 않게, 핵심 위주로 요약 작성.
- 작업물 스크린샷, 사용 기술명, 역할을 명확히 표기.
- 가능하다면 마크다운 기반 프리젠테이션 도구(Marp 등) 활용해 효율적 작성.
4. 소스코드 포트폴리오 활용 관련 고민
- 회사에서 이전에 작성한 코드 사용 시 저작권 문제와 신중함 필요.
- 소스코드 직접 공개보다는 수도 코드나 간략화한 코드 활용을 권고.
- 포트폴리오에 포함할 때 자신이 직접 구현한 코드나 학습용 코드 중심으로 준비.
- 회사 보안 정책과 비밀 유지 계약(NDA)에 위배되지 않도록 주의해야 함.
5. 스트레스와 이직 고민
- 일터에서 스트레스 심할 때 숨이 안 쉬어질 정도로 힘든 경험 공유.
- 좋아하는 일을 해도 스트레스는 피할 수 없다는 공감.
- 스트레스가 심하면 이직을 고려하는 것도 하나의 방법.
- 요즘 이직이 쉽지 않아 버티다 후회하는 경우도 많음.
- 좋은 사람과 팀 분위기가 직장 만족도에 큰 영향.
6. 망사용료 이슈 및 인터넷 인프라 논의
- 한국에서 망사용료가 해외보다 약 20배 비싸다는 문제 제기.
- 망사용료란 통신사들이 인터넷 트래픽을 처리하는 비용으로, 서비스 제공 업체가 통신사에 지불하는 금액.
- 사용자 요금에도 포함되어 이중과금 문제가 거론됨.
- 트위치 등 서비스 철수 사례도 있음.
- 인터넷을 필수재로 볼 경우 공공정책 접근 필요하다는 의견.
- 스타링크 같은 위성 인터넷 서비스가 대안으로 언급되기도 함.
- 수요와 공급, 정부의 역할, 통신사 이익구조에 대한 다양한 관점 교환.
7. React Suspense와 Tanstack Query 리렌더링 이슈
- Tanstack Query의 useSuspenseQuery 사용 시 Suspense 컴포넌트로 감싸지 않으면 리렌더링 문제 발생 가능성 논의.
- Suspense는 비동기 데이터 로딩 중 fallback UI를 보여주는 React 기능.
- Suspense 없이 사용하면 데이터 로딩 중 컴포넌트가 중단되지 않고 계속 렌더될 수 있음.
- 실험 결과 페이지 깜빡임 현상 공유.
- Suspense 개념은 렌더링을 "연기"시키는 것이라 이해하면 도움이 됨.
8. AWS 파일 업로드 시 확장자 중복 처리 방법
- 같은 이름의 파일(예: 창문.jpg, 창문.png) 업로드 후 파일 검색 시 확장자 문제 발생.
- 해결 방안:
- URL에 확장자 포함해 저장 및 조회하기 (가장 일반적).
- 파일 업로드 전 기존 동일 이름 파일 삭제(비효율적일 수 있음).
- 파일명에 타임스탬프, 랜덤 난수 등을 추가해 중복 허용하고 구분(현재 가장 많이 활용).
- 원칙적으로 사용자 파일명을 난수나 해시값으로 저장해 충돌 방지 권장.
- 확장자는 반드시 DB나 메타데이터에 포함시켜 관리해야 함.
9. React+TypeScript 콜백함수 타입 지정 방법
- 부모 컴포넌트에서 함수 타입 지정 후 자식 컴포넌트에서도 동일한 타입으로 지정해야 함.
- 각 컴포넌트 함수는 독립적이기 때문에 타입을 명확히 해주는 것이 타입 안정성에 도움.
- 함수 타입을 인터페이스 또는 타입 별칭(type alias)로 정의 후 재사용 가능.
- extends, 교차 타입(&) 등을 이용해 중복 선언 최소화가 가능함.
- Context API 등으로 props 전달을 줄이는 방법도 고려할 수 있음.
10. 기타 개발 및 커뮤니티 소소한 이야기
- 리액트 공부 강의 추천, 유데미 할인 정보 공유.
- 공무원 직위해제 사례 뉴스 언급 및 다양한 의견.
- 개발자들 사이에서 인사, 스트레스, 취업 준비, 이직 등에 대한 일상적인 고민 나눔.
- 이미지 로딩 시 "컬러 플레이스홀더(progressive image loading)" 개념 소개.
- 클라우드 타입(Cloudtype) 서비스 언급 및 서버 퍼블리싱 관련 간략 토론.
면접팁⚡
- 경력기술서 PPT 작성 시 과도한 꾸밈보다 내용과 역할 중심으로 명확하게 정리할 것.
- 프로젝트 핵심 결과물 이미지 포함은 면접관 이해를 돕는 좋은 방법.
- 발표를 요구하지 않는 경우라도 발표 가능성을 대비해 슬라이드를 구성하는 것이 안전함.
- 소스코드를 제출할 때는 회사 정책 및 저작권 문제를 충분히 확인하고, 필요시 수도 코드나 간결한 버전으로 대체.
- React 및 TypeScript 면접 준비 시, 콜백함수의 타입 지정 방식과 Suspense 동작 원리를 이해해 두면 유리.
링크🔗
#개발자대화#React#TypeScript#Mongoose#경력기술서#망사용료#스트레스관리#AWS#풀스택개발#코딩팁