[서론: 이 사양으로 넷플릭스만 볼 순 없지]
퇴근하고 집에 와서 내가 하는 일이라곤 뻔하다.
뷰소닉 4K 빔프로젝터 켜고, Q950R 사운드바 웅장하게 틀어놓고 넷플릭스나 뒤적거리는 것. 아니면 PS5 켜서 게임 좀 하다가 잠드는 게 일상이다.
내 방에 있는 메인 PC 사양을 보면 가끔 한숨이 나온다. CPU는 5700X3D, 그래픽카드는 무려 RTX 3080 Ti다.
이 엄청난 녀석을 데리고 고작 웹서핑이나 하고 있다니... 새벽마다 글카가 "주인님 제 성능 좀 써주세요" 하고 우는 것 같다.
그러던 중, 개발자인 친구(ophelisis)가 블로그에 **'React(리액트) 강의'**를 연재하기 시작했다는 소식을 들었다.
"야, 너 그 장비로 생산적인 것 좀 해봐. 블로그 스킨 직접 만들 수 있다니까?"
귀가 얇은 나는 또 솔깃했다. 40대 되고 머리도 굳어가는 것 같은데, 이참에 두뇌 풀가동 한번 해봐?
그래서 시작한다. 장비빨로 밀어붙이는 아재의 React 독학기.
오늘의 교재: 친구 블로그
Step 1. React란 무엇인가?: 왜 우리가 React를 배워야 할까?
Step 1. React란 무엇인가?: 왜 우리가 React를 배워야 할까?
안녕하세요, 예비 프론트엔드 개발자 여러분! 오늘부터 가장 인기 있는 JavaScript 라이브러리 중 하나인 React의 세계로 함께 뛰어들게 됩니다. 첫 포스팅에서는 React의 정의와 핵심 철학, 그리고 왜
ophelisis.tistory.com
[본문 1] 라이브러리 vs 프레임워크? (feat. 콘솔 vs PC)
친구 녀석 글을 읽어보니 첫 번째 주제가 **"React는 프레임워크가 아니라 라이브러리"**란다.
개발자들끼리는 이게 중요한 족보 논쟁인 모양인데, 게임 좋아하는 내 식대로 해석해 봤다.
- 프레임워크 (Framework) 이건 마치 **'플레이스테이션(PS5)'**나 '대기업 완본체 PC' 같다. 제조사가 정해준 규격, 정해준 옵션 내에서만 놀아야 한다. 안정적이고 편하지만, 내가 원하는 대로 뜯어고치는 맛이 없다.
- 라이브러리 (Library) 이게 바로 '커스텀 수랭 조립 PC' 감성이다. 케이스부터 쿨러, 램 타이밍까지 내 맘대로 세팅한다. 내가 필요한 부품(기능)만 드래곤볼 모으듯 가져와서 조립하는 방식이다.
친구 말로는 **React가 바로 이 '라이브러리'**라고 한다.
남이 정해준 그래픽 옵션으로 게임하는 건 딱 질색인데, 내 입맛대로 최적화할 수 있다는 점에서 일단 합격이다. (물론 램 오버하다가 부팅 안 되는 것처럼, 코딩하다 에러 터질 미래가 훤하긴 하다.)
[본문 2] Virtual DOM? DLSS 같은 건가?
이론 부분에서 가장 핵심이 **'Virtual DOM(가상 돔)'**이라는데, 설명이 좀 어렵다.
"화면을 바로 갱신하지 않고 가상에서 먼저 계산한 뒤 바뀐 것만 반영한다..."
곰곰이 생각해 보니 이거 게임 그래픽 옵션의 '더블 버퍼링'이나 'DLSS' 기술이랑 비슷한 느낌이다.
144Hz 주사율 방어하려고 프레임 렌더링할 때, 화면 전체를 무식하게 매번 새로 그리면 GPU 부하가 걸린다.
그래서 움직임이 있는 오브젝트만 새로 그리고 배경은 그대로 두거나, 백그라운드(Virtual)에서 미리 다 그려놓고 모니터(Real)에 한 번에 쏴주는 방식. 그래야 '렉'이 안 걸리니까.
결국 React를 쓰는 이유는 **"최적화"**와 "퍼포먼스" 때문이라는 결론을 내렸다.
게임할 때 프레임 드랍 1이라도 생기면 못 참는 성격인데, 웹사이트도 버벅거리는 꼴은 못 보지. 아주 마음에 드는 기능이다.
[결론] 1일 차: 이론은 완벽했다
오늘은 일단 친구 글을 보며 개념만 잡았다. 솔직히 흰 바탕에 검은 글씨만 보려니 좀 졸리긴 했는데, 내가 평소에 다루는 장비들의 원리를 대입해 보니 얼추 이해가 간다.
다음 시간(Step 2)에는 드디어 설치를 해본다고 한다.
내 PC엔 3080 Ti가 꽂혀있다. 사이버펑크 2077도 풀옵으로 돌리는데, 고작 코딩 프로그램 설치하는 게 대수겠어?
"Hello World" 띄우는 속도만큼은 현직 개발자보다 내가 더 빠를 거라 확신한다.
내일은 퇴근하고 4K 모니터에 코드 띄워놓고 본격적으로 키보드 좀 두드려 봐야겠다.
[다음 편 예고] 친구야, 근데 이거 설치하다가 블루스크린 뜨면 AS 해주냐?