Developer
-
개발일지 (2월 회고)Developer History 2023. 3. 1. 09:39
Business 비즈니스 목표를 달성하고 비선형적인 "J커브형 성장"을 이루어내려면 안티프래질에서 이야기하는 "하방 압력은 작으면서 상방 압력은 비선형적으로 큰" 시도들이 자주 일어나야 한다고 생각했다. 다들 바쁜 상황에서 누군가를 말로 설득하는 것만으로는 실제 구체적인 행동으로 이어지기 어렵다는 것을 배웠고, 최근 도덕경에서 "개념화, 논리화의 위험성"에 대해 지적한 것이 생각나서 사내에서 작은 사이드 프로젝트를 직접 한번 진행해 보게 되었다. 3주 정도 진행한 프로젝트를 진행하면서 개인적으로 느끼는 바가 많았다. 크게 두가지 부분에서 중요한 통찰을 얻었는데, 아무리 작은 서비스더라도 혼자서 모든 부분을 다 챙길 수는 없다는 것(할 수 있지만 시간이 부족한 것이 아니라 못하는 것이었다)과, 내가 생각하..
-
Modern Frontend Infrastructure OverviewDevOps/Architecture 2023. 2. 12. 10:53
Overview 2022년, 모던 프론트엔드 개발 생태계를 주도하고 있는 React와 Next는 각각 새로운 Major 버전(React 18, Next13)을 Release 했습니다. React18에서는 Server Component와 Streaming HTML이라는 개념이 등장했고, 이를 FrameWork Level에서 지원하기 위해 Next13에서는 (아직은 Beta 버전인) App Directory라는 개념을 선보였습니다. 이 기능이 출시되자마자 이를 바로 작은 프로젝트에 적용해 보시면서 Pros / Cons를 이야기해 주시는 사내 시니어 프론트엔드 개발자분의 이야기를 듣다가. "어 그러면 기존의 React Application Component 일부분이 Server Component로 대체되면 기..
-
개발 일지 (1월 회고)Developer History 2023. 1. 29. 10:59
Reading 1월에 30권 정도의 책을 읽었다. 회사가 맞이한 위기를 타개하기 위한 지혜를 얻기 위해 비슷한 위기를 겪었고, 이를 잘 헤쳐나간 여러 기업들의 사례를 다룬 책들을 주로 많이 읽었고, 비슷한 맥락에서 난세를 헤쳐나가기 위한 조금 더 추상화된 지혜를 얻기 위해 병법서를 많이 읽었다. 읽고 싶은 책은 많고, 투자할 수 있는 시간에는 한계가 있기 때문에 모든 책을 처음부터 끝까지 읽는 방식에서 벗어나 나에게 지금 필요한 부분을 집중적으로 읽는 방법으로 책을 읽었다. 이렇게 책을 읽으면서 독서의 의미에 대해 다시 생각해 보게 되었다. 기존에 한 400권 정도까지 책을 읽을 때는 단순히 책을 읽고, 밑줄을 긋고, 이런 내용이 있군 하고 책 계정에 올리고 넘어갔다면, 확실히 최근에는 절실해져서 그런지..
-
리눅스 쉘은 어떻게 동작하는가 (brief explanation)Computer Science 2022. 11. 26. 21:53
Overview 개발하면서 자주 사용하게 되는 Shell 프로그램에는 Computer Science의 근간을 이루는 Process, Fork, I/O Redirection, File, Pipe, Signal 등의 중요한 개념들이 모두 포함되며, 이들의 논리적인 상호작용을 통해 사용자의 입력을 수행하고 결과를 출력합니다. 이들 각각의 요소와 Shell 프로그램의 코드를 하나씩 살펴보는 것은 하나의 포스팅에서 다 다루기 어려울 정도로 내용이 많기 때문에 이번 포스팅에서는 Shell 프로그램의 구체적인 구현 사항을 살펴보기보다는 Shell 프로그램이 동작하는 전반적인 그림에 대한 간략한 소개를 하려고 합니다. Shell을 이해하기 위해서는 앞서 언급했던 여러 Computer Science의 핵심 개념들을 이해..
-
Node.js + Puppeteer Memory Leak HandlingFrontend 2022. 11. 20. 14:51
Overview 콴다 팀에서는 수학 문제를 이미지가 아닌 Latex String의 형태로 저장합니다. 용량 측면에서도 그렇지만, 문제의 "유사도"를 측정하거나, 문제의 컨텐츠를 기반으로 사용자에게 알맞은 문제를 추천하는 데에 있어서는 이미지보다 스트링의 형태가 더 효율적이기 때문입니다. 하지만 결국 이 컨텐츠를 사용하는 학생들의 입장에서는 이 스트링이 올바르게 렌더 된 수식이 필요하기 때문에 이를 렌더 해주는 작업이 필요합니다. 이 수식을 라이브러리를 사용해서 user-side에서 사용자의 화면에 그대로 그려주는 방법도 있겠지만, 이는 클라이언트 사이드의 많은 리소스를 소모하게 됩니다. 게다가 웹뷰가 아닌 Native 환경에서는 수식을 렌더 하기 위해 엄청난 양의 폰트를 로드해야 하는데, 이는 결국 애플..
-
개발일지 (10월 회고)Developer History 2022. 11. 6. 09:47
Overview 10월까지만 해도 반팔을 입을까 얇은 긴팔을 입을까 고민했었던 것 같은데 11월이 되면서 꽤 쌀쌀해진 날씨와 함께 드문드문 단풍이 보이는 것 같다. 어쩌면 정신없이 바닥만 쳐다보며 살다가 한숨 돌릴틈이 생긴 이제서야 한번 하늘을 올려다본 걸지도 모른다. 항상 다음 달은 이전달보다 바빠왔지만 10월은 올해 들어 유난히 체감상 더 바빴던 달이기도 하다. Frontend 회사에서는 "내신기출 서비스" 출시를 앞두고 막판 스퍼트를 시작했다. 이런저런 프로모션 대응이나 서비스 제공을 위한 여러 웹뷰들, 그리고 이를 관리하고 문제 / 해설을 수급하는 어드민성 웹 페이지들을 만드는 작업들을 팀원들과 같이 진행하고 있는데, 그중에서 내가 비중있게 맡고 있는 작업은 Latex 수식의 형태로 들어있는 스트..
-
개발일지 (9월 회고)Developer History 2022. 10. 3. 22:27
전역과 복학 오지 않을 것만 같았던 34개월간의 산업기능요원 복무가 마무리되고 22년 9월 14일 자로 복무만료가 되었다. 병무청에서 별다른 안내를 해주지 않아서 만료된 거 맞나? 싶었지만, 병무청 앱을 들어가 보니 "예비군"이라고 표시되어 있었고 그제야 조금 실감이 났던 것 같다. 34개월의 복무를 마치고 나니 어느덧 4년 차 프론트엔드 개발자가 되어 있는 내 모습을 다시 한번 돌아보게 되었는데, 소개원실 프로젝트에서 가위바위보를 져서 프론트엔드를 선택했고, 결국 이 프로젝트를 이력서에 적어 첫 회사에 취직하게 된 기억을 되살려보다가 문득 인생에서 중요하게 보이는 선택들이 때로는 정말 별거 아닌 이유들로 인해 이루어지는 경우가 많은 것 같다는 생각이 들었다. 처음에는 복무가 마무리되는대로 지금 회사에서..
-
프론트엔드 테스트 전략 - (1) OverviewFrontend 2022. 9. 4. 08:52
Overview 2년 조금 넘는 시간 동안 프론트엔드 개발을 해 오면서 애플리케이션 생태계에서의 웹 서비스의 비중이 시간이 지날수록 점점 커지는 것을 실감하고 있습니다. 빠른 주기의 업데이트와 유연한 UI를 제공하기 위해서 많은 앱 애플리케이션들이 웹뷰를 사용해서 서비스를 구현하고 있으며 이에 따라 데스크톱 생태계에서 뿐 아니라 스마트폰 / 태블릿 생태계에서도 웹 서비스는 여전히 서비스의 가장 앞단에서 수많은 사용자에게 접점을 제공하는 중요한 역할을 맡고 있습니다. 이렇게 애플리케이션 내에서 웹, 즉 웹뷰의 사용이 점점 확대됨에 따라 웹뷰에서 제공하는 기능 또한 다양해졌고, 이로 인해 웹뷰 프로젝트의 규모가 커지고, 복잡도가 증가하게 되는 경우가 많아지는 것 같습니다. 여느 큰 규모의 프로젝트들이 그렇듯..