FEConf 2025
2025.feconf.kr
오늘 FEConf 2025( https://2025.feconf.kr/ )에 다녀왔다. 오랜만에 느껴보는 콘퍼런스의 활기찬 공기가 좋았다. 전반부에는 흥미로운 세션들을 찾아다니고, 후반부에는 여러 참가자와 이야기를 나누며 업계의 생생한 이야기를 들을 수 있었다.
들었던 세션 중에서도 유독 리액트 컴파일러에 대한 이야기가 기억에 남는다. 처음 접하는 주제였지만, 연사께서 얼마나 깊이 고민하고 준비했는지가 느껴져서인지 푹 빠져서 들을 수 있었다.
리액트의 기본 동작 모델은 상태(state)가 변하면 해당 컴포넌트와 그 자식들까지 전부 다시 렌더링하는 것이다. 이 모델은 UI를 상태의 함수로 보는 선언적 프로그래밍을 가능하게 했지만, 때로는 불필요한 리렌더링을 일으켜 성능 문제를 낳기도 했다.
이를 해결하기 위해 리액트는 useMemo나 useCallback 같은 API를 이용한 메모이제이션 기법을 제공한다. 하지만 솔직히 말해 이 작업은 꽤나 지루하고, 실수하기 쉬우며, 관리해야 할 코드만 늘리는 귀찮은 일이기도 했다. 리액트 컴파일러는 바로 이 귀찮은 메모이제이션을 자동화하여, 개발자가 더 단순한 코드를 작성하면서도 뛰어난 성능을 얻을 수 있도록 돕는 도구라고 이해했다.
처음에는 (타입스크립트/자바스크립트)/JSX 코드를 최적화된 자바스크립트 코드로 바꾸는 것이니 트랜스파일러를 왜 컴파일러라고 이름을 붙인거지라는 의문이 들었다. 하지만 독자적인 중간 표현(HIR)을 통해 코드의 의미를 깊이 분석하고 최적화하는 과정을 듣고 나니, 컴파일러라고 부를만 하다는 생각도 들었다. 사실 이 도구를 뭐라고 부르든 본질은 변하지 않는다. 덕분에 리액트 사용자들은 성능 최적화라는 공짜 점심을 먹을 수 있게 되었다는 점이다.
세션 종료 후 다음은 목적지를 찾아보려고, 세션 목록을 둘러보니 의외로 리액트에 대한 세션이 많지 않다는 점을 알았다. 국내 최대 프론트엔드 콘퍼런스이고, 리액트가 사실상 업계 표준처럼 쓰이는 것과 리액트 19가 24년 연말에 출시된 것을 고려하면 조금 의외였다. 하지만 이내 고개를 끄덕였다. FEConf는 리액트 콘퍼런스가 아니니, 오히려 다양한 주제가 다뤄지는 것이 더 건강하고 올바른 방향이라는 생각이 들었다.
올해로 벌써 세 번째 참여하는 FEConf였다. 이번에도 많은 것을 배우고, 즐겁게 네트워킹하며 좋은 기운을 얻어 간다. 매년 이런 멋진 행사를 준비하고 운영하는 모든 분에게 진심으로 감사와 응원의 마음을 전한다.
다음 내용이 궁금하다면?
이미 회원이신가요?
2025년 8월 23일 오전 11:57