Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

기술 뉴스 #260 : 24-12-16

웹개발 관련

  • An Introduction To CSS Scroll-Driven Animations: Scroll And View Progress Timelines : 12월부터 Chrome에서는 스크롤 기반 애니메이션이 사용할 수 있게 되었다. 이를 scroll-timeline이라고 부르는데 여기에는 익명 타임라인과 이름 있는 타임라인이 있다. 페이지의 읽은 정도를 화면에 표시해 주는 예제를 통해 scroll-timeline의 사용 방법을 보여주고 애니메이션을 다른 스크롤 컨테이너의 스크롤을 사용하고 싶을 때 사용하는 scroll-timeline-name을 사용할 수 있다. view-timeline, timeline-scope animation-range 등을 사용하면 한쪽 요소의 스크롤에 따라 다른 쪽 요소의 애니메이션을 변경하거나 Parallax 효과도 CSS로 만들 수 있다.(영어)

그 밖의 개발 관련

  • 파이썬 3.13 성능 향상 완전 정복: Free-Threading :
    Arthur Pastel이 작성한 State of Python 3.13 Performance: Free-Threading의 번역 글이다. 3.13에서 추가된 GIL을 비활성화한 free-threaded 모드를 설명하기 위해 Google의 PageRank 알고리즘을 Python으로 구현하고 단일 스레드, 멀티 스레드, 멀티프로세스 3가지 버전을 만든 뒤에 3.12와 3.13에서 성능 측정을 진행했다. GIL 없는 멀티 스레드 구현이 가장 빠른 성능을 보여주었고 3.12와 3.13은 성능은 비슷하지만, 멀티프로세스 구현은 단일 스레드보다도 느린 성능을 보여주었다. 아직 free-threaded 빌드에서 GIL과 상관없이 성능저하가 있어서 다음 버전에서 개선될 예정이지만 free-threaded가 멀티프로세스 구현의 의미 있는 대안이 될 가능성을 보여준다.(한국어)
  • State of Node.js Performance 2024 : 매년 2개의 새버전을 릴리스하는 Node.js에서 작년에 이어 20과 22의 성능 차이를 분석한 글이다. 릴리스 후 성능의 차이가 난다고 하더라도 일부 패치는 v18에도 다시 백 포트 되므로 성능 차이는 달라질 수 있고 event.target 경우 18보다 20이 200% 정도 빨라졌지만 이후 18에도 패치가 적용되었으므로 22는 18에 비해 55% 빨라진 것으로 나타난다. Assert, Buffer, FS, PAth, Stream 등의 속도 개선 결과를 볼 수 있고 이글에 나오지 않은 API는 비슷한 성능으로 간주해도 된다.(영어)
  • 7 Databases in 7 Weeks for 2025 : 7 Databases In 7 Weeks 책의 제목에 영감을 받아서 2025년에 살펴볼 만한 가치가 있는 7가지의 데이터베이스를 정리한 글이다. 여기에는 PostgreSQL, SQLite, DuckDB, ClickHouse, FoundationDB, TigerBeetle, CockroachDB가 포함되어 있다.(영어)

인프라 관련

  • AWS re:Invent 2024 주요 출시 소식 요약 전체 보기 : AWS re:Invent 2024에서 많은 기능이 발표되었다.(한국어)

    • 프로비저닝부터 유지보수까지 자동화할 수 있는 EKS Auto 모드 출시
    • EKS 클러스터에 온프레미스 노드를 연결할 수 있는 EKS 하이브리드 노드 출시
    • 서버리스 분산 SQL 데이터베이스 Aurora DSQL의 미리보기 출시
  • Understanding DNS in Kubernetes : Kubernetes에서 CoreDNS가 DNS 제공자 역할을 하는데 기본 DNS 정책에서 /etc/resolv.conf에 레코드를 등록하면 기본적으로 ndots가 5로 설정되는데 이때 DNS 조회할 때의 동작하는 .의 수에 따라 반복해서 조회하게 된다. DNS 정책은 기본으로 /etc/resolv.conf를 상속받게 되고 ClusterFirstWithHostNet는 호스트 네트워크를 사용하며 None으로 하면 사용자 정의 DNS를 허용한다. 이 CoreDNS에서 존재하지 않는 도메인을 질의하거나 네임서버가 응답하지 않는 경우, DNS 프로바이더가 느린 경우 어떻게 동작하는지 보여준다.(영어)
  • Dynamic DNS Resolution Open Sourced in NGINX : nginx Plus에서 제공하던 동적 DNS 레졸루션 기능을 오픈소스 nginx에도 제공하기로 했다. DNS 서비스 디스커버리를 사용하려면 upstreamserver 디렉티브에 resolve를 사용하면 된다.(영어)
  • Log Aggregation의 진화: 카카오의 Fluentd 대체기 : Log 수집을 하면서 안정성을 위해 Fluentd를 두 계층으로 사용하고 있다가 Fluentd의 구조적 한계를 느끼고 Logriver라는 로그 수집기를 자체 개발했다. 자체 개발한 Logriver는 Go 언어로 개발했고 CPU도 적게 사용하지만, 메모리 등 대부분의 리소스를 효율적으로 사용하도록 만들었다.(한국어)

AI 관련

  • Introducing the Prompt Engineering Toolkit : Uber에서 LLM의 신속한 실험과 반복을 위해서 잘 만들어진 프롬프트 템플릿을 사용하도록 엔지니어링 툴킷을 구축하고 중앙 집중화해서 평가할 수 있도록 만들었다. 개발단계에서는 GenAI Playground에서 모델을 선택하고 프롬프트 템플릿을 반복하면서 성능을 평가하고 결과가 좋은 프롬프트 템플릿을 프로덕션 화한다. 프롬프트 템플릿은 LLM으로 평가하거나 사용자 지정 코드로 평가할 수 있다.(영어)
  • Introducing ChatGPT Pro : OpenAI에서 최고의 모델과 도구를 사용할 수 있는 월 $200의 ChatGPT Pro 요금제를 추가했다. 여기에는 가장 똑똑한 모델인 OPenAI o1, o1-mini, GPT-4o, 어드밴스드 보이스에 대한 무제한 접근이 포함되어 있다.(영어)
  • Sora is here : OpenAi에서 올 초에 소개했던 동영상 생성 모델인 Sora를 출시했다. 사용자는 최대 1080p, 최대 20초 길이의 영상을 다양한 비율로 만들 수 있다. 기존 Plus 요금에도 Sora가 추가되어 480p나 720p의 동영상을 매월 최대 50개까지 만들 수 있고 그 이상 사용하기 위해서는 내년에 출시될 Pro 요금제를 사용해야 한다.(영어)
  • Introducing Gemini 2.0: our new AI model for the agentic era : Google이 차세대 모델인 Gemini 2.0를 발표하고 첫번째 모델인 Gemini 2.0 Flash의 실험적 버전을 출시했다. Gemini 2.0 Flash는 1.5 Pro보다 주요 벤치마크에서 2배 빠른 속도를 보여주고 이미지, 비디도, 오디오 같은 멀티모달 입력 뿐 아니라 텍스트와 혼합된 이미지 생성 및 TTS 다국어 오디오 같은 멀티모달 출력도 지원한다.(영어)

볼만한 링크

  • Facebook's Little Red Book : 2012년 Facebook의 사용자가 10억 명이 넘으면서 CEO이 마크 주커버그가 자신의 비전이 희미해진다고 생각해서 자신의 이야기를 Little Red Book으로 만들어서 내부에 배포했다. 이 책에는 Facebook의 정신인 혁신과 크게 생각하기, 빠르게 움직이기를 선언문으로 정리한 책으로 수년간 찾아다니며 eBay에서 구하고 이를 스캔해서 PDF로 공개했다.(영어)

IT 업계 뉴스

  • Meet Willow, our state-of-the-art quantum chip : Google에서 양자 컴퓨팅 칩인 Willow를 발표했다. Willow는 더 많은 큐비트의 사용으로 오류를 기하급수적으로 줄일 수 있고 현재 가장 빠른 슈퍼컴퓨터 중 하나가 10억 년 걸리는 벤치마크 계산을 5분 이내에 수행할 수 있다.(영어)

프로젝트

  • MarkItDown : PDF, 워드, 엑셀, 파워포인트, HTML 등의 파일을 Markdown으로 변환하는 도구.
  • screenpipe : 데스크톱의 모든 데이터를 수집하는 프로젝트.
  • Checkmate : 서버 모니터링 애플리케이션
  • uniffi-bindgen-react-native : Rust를 사용해서 React Native에서 UniFFI 바인딩을 만드는 도구
  • Every UUID Dot Com : UUID v4의 UUID와 값을 검색할 수 있게 정리한 사이트.
  • just : Make와 유사한 문법으로 justfile이라는 파일에 명령어를 저장해두고 명령어를 사용할 수 있는 러너
  • Mise : 개발도구 관리, 환경변수 관리, 테스크러너를 합쳐놓은 프로젝트

버전 업데이트

2024/12/16 03:33 2024/12/16 03:33