읽은 글들 (~24.1.29)
JavaScript
2023 JavaScript Rising Stars
2023년에 가장 별을 많이 받은 프로젝트들에 대해 소개한다. 이직한 회사에 적응한답시고 한동안 기술 아티클 들을 멀리하고 살았더니 생소한 것들이 많이 눈에 띈다. shadcn/ui, Bun (이건 좀 들어봤다), htmx, ... 기술 동향을 훑어보기 좋은 글이다.
33 Concepts Every JavaScript Developer Should Know
33가지 개념에 대한 좋은 글들을 모아놓은 글이다. 생각보다 볼륨이 커서 놀랐다. 여기 있는 글들을 하루에 하나씩 읽기만 해도 몇 달은 읽을 수 있을 것 같다.
React
[번역] 리액트 동시성 이해하기
React 동시성에 관한 간략한 소개글이다. 짧고 굵게 이해하기 좋다.
React Native
React Native’s 2023 Highlights and 2024 Outlook Intro
React Native 가 2023년에 했던 개선 (본문에서는 innovation 이라 칭하는) 이 무엇이 있었는지, 2024년에는 무엇이 있을지를 정리한 글이다.
2023년에는 아래와 같은 개선이 있었다고 한다.
- 타입스크립트 공식 지원: 이제 RN 의 기본 언어는 자바스크립트가 아니라 타입스크립트가 되었다.
- Flex box 개선: 개인적으로 이건 그다지 체감하지는 못한 변화다. 버전업을 너무 늦게 해서 그런가.
- 성능/구조가 개선된 새로운 아키텍쳐 적용: 위와 마찬가지 맥락으로, 우리팀은 버전업을 2023년 연말에 진행해서 그다지 체감할 기회는 없었다.
2024년에는 위 개선들을 계속 진행하면서 개발자 커뮤니티를 활성화시키고 DX 를 개선할 것이라고 하는데, 체감할만한 변화가 있었으면 좋겠다. 여하튼 계속 시도하고 나아가는 모습은 보기 좋다.
UI/UX
A Practical Introduction to Scroll-Driven Animations with CSS scroll()
and view()
CSS 의 scroll()
과 view()
를 사용해 스크롤 상태와 애니메이션을 만드는 것에 대한 글. 내용도 상세하고 예제도 좋다. 무엇보다 CSS 만으로 이렇게 고수준의 애니메이션을 깔끔하게 만들 수 있다는 것이 감탄스럽다.
Designing better target sizes
클릭/탭 대상 컴포넌트의 적절한 크기에 대해 이야기한다. 특히 모바일을 대상으로 다양한 컴포넌트와 다양한 상황에 대해 이야기하는데 사용자의 손가락 두께나 탭 하는 방식 등도 고려하는 등 꽤나 깊게 파고든다. 클릭/탭 UX 에 대한 다양한 관점을 확인할 수 있어 좋다.
Algorithm
Tim sort에 대해 알아보자
일부 브라우저 엔진이 Array.sort()
에 Time sort 알고리즘을 쓴다고 들어서 찾아본 글.
Tim sort 는 삽입정렬과 합병정렬을 결합해 최적화한 알고리즘이라고 한다. 인상적인 것은 단순히 시간 복잡도만 고려하는 것이 아니라 참조 지역성까지 고려한다는 것. 참조 지역성은 흔히 우리가 시간 복잡도에서 C
로 표현하는 상수에 영향을 끼치는데, 삽입정렬이 시간 복잡도 면에서는 느린 편이지만 (O(N^2)
) 참조 지역성 측면에서 훌륭하기 때문에 작은 배열에서는 시간 복잡도가 낮은 알고리즘들보다 오히려 더 빠를 수 있고, 때문에 합병정렬과 조합하였다는 것이 글의 요지다.
이외에도 합병정렬의 합병 시에 적용된 최적화들에 대해서도 간단히 설명하고 있다. Tim sort 의 기본을 아는 데 좋은 글이다.