목차
- 5G 통신업계와 현실적인 한계
- React 및 Frontend 개발 토론
- TailwindCSS 클래스명 관리법
- NPM과 Gatsby 관련 질문과 팁
- 비동기(async/await) 개념 이해하기
- 취업 및 면접 준비 이야기
- 로컬스토리지 토큰 관리 및 감지 방법
- VSCode 자동완성 문제 개선 팁
- 함수 선언 방식 (function vs 화살표 함수)
- 개발자 도구, 키보드, 업무 환경 토크
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 프로젝트 아이디어 등 친목도 나눔.
- 마우스, 데스크 매트, 사운드바, 홈시어터 등 개발자 데스크 환경 관심도.
면접팁⚡
- 면접 준비 시 회사별 공채 일정 꼼꼼히 확인하기. 잡플래닛, 사람인, 에브리타임 등의 커뮤니티 활용 추천.
- 코딩 테스트 난이도는 해당 기업마다 편차 큼. 적어도 백준 실버 이상 문제 숙지 필수.
- 레퍼런스 체크 기간을 감안해 빠른 피드백을 받고 싶은 경우, 평판관리 신경써야 함.
- 신입 지원자도 경력 없이 실력을 적극 어필해야 하며, '가짜 신입' 상황도 존재함.
- 멘토나 사수가 없는 조직에 대비해 자기주도 학습 및 문제 해결 능력 키우기.
링크🔗
- tailwind-fold VSCode 확장
- TailwindCSS @apply 문법 활용법
- MSW (Mock Service Worker) GitHub
- JavaScript Async/Await 설명 (javascript.info)
- Visual Studio Code Monokai Pro 테마 확장
- TSDoc 공식 사이트
- GitHub Ink (Node.js CLI component lib)
- Apple HomePod Mini 소개
- Velog - 유용한 리액트 패턴 5가지
- YouTube - 리액트에서 arrow function vs function
- 네이버 IT 개발직군 채용공고 오픈카톡방 (참고용)
#React#TailwindCSS#JavaScript#TypeScript#NPM#비동기#면접#VSCode#프론트엔드#개발팁