목차
- React forwardRef와 ref 전달 방식
- Next.js Open Graph(OG) 이미지 문제 해결
- React 대시보드 프레임워크 선택 고민과 추천
- 결혼식 대화 및 관련 문화 공유
- React 코드와 HTML 분리 관련 토론
- CSS 애니메이션으로 스크롤 기반 인터랙션 구현하기
- 알고리즘 점화식의 빅오 표기 vs 빅세타 표기 논의
- 깃허브 오픈소스 프로젝트 홍보 및 커뮤니티 활동
- React 라이브러리 및 프레임워크 장단점 비교
- 기타 개발자 소소한 일상 및 질문 공유
1. React forwardRef와 ref 전달 방식
- React 컴포넌트에서 ref를 하위 컴포넌트에 전달하려면 forwardRef로 감싸줘야 함.
- forwardRef를 사용하지 않으면 ref가 전달되지 않아 에러가 발생함.
- 단, ref가 아닌 다른 이름의 props로는 별 문제 없이 전달 가능함.
- 초보자의 경우 ref의 역할과 forwardRef의 필요성을 이해하는 게 중요함.
- ref: React에서 DOM 요소나 클래스형 컴포넌트 인스턴스에 직접 접근할 때 쓰는 특별한 prop임.
- forwardRef: ref를 명시적으로 자식 컴포넌트에 전달해줘야 할 때 사용하는 React API.
2. Next.js Open Graph(OG) 이미지 문제 해결
-
Next.js 프로젝트 배포 시 OG 이미지가 하얗게 뜨는 문제 발생 사례 공유.
-
원인은 배포된 도메인 경로(metadataBase 설정)가 맞지 않아서임.
-
해결법은 metadataBase를 배포 URL로 지정하고, OG 이미지 URL도 절대경로로 설정하는 것.
-
예시:
js export const metadata = {
metadataBase: new URL("https://www.yoururl.com"),
openGraph: {
images: [{ url: "https://www.yoururl.com/og-image.png" }],
...
}
} -
배포 도메인과 이미지 경로 문제를 꼭 체크해야 OG 미리보기 정상 동작함.
3. React 대시보드 프레임워크 선택 고민과 추천
- React에서 대시보드 UI를 만들 때 여러 라이브러리가 있음:
- MUI (Material-UI)
- Ant Design (antd)
- React Admin 등
- Semantic UI React
- TailwindCSS 기반 커스텀 또는 shadcn UI 등
- MUI: 가장 스타가 많으며, 모바일 최적화가 잘 되어 있지만 PC 대시보드에선 커스터마이징이 다소 번거로울 수 있음.
- Ant Design: 많이 쓰이나 버그, 기여 관리 문제 등으로 불만 있음.
- React Admin: Backend provider를 제공해 대시보드 구축에 적합함.
- shadcn UI: Tailwind 기반으로 문서가 잘 정리되어 있고 최근 인기가 높음.
- 대시보드 프레임워크를 고를 때는 프로젝트 요구사항과 개인 취향, 성능 고려 필요함.
- 프레임워크가 무겁다면 Tailwind 등으로 직접 만드는 것도 대안임.
4. 결혼식 대화 및 관련 문화 공유
- 결혼식 시간은 보통 1~2시간 정도임.
- 식사 여부에 따라 총 시간과 비용이 달라짐.
- 축의금과 식사 관련 에피소드 다수 공유됨 (민초단 유머 포함).
- 개발자들 사이에서는 결혼식 문화 이야기가 친근한 소통 소재임.
5. React 코드와 HTML 분리 관련 토론
- JSX 내에 로직과 마크업이 섞이는 점을 불편해 하는 질문 있었음.
- 대안으로는:
- 로직은 컴포넌트 상단으로 분리
- 스타일 관련은 CSS 또는 스타일링 라이브러리 활용
- 혹은 Vue 같은 다른 프레임워크 시도 추천
- JSX는 자바스크립트 안에 XML 형태 마크업을 작성하는 React 문법임.
- 전통적인 HTML+JS 분리 방식과 다르게, UI 컴포넌트에 필요한 로직과 마크업을 한 곳에 모으는 장점 있음.
6. CSS 애니메이션으로 스크롤 기반 인터랙션 구현하기
- 텍스트를 중앙 고정시키고 스크롤 시 크기 변경 및 애니메이션 효과를 주는 기능 문의.
- CSS 키프레임 애니메이션과 바닐라 JS(순수 JS)로 충분히 구현 가능함.
- 스크롤 인터랙션은 종종 디자이너와 긴밀히 협업 필요하며 복잡한 경우 JS와 CSS 애니메이션을 혼합 사용.
7. 알고리즘 점화식의 빅오 표기 vs 빅세타 표기 논의
- 점화식에 따른 시간복잡도 표기 시 빅오 표기법과 빅세타 표기법 중 어떤 게 올바른지 질문.
- 빅오 표기법은 상한을 나타내고, 빅세타는 정확한 성장률을 나타냄.
- 알고리즘 분석 시 어떤 상황에서 어느 표기를 쓸지에 대한 기본 이해 필요.
8. 깃허브 오픈소스 프로젝트 홍보 및 커뮤니티 활동
- 한 개발자는 문장과 글의 연관성을 분석하는 라이브러리를 개인, 조직으로 운영 중임.
- 활동 독려 및 팔로우, 스타 부탁하는 모습도 있음.
- 오픈소스 참여, 이슈 제기, PR 등 적극적인 커뮤니케이션과 협력이 중요함.
- 깃허브 내 인기 프로젝트와 신생 프로젝트들의 스타 수 비교도 있었음.
9. React 라이브러리 및 프레임워크 장단점 비교
- MUI: 스타 수 최고, 모바일 친화적, 커스터마이징 번거로움 존재.
- Ant Design: 인기 많지만 버그와 기여 문제로 불만도 있음.
- shadcn UI: 신흥 대세, Tailwind 기반, 문서 잘 되어 있음.
- React Admin: Backend provider 제공, 어드민 대시보드에 특화됨.
- 선택 기준은 프로젝트 성격, 사용자 경험, 개발 편의성 등을 고려해야 함.
10. 기타 개발자 소소한 일상 및 질문 공유
- 맥북 프로 M2 8코어 16GB 512GB 구성 가격 적절성 문의
- Udemy 할인 시기 질문과 경험 공유
- React에서 코드를 시각화하는 방법 고민
- 소소한 음식 추천과 개발자 밈 공유
- 개발자들의 활발한 대화와 소통이 느껴지는 분위기
면접팁⚡
-
React forwardRef 이해하기
- ref가 어떤 상황에서 필요한지와 forwardRef를 왜 사용하는지를 정확히 설명 가능해야 함.
- ref 전달 실패 시 발생하는 문제점을 사례와 함께 이야기하면 좋음.
-
Next.js에서 메타데이터 관리
- OG 이미지 등 메타데이터 설정 시 배포 도메인 주소를 정확히 인식시키는 방법을 알고 있으면 강점.
-
UI 라이브러리 선택 이유 논리적으로 설명하기
- MUI vs Antd vs shadcn 같은 라이브러리를 프로젝트 특성에 맞게 비교 분석하는 능력 보여주기.
- 문제점과 한계도 솔직하게 언급하는 성숙한 자세를 보일 수 있음.
-
JSX와 코드 분리 고민
- JSX 내 코드 집중에 대한 장단점 이해와, 만약 다른 분리 방식을 추천할 경우 그 이유를 말할 수 있어야 함.
링크🔗
- React Admin: https://marmelab.com/react-admin/ (https://github.com/marmelab/react-admin)
- Ant Design: https://ant.design/ (https://github.com/ant-design/ant-design)
- Semantic UI React: https://react.semantic-ui.com/ (https://github.com/Semantic-Org/Semantic-UI-React)
- shadcn UI: https://ui.shadcn.com/ (https://github.com/shadcn-ui/ui)
- MUI(Material-UI): https://mui.com/ (https://github.com/mui/material-ui)
- 관련 YouTube Shorts 영상
- 개인/조직 깃허브 프로젝트:
#React#forwardRef#Nextjs#OpenGraph#UI프레임워크#대시보드#CSS애니메이션#오픈소스#깃허브#개발자토크