Skip to content

Latest commit

 

History

History
86 lines (74 loc) · 7.65 KB

2023-10.md

File metadata and controls

86 lines (74 loc) · 7.65 KB

월간채널 10월 호 Hits

Channel

  • 이제 스크립트를 직접 삽입하는 대신, NPM Package로 간단하게 채널톡 Web SDK를 설치 가능

Web

  • TanStack에서 상태 관리 라이브러리를 제작중입니다. 현재는 v0단계 입니다.
  • index.js 파일이 성능에 영향을 미친다는 주장을 실험과 함께 공유합니다.
  • React.memo가 망가지기 쉬운 방법임을 설명합니다.
  • 대안으로 상태 관리자를 적절하게 잘 사용하는 것을 제안합니다.
  • React Query 버전 5가 릴리즈 되었습니다.
  • 함수 signature들이 변경되었습니다.
  • Optimistic Updated를 간편하게 변경합니다.
  • 그 외 많은 변경들이 있습니다.

Backend

  • 대량의 트래픽을 원활하게 처리하기 위해서 서버간 메세지를 정의해 비동기로 처리한 경험을 공유
  • 여행 도메인이 지닌 어려움을 소개하고 이를 해결하기 위한 MSA 패턴 적용 경험을 공유
  • 코루틴는 메모리 누수 방지를 위해 디버깅 경험을 희생함
  • 1.8.0 버전부터 디버깅 경험 개선을 위한 최적화를 끌 수 있는 옵션을 제공
  • 분기 처리가 길어지는 경우, switch/when 구문에서 string 을 이용하면 바이트코드 레벨로 최적화를 하기 때문에 if-then-else 를 사용하는 것보다 효율적

DevOps

  • postgres 는 성공한 오픈 소스 프로젝트로 오래되었지만 아직까지도 강력한 데이터베이스 플랫폼
  • 2022년에도 많은 개발자가 기여했지만 핵심 개발자의 평균 연령이 50세
  • 새로운 기여자 유치와 프로젝트 지속 가능성에 대한 고려가 필요함
  • elasticsearch 의 인덱스 설정 최적화, Vector 로 파이프 라인 전환 그리고 IDC 간의 클러스터링 구축 경험을 공유
  • 지진 재난 문자로 인한 모바일 기기가 활성화 -> 카카오 백그라운드 로그인 폭증
  • 활성화된 스레드 비율을 통한 부하 레벨 판별 및 조치 자동화
  • 자원을 요청별로 배분하여 특정 요청이 모든 리소스를 점유하지 않도록 함
  • 메세지 전달 신뢰를 위해 멱등성 프로듀서 활용
  • 토픽에서 토픽으로 전달하기 위해 트랜잭션 컨슈머 & 프로듀서 활용
  • 컨슈머의 중복 적재를 막기 위해 유니크 키, upsert, write-ahead log 를 활용
  • Sanitize, 유저 passport 와 같은 공통 로직을 처리
  • 종단간 암호화, Dynamic Security, Circuit breaker 를 통한 보안 및 안정성 향상
  • 로깅, 메트릭을 통한 모니터링

iOS

  • Arc 브라우저를 만드는 TheBrowserCompany의 가장 큰 목표중 하나는 윈도우 Arc 브라우저를 제공하는 것이라고 합니다.
  • 아실 수 있겠지만, Arc 브라우저는 SwiftUI와 TCA로 작성이 되어 있습니다.
  • Swift와 C++의 Interoperability에 대한 TheBrowserCompany의 노력이 담긴 글입니다.
  • iOS 17 기준, Apple에서 사용하고 있는 바이너리에서 Swift, Objective-C, C, C++을 사용하는 비율에 대한 글입니다.
  • 주목할 점은 저수준 보안 펌웨어인 hibernation 바이너리가 Swift를 사용한다는 점인데요, 빠른 속도로 Swift가 Objective-C를 대체하는 것 같습니다.
  • SwiftUI으로 그려진 앱은 14개라고 합니다. iOS 16에서는 4개였습니다.

ETC

  • 컴파일러 엔지니어의 급여는 어디서 오는지, Go 언어는 왜 5명의 엔지니어를 두고 Dart 언어는 30명의 엔지니어를 두었을까? 이런 비용을 승인하고 왜 그런 결정을 내렸는지 등의 프로그래밍 언어를 만드는 조직의 경제에 대한 내용