Category: 개발

LLM을 사용하여 Airflow 파이프라인 강화: Apache Airflow AI SDK

2025-03-31
LLM을 사용하여 Airflow 파이프라인 강화: Apache Airflow AI SDK

Pydantic AI 기반의 이 Apache Airflow AI SDK를 사용하면 Airflow 워크플로에 대규모 언어 모델(LLM)을 원활하게 통합할 수 있습니다. 데코레이터 기반 작업(@task.llm, @task.llm_branch, @task.agent)을 사용하여 LLM 호출 및 에이전트 오케스트레이션을 간소화합니다. 다양한 모델(OpenAI, Anthropic 등) 지원, 자동 출력 분석 및 DAG 분기 기능을 통해 데이터 파이프라인이 더욱 스마트하고 효율적으로 작동합니다.

개발

Java, final 필드의 불변성 강화

2025-03-31

Java 프로그램의 안전성과 성능을 향상시키기 위해 JDK는 final 필드의 불변성을 강화할 계획입니다. 현재 깊은 반사(deep reflection)를 통해 final 필드를 변경할 수 있지만, 이는 final 키워드의 본래 의도에 위배되며 JVM 최적화를 제한합니다. 향후 릴리스에서는 기본적으로 깊은 반사를 통한 final 필드 변경을 금지하고 경고를 표시합니다. 개발자는 `--enable-final-field-mutation` 옵션을 사용하여 final 필드 변경을 선택적으로 활성화할 수 있지만, 가능한 한 피하는 것이 좋습니다. 이러한 변경은 Java의 "기본 안전" 기능을 개선하고 레코드 클래스 설계와 일관성을 유지하기 위한 것입니다.

Gumloop의 guMCP: 오픈소스 통합 모델 컨텍스트 프로토콜 서버 컬렉션

2025-03-31
Gumloop의 guMCP: 오픈소스 통합 모델 컨텍스트 프로토콜 서버 컬렉션

Gumloop은 로컬과 원격 모두에서 실행할 수 있는 오픈소스 모델 컨텍스트 프로토콜(MCP) 서버 컬렉션인 guMCP를 출시했습니다. 이는 가장 큰 통합 MCP 서버 컬렉션을 만들고 AI 통합과 AGI의 미래를 중심으로 커뮤니티를 육성하는 것을 목표로 합니다. stdio와 SSE 전송을 모두 지원하는 guMCP에는 파일 시스템, 데이터베이스, 개발 도구, 웹 자동화 등 다양한 서버가 포함되어 있으며 커뮤니티의 기여를 장려합니다. GPL-3.0 라이선스 하에 라이선스가 부여되며 보안이 최우선 과제이며 SOC 2 Type II, GDPR, HIPAA를 준수합니다.

개발

Vanity SHA-1 생성기: 영리한 대소문자 변경 접근 방식

2025-03-31
Vanity SHA-1 생성기: 영리한 대소문자 변경 접근 방식

이 코드는 입력 텍스트의 단어 대소문자를 조작하여 대상 접두사 "20250327"과 일치하는 SHA-1 해시를 생성하려고 시도합니다. 텍스트를 구문 분석하고 변경 가능한 단어를 식별한 다음 모든 가능한 대소문자 조합을 반복하여 해시를 계산하고 대상과 비교합니다. 일치하는 항목이 발견되면 수정된 텍스트가 파일에 작성됩니다. 이 프로그램은 해시 알고리즘과 조합론에 대한 이해를 보여주는 영리한 무차별 대입 접근 방식을 보여줍니다. 특정 해시 접두사를 생성하려고 시도합니다.

LLM을 사용한 인터랙티브 픽션에서의 거래 추적 자동화

2025-03-31

저자는 LLM(gptel 사용)을 이용하여 Emacs 기반 인터랙티브 어린이 도서에서 거래 추적 로직을 자동화했습니다. 이 책에는 돈을 벌고, 저축하고, 사용하는 주인공이 등장합니다. 각 부분에는 처음에 거래 금액을 추적하는 코드가 포함되어 있었습니다. 교육적 가치를 높이기 위해 저자는 현금 잔액 계산 방법을 보여주고 싶었고, gptel을 사용하여 간단한 프롬프트를 제공함으로써 LLM이 각 부분의 코드에 JSON 객체(cashOperations)를 자동으로 추가하여 작업 유형, 금액, 설명과 함께 현금 변경 사항을 추적할 수 있도록 했습니다. 이를 통해 효율성이 크게 향상되었고, 산술적 설명 기능 추가의 길이 열렸습니다.

개발

C/C++: 성능 vs. 정확성?

2025-03-31

본 글은 C와 C++에서의 '정의되지 않은 동작'의 함정을 자세히 다룹니다. 최고의 성능을 추구하는 과정에서 컴파일러는 초기화되지 않은 변수, 산술 오버플로우, 무한 루프, null 포인터와 같은 상황에 대해 에러를 보고하거나 안전한 코드를 삽입하기보다는 방치하는 경향이 있습니다. 이로 인해 프로그램 디버깅과 유지보수가 어려워지고 예측 불가능한 충돌이 발생할 수 있습니다. 저자는 여러 예시를 통해 C/C++ 컴파일러가 프로그램의 정확성이나 예측 가능성을 희생하더라도 최적화를 우선시하는 것을 보여주고, 이러한 설계 철학에 대해 고찰합니다.

개발

Linux 데스크톱: 훌륭해요! Linux 서버: 엉망진창? FreeBSD의 우아한 대응

2025-03-31
Linux 데스크톱: 훌륭해요! Linux 서버: 엉망진창? FreeBSD의 우아한 대응

저자는 Linux 데스크톱과 서버 환경을 비교하며 데스크톱은 매우 사용자 친화적이라는 것을 발견했습니다. 하지만 서버 측은 systemd와 Docker, Kubernetes와 같은 추상화 계층으로 인해 과도한 복잡성에 시달리고 있어 문제 해결이 어렵습니다. 반대로 FreeBSD는 재해 복구 시나리오에서도 단순성, 안정성, 유지보수 용이성으로 빛납니다. 하지만 기본 설치 방법이 없고 Docker 배포에 크게 의존하는 오픈소스 소프트웨어의 증가 추세는 FreeBSD 사용자에게 과제가 되고 있습니다. 저자는 Immich와 BunkerWeb의 배포 어려움을 예로 들고 있습니다.

개발

Turso Offline Sync 공개 베타: 오프라인에서도 항상 온라인인 앱

2025-03-31
Turso Offline Sync 공개 베타: 오프라인에서도 항상 온라인인 앱

Turso는 Turso Offline Sync의 공개 베타 버전을 발표하게 되어 기쁩니다! 인터넷에 연결되지 않아도 애플리케이션은 원활하게 작동합니다. 로컬 데이터베이스 작업은 정상적으로 계속되며 연결이 복원되면 자동으로 동기화됩니다. 임베디드 복제본을 활용하여 로컬 데이터베이스(디바이스 또는 서버)는 Turso 클라우드 데이터베이스와 동기화된 상태를 유지하며 변경 사항은 모든 복제본으로 전파됩니다. 이 베타 버전에서는 이전의 단방향 동기화의 제한을 해결하여 빠른 로컬 쓰기, 오프라인 기능 및 후속 Turso 클라우드와의 동기화를 가능하게 합니다. 이를 통해 로컬 퍼스트 앱, 모바일 앱, POS 시스템, 현장 데이터 수집, IoT 애플리케이션 등의 개발이 간소화됩니다. 베타 버전은 현재 TypeScript와 Rust를 지원하며, 양방향 동기화, 원격 쓰기 지원, WAL 동기화 체크포인트 및 충돌 감지(해결책은 곧 출시) 등의 기능이 포함되어 있습니다.

대서양 횡단 1-2-3 디버깅: 제로 법칙 이야기

2025-03-31
대서양 횡단 1-2-3 디버깅: 제로 법칙 이야기

1990년경, 저자는 비싼 대서양 횡단 전화 통화를 피하기 위해 팩스를 사용하여 고객의 Lotus 1-2-3 설정을 디버깅했습니다. `/ppomr` 및 `/ppoml`과 같은 명령어로 고객을 안내하여 프린터 여백 정보를 얻음으로써 문제를 해결했습니다. 이는 "디버깅의 제로 법칙"을 강조합니다. 최소한의 최속 테스트 케이스를 사용하여 신속한 반복과 효율적인 문제 해결을 수행하는 것입니다.

Windows 11 블루스크린, 새 디자인으로 변신

2025-03-31
Windows 11 블루스크린, 새 디자인으로 변신

Microsoft는 Windows 11의 블루스크린 오브 데스(BSOD)를 새롭게 디자인합니다. 기존의 파란 화면, 슬픈 얼굴 이모티콘, QR 코드를 없애고 Windows 업데이트 화면과 유사한 간결한 검은 화면으로 변경됩니다. 현재 테스트 빌드에서는 녹색 화면으로 나타나지만, 최종 색상은 아직 확정되지 않았습니다. Microsoft는 기술 정보를 유지하면서 사용자의 빠른 복구를 목표로 합니다. Windows 8에서 슬픈 얼굴 이모티콘이 추가된 이후 처음으로 이뤄지는 주요 디자인 변경입니다. 새로운 BSOD는 간단히 "장치에 문제가 발생하여 다시 시작해야 합니다"라고 표시됩니다.

로그인 실패율 추적: 더 나은 사용자 경험을 위한 열쇠

2025-03-31
로그인 실패율 추적: 더 나은 사용자 경험을 위한 열쇠

로그인 성공률에만 집중하고 실패율은 무시하고 있습니까? 이 기사는 로그인 실패율 추적의 중요성을 강조합니다. 이를 통해 사용자 로그인 문제를 파악하고 해결하여 사용자 경험을 향상시킬 수 있습니다. 시스템 성능, 불량 UX, 보안 조치 등 실패의 일반적인 원인에 대해 자세히 설명합니다. 로그인 실패율을 추적함으로써 사용자 행동을 이해하고 로그인 프로세스를 개선하여 궁극적으로 사용자 유지율과 비즈니스 가치를 높일 수 있습니다.

Chrome 135: CSS를 사용한 `<select>` 요소의 완벽한 사용자 지정

2025-03-31
Chrome 135: CSS를 사용한 `<select>` 요소의 완벽한 사용자 지정

Chrome 135는 주요 업데이트로 `` 요소의 완벽한 CSS 사용자 지정을 제공합니다. 수년간의 개발 끝에 표준화되고 접근성이 높으며 스타일을 지정할 수 있는 ``가 탄생했습니다. 개발자는 새로운 `appearance: base-select` 속성을 사용하여 풍부한 사용자 지정 기능을 활용할 수 있습니다. 여기에는 `` 요소에 리치 HTML 콘텐츠(이미지 및 SVG 등)를 추가하는 것도 포함되며, 이전 브라우저와의 호환성을 저해하지 않습니다. 파서 변경 사항이 있지만 Chrome은 Finch 실험을 통해 기존 웹사이트가 손상될 위험을 줄입니다. 이 업데이트를 통해 훨씬 매력적이고 의미 있는 `` 경험을 만들 수 있습니다.

개발

C/C++ 컴파일러 보안 강화 가이드: 심층 보안 분석

2025-03-31

OpenSSF의 이 가이드는 C/C++ 코드의 보안 및 안정성을 향상시키기 위한 컴파일러 및 링커 옵션에 대해 자세히 설명합니다. 컴파일 시 취약성을 감지하고 버퍼 오버플로우 및 제어 흐름 탈취에 대한 런타임 보호를 제공하는 플래그를 권장합니다. 이 가이드는 각 옵션의 성능상의 절충 및 사용 사례를 분석하고 안전한 코딩 관행의 중요성을 강조합니다.

NoteUX: 아름답게 디자인된 메모 앱

2025-03-31

NoteUX는 생각을 빠르게 포착하고, 정리하고, 손쉽게 최적화할 수 있도록 아름답게 디자인된 메모 앱입니다. 깔끔한 인터페이스에는 여러 개의 메모장, 다크 모드, 전체 화면 모드, 자동 저장, 단어 수 세기, .txt 파일로 메모를 다운로드하는 기능이 포함되어 있습니다. 작가, 학생, 전문가 등 누구에게나 NoteUX는 생산성과 창의성을 향상시킵니다.

개발

Claude로 WhatsApp 제어: WhatsApp MCP 서버

2025-03-31
Claude로 WhatsApp 제어: WhatsApp MCP 서버

이 프로젝트는 WhatsApp과 대규모 언어 모델(LLM)인 Claude를 통합합니다. Go로 작성된 브리지는 WhatsApp 웹 멀티디바이스 API에 연결하여 메시지를 로컬 SQLite 데이터베이스에 저장합니다. Python 서버는 모델 컨텍스트 프로토콜(MCP)을 구현하여 Claude가 도구 세트를 통해 메시지, 연락처를 검색하고 메시지를 보낼 수 있도록 합니다. 모든 처리 과정은 로컬에서 이루어지며 사용자의 개인 정보 보호가 우선시됩니다.

개발

명령줄을 이용한 IMAP 제어: 이메일 프로토콜의 마법을 풀어보다

2025-03-31
명령줄을 이용한 IMAP 제어: 이메일 프로토콜의 마법을 풀어보다

이 블로그 게시글은 IMAP 이메일 프로토콜의 근본적인 메커니즘을 심층적으로 파헤칩니다. 저자는 telnet과 OpenSSL을 사용하여 이메일 서버에 직접 연결하고, 로그인, 폴더 목록 표시, 이메일 검색, 이메일 내용 읽기 등의 작업을 시연합니다. IMAP 명령어의 구조와 사용법에 대한 자세한 설명과 함께 안전한 연결의 중요성을 강조합니다. 네트워크 프로토콜이나 이메일 시스템의 내부 동작에 관심 있는 사람들에게 매력적인 읽을거리가 될 것입니다.

개발

arXivLabs: 커뮤니티와의 협업을 통한 실험 프로젝트

2025-03-31
arXivLabs: 커뮤니티와의 협업을 통한 실험 프로젝트

arXivLabs는 참여자들이 arXiv의 새로운 기능을 웹사이트에서 직접 개발하고 공유할 수 있는 프레임워크입니다. arXivLabs에 참여하는 개인 및 조직은 개방성, 커뮤니티, 우수성, 사용자 데이터 개인 정보 보호라는 arXiv의 가치를 수용하고 있습니다. arXiv는 이러한 가치에 전념하고 있으며, 이러한 가치를 공유하는 파트너와만 협력합니다. arXiv 커뮤니티를 개선할 아이디어가 있으십니까? arXivLabs에 대해 자세히 알아보세요.

개발

curl의 실험적 HTTPS RR 지원: 차세대 DNS 레코드

2025-03-31
curl의 실험적 HTTPS RR 지원: 차세대 DNS 레코드

curl은 이제 새로운 DNS 레코드 유형인 HTTPS RR을 실험적으로 지원합니다. 이는 SRV 및 URI보다 더 현대적인 방법으로 ECH 구성, ALPN 목록, 대상 호스트 이름, 포트 및 IP 주소와 같은 서비스 메타데이터를 전달합니다. HTTPS RR은 HTTPS 연결의 보안(SNI 필드의 ECH 암호화를 통해) 및 효율성(HTTP/3 지원 정보의 사전 가져오기를 통해)을 향상시키고 서비스 검색을 간소화합니다. curl은 DoH, getaddrinfo() 또는 c-ares를 통해 HTTPS RR 확인을 수행하지만 현재는 런타임 비활성화를 지원하지 않으며 HTTPS RR 지원은 아직 불완전합니다.

개발

C++ UB 드래곤 길들이기: 안전성 및 보안 개선에 대한 현황 보고

2025-03-31
C++ UB 드래곤 길들이기: 안전성 및 보안 개선에 대한 현황 보고

C++의 정의되지 않은 동작(UB)은 오랫동안 보안 취약점과 디버깅하기 어려운 오류의 원인이었습니다. C++ 표준화 위원회는 이 문제를 적극적으로 해결하고 있으며, C++26에서는 초기화되지 않은 변수의 UB 제거 및 표준 라이브러리의 경계 안전성 향상 등의 진전을 이루었습니다. 향후 노력은 잘못된 동작, 언어 프로파일, 계약 등을 사용하여 남은 UB 케이스를 체계적으로 카탈로그화하고 해결할 것입니다. 목표는 C++의 성능이나 유연성을 희생하지 않고 보안 취약성 측면에서 다른 최신 메모리 안전 언어와 동등한 수준에 도달하는 것입니다.

개발

Blosc2 3.0: 메모리 월 돌파, TB급 데이터셋으로 계산

2025-03-31
Blosc2 3.0: 메모리 월 돌파, TB급 데이터셋으로 계산

Blosc2 3.0은 통합된 연산 엔진을 통해 사용 가능한 RAM보다 100배 이상 큰 데이터셋에 대한 고성능 연산을 가능하게 합니다. 압축과 연산을 긴밀하게 통합하고 CPU 캐시를 활용하여 압축된 데이터 청크를 처리함으로써 메모리 월 문제를 효과적으로 해결합니다. 실험 결과, Blosc2는 최대 8TB의 데이터셋에서 높은 성능을 유지하며, 매우 큰 데이터셋의 경우 디스크 스토리지 성능이 메모리 성능을 능가하는 것으로 나타났습니다. 이는 빅데이터 분석과 고성능 컴퓨팅에 있어 중요한 발전입니다.

RPCEmu 0.9.5 출시: Acorn 컴퓨터 에뮬레이터 주요 업데이트

2025-03-31

Risc PC 및 A7000과 같은 클래식 Acorn 컴퓨터 시스템 에뮬레이터인 RPCEmu가 0.9.5 버전을 출시했습니다. 이번 릴리스에는 마우스 휠 지원, 향상된 플로피 디스크 및 IDE 하드 드라이브 드라이버, 더 정확한 타이머, 64비트 Linux에서 HostFS의 고해상도 타임스탬프 지원 등 많은 개선 사항이 포함되어 있습니다. 이 프로젝트는 오픈 소스이며 커뮤니티의 기여를 환영합니다.

개발

.NET에서 네이티브 리소스 관리의 위험: 예상치 못한 GC 동작에 대한 이야기

2025-03-31

이 글에서는 .NET에서 네이티브 리소스 관리의 잠재적인 위험을 자세히 살펴봅니다. 저자는 RocksDB 예제를 사용하여 예상치 못한 가비지 컬렉션 동작으로 인해 네이티브 리소스가 사용되기 전에 해제되어 크래시가 발생할 수 있음을 보여줍니다. 근본 원인은 로컬 변수와 인스턴스가 메서드 호출 중에 GC에 의해 수거될 수 있다는 점입니다. 결론적으로 이 글에서는 SafeHandle을 사용하여 네이티브 리소스를 안전하게 관리하고 재현하기 어려운 Heisenbug를 방지할 것을 권장합니다.

초고속 Windows 9x 설치: 90초 이내!

2025-03-31
초고속 Windows 9x 설치: 90초 이내!

느린 Windows 98 설치에 지치셨나요? Windows 9x QuickInstall이 해결해 드립니다! 이 프로젝트는 Linux와 사용자 지정 설치 프로그램을 활용하여 이미 설치된 Windows 98 시스템을 최적화된 ISO 이미지로 패키징하여 약 60~90초 만에 설치를 완료할 수 있도록 합니다. Windows 98, Windows 98 SE, Windows ME를 지원하며 드라이버 및 도구를 유연하게 추가할 수 있습니다. ISO 생성 과정은 nLite보다 복잡하지만, 향상된 사용자 지정 기능으로 속도와 고도로 맞춤화된 설치를 중시하는 사용자에게 완벽한 선택이 될 것입니다.

개발 고속 설치

Linus Torvalds, Linux 6.15 커널의 '쓰레기' 테스트 코드에 분노

2025-03-31

리눅스의 창시자인 Linus Torvalds는 Linux 6.15 커널, 특히 Intel Xe 드라이버에 최근 병합된 hdrtest 코드에 대해 강한 불만을 표했습니다. 이 테스트 코드는 빌드 프로세스 중에 불필요한 임시 파일을 생성하여 소스 트리를 오염시키고, 빌드 속도를 늦추며, 심지어 파일 이름 자동 완성에도 영향을 미칩니다. Torvalds는 이를 '쓰레기'(turds)라고 부르며 제거를 요구했고, 일반 빌드에 통합하는 대신 독립적인 테스트로 실행할 것을 제안했습니다. 이 코드는 DRM 헤더 파일의 무결성과 kernel-doc 테스트 통과를 목표로 하지만, 조잡한 구현이 Torvalds를 격분시켰습니다.

개발

AI: 소프트웨어 엔지니어링의 다가오는 분열

2025-03-30

작가의 아내는 AI 도구인 Lovable을 사용하여 소셜 플랫폼을 구축하고 있습니다. 효율적이지만 AI는 자주 멈춰서 인간의 개입이 필요합니다. 이 관찰을 통해 작가는 소프트웨어 엔지니어링의 미래가 분열될 것이라고 예측합니다. 저숙련의 'AI 프롬프터'의 대다수와 문제 해결 및 성능 최적화를 담당하는 소수의 고숙련 전문가라는 구도입니다. 작가는 AGI가 과대평가되었다고 주장합니다. 현실은 AI가 일상적인 작업을 처리하는 AI 지원 개발 모델이며, 복잡한 문제 해결과 아키텍처는 여전히 중요한 인간의 역할입니다. 이러한 변화로 소프트웨어 엔지니어의 일자리는 줄어들겠지만, 살아남은 사람들은 더 강력한 아키텍처 설계 기술과 리더십이 필요한 상급 직책으로 승진할 것입니다. 적응력 있는 사람들에게 미래는 밝지만, 현상 유지하는 사람들에게는 미래가 어두울 것입니다.

Linux/Unix 프로그래밍 입문 가이드

2025-03-30

이 책은 프로그래밍 경험이 없는 사람도 쉽게 시작할 수 있는 Linux/Unix 시스템 프로그래밍 입문 가이드입니다. 40년 이상의 교육 경험을 가진 저자가 쉬운 언어로 Linux/Unix 시스템의 프로그래밍 방법, 효율적인 작업 기법, 그리고 기본적인 설계를 단계적으로 설명합니다. 수많은 그림과 실습 프로젝트를 통해 독자의 지식을 쌓고, 기술을 습득할 수 있도록 지원합니다. C/C++ 프로그래밍 경험이 있으면 도움이 되지만, 필수는 아닙니다. 하지만 학습에는 Linux 시스템이 필요합니다.

개발

내 개인 웹사이트가 C언어로 만들어진 이유

2025-03-30

2017년부터 블로그를 작성해 온 저자는 웹사이트 구축에 Django와 Nuxt.js를 시도했지만, 유지보수 비용이 높다는 이유로 포기했습니다. 결국 C언어와 md4c 라이브러리를 사용하여 정적 웹사이트를 구축하기로 결정했습니다. C언어의 빠른 컴파일 속도, 최소한의 종속성, 장기적인 안정성을 중시했기 때문입니다. 유지보수 오버헤드가 크게 줄었습니다. 반면에 Hugo와 같은 다른 정적 사이트 생성기는 저자의 필요에 비해 기능이 과도하고 불필요하게 복잡하다고 느꼈습니다.

Rust, 공식 언어 사양 획득!

2025-03-30
Rust, 공식 언어 사양 획득!

수년간의 성장 끝에 Rust는 마침내 공식 언어 사양을 획득했습니다! 이는 Ferrous Systems의 Ferrocene 언어 사양(FLS)의 관대한 기증 덕분입니다. FLS는 Rust의 구문, 의미 체계 및 동작에 대한 구조적이고 상세한 참조를 제공하며, 이전에는 컴파일러 자격 부여에 사용되었습니다. 이 기증은 여러 Rust 사양으로 인한 혼란을 방지하고 안전이 중요한 산업에서 Rust의 사용을 크게 지원할 것입니다. Rust 프로젝트 팀은 기존 Rust 참조와 FLS를 통합하여 공식 Rust 사양을 만들어 모든 개발자에게 도움을 줄 것입니다.

개발 사양

Swiftly 1.0 출시: Swift 툴체인 관리 간소화

2025-03-30
Swiftly 1.0 출시: Swift 툴체인 관리 간소화

Swiftly 1.0이 공식 출시되었습니다! 커뮤니티 지원을 받던 Swift 버전 관리자가 이제 Swift 코어 툴체인의 공식 부분이 되었습니다. Linux와 macOS를 포함한 다양한 플랫폼에서 Swift 툴체인의 설치, 관리, 업데이트를 간소화합니다. Swiftly는 안정 버전, 야간 스냅샷, 이전 버전의 설치를 지원하며, 여러 툴체인 간의 원활한 전환을 가능하게 합니다. 프로젝트 내의 `.swift-version` 파일을 사용하여 개발팀 전체에서 버전을 표준화할 수도 있습니다. Swift로 작성되었고 자체 업데이트 기능을 갖춘 Swiftly는 Swift 개발 워크플로를 효율화합니다.

LeetArxiv: 1931년 정수 인수분해 알고리즘 재구현

2025-03-30
LeetArxiv: 1931년 정수 인수분해 알고리즘 재구현

LeetArxiv는 연분수를 기반으로 하는 1931년 Lehmer와 Powers의 정수 인수분해 알고리즘을 재구현했습니다. 이 글에서는 제곱근의 연분수 전개를 계산하는 방법과 결과적으로 얻어진 계수(P와 A)를 사용하여 인수분해하는 방법을 자세히 설명합니다. 단계별 예시를 통해 알고리즘의 세부 사항을 보여주며, 13290059의 인수분해에 성공합니다. 이 알고리즘은 역사적으로 중요하며, 아지수 시간 내에 인수분해를 처음으로 달성한 알고리즘입니다.

1 2 124 125 126 128 130 131 132 214 215