전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
이번 글은 리액트의 가상 DOM(Virtual DOM)과 재조정(Reconciliation) 과정을 구체적으로 살펴보는 글이다. 최근에 기술 면접을 보면서 관련된 질문을 받았는데, 스스로 만족스러운 답변을 하지 못했다고 판단해서 이번 기회에 좀 더 자세하게 알아보려고 한다. 리액트의 가상 DOM 리액트는 선언적인 API를 사용하기 때문에, 매번 어떤 변화가 일어나는지를 알기는 어렵다. 다만 우리는 리액트가 가상 DOM을 통해 브라우저의 모든 렌더 트리를 다시 다 그리지 않고, 이 중에 차이가 있는 부분만 다시 그리는 것을 알고 있고 이 과정이 비교(Diffing) 알고리즘을 통해 이루어진다는 것 까지 한 번쯤은 들어 보았다. 여기서 실제 DOM과 가상 DOM을 비교하는 과정을 재조정(reconciliat..
모임의 기원 오늘 글또라는 개발자 커뮤니티 분들과 라는 주제로 모임을 가졌다. 예전에 스탠포드 대학교 강의 중 CS007 Personal Finance For Engineer 라는 강의가 있는데 이 강의 슬라이드의 한국어 요약본을 우연히 보게 되었다. 평소에 재무관리에 대해서 관심은 있지만 기회가 없었던 나는 글또에서 한 번 관심사가 비슷한 분들과 모임을 해보기로 마음을 먹었다. 이 모임을 본격적으로 준비하면서, 슬라이드 내용은 있지만 강의를 들을 수가 없어서 엄청 깊이있는 주제를 다루기는 어렵다는 것을 알게 되었다. 그래서 가볍게 여러 주제로 오티 느낌으로 이 모임을 시작해 보기로 마음먹었다. 1월 11일 모임을 잘 마쳤고 오늘 나누었던 질문과 이야기들 중에 인상적이었던 내용들을 까먹기 전에 정리해 보..
2023년을 마무리 하는 시간이 어느덧 돌아오게 되었다. 이렇게 연말에 회고록을 쓰는 것도 벌써 6년째 진행 중이다. 개인적으로 가장 맘에 드는 연례 행사 중 하나여서 앞으로 계속 하지 않을까 싶은 생각이 든다. 지난 회고록은 아래 링크에서 확인해 볼 수 있다. Adios 2018 Adios 2019 Adios 2020 Adios 2021 Adios 2022 (Part 1. 회사편) Adios 2022 (Part 2. 개인편) 올해는 카테고리별로 나에게 있었던 일들과 이를 통해 내가 느꼈던 점들을 이야기 하는 방식으로 회고를 작성해 보도록 한다. 개발 굿닥 굿닥에서는 연초에 체크인 스쿼드로 시작을 했다가, 커넥트 스쿼드로 바뀌고, 그 다음 O2O 스쿼드로 바뀌면서 짧은 시간 두 번의 조직개편을 경험했다...
지난 여행 포스팅(Part 2.)에서 슬리핑 버스를 타고 달랏에 도착했다는 이야기까지 했었다. DAY 3 (9/29) 아침 6시에 슬리핑 버스에서 내려 그랩을 타고 미리 예약해 둔 숙소로 향했다. 우리가 이틀동안 머물렀던 숙소는 La Fleur Premium Central Apartment 이었다. 개인적으로는 깔끔하고 여러 여행 정보를 친절하게 잘 알려주어서 만족했던 숙소이다. 29일 아침 도착을 해서 얼리체크인을 했다. 원래 체크인은 오후 3시 정도에 해야 하는데 약간의 돈을 지불하면 오전에 바로 체크인을 할 수 있다고 해서 그렇게 했다. 체크인을 하고 씻고 조금 짐을 정리한 다음 우리는 바로 달랏의 첫 번째 여행지인 랑비앙산으로 이동했다. 랑비앙 산 (Đỉnh Langbiang) 랑비앙 산까지 달랏..
4.1 데드락 식사하는 철학자 문제(dining philosophers problem)는 데드락을 설명하는 유명한 예제이다. 여기서 설명하는 데드락의 원리는 다음과 같다. 왼쪽 포크가 비기를 기다렸다가 왼쪽 포크를 사용할 수 있는 상태가 되면 포크를 든다. 오른쪽 포크가 비기를 기다렸다가 오른쪽 포크를 사용할 수 있는 상태가 되면 포크를 든다. 식사를 한다. 포크를 테이블에 놓는다. 단계 1로 돌아간다. 데드락(deadlock) : 서로 자원(포크)이 비는 것을 기다리며 더 이상 처리가 진행되지 않는 상태 철학자 2명일 때 데드락 동시에 2명의 철학자가 왼쪽 포크를 들어 올린 뒤 오른쪽 포크를 계속 기다리게 되므로 더이상 처리가 진행 X 식사하는 철학자 문제는 스테이트 머신(state machine)에서..
지난 Part 1. 에 이어서 호치민 여행일기를 작성해 본다. DAY 2 (9/28) 호치민을 여행하면서 쌀국수를 참 많이 먹었다. 베트남어로 포(Phở) 라고 부르는데, 거의 하루에 한 번 씩은 쌀국수를 먹었다. 점심 : 포 헝 (Pho Hung) 사이공 우체국까지 보고 점심은 여기서 먹었다. 부이비엔 거리까지 그랩을 타고 가서 간 포 헝(Pho Hung) 이라는 식당이었다. 식당은 관광객들이 많이 다녀간 곳 답게 빠른 회전률과 분주함이 가득했다. 조용한 곳에서 천천히 식사를 하길 원하는 사람들에게는 추천하지 않는다. 테이블마다 라임, 야채 등이 손님이 없을 때에도 기본으로 깔려 있는 점이 신기했다. 우리는 기본적인 쌀국수 메뉴들을 시켰다. 사이즈는 스몰(S), 라지(L)가 있는데 10,000동 정도 ..
나는 지난 9월 추석 연휴 기간을 이용해서 4박 6일 베트남 호치민과 달랏 여행을 다녀왔다. 조금 늦었지만 여행을 다녀온 기록을 블로그에 정리해 보려고 한다. DAY 1 (9/27) 추석 연휴에 가는 여행이라 비행기 표는 2월 설날 즈음에 예약을 했었다. 베트남 항공의 이코노미 석을 예약했고, 그 때 기준으로도 왕복 기준 인당 60만원 대 정도가 나왔다. (여행 직전으로 가면서는 가격이 점점 올라서 우리가 지불한 비용의 2배 정도까지 올라갔던 것으로 알고 있다.) 여담으로 이 때 비슷한 기간, 가격대의 여행지로 몽골 울란바토르, 태국 방콕, 인도네시아 발리 등을 고려했었다. 결국 항공 일정과 여행 프로그램 등을 고려해서 30대 초반 남자 넷이 즐겁게 가성비 있게 갔다올 수 있는 곳이 베트남이라고 판단해서..
나는 평소에 개발 관련 서적을 많이 읽는 편이다. 서점에 가서 보기도 하고 지인들에게 추천을 받아 읽기도 한다. 그러던 중 최근에 눈길을 끄는 제목의 프론트엔드 개발 서적 한 권을 우연히 만나게 되었다. 바로 이 책이다. 나는 현재 회사에서 타입스크립트와 리액트로 웹 프론트엔드 개발을 하고 있다. 사실 이 스택은 나 뿐만 아니라, 굉장히 많은 회사에서 이미 표준으로 자리잡고 있는 스택이라 웹 프론트엔드 개발자로 취업을 하길 희망하는 취준생에게는 필수적이라고 보아도 과언이 아닐 것이다. 하지만 시중에 많은 리액트, 타입스크립트 책을 봐온 나로서는 아쉬운 점이 있었다. 크게 두 가지인데 첫 번째는 책이 너무 두꺼웠고, 두 번째는 책이 너무 어려웠다. 대부분 아쉬운 점은 1번 아니면 2번, 아니면 둘 다였다...
DevOwen
오웬의 개발 이야기