react 썸네일react

2024-10-05

목차

  1. React Native 업데이트와 Expo 이슈
  2. React Native와 크로스플랫폼 개발 고민
  3. Next.js 최신 버전과 웹 개발 동향
  4. AI 도구 활용과 개발 생산성
  5. 한글 검색 구현 및 Fuse.js 소개
  6. Gradle과 iOS Objective-C 환경 이해
  7. CSS 퍼블리싱과 학습 자료 추천
  8. 개발자 경험과 AI 도움 활용법
  9. 커뮤니티 분위기 및 개발자 일상 토크
  10. 면접팁⚡

1. React Native 업데이트와 Expo 이슈

  • RN 0.76 버전에서 큰 업데이트가 예정되어 있어 사용자들이 혼란스러움.
  • Expo는 커뮤니티 주도로 프로젝트를 리딩하며, RN 코어와 Expo 코드 간 차이로 인해 혼란 발생 가능성 존재.
  • Expo Bare 워크플로우를 사용할 경우 RN 코어 스크립트가 많이 커스텀되어 복구 및 유지보수가 어려워짐.
  • Expo 팀이 하나의 기준을 잡고 발전시키길 기대하는 목소리가 큼.
  • Expo의 EAS(Expo Application Services) 빌드 자동화 기술에 대한 불만도 있음.
  • 배포 자동화와 안정적인 앱 컴파일 간 균형 필요성 제기됨.

Expo Application Services (EAS) 설명

  • EAS는 Expo가 제공하는 클라우드 기반 빌드 및 업데이트 서비스임.
  • 기존 CodePush와 비슷한 앱 업데이트 기능 제공하며, 클라우드에서 앱 빌드 자동화 가능.
  • 편리하지만 빌드 프로세스가 복잡해질 수 있고 RN 코어와의 호환성 이슈가 있음.

2. React Native와 크로스플랫폼 개발 고민

  • 두 플랫폼(iOS, Android)을 모두 지원해야 하기에 크로스플랫폼 프레임워크 사용이 많음.
  • Flutter는 React 경험자에게 더욱 친숙할 수 있음.
  • 언어 면에서 Android(Kotlin, Groovy), iOS(Objective-C, Swift, Ruby for Pods) 등 다양한 기술 스택이 혼재.
  • MVP(최소 기능 제품)을 빠르게 만들어 보고 시장 반응을 확인하는 접근법 권장.
  • 완벽한 서비스 개발보다는 핵심 기능에 집중하는 것이 효율적이라는 의견 다수.

3. Next.js 최신 버전과 웹 개발 동향

  • Next.js 15가 10월 말쯤 출시 예정이라 기다리는 개발자 많음.
  • Next 15 출시 전 React 19 버전도 관심받고 있음.
  • Next.js + Tailwind 조합이 생산성과 학습 측면에서 강력한 선택지로 언급됨.
  • Server Action 내에서 리다이렉트 처리 관련 질의 있었는데, 가능하면 서버에서 처리하는 게 효율적이라는 답변이 있었음.

4. AI 도구 활용과 개발 생산성

  • IntelliJ AI Assistant, GitHub Copilot, Cursor AI 등 AI 기반 코딩 도구들이 일상 개발에 도움을 줌.
  • AI를 통한 자동 commit 메시지 생성이나 코드 작성 지원이 생산성을 크게 향상시킴.
  • 다만 AI 답변에 헛소리가 포함될 수 있으니, 개발자가 이를 캐치할 수 있는 경험과 검증 능력이 필수임.
  • AI 활용은 단순 반복 작업에 적합하며, 새로운 아이디어나 구현 방법 의견 참고용으로 권장됨.
  • AI 학습보다는 본인 개념 이해와 확인 용도로 사용하는 게 바람직함.

5. 한글 검색 구현 및 Fuse.js 소개

  • React에서 한글 검색 구현 시 Fuse.js 같은 라이브러리를 활용하면 편리함.
  • Fuse.js는 fuzzy search(근사치 검색)를 지원, 완벽한 문자열 매칭이 아니어도 결과를 찾아줌.
  • 예를 들어 "사과", "바나나" 등 한글 단어 데이터 배열을 검색할 때 유용함.
  • 직접 필터링하는 방법 대비 더 정교한 결과 제공 가능.

6. Gradle과 iOS Objective-C 환경 이해

  • Gradle은 Android 빌드 시스템으로 Groovy 언어 기반 DSL(Domain Specific Language)를 사용.
  • build.gradle 파일 안에는 plugins, repositories, dependencies, task 등 일종의 클로저(함수형 블록)가 포함됨.
  • Groovy의 클로저는 Java 람다와 비슷한 개념으로 작동.
  • iOS에서는 Objective-C와 Swift가 혼용되고, CocoaPods는 Ruby를 사용해 의존성 관리를 수행.
  • 이러한 다양한 언어 및 빌드 도구를 이해하는 게 복잡하지만 필수임.

7. CSS 퍼블리싱과 학습 자료 추천

  • React 환경에서 CSS 퍼블리싱 구현이 어렵다는 의견 다수.
  • Zeplin과 같은 디자인 협업 툴을 활용해 퍼블리싱을 수월하게 할 수 있음.
  • CSS 공부는 자주 참으면서 연습하는 과정이 중요하다는 조언도 있음.
  • 참고할 만한 유튜브 채널이나 학습 사이트 공유 요청 많음.

8. 개발자 경험과 AI 도움 활용법

  • AI 기술 발전에 기대감이 크지만, AI가 모든 문제를 해결해주진 않음.
  • 개발자라면 기본 개념을 확실히 한 후 AI를 보조 도구로 활용하는 게 이상적.
  • AI가 제공하는 코드는 반드시 검증이 필요하며, 무비판적으로 신뢰하면 오류 발생 우려.
  • 소스코드 관리는 정형화된 방식이 필요함(zip 관리 방식은 비추천).

9. 커뮤니티 분위기 및 개발자 일상 토크

  • 일상의 소소한 이야기, 음향 장비 추천(Shure MV7, 예티 X), 사진 촬영, 가족 이야기 등 편안한 대화 포함됨.
  • 개발자 커뮤니티의 친근하고 유쾌한 분위기 엿볼 수 있음.
  • 개발 중간중간 휴식과 재미 요소가 중요하다는 메시지 전해짐.

면접팁⚡

  • React Native 업데이트 이슈 대응 경험: 어려운 RN 버전 업그레이드를 어떻게 진행했는지 구체적 사례 준비.
  • Expo Bare 워크플로우 이해: Expo와 RN 코어의 차이 및 build script 커스텀 경험 질문 대비.
  • Gradle DSL 이해: Android 빌드 시스템 구조와 Groovy 클로저 개념을 설명 가능해야 함.
  • Fuse.js 같은 라이브러리 활용법: 유저 친화적 검색 기능 구현 경험 공유.
  • AI 코딩 도구 활용법: AI 코딩 어시스턴트와 협업한 프로젝트 사례 및 AI 한계 인지 강조.

링크🔗

#ReactNative#Expo#NextJS#AIinDev#FuseJS#Gradle#ObjectiveC#CSS#개발생산성#크로스플랫폼