분류 전체보기(189)
-
함께 자라기 - 컴퓨터로 대체되기 힘든 일
옥스퍼드 대학교에서 발표한 논문을 참고하여, 직무 역량 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 -
짜릿해
DragGPT 익스텐션을 만들어서 너무 알차게 쓰고 있다 보니 쓸 때마다 짜릿하다. 제일 많이 사용하는 기능은 번역인데, 구글 번역 익스텐션이 자체적인 dom manipulation을 해버리다 보니 나 태그 사이에 있는 문자들은 이상하게 번역되는 등 귀찮은 이슈들이 있었다. window.getSelection()으로 정직하게 드래그 한 텍스트만 긁어오는 DragGPT에선? 그런 이슈가 없지 후후... 빠른 대화 모드나 gpt4 토글등의 기능도 추가하고서 유용하게 쓰고 있어서 매우 좋다. 대화 기록을 options 창에서 볼 수 있도록 하는 기능은 진행 중인데, 아직까지 큰 필요성을 못 느껴서 진전이 없는 것 같기도 하다. DragGPT 소스코드는 깃헙에 모두 공개되어 잇는데, 신기하게도 미국의 한 스타트..
2023.07.25 -
사람은 변한다
나는 예전부터 피드백이 고팠다. 특히 나를 성장시킬 수 있는 양질의 피드백에 큰 갈증이 있었다. 첫 회사에서 CTO님께 종종 여쭤봤던 것 같다. 제가 뭘 더 하면 성장할 수 있을까요? 어떤 점을 채워나가야 할까요? CTO님은 무리하지 말고, 페이스 잃지 말고, 성장에 대한 욕구를 변치 않게 지금처럼만 하면 된다고 말했다. 지금처럼만 해서 될까요? 그리고 성장에 대한 욕구 변할것 같지 않은데... 사람은 생각보다 금방 변하더라구요. 씁쓸하게 말씀하시던 CTO님의 그 말이 오래도록 잊혀지지 않는다. 지금 생각해보면 그 말을 듣고 오기가 생겼던 것 같다. 남들은 다 변하더라도 나는 변하지 말아야지. 늘 치열하게 노력해야지. 진짜 잘해져야지. 주말 내내 놀지는 말아야지. 최소한 하루는 뭐라도 의미있는 일을 해야..
2023.07.15 -
React + xState
2023.03.20 개발팀 세미나
2023.07.15 -
Typescript의 공변성과 반공변성
공변성과 반공변성 '공변성(Covariance)'과 '반공변성(Contravariance)'은 Typescript를 다루는 개발자라면 누구나 매일매일 접하고 또 사용하는 개념이지만, 나를 포함해서 해당 개념을 매번 의식하고 인터페이스를 설계하는 사람은 많지 않을 것이다. 공변성과 반공변성이 타입스크립트에서 가지는 의의를 이해하기 전에, 먼저 공변성이 뭔지, 반 공변성이 뭔지부터 이해하고 가보자. 공변성 더 많이 파생된(더 구체화된) 형식을 사용할 수 있다. I 형식의 변수에 할당할 수 있다. 쉽게 풀어서 설명하려고 해도 되지 않으니 예시를 들어서 한 번 살펴보자. 다음과 같은 타입 A,B,C가 있다. type A = string type B = string | number type C = string |..
2023.07.14