react 썸네일react

2024-02-26

목차

  1. 외주 개발, 인력 구하기 이슈
  2. 웹/앱 개발 공부 방향
  3. 채용과 이직 시장 현황
  4. Refresh Token과 Access Token 관리 기법
  5. API 데이터 페이징과 효율적 호출
  6. Kotlin 쓰레드 및 언어 문법 간단 소개
  7. SSH 툴 및 파일 전송 팁
  8. Redux 사용 시 고민과 모범 사례
  9. React 환경에서 버전 충돌 이슈와 해결법
  10. 면접 준비 및 코딩 테스트 난이도 조언

1. 외주 개발, 인력 구하기 이슈

  • 외주 개발 수요는 많지만 비용이 높고, 합리적 선택을 위해 채용 공고를 올리는 경우도 많음.
  • SI 업체와 대기업, 중소기업 간 인력 수급 격차 존재.
  • 취준자와 회사 사이 인건비/복지 및 인재 조건에 괴리가 있어 채용이 쉽지 않은 현실.
  • 지원자가 많아도 채용 기준을 넘기는 인원이 적어 경쟁 체계가 복잡함.

참고

외주 개발은 일반적으로 프로젝트 단위로 계약하는 개발자를 뜻하며, 비용과 품질을 맞추기가 쉽지 않아 직접 인력을 확보하는 방안도 늘고 있음.

2. 웹/앱 개발 공부 방향

  • 입문자는 웹 개발 전반을 다루는 책으로 기본 개념을 이해하는 것이 우선.
  • 이후 타입스크립트 등 구체적 언어 공부를 병행하는 게 효율적.
  • 무조건 특정 기술부터 공부하기보단 큰 그림을 먼저 잡는 게 중요.

3. 채용과 이직 시장 현황

  • 신입 채용 시 포트폴리오 대부분 비슷해 차별화 어려움.
  • 실력·경험보다 서류 통과 자체가 큰 관문임.
  • 면접 성과보다는 채용 기준에 맞는 인재 제시가 핵심.
  • 코딩 테스트 난이도는 기업마다 다양, 프로그래머스 3단계, 백준 플레(플래티넘) 이상 추천.
  • 실무 경험 많은 경우 이직 준비가 수월하지만 단순 코딩 위주 회사는 이력서 업그레이드 필요.

4. Refresh Token과 Access Token 관리 기법

핵심

  • Access Token은 인증 권한을 부여하는 토큰, 보통 만료 기간이 짧음.
  • Refresh Token은 Access Token이 만료됐을 때 새로 발급받기 위한 토큰, 만료 기간이 더 김.

관리 팁

  • Refresh Token은 보안상 HttpOnly, Secure 쿠키에 저장하는 것이 권장됨.
  • Refresh Token은 매번 API 요청 시 보내지지 않아도 되지만, 토큰 갱신 요청 시 서버에 전달.
  • Access Token은 클라이언트서 상태관리 (ex. Redux)나 메모리에 저장할 수 있음.
  • 보안상 만료 기간을 짧게 하고 자주 갱신하는 것이 가장 효과적.
  • 어느 저장소에 저장해도 탈취 위험 존재하므로, 서버에서 최대한 안전하게 관리하는 게 중요.

5. API 데이터 페이징과 효율적 호출

상황

  • 한 번에 1000건 데이터 제한이 있을 때 API 혹은 DB 단에서 페이징 처리 필요.
  • 불필요한 대량 데이터는 서버와 클라이언트 성능 모두 저하.

추천 방법

  • 학년, 반 등의 단위로 쪼개서 필요한 데이터만 호출.
  • 서버 API는 쿼리스트링이나 파라미터로 필터링 기능 제공.
  • 클라이언트는 필요한 범위만 요청해 표시, ‘더보기’ 방식이나 탭 분할 UI 활용.
  • Promise.all() 등으로 여러 개 요청 비동기 병합은 가능하지만 데이터 양 조절 필수.
  • 데이터 노말라이징(normalizing)은 서버 응답 데이터를 구조화하는 방법으로, 클라이언트 관리 효율성 증대에 도움.

6. Kotlin 쓰레드 및 언어 문법 간단 소개

  • Kotlin에서 쓰레드는 콜백 함수를 첫번째 인자로 넣어 실행하는 스타일임.
  • 콜백 함수 축약 문법 덕분에 코드가 매우 간결해지고 편리함.
  • Kotlin의 is 구문은 객체가 특정 타입 또는 조건에 부합하는지 쉽게 검사하는 기능임.
  • 닷넷의 is 구문과 유사하며, 복잡한 조건을 한 줄로 표현 가능.

7. SSH 툴 및 파일 전송 팁

  • CLI 방식 SSH 사용자는 파일 전송에 scp 또는 sftp 명령어를 활용함.
  • GUI형 SSH 클라이언트(예: MobaXterm, WinSCP 등)를 쓰면 파일 이동 및 작업 편의성이 증가함.
  • 원격 개발 환경 세팅 시 VSCode Remote 개발 기능 활용도 추천.

8. Redux 사용 시 고민과 모범 사례

  • Redux는 전역 상태관리 라이브러리로, 상태가 빈번히 변하거나 여러 컴포넌트에서 공유할 때 적합함.
  • 변수 관리가 단순하고 페이지별로 상태가 독립적인 경우, Redux 사용이 과하다는 의견이 많음.
  • 불필요한 Redux 사용은 오히려 코드 복잡도를 높이고 유지보수를 어렵게 함.
  • 필요에 따라 Redux toolkit 등의 모던 도구를 활용해 구조를 간결하게 유지하는 것이 좋음.

9. React 환경에서 버전 충돌 이슈와 해결법

  • npm install 시 peerDependency 충돌로 인해 React 버전 관련 오류 발생함.
  • 예: react-swipeable-views 패키지가 React 18과 호환되지 않고 이전 버전 요구.
  • 해결법
    • --legacy-peer-deps 옵션을 주어 설치하거나
    • 호환 가능 한 버전으로 패키지 교체 또는 다운그레이드
    • 패키지 업데이트 또는 호환성 패치 확인
  • 최신 npm 버전 업데이트 및 관리하는 것도 도움됨.

10. 면접 준비 및 코딩 테스트 난이도 조언

  • 기업 코딩 테스트 난이도는 대체로 프로그래머스 3단계 수준 추천.
  • 백준의 경우 플래티넘(gold+α) 레벨을 꾸준히 풀어보는 것이 유리.
  • 문제 풀이 능력 외에도 문제 해결 과정, 코드 작성 습관, 커뮤니케이션 등도 중요.
  • 실전 면접 전 스터디나 모의 면접 경험은 상황 적응에 도움 됨.
  • 이력서 작성 시 담당자 입장에서 매력적으로 보이도록 경력과 프로젝트를 구체적으로 표현하는 것 추천.

면접팁⚡

  • 이력서는 인사담당자 및 실무자가 쉽게 이해하도록 간결하고 눈에 띄게 작성해야 함.
  • 회사 요구사항(JD)에 맞춰 맞춤형 자기소개서를 준비할 것.
  • 코딩 테스트는 여러 난이도 문제에 골고루 대비하되, 무리하지 말고 자신감을 유지하는 것이 중요.
  • 실수나 몰라도 되는 부분은 솔직히 인정하고, 적극적 문제해결 태도를 보여주는 것이 좋은 인상.

링크🔗

#외주개발#채용시장#토큰관리#API페이징#Kotlin#SSH툴#Redux#React#버전충돌#코딩테스트