react 썸네일react

2024-05-13

목차

  1. 인사 및 친목 대화
  2. Mongoose와 ORM 대안: Prisma, Sequelize
  3. 경력기술서 PPT 작성 경험과 팁
  4. 소스코드 포트폴리오 활용 관련 고민
  5. 스트레스와 이직 고민
  6. 망사용료 이슈 및 인터넷 인프라 논의
  7. React Suspense와 Tanstack Query 리렌더링 이슈
  8. AWS 파일 업로드 시 확장자 중복 처리 방법
  9. React+TypeScript 콜백함수 타입 지정 방법
  10. 기타 개발 및 커뮤니티 소소한 이야기

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) 업로드 후 파일 검색 시 확장자 문제 발생.
  • 해결 방안:
    1. URL에 확장자 포함해 저장 및 조회하기 (가장 일반적).
    2. 파일 업로드 전 기존 동일 이름 파일 삭제(비효율적일 수 있음).
    3. 파일명에 타임스탬프, 랜덤 난수 등을 추가해 중복 허용하고 구분(현재 가장 많이 활용).
  • 원칙적으로 사용자 파일명을 난수나 해시값으로 저장해 충돌 방지 권장.
  • 확장자는 반드시 DB나 메타데이터에 포함시켜 관리해야 함.

9. React+TypeScript 콜백함수 타입 지정 방법

  • 부모 컴포넌트에서 함수 타입 지정 후 자식 컴포넌트에서도 동일한 타입으로 지정해야 함.
  • 각 컴포넌트 함수는 독립적이기 때문에 타입을 명확히 해주는 것이 타입 안정성에 도움.
  • 함수 타입을 인터페이스 또는 타입 별칭(type alias)로 정의 후 재사용 가능.
  • extends, 교차 타입(&) 등을 이용해 중복 선언 최소화가 가능함.
  • Context API 등으로 props 전달을 줄이는 방법도 고려할 수 있음.

10. 기타 개발 및 커뮤니티 소소한 이야기

  • 리액트 공부 강의 추천, 유데미 할인 정보 공유.
  • 공무원 직위해제 사례 뉴스 언급 및 다양한 의견.
  • 개발자들 사이에서 인사, 스트레스, 취업 준비, 이직 등에 대한 일상적인 고민 나눔.
  • 이미지 로딩 시 "컬러 플레이스홀더(progressive image loading)" 개념 소개.
  • 클라우드 타입(Cloudtype) 서비스 언급 및 서버 퍼블리싱 관련 간략 토론.

면접팁⚡

  • 경력기술서 PPT 작성 시 과도한 꾸밈보다 내용과 역할 중심으로 명확하게 정리할 것.
  • 프로젝트 핵심 결과물 이미지 포함은 면접관 이해를 돕는 좋은 방법.
  • 발표를 요구하지 않는 경우라도 발표 가능성을 대비해 슬라이드를 구성하는 것이 안전함.
  • 소스코드를 제출할 때는 회사 정책 및 저작권 문제를 충분히 확인하고, 필요시 수도 코드나 간결한 버전으로 대체.
  • React 및 TypeScript 면접 준비 시, 콜백함수의 타입 지정 방식과 Suspense 동작 원리를 이해해 두면 유리.

링크🔗

#개발자대화#React#TypeScript#Mongoose#경력기술서#망사용료#스트레스관리#AWS#풀스택개발#코딩팁