전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
지난 3월 26일 패스트캠퍼스에서 주최한 캠프콘 이라는 개발자 온라인 컨퍼런스에 연사로 참여를 했다. 주제는 이라는 주제로, 내가 생각하는 2024년 웹 프론트엔드 개발자로 취업/이직을 준비하는 분들이 알면 도움이 될 만한 트렌드와 실질적인 가이드를 담았다. 처음에 패스트캠퍼스 측에서 연사 제안을 받고, 어떤 주제로 이야기를 하는 것이 좋을까 고민을 많이 했었다. 당시 나도 이직 준비를 하고 있었고, 스스로 생각하기에도 엄청 대단하게 할 이야기가 없다고 생각을 했었어서 과연 참가자 분들께 어떤 이야기가 도움이 될 지 주제 선정 하는데 시간이 참 오래 걸렸던 것 같다. 캠프콘 대상이 주니어 프론트엔드 개발자와 취업 준비를 하시는 분들이셨고, 그분들이 이직, 취업을 하는 과정에서 도움이 될 만한 주제를 했으..
최근에 이직을 준비하며 이력서에 적어 놓은 apollo-client 관련해서 깊이 있는 질문을 다소 받았다. 익숙하게 쓰는 스택이어서 원리나 트레이드 오프 등에 대해서 생각을 많이 안 했던 것 같아서 복습해 볼 겸 클라이언트에서 graphql을 처리하는 도구들을 비교해 보는 글을 작성해 보려 한다. Apollo Client 아폴로 클라이언트는 graphql로 로컬 및 원격 데이터를 관리할 수 있는 완전하게 기능을 제공하는 포괄적인 상태 관리 graphql 클라이언트이다. graphql 프로젝트가 오픈소스화된 직후인 2016년 meteor development group이 모든 프론트엔드 웹 프레임워크에 graphql 클라이언트 라이브러리를 구축할 계획으로 출시했다. 아폴로 클라이언트 라이브러리는 다음과 ..
이번 글은 리액트의 가상 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동 정도 ..
DevOwen
오웬의 개발 이야기