이번주에 읽었주: 2023-W11

RanolP·2023년 3월 18일
2

이번주에 읽었주

목록 보기
2/3
  • 글은 날짜에 따라 거의 정렬되어 있습니다.
  • 붙어 있는 날짜는 발행일 혹은 발견일입니다.
  • 이번 주에 읽은 글이지 이번 주에 나온 글이 아니라서 옛날 글도 간간히 껴있습니다.

웹/JS

  • Fluid Typography: Predicting A Problem With Your User’s Zoom-In (2022-12-30), 영어 — 사용자가 줌인했을 떄 글자 크기를 예측하는 수식(줌 배수를 계산해냅니다)을 짜 아름다운 타이포그래피를 만듭니다. clamp()를 사용해서 너무 작아지거나 너무 커지지 않게도 제한할 수 있습니다.
  • Creating A High-Contrast Design System With CSS Custom Properties (2023-01-26), 영어 — 고대비 디자인을 하기에 앞서, 접근성을 고려하는 디자인과 관련된 myth들(디자인을 두 벌 만들어야 한다, 많은 시간이 든다, 대비성은 주관적이다, 진짜 브랜딩과 달라져 기만하는 행위이다)가 아님을 설명하고, 쉽게 고대비를 적용하기 위해 CSS 변수를 사용하거나, 미디어 쿼리 @media (prefers-contrast: more)를 사용하는 등의 전략을 제시. 그 외 접근성 개선을 위해 시각적 결함을 에뮬레이팅할 수 있음을 알림.
  • Concurrent React가 가져온 변화: 급하지 않은 렌더링 구분하기 (2023-01-29), 한국어 — React 18의 Concurrent 렌더러의 특성 설명 및 활용법 소개. 키워드: useDeferredValue, useTransition
  • 렌더링 성능 개선(1) — 렌더링 과정 이해하기 (2023-02-05), 한국어 — 웹페이지 렌더링 과정 딥 다이브, Parsing → Style → Layout → Pre-paint → Paint → Layerize → Commit → Tilling → Raster → Activate → Display의 11단계로 해설.
  • E2E 테스트 도입 경험기 (2023-02-09), 한국어 — E2E 테스트를 도입하며 고민한 기록 및 cypress를 병렬적으로 실행하기 위한 sorry-cypress 모듈 사용 등, E2E 경험 향상을 위한 고민 기록.
  • @Steve8708: "8 modern browser APIs you might not know, but really should: ..." (2023-02-15), 영어 — 알면 좋은 모던 브라우저 API 8개: structuredClone, Promise.allSettled, CSS의 :is() 선택자, URL 객체, Intl 객체, HTML 버튼, HTML 이미지 표준, Map 객체
    • Optimal Images in HTML (2023-01-26), 영어 — 위 타래에 담긴, 이미지 관련 블로그 글. background-image 피하고 lazy loading이나 브라우저 기능으로 optimal size 불러오게 하는 srcset, <picture>, <source> 태그로 지원가능한 최선의 포맷 사용, aspect-ratio 보존과 async loading, 이미지 불러오기 우선도 설정, alt text 지정 등 이미지를 다루기 전에 보면 좋을 글.
    • Everything you didn’t know you need to know about buttons (2023-01-30), 영어 — 위 타래에 담긴, 버튼 관련 블로그 글. <div>를 버튼용으로 쓰지 말고, <button>, <a> 잘 써야 하며 스타일링 관련 팁 몇 개. 대체로 당연한 것인데 모르던 CSS 속성 하나 주움.
  • Writing Javascript without a build system (2023-02-16), 영어 — 작은 프로덕트에서는 빌드 시스템을 쓰지 않는 것이 더 직관적이고 간편할 수 있다며 CDN에서 파일 가져오기 등을 권하는 글. 다만 현실적으로 빌드 시스템을 쓰지 않고 웹페이지를 개발하기는 상당히 힘들어서… Import Map이 메이저가 되고 Type Annotation 등의 프로포절이 들어오면 빌드 없이도 꽤나 훌륭한 개발 경험을 만들 수 있을 듯. 과거에 unpkg를 사용해 빌드 시스템 없는 개발을 해본 적 있는데 경험이 약간 미묘했음: daily-boj/api > ./management-tool/public
  • Ready to Release? Securing Your React Native Apps (2023-02-25), 영어 — React Native 보안 체크리스트, SSL 피닝, 보안 스토리지 이용, JS 코드 암호화, SQL 인젝션 방지, 권한이 요구되는 페이지 분리, 정적 분석 도구 활용, 의존성 취약점 검사, 탈옥/루트 기기 검사, 앱 변조 검사, 링크 검사로 피싱 방지, 코드 유출 방지, 앱 배포 및 사이닝, 자동화 가능한 안전 검증은 CI에서 하기 등 React Native에 한정되지 않은 여러가지 내용을 서술.
  • TypeScript’s Migration to Modules (2023-03-09), 영어 — TypeScript의 namespace가 어떻게 컴파일되는지 해설하고, TypeScript 패키지 그 자체가 namespace를 사용하지 않음으로써 46% 작은 패키지 크기, 10%~25% 가량의 성능 향상 등을 이루어냈다네요.
  • EAS Build will Default to M1/M2 for iOS Builds (2023-03-11), 영어 — React Native 생태계의 주축을 담당하는 Expo의 EAS(Expo Application Service) 빌드 머신이 인텔맥에서 M1 기반으로 변경될 예정.
  • A 'No JS' Solution for Dynamic Search in Django, (2023-03-13), 영어 — Django에 htmx를 붙여서 JS 직접 작성 없이 페이지 만들기. 재미있는 솔루션들이라고 생각합니다.
  • [번역] Jotai에 React Query가 필요하지 않을 수도 있습니다, (2023-03-13), 한국어 번역, 영어 원문 — 데이터 페칭과 캐싱은 항상 어려운 주제인데 jotai-tanstack-query가 어떻게 이 문제를 풀어나갈지 기대가 되네요.
  • Announcing TypeScript 5.0 (2023-03-16), 영어 — TypeScript 5.0 공개! 앞서 베타에서 밝혔듯 데코레이터 변경, 이넘 변경 등의 여러 변경 사항을 포함하고 있군요.
  • thoughtspile/awesome-tiny-js, 영어 — 작고 귀여운 JS 라이브러리 모음집! wouter, mitt, nanoid는 이미 알고 있고, million은 재밌어보이던데 다음 Next.js 프로젝트에 적용해보지 않을지.
  • react.dev — 베타 리액트 문서가 드디어 베타 딱지를 똈습니다.

Rust

  • The bottom emoji breaks rust-analyzer (2023-02-13), 영어 — emacs + rust-analyzer가 에모지로 인해 깨지는 걸 보고 원인을 찾아 딥 다이브. 글 내용이 좀 긴데 요약하자면, 1) UTF-8과 UTF-16의 이해, 2) Language Server Protocol의 이해, 3) “문자”의 이해 4) 문제의 종합적 이해. 이후 글 마지막에는 emacs의 lsp-mode 메인테이너에게 보내는 call to action이 있음.
  • winnow = toml_edit + combine + nom (2023-02-23), 영어 — toml_edit이 Cargo의 빌드 시간을 느리게 만들어서 combine에서 손수 쓴 파서로 고쳤으나 파서 코드 관리 부담으로 인해, nom으로 옮겼다가, nom_locate 등의 생태계가 불편해 이를 포크한 winnow를 만들어 공개. 한번 써봤는데 꽤 괜찮더군요.
  • Three Questions and Answers: Rust for Linux (2023-03-06), 영어 — Rust for Linux에 대한 3문3답, 1) 다음으로 개발할 기능은? > 최대한 많이 safe Rust 코드로 드라이버를 짤 수 있게 추상화해 업스트림에 올리는 것. 2) 유저들이 개발 느리다고 불평하던데 뭐가 어려운지? > Rust는 아직 잘 돌아가는지 아무도 모르고 Linux 생태계 내 지원도 없어서 그런 듯. 3) Rust for Linux가 정착하면 이점은? > C/C++에서의 메모리 이슈 Rust에서 거의 없으므로 취약점 감소, 커널 개발자 입장에선 현대적 언어 사용으로 디버깅 줄이고 더 편리한 개발.
  • Getting Past “Ampersand-Driven Development” in Rust (2023-03-09), 영어 — 제목이 조금 어그로 (”& 중심 개발 극복하기”)이긴 한데… &이 무슨 역할을 하는지 알고 쓰는 건 중요합니다. 이 링크도 추가로 참고하면 좋습니다: usagi/rust-memory-container-cs (영어)
  • tailhook/knuffel: Implement decoding of floats #24 (2023-03-15), 영어 — knuffel이 float 디코딩을 지원. Rust로 kdl 좀 써봐야겠군요. 저게 blocker였는데…
  • Rust Backend Engieer (Junior / Senior) - CleanC Tech Blog (2023-03-13), 한국어 — Rust 백엔드 채용 (23.03.13. ~ 23.06.30.). 점점 Rust 일자리가 늘어나는 게 보이니 기분이 좋습니다.

인공지능/Python/데이터과학

기타 개발 관련

개발 아님

profile
사람과 컴퓨터 사이를 이어주는 소프트웨어를 만듭니다

2개의 댓글

comment-user-thumbnail
2023년 3월 18일

우와 넘짱이애요

답글 달기
comment-user-thumbnail
2023년 3월 18일

우와 넘짱이애요

답글 달기