본문 바로가기

전체 글

(71)
학문을 대하는 바람직한 자세 최근 다시 대학에 돌아와서, 마지막 학기를 보내고 있다. 막학기인지라, 내가 원하는 과목들을 들으며 아주 즐겁게 학문을 하고 있다. 경제, 컴퓨터과학, 철학 과목들을 수강 중이다. 다양한 과목들을 근본부터 들으니, 어떻게 학문을 대해야 하는지, 좋은 생각이 솟구친다. 나의 현 상황을 서술하는 것이 이해에 도움이 되리라고 생각한다. 나는 현대 프로그래밍 언어는 잘 다룰 줄 아는데, 컴퓨터과학의 근간인 기계어, 어셈블리어, C언어 등은 잘 모른다. 나는 현대 철학인 실존주의에 대한 이해는 높은 편인데, 고전철학, 근대철학에는 그렇지 않다. 나는 SQL 은 다룰 줄 아는데, 데이타베이스 이론은 잘 모른다. 위 사례들이 잘못 되었음을 말하고자 하는 것은 절대 아니다. 나는 실용주의적, top-down 학습법이 ..
네 석공 이야기 탈무드에 나오는 세 석공 이야기가 있다. 어느 날, 세 석공이 공사장에서 열심히 돌을 다듬고 있었다. 지나가던 노인이 그들에게 왜 일을 하느냐고 물었다. 첫 번째 석공은 한숨을 내쉬며 죽지 못해 일한다고 하였다. 두 번째 석공은 가족의 생계를 위해 일한다고 하였다. 세 번째 석공은 웃으면서, 아름다운 성당을 짓기 위해 즐겁게 일한다고 하였다. 이 이야기는 일에 의미를 부여하는 것의 중요성을 시사하는 소재로 자주 사용된다. 하지만 과연 일에 의미를 부여하는 자가, 가장 일을 즐기는 사람일까? 나는 지극히 세 번째 석공 부류의 인간이다. 일에 큰 의미를 부여한다. 진로를 탐색할 때도 의미에 이끌려서 이리저리 찾아다녔다. 나에게 가장 큰 의미는 선한 영향력이었다. 그렇지만 내가 동료들 사이에서 가장 일을 즐기..
Optimality 만큼이나, Approximation 이 중요하다. Computer Science 에서 알고리즘 문제를 푸는 방법 중 하나로 Approximation algorithm이 있다. 계산해야할 것이 너무나 많아서, 주어진 시간 안에 Solution 을 찾지 못 하는 경우에 사용할 수 있는 미봉책이다. 가령 해결책을 찾기 위해서 10^8! (1억 팩토리얼)번 순회해야 한다고 해보자. 일반적인 Computing power 로는 완료할 수 없는 연산이다. 그럴 때, Optimal Solution 을 찾으려고 하는 것이 아니라, Approximation 을 통해서 근사적으로, Optimal 과 가까운 결과를 얻으려고 할 수 있다. 그렇게 함으로써 현실적인 시간 안에 답을 구하지 못하는 문제를, 차선의 답을 구할 수 있도록 바꿔낸다. 이 CS 이론이 너무나 현실적이고,..
글또 9기를 돌아보며 이번에 6개월간 글또에 참여했고, 오늘 회고를 써보려고 한다. 글또 커뮤니티는 글쓰는 또라이 의 줄임말이다. 글쓰는 개발자 모임이고, 돈을 걸고 2주마다 하나의 글을 제출하려고 모인 집단이다.쓴 글 수6개월동안 총 14개의 글을 썼다. 기술글 3개와 비기술글 11개를 썼다. 프론트엔드 직무로 들어왔기 때문에, 비기술글은 쓰고도 제출하지 않은 글이 많다. 쓴글을 모아보자. 기술글ErrorBoundary 가 포착할 수 없는 에러와 그 이론적 원리 분석React CleanCode #2. UI Variation에 유연하게 대응하기React에서 중복호출(aka. 따닥)을 막는 완벽한 방법 비기술글토스에서의 1년을 돌아보며왜 사람마다 생각의 양과 질에서 차이가 나는가?2024-1 Self-integrity repo..
React에서 중복호출(aka. 따닥)을 막는 완벽한 방법 서언 안녕하세요. 최근에 퀄리티 높은 프론트엔드 제품을 만드는 것에 관심이 많은데요. 사소해보이는 디테일을 얼마나 능숙히 처리하느냐가 프론트엔드 개발자의 실력 척도 중 하나라고 생각했어요. 저는 여러 원칙들을 세우고 있지만, 오늘은 중복호출 (aka 따닥)을 방지하는 완벽한 방법을 탐구해볼 것입니다. 문제인식 서비스를 개발하다가, 중복호출이 발생해서 여러 문제가 발생하는 경우가 있습니다. 결제 요청이 2번 들어갈 수도 있고, 게시물 작성이 2번 될 수도 있고, 댓글이 2번 써질 수도 있습니다. 이로 인해 비즈니스적으로도 영향을 미칠 수도 있습니다. 작게는 서버 에러 수가 많아져서, noisy 해질 수 있죠. 이만큼 중요도가 높고, 프론트엔드 퀄리티에 큰 역할을 한다고 생각했는데요. 실제로 저도 명확한 해..
왜 사람마다 생각의 양과 질에서 차이가 나는가? 사람들을 만나고 얘기하다 보면 드는 생각이 있다. 사람마다 생각의 양과 질의 관점에서 차이가 있다는 것이다. 이를테면 특정 현상을 보고 어떤 이는 A라는 것을 느낄 수 있지만, 어떤 이는 A를 아예 생각조차 할 수 없다. 그리고 특정 현상을 보고 어떤 이는 피상적인 생각을 떠올리고, 어떤 이는 구체적이고 깊은 생각을 할 수 있다. 이 격차는 사실 모든 차이를 결정한다. 직업의 차이, 봉급의 차이, 풍요로움의 차이, 의사결정의 차이, 현명함의 차이 등. 생각의 격차가 태어나면서 모두 결정되는 것은 당연히 아니다. 후천적으로 충분히 개발될 수 있는 영역이다. 이 글에서는 어떻게 생각의 격차가 발생하게 되는지 고찰해본다. 나는 21살에 내가 무시받는게 상당히 싫었다. 그때의 나는 (어리석을 수 있지만) 이미 ..
React CleanCode #2. UI Variation에 유연하게 대응하기 서언 안녕하세요. React CleanCode 2번째 시리즈로 찾아왔습니다. 저는 토스 공동구매 팀에서 약 1년간 커머스 제품을 운영해왔는데요. 제품이 디벨롭 되면서, 상품 컴포넌트는 더욱 복잡해지고, 많은 Variation 이 생겼어요. 그러면서 일명 스파게티 코드를 만들게 되었어요. 사용처에서 유연하게 사용이 어렵고, 장애 확률이 높고, 새로운 기능 추가가 어려웠어요. 이를 유지보수하기 쉬운 코드로 리팩터링한 경험을 공유하려고 해요. UI Variation에 고통 받고 계신 분들이 읽으면 도움이 될 것입니다. 목차 컴포넌트가 스파게티가 되어가는 과정 개선 방향성 개선 언제 사용하면 좋은가요? 마치며 부록 : Compound component pattern 인가요? 컴포넌트가 스파게티가 되어가는 과정 ..
2024-1 Self-integrity report 서언 이 글은 나라는 사람의 Integrity 를 점검하는 글이다. Integrity 는 “진실성” 이라는 의미로 번역된다. 즉, Self Integrity 라는 이름으로 내가 나에게 얼마나 진실한가? 얼마나 나다움을 실현하고 있는가? 에 대해 이야기해보려고 한다. 앞으로 주기적으로 작성해볼 것이다. 왜 작성하는지 먼저 짚고 넘어가보자. 이는 삶의 근본적인 부분을 주기적으로 고민하기 위함이다. 내가 의식하지 못 한 채 나이가 들어버리고, 과거를 후회하는 삶을 방어해주는 장치이다. 이것도 회고의 일종이지만, 단순히 일정 시간동안 잘한 점/아쉬운 점/개선할 점 을 분석하는 것이 아니다. 현재의 시간을 초월하여, 내가 현재 가진 직업과 생각, 모든 것을 초월하여, 근본부터 생각하고 나를 점검해가는 시간이다. ..
세상을 보는 창 "아는 만큼 보인다" 라는 격언이 있다. 같은 현상을 보더라도, 무엇을 / 얼마나 아느냐에 따라서 관점이 달라진다. 즉, 지식이 세상을 보는 창이다. 어떤 이는 과학으로, 어떤 이는 역사로, 어떤 이는 철학으로, 어떤 이는 사회학으로, 어떤 이는 경제학으로, 어떤 이는 경영으로 세상을 바라본다. 예시를 들어보자. 산업 혁명이라는 하나의 사건을 다양한 시각에서 바라볼 수 있다. 철학으로는 데카르트의 합리론, 법학으로는 특허법, 역사로는 인클로저 운동, 등을 가지고 바라볼 수 있다. 각 분야는 각기 다른 관점을 가지고, 다른 배울 점을 제공한다. 우리의 일상도 같다. 사람의 행동을 이해하려면 많은 도구가 필요하다. 이를테면 심리학에 대한 이해가 필요하다. 이 중에서도 자기방어, 열등감 등에 대한 심도있는 이..
토스에서의 1년을 돌아보며 서언 토스에서 Frontend Developer로 일한 지 1년이 지났다. 정말 밀도 높은 한 해를 보냈다. 매일을 살아가는 것도 중요하지만, 과거를 숙고하는 것이 기반이 되어야 한다. 내가 지금 어디에 있고 앞으로 어디로 가야 할지를 생각해야 한다. 이게 내 삶에서 자정 역할을 해왔다. 오늘도 잠깐 멈춰서서 1년을 돌아보고, 나아갈 길을 정의해볼 생각이다. 글 형식은 토스에서 인상 깊었던 요소를 써내려가며 느낀점을 쓰는 형식으로 해보겠다. 목적조직 토스는 목적조직 문화를 가진다. 목적조직은 직무와 상관없이 목표를 이루기 위해 팀원이 모이는 조직형태를 의미한다. 이게 토스에서 일하는 것이 즐거운 이유 중 하나라고 생각한다. 내가 토스에 합류한 이유이기도 하다. 그래서 대개 한팀에 직무 별로 1명씩 배치된..