분류 전체보기(187)
-
AST (Abstract Syntax Tree)
2023.09.07 개발팀 워크샵 세션
2023.09.16 -
메타프로그래밍 (MetaProgramming)
https://jonghakseo.github.io/posts/metaprogramming/ Metaprogramming This post is about metaprogramming. What is meta programming? jonghakseo.github.io
2023.09.15 -
동기부여
돈을 많이 벌게 되면 삶의 질과 미래를 계획할 수 있는 범위가 늘어난다. 또 한편으로는 사회 구성원으로서 나의 기여를 인정받는 기분이 들어서 기쁘다. 하지만 나는 돈보다 강력한 동기부여가 있다고 믿는다. 따뜻한 격려의 말 한마디 동료로부터 인정받는다는 기분 내 공헌이 누군가에게 도움이 되었다는 것을 내가 인지했을 때 이 모든 순간이 돈으로는 얻을 수 없는 큰 동기부여가 되는 것 같다. 시간을 들여 격려의 말을 해준 지구 반대편의 한 개발자에게 나도 허그를 보내며...
2023.08.13 -
Proxy로 MockData 관리하기
회사의 스토리북 유지보수 업무를 하면서 Footer와 같은 공통 컴포넌트를 스토리북에 넣어줘야 하는 일이 있었다. 큰 문제없이 작업을 완료하고 원격 저장소에 push를 하니, 로컬에서 빌드되던 스토리북의 배포가 실패하고 있었다. 원인을 살펴보니, Footer 내부에 graphql codgen으로 생성된 typescript 파일에 대한 의존성이 있어서 codegen을 하지 않는 배포환경에서의 스토리북 빌드가 실패하던 것이었다. 정적인 데이터를 위주로 회사의 기본적인 정보를 보여주는 Footer였기 때문에 어째서 서버 타입의 의존성이 있는지 이해하지 못했으나, 자세히 살펴보니 서버 데이터를 기반으로 codgen을 해서 사용하는 일부 enum 값에 대해서 상수처럼 사용하고 있었다. 예를 들어 대표적으로는 다국..
2023.08.13 -
함께 자라기 - 컴퓨터로 대체되기 힘든 일
옥스퍼드 대학교에서 발표한 논문을 참고하여, 직무 역량 DB에 속하는 702개 직종의 컴퓨터 대체 확률을 계산 컴퓨터화에 병목이 되는 주요 역량은 대표적으로 다음과 같음 1. 독창성: 주어진 주제나 상황에 대해 특이하거나 독창적인 생각을 해내기, 혹은 문제를 해결하는 창의적인 방법들을 만들어내기 2. 사회적 민감성: 타인의 반응을 알아차리고 그 사람들이 왜 그렇게 반응하는지 이해하기 3. 협상: 사람들을 화해(조율)시키고 서로 간의 차이를 조정하려고 노력하기 4. 설득: 다른 사람들의 마음이나 행동을 바꾸게 설득하기 5. 타인을 돕고 돌보기: 개인적 도움, 치료, 감정적 지지, 혹은 동료, 고객에게 기타 개인적 도움을 제공하기 논문에서는 프로그래머와 소프트웨어 개발자를 아래와 같이 정의 프로그래머 (스펙..
2023.08.01 -
웹 성능 최적화 끄적끄적
브라우저에서의 렌더링 최적화 DOM 최적화 HTML 구문 오류 최소화 (CPU 리소스 절약) HTML 중첩 완화 (depth 깊을수록 layout 계산 리소스 증가) 지연 로드 (async, defer) GTM(Google Tag Manager) 스크립트 기본값은 async=true GTM 실행 시점을 defer로 미뤄 병목을 방지해야 할까? 트레이드오프 고려 필요 로드 속도를 빠르게 할 수 있지만, 그 효과가 크지 않고 GTM 로드 시점이 늦춰지면서 조기 이탈한 사용자에 대한 정보 누락 가능 https://stackoverflow.com/questions/72531926/defer-attribute-for-the-google-tag-manager 실무에 써먹을 만한 DOM 최적화 windowing 라이..
2023.08.01