react 썸네일react

2023-10-30

목차

  1. 5G 통신업계와 현실적인 한계
  2. React 및 Frontend 개발 토론
  3. TailwindCSS 클래스명 관리법
  4. NPM과 Gatsby 관련 질문과 팁
  5. 비동기(async/await) 개념 이해하기
  6. 취업 및 면접 준비 이야기
  7. 로컬스토리지 토큰 관리 및 감지 방법
  8. VSCode 자동완성 문제 개선 팁
  9. 함수 선언 방식 (function vs 화살표 함수)
  10. 개발자 도구, 키보드, 업무 환경 토크

1. 5G 통신업계와 현실적인 한계 📶

  • 5G 서비스는 수익성이 낮아 통신사가 홍보에만 집중하고 벌금을 내는 경우도 있음.
  • 실제로 설치된 5G 장비들은 3GHz 대역을 사용하는 경우가 많아 초고속 인터넷 성능을 보장하기 어려움.
  • 대한민국 지리적 특성(작은 국토)과 통신사의 강력한 영향력 때문에 현실적인 개선이 쉽지 않음.
  • 미국처럼 넓은 지역에서 5G가 더 효율적으로 활용 가능하다는 의견이 나옴.

설명:
5G 네트워크는 기존 4G 대비 진일보했지만, 주파수 대역과 인프라 구축 비용으로 인해 초고속 성능을 모든 곳에서 체감하기 어렵다. 특히 고주파 대역(예: 28GHz)은 전파 도달 거리와 장애물 투과력이 낮아 촘촘한 기지국 설치가 필수인데, 국내 환경과 사업 구조에서 어려움이 크다.

2. React 및 Frontend 개발 토론 ⚛️

  • 백엔드 개발 중 IDE를 재시작해야 변경 사항이 적용되는 경우 빈번하다는 경험 공유.
  • React의 Modal 컴포넌트에서 ScrollView가 자연스럽게 동작하지 않는 문제 논의.
    • 스크롤이 끊기는 현상은 이벤트 호출 과다나 이벤트 전파 문제일 수 있어 TouchableWithoutFeedback 사용과 이벤트 막기에 대해 조언 받음.
  • React Query와 window 포커스 이벤트(onFocus) 활용 팁 공유.
  • Firebase 휴대폰 인증 React 연동 경험 및 질문.

설명:
React Native에서는 ScrollView 내부 터치 이벤트 처리 시 부모 ScrollView와의 이벤트 충돌로 스크롤이 뚝뚝 끊길 수 있다. 이를 해결하려면 TouchableWithoutFeedback 컴포넌트로 터치 이벤트 전파를 제어하거나, 이벤트 호출 빈도를 조절(예: 디바운스, 쓰로틀링)해야 한다.

3. TailwindCSS 클래스명 관리법 🎨

  • clsx, classnames 외에 @apply 기능도 자주 언급되었으나, 줄여 쓰는 용도는 권장하지 않음.
  • Visual Studio Code 확장 프로그램 tailwind-fold 추천 (단축키: Ctrl+Shift+A).
  • 클래스가 길 경우 멀티라인으로 작성하고, 유틸 함수로 묶어 관리하는 스타일 제안.
  • TailwindCSS 4.x에서는 더 개선된 기능이 기대됨.
  • 참고 링크: tailwind-fold VSCode 확장, @apply 문법 활용법

설명:
@apply는 TailwindCSS 내 유틸리티 클래스들을 CSS 내에서 재사용할 수 있게 도와주는 기능. 하지만 className이 너무 길거나 복잡할 때 단순하게 줄이기 위해 쓰면 코드 가독성 저하나 의도와 다른 스타일 적용 문제가 발생할 수 있으므로 주의해야 한다.

4. NPM과 Gatsby 관련 질문과 팁 📦

  • Git에서 소스 코드를 받고 나서 npm install 실행 후 보통 npm start 또는 npm run start로 프로젝트를 실행.
  • Gatsby의 경우, 전역에 gatsby-cli를 설치(npm install -g gatsby-cli)해야 명령어 인식 가능.
  • 이는 Gatsby 개발 가이드에 명확히 명시되어 있어 특수한 사례임.
  • package.json 내 scripts 섹션 확인 필수.

5. 비동기(async/await) 개념 이해하기 ⏳

  • 비동기 함수는 호출 후 결과를 별도로 처리해야 실행 결과를 받을 수 있음.
  • async는 함수 앞에 붙여 해당 함수가 Promise를 반환하도록 명시.
  • await는 Promise가 해결될 때까지 기다렸다가 결과를 받아 실행 흐름을 동기식처럼 만듬.
  • .then()과 .catch()를 사용해 Promise 결과를 다루는 방법도 있음.
  • 초보자는 먼저 .then() 방식부터 익히고 async/await로 넘어가는 것을 추천.

설명:
비동기 처리는 네트워크 요청, 타이머 등 시간이 걸리는 작업이 완료되기를 기다리는 방법이다. JS에서 Promise 객체는 비동기 작업 결과를 나타내며, async/await 문법은 코드를 더 읽기 쉽고 동기처럼 작성하게 해준다.

6. 취업 및 면접 준비 이야기 💼

  • 최근 공채 시장이 얼어붙음, 지원 예약과 마감 시점 짚음.
  • LG전자, 토스, 삼성전자 등 대기업 코딩테스트 난이도(백준 실버~골드 수준) 정보 공유.
  • 면접 시 레퍼런스 체크(과거 업무 협력자 평판 조회) 절차와 기간(1주일 내외) 안내.
  • 신입 지원 시 '가짜 신입'(경력은 좀 있지만 신입으로 지원하는 경우) 사례 언급.
  • 멘토나 사수가 없는 조직(특히 스타트업, 수평 조직)에서의 어려움과 극복 경험 공유.

7. 로컬스토리지 토큰 관리 및 감지 방법 🔐

  • 로컬스토리지에 저장된 토큰 삭제 시 실시간 감지가 어려움.
  • window의 storage 이벤트를 활용하면 타브라우저 창에서 스토리지 변경 감지 가능하지만, 현재 창에서는 직접 감지가 힘듦.
  • 주기적으로 (setInterval) 체크하거나 라우터 상위 컴포넌트에서 상태 모니터링 권장.
  • Redux Toolkit 등의 상태 관리 라이브러리를 함께 쓰면 상황에 따라 대응 가능.

8. VSCode 자동완성 문제 개선 팁 💻

  • JS 내장 함수(예: Math, toUpperCase) 자동완성이 안 될 때는 언어 서버 문제일 가능성 큼.
  • VSCode 언어 서버 재시작, Node.js 버전 확인, 혹은 TS(타입스크립트) 사용 권장.
  • Typescript는 JS에 비해 타입 추론이 더 좋아 자동완성 지원이 탁월함.
  • 확장 프로그램(Copilot 등) 활용도 추천.

9. 함수 선언 방식: function vs 화살표 함수(Arrow Function) ▶️

  • 컴포넌트 선언 시 function 키워드 사용 선호하는 경우가 있음.
  • 콜백 함수나 내부 로직에서는 화살표 함수 많이 쓰임.
  • 화살표 함수는 this 바인딩이 정적이며, 간결하게 표현 가능.
  • 일부는 커스텀 훅 리턴에 function 쓰는 게 가독성에 좋다고 추천.
  • 무분별한 화살표 함수 남용이 성능 저하나 디버깅 어려움을 초래할 수 있어 적절한 사용 권장.

10. 개발자 도구, 키보드, 업무 환경 토크⌨️🎧

  • 개발자들이 즐겨 쓰는 기계식 키보드 브랜드로 레오폴드, 키크론, 리얼포스, 해피해킹 등이 언급됨.
  • VSCode 라이트 테마(예: GitHub 테마)가 눈 건강에 좋다는 의견과 함께 자동완성 관련 이야기.
  • 업무 중 커피 소비량, 점심 메뉴 추천 AI 프로젝트 아이디어 등 친목도 나눔.
  • 마우스, 데스크 매트, 사운드바, 홈시어터 등 개발자 데스크 환경 관심도.

면접팁⚡

  • 면접 준비 시 회사별 공채 일정 꼼꼼히 확인하기. 잡플래닛, 사람인, 에브리타임 등의 커뮤니티 활용 추천.
  • 코딩 테스트 난이도는 해당 기업마다 편차 큼. 적어도 백준 실버 이상 문제 숙지 필수.
  • 레퍼런스 체크 기간을 감안해 빠른 피드백을 받고 싶은 경우, 평판관리 신경써야 함.
  • 신입 지원자도 경력 없이 실력을 적극 어필해야 하며, '가짜 신입' 상황도 존재함.
  • 멘토나 사수가 없는 조직에 대비해 자기주도 학습 및 문제 해결 능력 키우기.

링크🔗

#React#TailwindCSS#JavaScript#TypeScript#NPM#비동기#면접#VSCode#프론트엔드#개발팁