react 썸네일react

2025-01-15

목차

  1. AI 개발 도구 선택과 활용
  2. AI의 발전과 개발자의 역할 변화
  3. React 상태관리와 use-immer 라이브러리
  4. 신입 개발자 채용 현실과 AI 영향
  5. 브라우저 User-Agent 및 네이버 웨일 분별하기
  6. React 앱 배포 시 버전 관리 문제
  7. JSON 모듈 import 경고 해결법
  8. MacBook Air vs Pro, 개발용 하드웨어 고민
  9. React 쿼리와 Zustand 조합, 상태관리 트렌드
  10. 기타 개발 Q&A 및 잡담

1. AI 개발 도구 선택과 활용 🤖

  • 주요 AI 도구로 ChatGPT, Gemini, Claude, Cursor가 언급됨.
  • Gemini는 추천되지 않음.
  • ChatGPT는 문맥 이해가 뛰어나지만 코딩 지원은 Claude가 더 낫다는 평가도 있음.
  • 코딩 공부 시 구글 검색과 병행하는 것이 실력 향상에 도움 됨.
  • AI 도구는 단순 반복 작업을 줄여주지만 기본적인 로직 이해와 문제 해결 능력이 중요.
  • AI가 실수를 할 수 있어 직접 결과물을 검증하고 수정하는 과정 필요.
  • VSCode에서 Gemini Code Assist 플러그인을 사용해봤으나 ChatGPT와 Claude가 더 추천됨.
  • AI는 공부 시간을 단축시켜주지만 무조건적인 의존은 금물, 교차 검증 필수.

설명
ChatGPT: 자연어 처리에 뛰어나며 대화형 질문에 강점이 있음.
Claude: 코드 작성과 디버깅 지원에 효과적이라는 평가가 있음.
Cursor: VSCode 등 IDE 환경에서 코딩 지원에 특화됨.
Google 검색: AI가 어려운 부분을 빠르게 찾아주는 좋은 수단으로 여전함.

2. AI 발전과 개발자의 역할 변화 🌱

  • AI 기술 발전으로 개발 자동화가 늘어나는 추세, 특히 프론트엔드에서 일부 기능을 빠르게 생성 가능.
  • 이에 따른 위기감도 있지만 ‘위기’ 대신 ‘기회’로 생각할 것을 조언.
  • AI는 기능 구현을 빠르게 해주나, 성능 최적화 및 디테일한 튜닝은 여전히 개발자의 중요한 역할.
  • AI가 잘 해결하지 못하는 부분(예: 최적화, 깊은 로직 설계)은 개발자가 중심이 되어야 함.
  • AI를 활용해 아이디어 구현력('뚝딱력')을 높이는 것이 중요.

3. React 상태관리와 use-immer 라이브러리 💡

  • use-immer는 기존 immer 라이브러리 파생, 상태 객체를 불변성을 유지하며 쉽게 수정 가능하게 지원.
  • Redux Toolkit과 같이 immer가 내장된 툴도 활용도가 높음.
  • immer는 복잡한 상태 변경 시 깊은 복사를 편리하게 하여 코드 가독성 향상.
  • 다만, React 경험자라면 간단한 상태 변경에 얕은 복사(shallow copy)로 충분한 경우가 많아 적극 사용하지 않는 개발자가 많음.
  • Zustand, jotai 같은 경량 상태 관리 라이브러리와도 병행 사용 가능.

설명
Immer: JavaScript 객체 상태를 마치 직접 수정하듯 불변성을 자동으로 관리해 주는 라이브러리.
얕은 복사 vs 깊은 복사: 얕은 복사는 객체의 최상위만 복사, 깊은 복사는 중첩된 내부 객체까지 모두 복사하는 작업.

4. 신입 개발자 채용 현실과 AI 영향 🧑‍💻

  • AI 활용 증가로 신입 개발자 채용이 줄어드는 경향 감지.
  • 회사는 같은 인원에게 더 높은 생산성 요구, 신입 대신 경력자 선호 경향도 존재.
  • 그러나 신입을 무조건 안 뽑는 것은 아니며 시장 상황과 회사 규모, 필요에 따라 다름.
  • 학위와 논문, 연구 경험이 중견/고급 AI 개발자 채용에서는 중요시됨.
  • 부트캠프 출신이나 처음 배우는 이들은 실제 경쟁력에서 다소 어려움이 있을 수 있음.
  • 질문을 많이 하지 않고 소극적인 신입에 대한 현장 불만도 언급됨.

5. 브라우저 User-Agent 및 네이버 웨일 구분하기 🌐

  • 네이버 웨일은 크로미움(Chromium) 기반으로 User-Agent에 크롬과 웨일 정보 둘 다 포함됨.
  • User-Agent로 브라우저를 구분할 때 ‘whale’을 크롬보다 앞서 체크해야 함.
  • 브라우저별 확장 프로그램 설치 방법 가이드를 다르게 보여주고자 할 때 정확한 탐지가 필요.


if (agent.includes("whale")) 조건을 크롬 체크 전에 넣으면 문제없이 구분 가능.

6. React 앱 배포 시 버전 관리 문제 🆕

  • 사용자들이 오래 탭을 열어두어 업데이트 후에도 구버전 사용하며 오류 발생하는 문제 많음.
  • 서비스워커 업데이트나 버전 체크 로직 도입으로 해결 시도 중임.
  • 배포 시 이전 파일을 지우지 않아 캐시 문제를 방지해야 함.
  • 실시간 버전 체크 구독 기능으로 최신 버전 알림을 띄워 사용자에게 새로고침을 유도하는 방법 추천.
  • 업데이트 정책과 파일 관리가 중요.

7. JSON 모듈 import 경고 해결법 📦

  • import { something } from 'enum.json' 와 같은 named export 방식은 곧 지원되지 않음.

  • JSON 모듈은 기본적으로 default export이므로 js import data from 'enum.json'

    형태로 import 해야 경고 해결 가능.

  • import * as something from 'enum.json' 방식은 가능하나 상황에 따라 다름.

  • 관련 공식 문서 참고: Toast UI JSON 모듈 관련

8. MacBook Air vs Pro, 개발용 하드웨어 고민 💻

  • 맥북 에어도 M1이나 16GB RAM 모델은 프론트엔드, 백엔드 개발 용도에 적합하다는 평가.
  • Xcode를 이용한 앱 시뮬레이터 구동에는 약간 부담이 있으나 비교적 무난.
  • 맥북 프로는 멀티태스킹, 서버 가상화, 무거운 개발 환경에 유리.
  • 배터리 및 발열 측면에서 M1 시리즈는 좋은 평가.
  • 색상과 모델별 디자인 선호도 토론도 활발.

9. React 쿼리와 Zustand 조합, 상태관리 트렌드 ⚛️

  • React 19 + TypeScript + Vite 프로젝트에 shadcn/ui, TailwindCSS 같이 UI 라이브러리 활용 권장됨.
  • 전역 상태관리로는 TanStack Query(리액트 쿼리)와 Zustand가 많이 사용되고 있음.
  • 전역 상태가 꼭 필요하지 않으면 도입을 신중히 고려하길 권함.
  • 전역 상태관리는 프로젝트 규모와 팀 필요에 따라 달라지므로 가볍게 시작 후 필요 시 추가하는 방식 추천.

10. 기타 Q&A 및 잡담 🎙️

  • 프리랜서에서 정규직 전환 경험자 및 면접 관련 이야기.
  • iOS에서 framer-motion 성능 저하 경험 공유 - 라이브러리 자체가 무거워 대체 가능성 탐색 요구.
  • 모달창 구현 시 라이브러리 활용 권장, 라이브러리 참고해 직접 커스터마이징도 좋은 방법.
  • AI 모델 개발자 양성과정, 부트캠프, 학위 및 시장 동향 공유.
  • 질문 태도와 대답하는 선배의 태도에 관한 서로의 팁과 농담도 오고감.

면접팁⚡

  • AI 및 ML 분야 면접에서는 transformer 개념 이해, learning rate 최적화, TensorFlow 활용 경험 등이 중요.
  • 부트캠프용 학습 내용만으로는 잡 매칭이 어려울 수 있음.
  • 본인의 연구 경험이나 프로젝트 역량을 면접 중 구체적으로 설명할 수 있어야 함.
  • 질문이 불분명하거나 자주 묻지 않는 태도는 마이너스 평가 요인일 수 있음.

링크🔗

#AI도구#React#useImmer#상태관리#신입개발자#브라우저탐지#배포버전관리#맥북#프론트엔드#개발툴