Category: 개발

Chrome MV3 확장 프로그램의 재미있는 버그

2025-07-13

Google Chrome이 MV2에서 MV3으로 전환되면서 webRequestBlocking 권한이 제거되어 많은 광고 차단기가 작동하지 않게 되었습니다. 그러나 저자는 재미있는 버그를 발견했습니다. Chrome 확장 프로그램의 API가 JavaScript 바인딩을 사용하기 때문에 `chrome.webRequest` 이벤트 생성자의 매개변수를 조작하여 권한 확인을 우회하고 광고 차단 기능을 활성화할 수 있었습니다. 이 버그는 보안 위험이 아니었지만 레거시 코드에 숨겨진 잠재적인 문제와 기술적 세부 사항을 교묘하게 활용하여 예상치 못한 결과를 얻을 수 있는 가능성을 보여줍니다. 저자는 Google에 이 버그를 보고했으며 현재는 수정되었습니다.

개발

BinaryRPC: 고성능 C++ RPC 프레임워크

2025-07-12
BinaryRPC: 고성능 C++ RPC 프레임워크

Java WebSocket 서버의 성능 문제로 좌절한 갓 졸업한 엔지니어는 C++와 uWebSockets 라이브러리를 사용하여 고성능 RPC 프레임워크인 BinaryRPC를 구축했습니다. Node.js와 Express.js에서 영감을 받은 BinaryRPC는 최신 미들웨어 및 세션 관리 시스템을 갖추고 있으며, 안정적인 메시징을 위해 여러 QoS 레벨을 지원합니다. 이제 오픈 소스로 제공되며, 잘 문서화되어 있고 쉽게 채택할 수 있는 예제가 포함되어 있습니다.

개발

D 언어로 Deus Ex 스피드런 타이머 만들기: 게임 해킹 여정

2025-07-12

Linux에서 Deus Ex 스피드런에 적합한 도구가 부족하다는 사실에 좌절한 스피드러너가 D 언어로 사용자 정의 타이머를 만드는 프로젝트를 시작했습니다. 이 글에서는 로딩 플래그를 찾는 데 실패한 초기 시도부터 Linux 시스템 호출(ptrace 및 process_vm_readv) 학습, 코드 주입에 적합한 메모리 위치를 찾기 위한 리버스 엔지니어링, 그리고 마지막으로 타이머의 핵심 기능 구현에 이르기까지 그 과정을 자세히 설명합니다. 저자는 D 언어를 사용한 경험을 공유하고, 예외 처리 및 저장 화면 지원이 불완전한 등의 제한 사항을 지적합니다.

개발

"Writing a C Compiler"로 C 컴파일러 만들기: 단계별 가이드

2025-07-12

저자는 "Writing a C Compiler" 책을 장별로 진행하면서 블로그 게시물에 진행 상황을 기록할 계획입니다. 이 책은 C 컴파일러를 만드는 단계별 접근 방식을 제공하며, 1장이 끝날 때쯤 작동하는 컴파일러를 완성하고 이후 장에서 기능을 추가합니다. 포괄적인 테스트 모음이 포함되어 있어 철저한 검증이 가능합니다. 저자는 이 책의 뛰어난 단계적 접근 방식, 포괄적인 테스트 모음, 실제 언어(C)에 대한 집중도를 높이 평가하며, 컴파일러 구축을 배우는 데 탁월한 자료라고 칭찬합니다.

개발

초전도 큐비트 칩의 정밀 제작 공정

2025-07-12
초전도 큐비트 칩의 정밀 제작 공정

본 논문은 재현성을 향상시키기 위해 기존 방법을 개선한 초전도 큐비트 칩의 제작 공정을 자세히 설명합니다. 이 공정에는 6인치 실리콘 웨이퍼를 기판으로 사용하고, 200nm 두께의 니오븀 박막을 스퍼터링으로 증착하고, 포토리소그래피와 플라즈마 식각으로 니오븀 패턴을 형성하고, 전자빔 리소그래피로 조셉슨 접합을 제작하고, 알루미늄 박막을 증착하여 접합을 형성하고, 마지막으로 다이싱과 리프트오프를 수행하는 과정이 포함됩니다. 또한 큐비트 특성 평가 및 측정을 위한 실험 장치에 대해 설명하며, 저온 측정 시스템과 신호 처리 체인이 포함됩니다. 제작된 조셉슨 접합은 예상보다 낮은 임계 전류를 나타내어 EJ/EC 비율이 낮았습니다.

Incus: 차세대 컨테이너 및 가상 머신 관리자

2025-07-12
Incus: 차세대 컨테이너 및 가상 머신 관리자

Incus는 차세대 시스템 컨테이너, 애플리케이션 컨테이너 및 가상 머신 관리자로서, 공용 클라우드와 유사한 사용자 환경을 제공합니다. 컨테이너와 가상 머신을 쉽게 혼합하여 사용하고 동일한 기반 스토리지와 네트워크를 공유할 수 있습니다. 이미지 기반이며 다양한 Linux 배포판을 지원하며, 노트북에서 서버 랙까지 확장 가능하며 다양한 스토리지 및 네트워크 유형을 수용합니다. 명령줄, REST API 또는 타사 도구를 사용하여 인스턴스를 관리할 수 있습니다. 원래 LXD 개발자 중 다수가 개발한 Incus는 보안, 확장성, 이벤트 로깅, 원격 액세스 등 풍부한 기능을 갖춘 설계입니다. 시스템 컨테이너, 애플리케이션 컨테이너 및 가상 머신을 지원합니다.

개발

긴급 보안 경고: Gravity Forms 플러그인 공급망 공격

2025-07-12
긴급 보안 경고: Gravity Forms 플러그인 공급망 공격

보안 연구원들이 Gravity Forms WordPress 플러그인을 대상으로 한 공급망 공격을 발견했습니다. 악성 코드는 2.9.12 버전에 삽입되었습니다. 공격자는 백도어 함수 `update_entry_detail` 및 `list_sections`를 사용하여 웹사이트 정보를 탈취하고, 관리자 계정을 생성하고, 임의 코드를 실행했습니다. 악성 코드는 공식 다운로드에서 제거되었으며 2.9.13 버전이 출시되었습니다. 모든 Gravity Forms 사용자는 즉시 업데이트하고 서버에 악성 파일과 네트워크 요청이 없는지 확인해야 합니다.

오디오 응용을 위한 디지털 필터 입문

2025-07-12

이 포괄적인 교재는 디지털 필터와 오디오 처리 분야에서의 응용에 대한 철저한 소개를 제공합니다. 가장 간단한 저역 통과 필터부터 시작하여 선형 시불변(LTI) 필터, 유한 임펄스 응답(FIR) 필터, 무한 임펄스 응답(IIR) 필터 등 다양한 필터 유형의 이론적 기초, 설계 방법 및 구현 기술을 단계적으로 설명합니다. 다양한 필터 구조 및 구현 방법도 다룹니다. 이 책에는 수많은 Matlab 및 Faust 코드 예제와 풍부한 오디오 응용 사례 연구가 포함되어 있어 디지털 신호 처리 및 오디오 엔지니어링 분야의 학생 및 연구원에게 이상적입니다.

파이썬의 흑마법: 딕셔너리 언패킹 라이브러리

2025-07-12
파이썬의 흑마법: 딕셔너리 언패킹 라이브러리

`dict-unpacking-at-home`이라는 파이썬 라이브러리는 딕셔너리 언패킹 기능을 제공하여 다음과 같이 딕셔너리를 직접 언패킹할 수 있습니다. `{greeting, thing} = dct` 멋지지만, 작성자는 이것이 중요한 라이브러리가 아니라고 주장하며, 현재 버전에서는 스택 트레이스의 줄 번호가 깨집니다. 수정된 버전도 있지만, 그에 따른 비용이 있습니다… 월간 백만 회 가까운 다운로드와 총 3천만 회 이상의 다운로드라는 실적은 많은 사람들이 이렇게 보면 신뢰할 수 없어 보이는 라이브러리를 사용하고 있음을 보여줍니다.

리버스 프록시 심층 분석: 연결 관리의 과제와 진화

2025-07-12
리버스 프록시 심층 분석: 연결 관리의 과제와 진화

이 글에서는 리버스 프록시의 내부 동작과 연결 관리의 복잡성을 심층적으로 다룹니다. 단일 스레드에서부터 다중 스레드, 다중 프로세스, 그리고 소켓 샤딩을 사용한 이벤트 기반 아키텍처에 이르기까지 리버스 프록시는 높은 동시성을 처리하기 위해 크게 발전해 왔습니다. 이 글에서는 epoll을 통한 I/O 다중화의 효율성, 멀티코어 프로세서에서의 다중 스레드 모델의 과제 등 다양한 기법의 장단점을 자세히 설명하고, TLS 지원 및 프로토콜 다양성에서의 추가적인 복잡성에 대해서도 지적합니다.

Elixir의 핫 코드 로딩을 이용한 모놀리식 애플리케이션 모듈화

2025-07-12

클라이언트당 하나의 인스턴스로 배포되는 Elixir 기반 모놀리식 애플리케이션인 Alzo는 클라이언트별 기능을 위해 Elixir와 Erlang VM의 핫 코드 로딩 기능을 활용합니다. 이를 통해 마이크로서비스로 인한 캐스케이드 오류 및 복잡한 테스트를 방지합니다. 클라이언트별 LiveView 애플리케이션은 `/alzo/lib/clients/apps`에 있으며, 시작 시 동적으로 로드됩니다. 빌드 시 클라이언트 코드가 제거되므로 메인 애플리케이션이 런타임 애플리케이션에 의존하지 않습니다. 단순화를 위해 핫 코드 업그레이드는 피합니다. 이러한 접근 방식은 효율적인 개발, 유지 관리, 확장성 및 동적 애플리케이션에서 메인 코드베이스로 공통 기능을 쉽게 리팩토링할 수 있는 기능을 제공합니다.

CLR 가비지 컬렉션 심층 분석

2025-07-12
CLR 가비지 컬렉션 심층 분석

이 글에서는 공용 언어 런타임(CLR)의 가비지 컬렉션(GC)에 대한 포괄적인 개요를 제공합니다. GC는 자동 메모리 관리자 역할을 하며, 관리 코드의 메모리 할당 및 해제를 처리하여 개발자의 수동 메모리 관리 부담을 줄이고 메모리 누수와 같은 문제를 방지합니다. GC의 핵심 개념, 메모리 관리 원칙, 할당 및 해제 프로세스, 세대별 가비지 컬렉션 전략(Gen 0, 1, 2 및 대형 개체 힙), 트리거 조건, 단계 설명 및 비관리 리소스 처리 방법을 자세히 설명합니다. 이 글에서는 GC가 개체의 수명 주기에 따라 힙을 세대로 나누어 메모리 사용량을 최적화하고, 단기 수명 개체를 우선적으로 처리하여 효율성을 높이는 방법을 설명합니다.

개발

Jank: 단독 개발자의 Clojure 런타임에서 C++과의 완벽한 상호 운용성 구현

2025-07-12
Jank: 단독 개발자의 Clojure 런타임에서 C++과의 완벽한 상호 운용성 구현

Clojure 런타임인 Jank 프로젝트는 C++과의 완벽한 상호 운용성을 구현하는 데 상당한 진전을 이루었습니다. 수동 메모리 관리, 향상된 타입 시스템, 불투명 박스와 같은 기능을 통해 개발자는 Clojure 내에서 C++ 코드를 직접 호출할 수 있습니다. 실제 예로 C++ 스트림을 사용한 "Hello, world!" 출력과 JSON for Modern C++ 라이브러리를 사용한 JSON 파일 파싱이 있습니다. 향후 작업은 패키징, 배포, 버그 수정에 집중하고, 궁극적으로 알파 버전 출시를 목표로 합니다.

개발

ESP32를 사용한 5세 어린이를 위한 간편한 Sonos 제어 시스템

2025-07-12
ESP32를 사용한 5세 어린이를 위한 간편한 Sonos 제어 시스템

아버지가 5세 아이를 위해 간편하게 Sonos Play:1 스피커를 제어할 수 있는 시스템을 만들었습니다. M5Stack CardPuter v1.1 (ESP32S3)을 컨트롤러로 사용하고, Go 언어로 백엔드 로직을 구현했습니다. 버튼을 누르면 좋아하는 플레이리스트를 재생하거나 다시 시작할 수 있습니다. 녹색 표시등이 작동 상태를 나타냅니다. 간편하고 재미있는, 즐거운 부자 프로젝트입니다.

가짜 JPEG 이미지로 악의적인 웹 크롤러 대응하기

2025-07-12
가짜 JPEG 이미지로 악의적인 웹 크롤러 대응하기

저자는 악의적인 웹 크롤러를 교란하기 위해 가짜 웹 페이지를 생성하는 Spigot이라는 소규모 웹 애플리케이션을 개발했습니다. 최근 ImageSiftBot이라는 크롤러가 Spigot에 이미지가 없음에도 불구하고 이미지를 적극적으로 가져오려고 시도했습니다. 이에 대응하여 저자는 JPEG 파일 구조를 영리하게 활용하여 무작위 데이터로 채워진 가짜 JPEG 이미지를 생성합니다. 이렇게 하면 크롤러의 리소스를 효과적으로 낭비하고 서버의 CPU 부하를 최소화할 수 있습니다. 이 방법은 간단하고 효율적이며, 최소한의 코드로 구현할 수 있으며, 생성된 이미지는 대부분의 브라우저에서 정상적으로 표시됩니다.

OpenZFS의 거의 치명적인 버그가 Rust의 타입 시스템의 강력함을 보여주다

2025-07-11
OpenZFS의 거의 치명적인 버그가 Rust의 타입 시스템의 강력함을 보여주다

OpenZFS의 핵심 디스크 할당 함수에서 미묘하지만 파괴적인 버그가 최근 발견되었습니다. 이 버그는 잘못된 크기를 반환하는 단순한 타입 오류로 인해 데이터가 조용히 덮어쓰여질 수 있었습니다. 발견하는 데 약 이틀이 걸렸습니다. 이 버그는 출시 버전에는 없었지만, C 언어의 정적 분석 도구의 한계와 Rust의 타입 시스템의 장점에 대해 다시 생각하게 하는 계기가 되었습니다. Rust가 `PhysicalSize` 및 `AllocatedSize`와 같은 사용자 정의 타입을 정의할 수 있는 기능은 이 버그를 방지했을 것입니다. 저자는 프로그래머의 완벽성에만 의존하는 것은 불완전하며, 도구와 언어 기능을 활용하여 코드 품질을 향상시키고 감지하기 어렵고 영향이 큰 버그를 완화하는 것이 중요하다고 주장합니다.

개발

Red Hat 스타일 가이드: 용어에 대한 심층 탐구

2025-07-11

이 문서는 Red Hat 기술 문서에서 사용되는 표준화된 용어를 자세히 설명합니다. 소프트웨어 이름(예: IBM S/390, Samba)부터 보안 설명(예: "secure" 와 같이 모호한 용어를 피하고 보안 기능에 대한 구체적인 세부 정보를 요구)까지 광범위한 측면을 다룹니다. 또한 약어(예: SSH, SSL), 명령줄 설명 및 혼동하기 쉬운 단어(예: "since"와 "because")의 적절한 사용법을 표준화합니다. 전반적인 목표는 일관성과 정확성을 보장하여 가독성과 전문성을 향상시키는 것입니다.

Cactus: LLM 로컬 배포를 위한 크로스 플랫폼 프레임워크

2025-07-11
Cactus: LLM 로컬 배포를 위한 크로스 플랫폼 프레임워크

Cactus는 Flutter와 React Native를 지원하는 크로스 플랫폼 프레임워크로, 앱 내에서 대규모 언어 모델(LLM), 비전 언어 모델(VLM), 텍스트 음성 변환(TTS) 모델을 로컬로 배포할 수 있습니다. Hugging Face의 GGUF 모델(Qwen, Gemma, Llama 등)을 지원하며, FP32부터 2비트 양자화 모델까지 다양한 정밀도를 처리합니다. Cactus는 AI 기능 향상(알림, 이미지 검색, 메시지 회신 등)을 위한 MCP 툴 호출, 복잡한 작업을 위한 클라우드 모델 폴백, Jinja2 기반 채팅 템플릿, 토큰 스트리밍을 제공합니다. 샘플 코드, 다양한 기기의 성능 벤치마크, C++ 백엔드가 제공됩니다.

개발

Btrfs 성능 향상: 디바이스 역할을 사용한 청크 할당

2025-07-11

Btrfs 파일 시스템에 상당한 성능 향상이 도입됩니다! 새로운 패치는 디바이스 역할을 사용한 성능 기반 청크 할당 방식을 도입하여, 현재 사용 중인 여유 공간만 기준으로 하는 할당 방식의 불균형을 해결합니다. 5가지 디바이스 역할(metadata_only, metadata, none, data, data_only)을 정의하고 역할 우선 순위와 남은 공간을 고려하여 시스템은 빠른 디바이스를 메타데이터에, 느린 디바이스를 데이터에 효율적으로 할당할 수 있으며, 읽기/쓰기 성능이 크게 향상됩니다. 이러한 개선은 복잡한 디바이스 속도 측정을 피하고 기존 디스크 포맷을 활용하여 더욱 스마트하고 효율적인 스토리지 관리를 가능하게 합니다.

개발

diffsitter: 의미있는 코드 차이 비교 도구

2025-07-11
diffsitter: 의미있는 코드 차이 비교 도구

diffsitter는 파일의 추상 구문 트리(AST)를 비교하여 형식 차이를 무시하고 의미있는 코드 차이를 생성하는 도구입니다. 여러 프로그래밍 언어를 지원하며, 구성 가능한 노드 필터링, 터미널 친화적인 형식 지정, 자세한 로깅 등의 기능을 제공합니다. 소스 코드에서 빌드, 미리 빌드된 바이너리 사용, 패키지 매니저 등 다양한 설치 방법이 있습니다.

eBPF와 컨테이너 런타임: CRI를 통한 연결

2025-07-11

이 글에서는 오픈소스 eBPF 프로젝트가 컨테이너 런타임 인터페이스(CRI)를 사용하여 컨테이너 런타임(CR)에 연결하고, Pod 및 컨테이너 정보로 컨텍스트를 풍부하게 만드는 방법을 살펴봅니다. 연결 프로세스는 Unix 소켓 파일 찾기, CRI API를 사용한 gRPC 연결 설정, 정보 쿼리 등으로 자세히 설명되어 있습니다. Tetragon, crictl, Tracee의 예시를 통해 하드코딩된 기본 소켓 경로 및 런타임 연결 시도 등 CR에 연결하는 다양한 방법을 보여줍니다. 마지막으로 CRI API를 사용하여 cgroup 경로와 같은 컨테이너 정보를 쿼리하는 방법을 보여줍니다. 예를 들어 Tetragon이 컨테이너의 cgroup 경로를 가져오는 방법 등을 보여줍니다.

개발

AI 도구가 숙련된 오픈소스 개발자의 속도를 늦춘다: 무작위 대조 시험

2025-07-11
AI 도구가 숙련된 오픈소스 개발자의 속도를 늦춘다: 무작위 대조 시험

무작위 대조 시험(RCT)은 2025년 초 AI 도구가 자신의 저장소에서 작업하는 숙련된 오픈소스 개발자의 생산성에 미치는 영향을 조사했습니다. 놀랍게도 AI 도구를 사용하는 개발자는 도구를 사용하지 않는 개발자보다 작업 완료에 19% 더 오래 걸렸습니다. AI 때문에 작업 속도가 느려진 것입니다. 연구자들은 이를 현재 AI 기능의 스냅샷으로 보고 AI 연구 개발 자동화에 따른 AI 가속을 추적하기 위해 이 방법론을 계속할 계획입니다. 본 연구는 이 속도 저하에 기여할 수 있는 잠재적인 요인을 조사하고 이 RCT와 다른 벤치마크 및 일화적 증거 간의 불일치를 조사하여 AI 기능을 포괄적으로 평가하기 위해 다양한 평가 방법이 필요함을 강조합니다.

개발

Android의 새로운 Canary 채널: 개발자를 위한 지속적인 조기 액세스

2025-07-11
Android의 새로운 Canary 채널: 개발자를 위한 지속적인 조기 액세스

Google은 Android의 Developer Preview 프로그램을 새로운 Canary 채널로 대체하여 개발자에게 연중 내내 롤링 업데이트를 제공합니다. 이를 통해 실험적인 기능과 API에 대한 조기 및 일관된 액세스가 가능합니다. 이전의 수동 설치와 달리 Canary 빌드는 무선으로 배포되고 베타 프로그램과 동시에 실행됩니다. 매일 사용하는 것은 아니지만 Canary는 귀중한 조기 피드백을 제공하여 개발자는 문제를 식별하고 앱을 지속적으로 테스트할 수 있습니다. 현재 Pixel 기기 및 Android Studio Canary 버전에서 지원됩니다.

Hacker News 데이터베이스 인기 분석: ClickHouse와 DuckDB의 약진

2025-07-11
Hacker News 데이터베이스 인기 분석: ClickHouse와 DuckDB의 약진

Hacker News 18년 데이터 분석 결과, 오픈소스 데이터베이스인 ClickHouse와 DuckDB의 인기가 급상승한 반면 클라우드 네이티브 데이터베이스에 대한 논의는 감소했습니다. PostgreSQL은 여전히 높은 인기를 유지하고 있으며, SQLite는 높은 사용자 참여도를 보입니다. 본 분석은 헤드라인 수와 사용자 참여도(댓글과 점수) 두 가지 지표를 사용하여 동향을 보여주고 있으며, 오픈소스 데이터베이스와 분석형 데이터베이스의 부상을 강조합니다.

개발

AI 코딩 도구: 숙련된 개발자의 생산성 19% 감소

2025-07-11
AI 코딩 도구: 숙련된 개발자의 생산성 19% 감소

AI 코딩 도구를 사용하는 숙련된 개발자에 대한 엄격한 연구에 따르면 생산성이 놀랍게도 19% 감소한 것으로 나타났습니다. 이는 개발자들이 스스로 예상한 20% 생산성 향상과 크게 상반됩니다. 연구 결과, AI가 생성한 코드는 성숙하고 대규모인 프로젝트의 높은 기준을 충족하지 못하는 경우가 많아 AI 출력물을 검토하고 수정하는 데 많은 시간을 할애하게 된다는 사실이 밝혀졌습니다. 이는 현재 AI 코딩 도구의 한계를 보여주는 것이며, 그 효과는 프로젝트 유형, 개발자 경험, 도구 자체의 성숙도에 크게 좌우됨을 시사합니다.

개발

그림으로 배우는 선형대수 블로그: 선형대수를 도식적으로 이해하기

2025-07-11
그림으로 배우는 선형대수 블로그: 선형대수를 도식적으로 이해하기

이 블로그는 시각적이고 도식적인 접근 방식을 사용하여 선형대수를 탐구합니다. 복잡한 수학적 개념을 쉽게 이해할 수 있도록 설명하고, 그림을 사용하여 어려운 주제를 명확하게 합니다. 내용은 기본 연산부터 행렬, 준동형사상, 관계와 같은 고급 개념까지 다루며, 모두 도식을 사용하여 단계적으로 설명합니다. 또한, 응용 범주론 연구 학교 및 관련 연구 기회도 소개하여 선형대수에 관심 있는 학습자와 연구자에게 귀중한 자료가 됩니다.

개발 도식 수학

FOKS: 간단한 키 계층 구조를 통한 안전한 데이터 접근

2025-07-11

FOKS는 간단한 키 계층 구조를 사용하여 데이터 접근을 보호합니다. 기본 레벨 키에는 사용자 디바이스 키, 백업 키, YubiKey 등이 포함됩니다. 각 사용자는 여러 개의 사용자 키(PUK)를 가지며, 해당 시드 시크릿은 사용 가능한 모든 기본 레벨 키로 암호화됩니다. 기본 레벨 키를 제거하면 PUK가 순환됩니다. 팀 키(PTK)는 유사하게 작동하며, 팀 구성원(사용자 또는 하위 팀) 간에 공유되고 구성원 키로 암호화됩니다. 이 계층 구조를 통해 승인된 디바이스, 팀, 사용자만 데이터에 접근할 수 있습니다.

개발

HTTP 상태 코드 블로그 시리즈, 100 Continue로 시작

2025-07-11
HTTP 상태 코드 블로그 시리즈, 100 Continue로 시작

작성자는 HTTP 및 웹 서비스에 대한 일련의 글을 작성할 계획이며, 각 HTTP 상태 코드에 대해 한 편의 글을 작성할 예정입니다. 100 Continue에 대한 첫 번째 글이 이미 게시되었으며, 앞으로 1년 동안 매주 업데이트될 예정입니다. 이것은 HTTP에 대해 배우는 재미있는 방법이며, 정기적인 글쓰기 습관을 기를 수 있습니다.

개발 웹 서비스

프로덕션 환경에서의 LLM 추론: 완벽 가이드

2025-07-11
프로덕션 환경에서의 LLM 추론: 완벽 가이드

이 안내서는 프로덕션 환경에서 LLM 추론에 대한 단편적인 지식을 다룹니다. 핵심 개념, 성능 지표(첫 토큰까지의 시간, 초당 토큰 수 등), 최적화 기법(연속 배치 처리, 접두사 캐싱 등), 운영상의 모범 사례를 다룹니다. 소규모 오픈소스 모델을 미세 조정하든 자체 스택에서 대규모 배포를 실행하든 이 가이드는 LLM 추론을 더 빠르고, 저렴하고, 안정적으로 만드는 데 도움이 됩니다.

개발 프로덕션

Gemini API의 배치 모드: 고처리량 워크로드 지원

2025-07-11
Gemini API의 배치 모드: 고처리량 워크로드 지원

Google의 Gemini API에 배치 모드가 추가되었습니다. 지연 시간이 중요하지 않은 고처리량 작업에 이상적인 비동기 엔드포인트입니다. 대량의 작업을 제출하고 시스템이 처리하도록 하며, 동기 API와 비교하여 50% 할인된 가격으로 24시간 이내에 결과를 가져올 수 있습니다. 미리 준비된 데이터로 즉각적인 응답이 필요 없는 작업에 적합하며, 비용 절감, 처리량 증가, API 호출 간소화를 제공합니다. Reforged Labs는 이를 사용하여 대량의 동영상 광고를 처리하여 효율성을 크게 높이고 비용을 절감했습니다. Google GenAI Python SDK를 사용하면 쉽게 시작할 수 있습니다.

1 2 43 44 45 47 49 50 51 214 215