Category: 개발

CppMatch: Rust 스타일의 에러 처리와 패턴 매칭을 제공하는 C++ 라이브러리

2025-03-16
CppMatch: Rust 스타일의 에러 처리와 패턴 매칭을 제공하는 C++ 라이브러리

CppMatch는 Rust 스타일의 예외 처리와 패턴 매칭을 C++에 도입하는 경량의 헤더 전용 C++ 라이브러리입니다. 성공 또는 실패 결과를 나타내는 `Result` 형식을 사용하며, `expect` 매크로를 통해 에러 처리를 간소화하고, `match` 매크로를 통해 패턴 매칭을 구현합니다. 또한 여러 `Result` 객체를 결합하기 위한 `zip_match`도 제공합니다. Clang 및 GCC와 호환되며, 람다 함수를 사용하여 다양한 에러 처리 전략을 제공합니다. Rust의 우아한 에러 처리 방식을 원하는 C++ 개발자에게 매력적인 선택지입니다.

개발 패턴 매칭

tänzer: 최소한의 Tcl 웹 서버 프레임워크

2025-03-16

tänzer는 HTTP/1.1 웹 애플리케이션을 작성하기 위한 간단하고 직관적인 Tcl 웹 서버 프레임워크입니다. 비동기 HTTP/1.1 지원, 패턴 기반 요청 라우팅 엔진, SCGI 클라이언트 및 서버 지원, CGI 실행 파일 지원, 빠른 정적 파일 서비스 기능을 제공하며 Tcl 8.6에서 바로 작동합니다. "Hello, world!" 애플리케이션 생성도 매우 쉽습니다.

개발

C/C++의 정의되지 않은 동작: 효율성과 보안의 줄타기

2025-03-16

이 글에서는 C/C++의 "정의되지 않은 동작"의 본질과 컴파일러 최적화 및 프로그램 보안에 미치는 영향을 심층적으로 다룹니다. 정의되지 않은 동작은 특정 상황에서 컴파일러가 고효율 코드를 생성할 수 있게 하지만, 프로그램이 예측할 수 없는 방식으로 동작하게 만들고 보안 취약성으로 이어질 수 있다고 주장합니다. 사례 연구를 통해 컴파일러가 최적화를 위해 정의되지 않은 동작을 활용하는 방법과 그 결과 발생하는 위험을 완화하는 방법을 설명합니다. 개발자는 주의를 기울이고 코드의 정확성과 보안을 보장하기 위해 여러 도구와 방법을 결합하는 것이 좋습니다.

Hoarder: AI 기능을 갖춘 자체 호스팅 웹 아카이브 도구

2025-03-16
Hoarder: AI 기능을 갖춘 자체 호스팅 웹 아카이브 도구

Hoarder는 오픈소스 자체 호스팅 웹 아카이브 도구로, 웹 콘텐츠를 검색, 필터링, 태깅하고 오프라인 액세스를 위한 완전한 로컬 복사본을 저장할 수 있습니다. 헤드리스 Chrome 인스턴스를 사용하여 콘텐츠를 다운로드하고, AI 기능(OpenAI 또는 LiteLLM)을 선택적으로 통합하여 자동 태깅 및 요약을 수행합니다. Hoarder는 웹 앱과 Android 앱을 제공하며, 전체 텍스트 검색, 태그 필터링, RSS 구독을 지원합니다. 저자는 Docker 및 Caddy 설정, SingleFile 통합 및 Linkding에서의 마이그레이션에 대해 자세히 설명합니다. 향후 개선 사항에는 주석 기능 개선, 앱 내 모바일 읽기, 전자책 내보내기 및 분산형 소셜 기능이 포함됩니다.

Wify: React Native 앱으로 간편한 WiFi 연결

2025-03-16
Wify: React Native 앱으로 간편한 WiFi 연결

Wify는 이미지 스캔 또는 카메라를 사용하여 WiFi 자격 증명을 추출하여 WiFi 연결을 간소화하는 React Native 애플리케이션입니다. 여러 언어의 OCR을 지원하며, WiFi 이름에 대해 퍼지 매칭을 사용하고, 사용자 친화적인 프롬프트를 통한 강력한 권한 처리가 포함되어 있습니다. 이름에 약간의 차이가 있어도 앱은 원활하게 네트워크에 연결되므로 Android와 iOS 모두에서 WiFi에 빠르고 쉽게 액세스할 수 있습니다.

개발 WiFi 연결

Tcl 튜토리얼: 기초부터 재사용 가능한 라이브러리까지

2025-03-16

이 포괄적인 Tcl 튜토리얼은 기본적인 텍스트 출력, 변수 할당, 산술 연산부터 정규 표현식, 연관 배열, 파일 액세스, 하위 프로세스 호출, 재사용 가능한 라이브러리 구축과 같은 고급 주제까지 다룹니다. 루프, 제어 흐름, 데이터 구조(리스트, 배열, 딕셔너리)와 같은 핵심 개념을 단계적으로 소개하고 문자열 조작, 패턴 매칭, 디버깅 기법과 같은 실용적인 기술도 심도 있게 다룹니다. 초보자든 경험 많은 프로그래머든 이 튜토리얼은 Tcl을 빠르게 마스터하고 재사용 가능한 라이브러리를 구축하기 위한 귀중한 자료가 될 것입니다.

개발

뛰어난 프로그래밍 문서 작성: 교육 가이드

2025-03-16

이 글은 매력적인 비유와 스토리텔링을 사용하여 고품질 기술 문서 작성 철학을 설명합니다. 저자는 문서의 핵심은 '교육'이며 단순한 정보 제공이 아니라고 주장합니다. 소스 코드, 테스트 또는 리터럴 프로그래밍 도구에만 의존하는 방법의 부족함을 비판하며, 문서는 단계적인 학습 과정으로 간주되어야 하며, 사용자를 초기 접촉과 빠른 시작부터 심층 학습, 그리고 마지막으로 고급 참조로 안내해야 한다고 강조합니다. 각 단계는 사용자가 전문가가 되도록 돕기 위해 신중하게 설계되어야 합니다. 저자는 또한 개인적인 교육 경험을 공유하고, 문서 작성을 교육 과정으로 간주하고 사용자 경험과 지식의 단계적 습득에 중점을 둘 것을 제안합니다.

zlib-rs 0.4.2 출시: 놀라울 정도로 빠른 압축 라이브러리

2025-03-16
zlib-rs 0.4.2 출시: 놀라울 정도로 빠른 압축 라이브러리

zlib-rs 0.4.2가 출시되어 성능이 크게 향상되었습니다! 현재(저희가 아는 한) 가장 빠른 API 호환 zlib 압축 해제 구현이며, 중요한 압축 사례에서도 경쟁 제품을 능가합니다. 이번 릴리스는 정교한 다중 버전화 및 DFA 최적화를 활용하여 런타임에서 최적의 구현을 효율적으로 선택하여 극적인 속도 향상을 달성했습니다. 벤치마크 테스트 결과, zlib-rs는 압축 해제에서 zlib-ng와 zlib-chromium을 크게 앞지르는 것으로 나타났습니다. 압축 성능을 더욱 향상시킬 계획이지만, zlib-rs는 이미 매우 빠르며, 남은 작업을 완료하기 위해 자금을 지원받고 있습니다.

C++에서 효율적인 정수 나눗셈 구현 전략

2025-03-16

이 글에서는 C++에서 정수 나눗셈 연산을 최적화하는 몇 가지 방법을 살펴봅니다. 단순한 정수 나눗셈은 비효율적이며, 특히 나누는 수가 컴파일 시점에 알려져 있는 경우 더욱 그렇습니다. 먼저 C++ 템플릿 함수를 사용하는 방법을 소개하여 컴파일 시점에 나누는 수를 결정함으로써 컴파일러 최적화를 가능하게 합니다. 하지만 템플릿 함수는 코드 복잡성을 증가시킬 수 있습니다. 다음으로 람다 표현식과 템플릿 람다 표현식을 사용하여 코드를 간소화하려고 시도하지만, 템플릿 람다 표현식을 직접 사용하면 문제가 발생하여 `operator()`를 사용하여 호출해야 합니다. 마지막으로 간단한 람다 표현식, 고급 템플릿 메타 프로그래밍 기법 등 여러 방법의 장단점을 비교하고 상황에 따라 가장 적합한 방법을 선택할 것을 제안합니다.

LLM 지원 코딩: 생산성 향상은 지능 저하의 대가인가?

2025-03-16

저자는 GitHub Copilot과 같은 LLM 지원 코딩 도구 사용 경험을 공유하며, 생산성 향상과 동시에 기본적인 지식을 잊어버리고 도구에 과도하게 의존하게 되어 궁극적으로 문제 해결 능력을 저해할 수 있음을 밝힙니다. 저자는 LLM을 코드 생성기가 아닌 학습 보조 도구로 활용하고, 결과물을 비판적으로 평가하며 기본 원리를 이해하는 데 집중해야 진정한 이점을 얻을 수 있다고 제안합니다.

(eli.cx)

zlib-ng: 차세대 데이터 압축 라이브러리

2025-03-16
zlib-ng: 차세대 데이터 압축 라이브러리

zlib-ng는 인기 있는 데이터 압축 라이브러리인 zlib의 현대화된 포크로, 성능, 유지 관리성, 이식성을 향상시켰습니다. Intel과 Cloudflare의 최적화를 통합했으며 AVX-512 및 ARM NEON과 같은 광범위한 CPU 명령어 집합을 지원합니다. zlib-ng는 zlib와 공존하는 것을 목표로 하며, 코드 변경에 대한 장벽을 낮추고 CMake 및 여러 빌드 시스템을 지원합니다.

개발

로컬 우선 및 이젝터블 앱: 데이터 소유권의 미래

2025-03-16

클라우드 앱은 편리하지만 기존 데스크톱 소프트웨어는 더 나은 데이터 소유권을 제공합니다. '이젝터블' 앱은 이러한 격차를 해소합니다. 사용자는 백엔드 동기화 서버를 자체 호스팅할 수 있습니다. 즉, 작업 공간을 저장하고 서버 실행 파일을 다운로드하여 클라우드 버전과 로컬 버전 간의 원활한 전환을 가능하게 합니다. 클라우드 서비스가 중단되더라도 데이터에 액세스할 수 있으므로 DOOM.EXE와 같은 클래식 앱처럼 오랫동안 사용할 수 있습니다. 저자는 Thymer를 이러한 접근 방식의 예로 강조합니다.

arXivLabs: arXiv 기능에 대한 커뮤니티 협업

2025-03-16
arXivLabs: arXiv 기능에 대한 커뮤니티 협업

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

개발

Codon 컴파일러: 더 빠른 Python을 향한 전망?

2025-03-16
Codon 컴파일러: 더 빠른 Python을 향한 전망?

Codon은 Python의 실행 속도를 극적으로 향상시키는 것을 목표로 하는 컴파일러입니다. 저자는 이전에 컴파일 문제에 직면했지만 최근 업데이트를 통해 해결되었습니다. 테스트 스크립트에서는 속도 향상이 나타나지 않았지만 Codon은 NPBench NumPy 벤치마크에서 상당한 성능 향상을 보였으며 최대 900배의 속도 향상을 달성했습니다. 이는 주로 Codon 팀의 NumPy 직접 이식 때문입니다. 저자는 벤치마크 결과를 재현하지 않았지만, 300배 빨라진다고 알려진 Python 스크립트를 테스트한 결과 특정 사용 사례에서 Codon의 잠재력을 시사합니다.

개발

Ship: 더 나은 제품 개발을 위한 피드백 관리 도구

2025-03-16
Ship: 더 나은 제품 개발을 위한 피드백 관리 도구

Ship은 사용자 피드백의 수집, 우선 순위 지정 및 조치를 간소화하도록 설계된 새로운 도구입니다. 사용자는 중앙 집중식 위치에서 기능 요청 및 아이디어를 제출할 수 있습니다. 개발자는 투표 및 영향도에 따라 요청을 순위 지정하여 의사 결정을 간소화할 수 있습니다. 마지막으로 Ship을 통해 개발자는 사용자에게 진행 상황을 업데이트하고 피드백을 실질적인 제품 개선으로 전환할 수 있습니다.

포토샵 재현: 2006년 여름 프로젝트

2025-03-16
포토샵 재현: 2006년 여름 프로젝트

2006년 여름, 한 개발자는 만화 읽기 경험을 개선하기 위해 C++와 Windows API를 사용하여 만화 리더 'Fiew'를 만들었습니다. 그 후, 그는 야심 차게 포토샵의 핵심 기능을 재현하는 작업에 착수하여 이미지 편집기 'Fedit'을 완성했습니다. Fedit은 설치 불필요, 단일 실행 파일이라는 원칙을 따르며, 플로팅 툴 윈도우, 컬러 피커, 레이어 관리 등 포토샵의 인터페이스와 기능을 최대한 충실하게 재현했습니다. 수개월에 걸친 개발 기간 동안 많은 기술적 문제를 극복하고, 최종적으로 졸업 논문을 성공적으로 마치고 소프트웨어 엔지니어 직업을 얻었습니다. Fedit의 소스 코드와 문서는 현재 공개되어 있습니다.

전체 화면 HTML 다이얼로그 모달 디버깅

2025-03-16
전체 화면 HTML 다이얼로그 모달 디버깅

저자는 사이드 패널을 만들기 위해 HTML의 `` 요소를 사용하는 중에 높이 문제를 발견했습니다. 하단에 빈 공간이 생겨 전체 화면 높이를 차지하지 못했습니다. 디버깅 과정에는 Claude나 ChatGPT와 같은 AI 툴에 문의하는 등 다양한 방법이 포함되었습니다. 문제의 원인은 `` 요소에 적용된 Chrome의 기본 스타일 `max-height: calc(100% - 2em - 6px);`였습니다. `max-height: inherit` 또는 `max-height: 100vh`를 추가하여 문제를 해결했습니다. HTML 사양을 자세히 조사한 결과 이 기본 스타일은 이전 버그를 수정하기 위해 추가되었다는 것을 알게 되었고, 이는 웹 표준의 끊임없는 진화를 강조합니다.

개발

Docs: Notion에 도전하는 오픈소스 협업 문서 편집기

2025-03-16
Docs: Notion에 도전하는 오픈소스 협업 문서 편집기

Docs는 지식 생성 및 공유를 간소화하도록 설계된 오픈소스 협업 문서 편집기입니다. 오프라인 편집, 깔끔한 서식, AI 지원 기능(생성, 요약, 수정, 번역), 실시간 협업 및 세분화된 접근 제어 기능을 제공합니다. Docs는 설치 및 확장이 용이하며 여러 문서 내보내기 형식을 지원합니다. 프랑스와 독일 정부가 주도하는 이 다국어 프로젝트는 현재 활발하게 개발 중이며 위키 기능 통합을 계획하고 있습니다.

40년 된 해시 테이블에 대한 추측이 뒤집히다

2025-03-16
40년 된 해시 테이블에 대한 추측이 뒤집히다

40년 동안 컴퓨터 과학자들은 해시 테이블 검색 효율에 대한 1985년 앤드류 야오의 추측을 받아들여 왔습니다. 그러나 크라피빈과 그의 팀은 야오의 최악의 경우 한계를 훨씬 뛰어넘는 새로운 해시 테이블을 개발했습니다. 그들의 새로운 알고리즘은 훨씬 더 빠른 쿼리 및 삽입 시간을 달성하며, 놀랍게도 테이블의 채우기 비율에 관계없이 평균 쿼리 시간은 일정합니다. 이 획기적인 결과는 오랫동안 믿어져 온 가설을 뒤집을 뿐만 아니라 해시 테이블 최적화를 위한 새로운 길을 열어줍니다.

개발

Lago: 오픈소스 수익화 플랫폼이 백엔드 엔지니어 채용 중

2025-03-16

Lago는 오픈소스 플랫폼(GitHub에서 7,000개 이상의 스타)으로, 사용량 측정, 구독 관리, 청구, 인보이스, 결제 시스템을 포함한 더 나은 수익화 시스템 구축을 엔지니어에게 지원합니다. Mistral, Together, Groq, Laravel과 같은 회사에서 사용되고 있으며, Lago 팀은 이전에 핀테크 유니콘 기업인 Qonto의 수익화 시스템을 구축했습니다. 그들은 25명(대부분 엔지니어)의 소규모 팀이며 백엔드 엔지니어를 채용하고 있습니다. 이 역할은 경쟁력 있는 급여(6만~10만 달러), 원격 근무 지원, LATAM(뉴욕 시간대 ±1시간 이내) 근무지를 제공합니다. 그들의 가치관은 야망, 발전, 겸손한 자신감, 사회 환원, 그리고 워라밸을 중시합니다.

개발 백엔드

아날로그 "테니스 포 투": 연산 증폭기로 레트로 게임 만들기

2025-03-16

이 글에서는 연산 증폭기(op amp)를 사용하여 '테니스 포 투'와 유사한 게임을 만드는 과정을 자세히 설명합니다. 저자는 연산 증폭기의 적분 및 미분 기능을 활용하여 중력의 영향을 받는 공의 움직임을 시뮬레이션합니다. 다이오드와 비교기를 효과적으로 사용하여 공의 바운스와 플레이어 입력을 처리합니다. 글에서는 수학적 유도, 회로도, 오실로스코프 파형 등 회로 설계의 모든 측면을 자세히 설명합니다. LED를 이용한 감쇠 처리 등 구현 과정에서 발생한 문제점도 다룹니다. 최종적으로 저자는 간단한 '테니스 포 투' 게임을 성공적으로 만들고, 더욱 정교한 제어 및 점수 시스템 등 향후 개선 방향을 제시합니다.

개발

rust-stakeholder로 30초 만에 10배 개발자 되기

2025-03-16
rust-stakeholder로 30초 만에 10배 개발자 되기

진짜 코딩에 지치셨나요? rust-stakeholder를 사용해 보세요! 이 명령줄 도구는 의미 없지만 매우 인상적인 터미널 출력을 생성합니다. 유용한 코드 한 줄도 작성하지 않고 코딩 천재처럼 보이게 해줍니다! 개발 활동을 시뮬레이션하고, 진행률 표시줄을 생성하고, 가짜 네트워크 트래픽을 만들고, 인공적인 위기를 만들어낼 수도 있습니다. 물론 이것은 풍자입니다. 자신의 능력을 넘어서는 직업을 얻기 위해 사용하지 마세요!

AI 시대의 구직 시장 변화: 2025년은 커리어의 겨울?

2025-03-16
AI 시대의 구직 시장 변화: 2025년은 커리어의 겨울?

AI, 특히 대규모 언어 모델의 급속한 발전으로 인해 많은 소프트웨어 엔지니어, 특히 2010년부터 2020년 사이에 상급 직책에 오른 사람들에게 구직 시장이 어려워지고 있습니다. 기존의 관리 능력은 그다지 중요하지 않게 되었고, 세부 사항에 대한 집중력, 프로젝트의 신속한 진행, AI 기술 전환에 대한 적응력이 요구되고 있습니다. 따라서 많은 베테랑 리더들은 어려움을 겪고 있으며, 기술적인 세부 사항과 신속한 반복 처리에 능숙한 잠재적인 리더들은 승진이 어려워지고 있습니다. 동시에 AI 기술의 급속한 발전으로 인해 많은 기업의 기존 우위가 위협받고 있으며, 제품과 개발 프로세스의 재설계가 필요하게 되었습니다. 이로 인해 구직자들에게 큰 압박이 가해지고 있으며, 채용 수, 승진, 급여 증가는 감소하고 있습니다. 즉, 현재 구직 시장은 매우 경쟁이 치열하며, 구직자들에게 더 많은 것이 요구되고 있습니다.

개발 기술 전환

Agentic: 확장 가능한 에이전트 플랫폼 및 구조화된 출력

2025-03-16
Agentic: 확장 가능한 에이전트 플랫폼 및 구조화된 출력

Agentic은 사용자가 Pydantic 데이터 모델을 사용하여 확장 기능과 출력 스키마를 정의할 수 있는 플랫폼입니다. 이를 통해 챗봇의 구조화된 출력이 가능합니다. 예를 들어, 날짜 및 시간 정보를 제공하는 시간 출력 모델을 정의하는 코드 예시가 있습니다. 이는 AI 애플리케이션 구축에 있어 유연성과 제어력을 향상시킵니다.

개발

Cloudflare CAPTCHA 오류로 여러 브라우저 접근 차단, 오픈소스 프로젝트 타격

2025-03-16

1월 31일 이후 Cloudflare CAPTCHA 시스템 오류로 Pale Moon 등 비주류 브라우저들이 많은 웹사이트에 접근하지 못하고 있습니다. 이 문제는 거의 한 달 동안 지속되고 있으며, Cloudflare의 소통이 거의 없어 Pale Moon 등 오픈소스 프로젝트는 사용자 감소와 수익 감소로 어려움을 겪고 있습니다. 공식 발표나 해결책이 보이지 않아 작성자는 법적 조치를 고려하고 있습니다.

개발

Cloudflare CAPTCHA, 오픈소스 브라우저 차단: 한 달간의 대치

2025-03-16

1월 31일 이후로 Cloudflare의 CAPTCHA 시스템이 간헐적으로 오류를 일으켜 Pale Moon을 포함한 여러 비주류 브라우저의 웹사이트 접근을 차단하고 있습니다. 커뮤니티의 보고에도 불구하고 Cloudflare는 거의 대응하지 않아 오픈소스 프로젝트에 대한 차별이라는 비난을 받고 있습니다. 거의 한 달 동안 지속되는 이 문제는 영향받은 브라우저의 사용자 수와 수익에 큰 영향을 미쳐 개발자들은 법적 조치를 고려해야 하는 상황입니다.

개발

Nash: 독립형 HTML 메모 앱

2025-03-15

Nash는 다른 소프트웨어나 서비스 없이도 사용할 수 있는 독립형 HTML 메모 앱입니다. 오프라인으로 메모를 저장하고 편집하고, 정적 블로그나 단일 페이지 콘텐츠를 만들고, 메시징 앱을 통해 긴 콘텐츠를 미리 보고 공유할 수 있습니다. 개발자가 단일 HTML 파일로 아이디어의 프로토타입을 만든 경험에서 영감을 얻었으며, Notion이나 Word와 같은 별도의 서비스 없이도 작동하는 문서 파일 생성에서 HTML의 가능성을 보여줍니다. Nash는 오픈 소스이며 자유롭게 수정하고 사용할 수 있습니다.

Cursor 0.47 출시: 에이전트 모드 기본 설정, 성능 대폭 향상

2025-03-15
Cursor 0.47 출시: 에이전트 모드 기본 설정, 성능 대폭 향상

Cursor 0.47은 기존 기능을 더욱 향상시키는 안정성 및 성능 개선에 중점을 두고 있습니다. 에이전트 모드가 기본 모드로 설정되어 채팅, 컴포저, 에이전트 기능이 하나의 더욱 스마트한 인터페이스로 통합되었습니다. 이번 릴리스에는 향상된 키보드 단축키, 새로운 테마, UI 개선, 여러 이미지 업로드, 개선된 규칙 및 MCP 지원, 그리고 수많은 버그 수정이 포함되어 있습니다. 에이전트 모드는 자동 웹 검색 및 더욱 스마트한 코드 편집 및 적용 기능을 제공합니다.

비동기 지원 Pandas: Async로 Pandas 워크플로우 가속화

2025-03-15
비동기 지원 Pandas: Async로 Pandas 워크플로우 가속화

aiopandas는 monkey patching을 통해 Pandas의 `map`, `apply`, `applymap` 등 주요 함수에 비동기 지원을 추가하는 경량 라이브러리입니다. 이를 통해 비동기 함수를 매끄럽게 통합할 수 있으며, `max_parallel`을 사용한 제어된 병렬 실행으로 API 호출, 웹 스크래핑, 데이터베이스 쿼리 등 I/O 바운드 작업의 처리 속도가 크게 향상됩니다. tqdm과도 통합되어 진행 상황을 추적할 수 있습니다. `.map()`을 `.amap()`으로 간단히 바꾸기만 하면(다른 함수도 마찬가지) 거의 바로 사용할 수 있습니다.

개발

육각형 그리드 나선형 좌표 시스템 가이드 업데이트

2025-03-15

작성자는 인기 있는 육각형 그리드 가이드를 업데이트하여 나선형 좌표 시스템에 대한 새로운 섹션을 추가했습니다. 실제 프로젝트에서 사용한 적이 없음에도 불구하고 더 이상 기다리지 않고 현재 이해와 최적화되지 않은 샘플 코드를 공유하기로 결정했습니다. 향후 더 많은 변형이 추가될 것입니다. 또한, 축 좌표를 사용한 간소화된 각도 정렬 방법을 발견하여 별도의 페이지에서 자세히 설명하고 있습니다.

1 2 137 138 139 141 143 144 145 214 215