Developer(34)
-
개발일지 (3월 회고)
복학 후기 이번학기에는 15학점을 신청했다. 전반적으로 과제로드가 비교적 적은 수업들을 듣거나, 성적에 대한 부담을 내려놓은 수업이 많아서 그런지 아직까지는 힘든 과제가 많이 없고 이런저런 지식들을 배우는 재미가 있다. 데이터 통신 수업은 생각보다 많이 low level을 다루지만 굉장히 재미있고, Chat GPT가 나오고 나서부터 수업 시간이 굉장히 알차졌다. 교수님께서 애매하게 설명하고 넘어가셨다는 느낌이 드는 부분이나, 내가 딴생각 하다가 놓친 부분을 굉장히 빠르게 해결할 수 있어서, 수업이 끝나고 나왔을 때 새롭게 이해하게 되는 부분들이 많아졌다. 데이터 통신 과제로 간단한 소켓 프로그래밍을 구현하는 예제가 나왔는데, 이걸 C, C++, Go, Kotlin으로 각각 구현해봤다. (GPT의 도움을 ..
2023.04.02 -
개발일지 (2월 회고)
Business 비즈니스 목표를 달성하고 비선형적인 "J커브형 성장"을 이루어내려면 안티프래질에서 이야기하는 "하방 압력은 작으면서 상방 압력은 비선형적으로 큰" 시도들이 자주 일어나야 한다고 생각했다. 다들 바쁜 상황에서 누군가를 말로 설득하는 것만으로는 실제 구체적인 행동으로 이어지기 어렵다는 것을 배웠고, 최근 도덕경에서 "개념화, 논리화의 위험성"에 대해 지적한 것이 생각나서 사내에서 작은 사이드 프로젝트를 직접 한번 진행해 보게 되었다. 3주 정도 진행한 프로젝트를 진행하면서 개인적으로 느끼는 바가 많았다. 크게 두가지 부분에서 중요한 통찰을 얻었는데, 아무리 작은 서비스더라도 혼자서 모든 부분을 다 챙길 수는 없다는 것(할 수 있지만 시간이 부족한 것이 아니라 못하는 것이었다)과, 내가 생각하..
2023.03.01 -
Modern Frontend Infrastructure Overview
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로 대체되면 기..
2023.02.12 -
개발 일지 (1월 회고)
Reading 1월에 30권 정도의 책을 읽었다. 회사가 맞이한 위기를 타개하기 위한 지혜를 얻기 위해 비슷한 위기를 겪었고, 이를 잘 헤쳐나간 여러 기업들의 사례를 다룬 책들을 주로 많이 읽었고, 비슷한 맥락에서 난세를 헤쳐나가기 위한 조금 더 추상화된 지혜를 얻기 위해 병법서를 많이 읽었다. 읽고 싶은 책은 많고, 투자할 수 있는 시간에는 한계가 있기 때문에 모든 책을 처음부터 끝까지 읽는 방식에서 벗어나 나에게 지금 필요한 부분을 집중적으로 읽는 방법으로 책을 읽었다. 이렇게 책을 읽으면서 독서의 의미에 대해 다시 생각해 보게 되었다. 기존에 한 400권 정도까지 책을 읽을 때는 단순히 책을 읽고, 밑줄을 긋고, 이런 내용이 있군 하고 책 계정에 올리고 넘어갔다면, 확실히 최근에는 절실해져서 그런지..
2023.01.29 -
리눅스 쉘은 어떻게 동작하는가 (brief explanation)
Overview 개발하면서 자주 사용하게 되는 Shell 프로그램에는 Computer Science의 근간을 이루는 Process, Fork, I/O Redirection, File, Pipe, Signal 등의 중요한 개념들이 모두 포함되며, 이들의 논리적인 상호작용을 통해 사용자의 입력을 수행하고 결과를 출력합니다. 이들 각각의 요소와 Shell 프로그램의 코드를 하나씩 살펴보는 것은 하나의 포스팅에서 다 다루기 어려울 정도로 내용이 많기 때문에 이번 포스팅에서는 Shell 프로그램의 구체적인 구현 사항을 살펴보기보다는 Shell 프로그램이 동작하는 전반적인 그림에 대한 간략한 소개를 하려고 합니다. Shell을 이해하기 위해서는 앞서 언급했던 여러 Computer Science의 핵심 개념들을 이해..
2022.11.26 -
Node.js + Puppeteer Memory Leak Handling
Overview 콴다 팀에서는 수학 문제를 이미지가 아닌 Latex String의 형태로 저장합니다. 용량 측면에서도 그렇지만, 문제의 "유사도"를 측정하거나, 문제의 컨텐츠를 기반으로 사용자에게 알맞은 문제를 추천하는 데에 있어서는 이미지보다 스트링의 형태가 더 효율적이기 때문입니다. 하지만 결국 이 컨텐츠를 사용하는 학생들의 입장에서는 이 스트링이 올바르게 렌더 된 수식이 필요하기 때문에 이를 렌더 해주는 작업이 필요합니다. 이 수식을 라이브러리를 사용해서 user-side에서 사용자의 화면에 그대로 그려주는 방법도 있겠지만, 이는 클라이언트 사이드의 많은 리소스를 소모하게 됩니다. 게다가 웹뷰가 아닌 Native 환경에서는 수식을 렌더 하기 위해 엄청난 양의 폰트를 로드해야 하는데, 이는 결국 애플..
2022.11.20