Category: 개발

Nextcloud, Google이 Android 파일 앱을 고의로 무력화시켰다고 비난

2025-05-13
Nextcloud, Google이 Android 파일 앱을 고의로 무력화시켰다고 비난

유럽 소프트웨어 업체 Nextcloud는 80만 명 이상의 사용자를 보유한 Android 파일 애플리케이션을 Google이 고의로 무력화시켰다고 비난했습니다. 문제는 앱의 파일 동기화 기능에 필요한 '모든 파일에 대한 접근 권한'에 있습니다. Google은 개인 정보 보호 중심의 대안을 제공하지만 Nextcloud는 이것이 불충분하다고 주장합니다. Google은 2024년에 이 권한을 취소하여 Play 스토어에서 앱을 사실상 사용할 수 없게 만들었습니다. Nextcloud는 이것이 거대 기술 기업의 반경쟁적 행위 패턴의 일부라고 생각하며, 규제 프로세스의 느림과 소규모 기업이 이용할 수 있는 수단의 부족을 지적합니다. 앱은 F-Droid에서는 계속 작동합니다.

개발 반경쟁적

Dgraph Labs의 지속적인 보안 감사 여정: 2000개 이상의 보안 문제 해결

2025-05-13
Dgraph Labs의 지속적인 보안 감사 여정: 2000개 이상의 보안 문제 해결

Dgraph Labs는 GitHub Actions 및 다양한 툴셋을 사용하여 지속적인 보안 감사 시스템을 구현하여 단 3개월 만에 2000개 이상의 보안 문제를 해결하고 SOC2 규정 준수를 크게 향상시켰습니다. 이 시스템은 코드, 바이너리 아티팩트 및 Docker 이미지를 포함하며, Trivy 및 Snyk를 사용하여 스캔하고 GitHub의 보안 탭을 사용하여 문제 추적 및 해결합니다. 린터는 정적 코드 분석에 사용되고 Dependabot은 자동 수정에 사용됩니다. 이를 통해 보안 문제의 가시성과 해결 속도가 크게 향상되어 지속적인 보안 개선의 모범 사례를 제시합니다.

Odin: C언어에서 영감을 받은 현대적 최고 관행을 채택한 언어

2025-05-13
Odin: C언어에서 영감을 받은 현대적 최고 관행을 채택한 언어

저자는 C언어로 게임 엔진을 구축한 경험을 바탕으로 Odin 언어에 여러 C언어의 최고 관행이 통합되어 있음을 강조합니다. 여기에는 사용자 정의 할당자(Odin의 핵심 라이브러리에 내장 지원), 프레임 기반 메모리 관리를 위한 임시 할당자, 누수 감지를 위한 추적 할당자, 제로 초기화, 지정된 초기화자, SoA를 통한 캐시 친화적인 프로그래밍 등이 포함됩니다. Odin은 C언어의 단순성을 유지하면서 제네릭과 오버로딩과 같은 현대적인 기능을 추가합니다. 저자는 Odin의 기능이 C언어와 유사한 배경을 가진 개발자에게 매우 유익한 동시에 이러한 개념에 익숙하지 않은 개발자에게도 접근하기 쉽다는 점을 강조하며, 입문서로 자신의 책을 추천합니다.

개발

오프라인 대 온라인 ML 파이프라인: AI 확장의 핵심

2025-05-13
오프라인 대 온라인 ML 파이프라인: AI 확장의 핵심

이 글에서는 확장 가능한 AI 시스템 구축에서 오프라인 및 온라인 머신 러닝 파이프라인의 중요한 차이점을 강조합니다. 오프라인 파이프라인은 데이터 수집, ETL 및 모델 훈련과 같은 배치 처리를 담당하며, 온라인 파이프라인은 사용자에게 실시간 또는 거의 실시간으로 예측을 제공합니다. 이 글에서는 이러한 파이프라인을 분리하는 중요성을 강조하고, 요약 SLM을 미세 조정하기 위한 기능 파이프라인을 예로 사용합니다. ZenML과 같은 MLOps 프레임워크를 사용하여 재현 가능하고 추적 가능하며 확장 가능한 데이터 세트 생성 프로세스를 구축하는 방법을 설명합니다. 이 프로세스는 MongoDB에서 데이터를 추출하고 여러 단계로 처리한 후 최종적으로 Hugging Face에 게시합니다. 이러한 분리를 이해하는 것은 강력한 프로덕션 수준 AI 시스템을 구축하는 데 매우 중요합니다.

개발 AI 확장

엔지니어링 매니저를 위한 5가지 설득 전략

2025-05-13
엔지니어링 매니저를 위한 5가지 설득 전략

이 글에서는 엔지니어링 매니저들이 일반적으로 사용하는 5가지 설득 전략을 실제 사례와 함께 설명합니다. 첫 번째는 '네마와시(Nemawashi)' 기법으로, 이해관계자들과 사전에 소통하여 지지를 얻고 갈등을 최소화하는 방법입니다. 두 번째는 '미끼 가격 책정(Decoy Pricing)'으로, 전략적으로 선택지를 제시하여 원하는 선택을 유도하는 방법입니다. 세 번째는 '역심리(Reverse Psychology)'로, 반직관적인 제안을 통해 원하는 반응을 이끌어내는 방법입니다. 네 번째는 '내가 결정하게 해줘(LMDTFY)'로, 결정을 내리면서 거부권을 부여하여 자율성을 높이는 방법입니다. 마지막은 '인위적 우연(Engineered Serendipity)'으로, 우연을 연출하여 소통을 원활하게 하는 방법입니다. 이러한 전략들은 프로젝트 승인, 자원 확보, 팀워크 측면에서 엔지니어링 매니저의 효율성을 크게 향상시킬 수 있습니다.

개발 설득 전략

Firefox 개발 참여: 소스 코드, 빌드 및 지원

2025-05-13
Firefox 개발 참여: 소스 코드, 빌드 및 지원

Firefox 개발에 기여하고 싶으신가요? Mozilla는 소스 코드 디렉토리 구조에 대한 포괄적인 문서(https://firefox-source-docs.mozilla.org/contributing/directory_structure.html)와 기여를 위한 간편 참조(https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html)를 제공하여 Firefox 빌드 방법과 패치 생성 방법을 안내합니다. 도움이 필요하신가요? Matrix의 `Introduction` 채널(https://chat.mozilla.org/#/room/#introduction:mozilla.org)에 참여하여 지원을 받으세요. nightly 빌드를 다운로드하여 테스트할 수도 있습니다(https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ 또는 https://www.mozilla.org/firefox/channel/desktop/#nightly). 하지만 버그가 포함될 수 있다는 점에 유의하세요.

개발

arXivLabs: 커뮤니티와 협력하여 새로운 arXiv 기능 개발

2025-05-13
arXivLabs: 커뮤니티와 협력하여 새로운 arXiv 기능 개발

arXivLabs는 참여자들이 arXiv의 새로운 기능을 웹사이트에서 직접 개발하고 공유할 수 있는 프레임워크입니다. 참여자는 arXiv의 개방성, 커뮤니티, 우수성, 사용자 데이터 프라이버시라는 가치를 준수해야 합니다. arXiv 커뮤니티를 향상시킬 아이디어가 있으십니까? arXivLabs에 대해 자세히 알아보세요.

개발

Shader Minifier: 작고 아름다운 데모씬 애니메이션의 비밀 병기

2025-05-13
Shader Minifier: 작고 아름다운 데모씬 애니메이션의 비밀 병기

Shader Minifier는 GLSL 코드를 압축하는 도구로, 데모씬 아티스트들이 매우 작은 파일 크기로 복잡한 컴퓨터 애니메이션을 제작할 수 있도록 합니다. 이 글에서는 단순한 공백과 주석 제거에서부터 정적 분석 및 함수 인라이닝과 같은 고급 최적화에 이르기까지 Shader Minifier의 진화 과정을 설명합니다. 저자는 Shader Minifier가 압축 후 47KB의 셰이더를 5.2KB로 줄여 개발 효율성을 극적으로 향상시켰다고 밝히고 있습니다. 핵심 원리는 변수 이름 재사용 및 함수 최적화를 통해 코드 크기를 줄이고 압축률을 높임으로써 압축 알고리즘을 활용하는 것입니다. 이미 성공을 거두었지만, 저자는 더 큰 64KB 애니메이션 제작 과제에 대처하기 위해 추가적인 개선을 모색하고 있습니다.

개발 코드 압축

일시성 정책: 프로그래머의 컴퓨터 사용 철학

2025-05-13

이 글은 프로그래머의 독특한 컴퓨터 사용 습관을 자세히 설명하며, 그 중심에는 "일시성 정책"이 있습니다. 이 철학은 모든 데이터는 의도적으로 영구적이고 정리되어 있거나, 엄격하게 임시적이어야 하며, 우발적인 영구성을 피해야 한다고 주장합니다. 예를 들어, 영구적인 셸 기록 비활성화, GUI 데스크탑의 정기적인 정리, 웹 브라우저의 빈번한 닫기 등이 있습니다. 저자는 효율성 향상, 더 나은 정리, 불필요한 데이터 감소와 같은 이점을 설명합니다. 기업 기록 관리 및 자동화된 OS 설정과 같은 관련 관행과 함께 이메일 및 브라우저 기록과 같이 예측할 수 없는 유용성으로 인해 영구적으로 유지되는 정책의 예외에 대해서도 논의합니다.

BEAM 심층 탐구: Elixir의 기반

2025-05-12
BEAM 심층 탐구: Elixir의 기반

이 글은 "Elixir, 여정을 시작하는 7단계" 시리즈의 첫 번째 장으로, Elixir의 강력함과 안정성의 기반인 Erlang 가상 머신(BEAM)을 심층적으로 파헤칩니다. Erlang의 역사, 설계 목표, 그리고 Elixir에서의 중요한 역할을 탐구합니다. 1980년대 중반에 만들어진 Erlang은 처음에는 통신에 사용되었지만, 현재는 분산형, 장애 허용, 대규모 병렬, 소프트 리얼타임 시스템으로 알려진 범용 언어입니다. BEAM은 Erlang 코드 실행, 병렬 프로세스, 비동기 메시지 전달을 통한 장애 허용을 관리합니다. BEAM에서 실행되는 Elixir는 이러한 장점을 상속받고 더욱 깔끔한 구문과 강력한 라이브러리를 추가합니다. 간단한 코드 예제를 통해 Erlang과 Elixir의 상호 작용을 보여줍니다. 다음 장에서는 Erlang 프로세스와 병렬 처리를 심층적으로 다룰 예정입니다.

개발

나만의 로컬 음성 어시스턴트 구축하기: 에지의 귀환

2025-05-12
나만의 로컬 음성 어시스턴트 구축하기: 에지의 귀환

거대한 클라우드 LLM에 의존하는 것에 지쳤습니까? 이 5부작 자습서에서는 자연어를 이해하고, 앱 기능을 실행하며, 개인 정보를 존중하는 자신만의 로컬 음성 어시스턴트를 구축하는 방법을 배웁니다. LoRA를 사용한 LLaMA 3.1 미세 조정, 함수 호출 데이터 세트 생성, 로컬에서의 추론 실행, 음성 입출력 통합 방법을 배우게 됩니다. 저자는 로컬 AI에서 MLOps 원칙의 중요성을 강조하고, 강력하고 지속 가능한 로컬 음성 어시스턴트를 구축하기 위한 실용적인 안내를 제공합니다.

개발

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

2025-05-12
arXivLabs: 커뮤니티와의 협업 실험 프로젝트

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

개발

견고한 SOC 2 기반 구축: 원스톱 솔루션

2025-05-12
견고한 SOC 2 기반 구축: 원스톱 솔루션

SOC 2 규정 준수에 어려움을 겪고 계십니까? 이 도구는 요구 사항을 이해하고 진행 상황을 쉽게 추적할 수 있도록 명확하고 실행 가능한 SOC 2 체크리스트를 제공합니다. 기본적인 SOC 2 준수 정책을 즉시 생성하여 문서화를 시작할 수 있습니다. 증거 업로드를 중앙 집중화하고 파일을 제어에 직접 연결하여 감사 준비를 간소화합니다. 팀 작업 할당, 상태 추적 및 증거 요청 관리를 모두 단일 플랫폼에서 효율적으로 수행할 수 있습니다. 향후 업데이트에는 자동화된 증거 수집, 지속적인 제어 모니터링 및 공급업체 통합이 포함됩니다.

개발

Mergeable: GitHub Pull Request를 위한 더 나은 받은편지함

2025-05-12
Mergeable: GitHub Pull Request를 위한 더 나은 받은편지함

Mergeable은 GitHub Pull Request 관리를 개선하도록 설계된 브라우저 애플리케이션입니다. 유연한 검색 쿼리를 사용하여 PR을 섹션으로 정리하고, 모든 데이터를 로컬 브라우저에 저장하며, 빠른 탐색을 위한 키보드 단축키를 지원하고, 여러 GitHub 인스턴스(GitHub Enterprise 포함)에 연결할 수 있습니다. 중요한 것은, GitHub 앱을 설치하지 않고도 사용자의 조치를 기다리는 PR을 강조 표시한다는 것입니다. https://app.usemergeable.dev에서 공개 인스턴스를 사용해 보거나, https://www.usemergeable.dev의 설명서를 사용하여 직접 호스팅할 수 있습니다.

개발

N체 시뮬레이션 5단계: 파이썬 튜토리얼

2025-05-12

이 튜토리얼 시리즈는 "CFD Python: 12 steps to Navier-Stokes" 강의에서 영감을 받아 파이썬으로 빠르고 깔끔한 N체 중력 시뮬레이션 코드를 작성하는 방법을 초보자에게 가르쳐줍니다. 각 단계에서 자세한 설명과 완전한 코드를 제공하며, 독자들이 코드를 다시 작성하여 이해도를 높일 것을 권장합니다. 파이썬과 미적분 기본 지식이 있으면 초보자도 따라 할 수 있습니다. 완료 후에는 자신만의 N체 시뮬레이션을 만들고 관련 프로젝트를 탐색할 수 있습니다.

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

2025-05-12
arXivLabs: 커뮤니티와의 협업 실험 프로젝트

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

개발

OCaml에서 GADTs를 사용한 효율적인 메모리 표현

2025-05-12
OCaml에서 GADTs를 사용한 효율적인 메모리 표현

이 글에서는 OCaml에서 일반화된 대수적 자료형(GADTs)을 사용하여 메모리 표현을 최적화하는 방법을 살펴봅니다. 저자는 먼저 OCaml의 다형성의 한계, 특히 통일된 메모리 표현 때문에 List.iter 함수가 서로 다른 자료형을 처리할 때 발생하는 공간 효율성 저하 문제를 설명합니다. 그런 다음 일반적인 변형과 객체라는 두 가지 방법을 사용하여 일반 배열과 바이트 배열을 모두 처리할 수 있는 Compact_array 자료형을 만들려고 시도하지만, 형식 추론과 메모리 할당 효율성 문제에 직면합니다. 마지막으로 GADTs를 사용하여 저자는 서로 다른 자료형의 배열에 대해 유연하고 효율적인 메모리 표현을 성공적으로 구현하고, GADTs가 컴파일러 작성뿐만 아니라 정밀한 메모리 제어가 필요한 고성능 애플리케이션에서도 유용함을 보여줍니다.

개발

Nix: 검증 가능한 안전한 소프트웨어 공급망

2025-05-12
Nix: 검증 가능한 안전한 소프트웨어 공급망

엄격한 소프트웨어 공급망 보안 규정을 준수하려면 종종 비용이 많이 드는 에어 갭 환경과 광범위한 조사가 필요합니다. 이 기사에서는 강력한 패키지 관리자인 Nix를 솔루션으로 소개합니다. Nix는 개발 속도를 희생하지 않고 검증 가능한 공급망 무결성을 가능하게 합니다. 소프트웨어의 정확한 출처와 무결성을 추적하고 감사 가능한 오프라인 소스 패키지를 생성합니다. 부팅 가능한 NixOS 이미지 예시는 Nix가 종속성 트리에서 검증 가능한 고정 출력 파생물(FOD)을 추출하여 오프라인 재구축을 가능하게 하고 완벽한 추적 가능성과 무결성을 보장하는 방법을 보여줍니다. 이를 통해 규정 준수가 장애물에서 관리 가능한 개발 후 검증 단계로 전환되어 비용을 크게 절감하고 개발 효율성을 향상시킵니다.

HN 정보 과부하 극복: AI 기반 맞춤형 기술 뉴스

2025-05-12
HN 정보 과부하 극복: AI 기반 맞춤형 기술 뉴스

오랫동안 Hacker News를 사용해 온 저자는 정보 과부하에 시달렸습니다. 이 문제를 해결하기 위해 두 가지 도구를 개발했습니다. 하나는 키워드와 투표 수를 기반으로 맞춤형 HN 게시물을 제공하는 Telegram 봇인 'Tobie'입니다. 다른 하나는 유료 기사의 아카이브 링크, HN 스레드에 대한 빠른 접근, AI 기반의 요약된 댓글을 제공하는 Chrome 확장 프로그램인 'HaNe'입니다. 이러한 도구를 통해 저자는 독서 효율성을 크게 높이고 화면 시간과 정보 불안감을 줄였습니다.

개발

임베딩: 기술 문서 작성의 미래?

2025-05-12

이 글에서는 임베딩 기술이 기술 문서 작성에 어떻게 혁신을 가져올 수 있는지 탐구합니다. 텍스트 생성 모델과 달리 임베딩 기술은 텍스트를 고차원 벡터(임베딩)로 변환하여 텍스트 간의 의미적 유사성을 비교합니다. 이 글에서는 임베딩 생성 방법, 비용, 그리고 다양한 모델 간의 차이점을 설명하고, Voyage-3 모델을 예시로 대규모 텍스트 처리에서의 장점을 보여줍니다. 저자는 지도 좌표를 비유하여 고차원 공간에서의 임베딩 표현 방식을 설명하고, Word2vec을 예시로 임베딩 기술이 의미 관계를 포착하는 능력을 보여줍니다. 마지막으로, 문서 사이트에서 관련 페이지 추천에 대한 임베딩 기술의 적용을 소개하고, 기술 문서 작성에서의 막대한 잠재력을 살펴봅니다.

StarGuard: GitHub 저장소 신뢰 점수

2025-05-12
StarGuard: GitHub 저장소 신뢰 점수

StarGuard는 GitHub 저장소에서 가짜 스타 캠페인, 종속성 하이재킹, 라이선스 관련 경고 및 기타 오픈소스 위험 신호를 감지하도록 설계된 CLI 도구입니다. 스타, 종속성, 라이선스, 관리자, 코드를 분석하여 신뢰 점수를 생성하여 CTO, 보안팀, VC가 오픈소스 위험을 신속하게 평가할 수 있도록 합니다. StarGuard는 JSON, Markdown, 일반 텍스트 보고서 외에도 스타 히스토리 플롯과 shields.io 배지를 출력합니다.

개발

Ruby 네임스페이스: 제안된 구현에 대한 비판적 검토

2025-05-12

이 블로그 게시글은 Ruby에서 제안된 네임스페이스 구현에 의문을 제기합니다. 저자는 이 제안이 라이브러리 이름 충돌, 전역적으로 공유되는 모듈, 여러 gem 버전과 같은 문제를 해결하기 위한 것이지만, 실제로는 이러한 문제가 자주 발생하지 않는다고 주장합니다. 중복 제거 등 제안으로 인한 복잡성은 장점을 능가할 수 있습니다. 저자는 상수에 대한 접근을 제한하고 BasicObject와 유사한 메커니즘을 제공하는 등 보다 가벼운 접근 방식을 선호하여 코드의 유지 관리성과 모듈성을 개선하고자 합니다.

LLVM 행동 강령 위원회의 실패: 오픈소스 기여자의 이야기

2025-05-12

오픈소스 기여자가 LLVM 프로젝트에 버그 보고서를 제출했지만 불공정한 대우를 받았습니다. 방대한 증거를 제시했음에도 불구하고, 행동 강령 위원회는 기여자에게 불리한 결정을 내리고 다른 기여자들의 명백한 위반을 간과했습니다. 이는 오픈소스 커뮤니티에서 행동 강령의 시행과 공정성 및 책임감에 대한 우려를 불러일으킵니다. 이 사건은 Mesa 프로젝트로까지 확산되어 오픈소스 커뮤니티에서 더 나은 분쟁 해결 메커니즘의 필요성을 더욱 강조하고 있습니다.

CoMaps: Organic Maps 커뮤니티 포크가 빠르게 성장 중

2025-05-12
CoMaps: Organic Maps 커뮤니티 포크가 빠르게 성장 중

Organic Maps의 커뮤니티 포크인 CoMaps가 빠르게 발전하고 있습니다. 투명성, 커뮤니티 의사결정, 비영리, 오픈소스, 개인정보 보호 원칙에 기반하여 구축되었으며, 기반과 기술 구축에 집중하고 있습니다. 첫 번째 릴리스가 진행 중입니다. 프로젝트의 최종 이름을 정하는 커뮤니티 투표는 5월 20일에 Codeberg에서 마감됩니다. CoMaps는 개발, 거버넌스, 아웃리치, 기부 등에 대한 기여를 환영합니다. Organic Maps 주주와의 협상은 교착 상태에 있으며, Viktor는 완전한 통제권을 유지하려고 하며, Organic Maps의 미래는 불확실합니다.

kdlfmt: 강력한 KDL 코드 포맷터

2025-05-12
kdlfmt: 강력한 KDL 코드 포맷터

kdlfmt는 Rust 기반의 KDL(Key-Data-List) 문서 포맷터 명령줄 도구입니다. Cargo, Homebrew, npm 및 사전 컴파일된 바이너리를 사용하여 유연하게 설치할 수 있습니다. 포맷팅을 위한 `format` 명령어, 유효성 검사를 위한 `check` 명령어, 셸 자동 완성을 위한 `completions` 명령어를 제공합니다. `.kdlfmtignore` 파일을 사용하여 파일을 제외할 수 있으며, KDL 버전 및 로그 레벨과 같은 옵션을 설정할 수도 있습니다. 파이프라인 입력이나 파일 직접 처리 방식 모두 kdlfmt는 KDL 코드를 효율적으로 포맷하여 가독성과 일관성을 향상시킵니다.

개발

Dart 컴파일 마스터하기: `dart compile` 심층 분석

2025-05-12
Dart 컴파일 마스터하기: `dart compile` 심층 분석

이 가이드는 Dart의 `dart compile` 명령어에 대한 포괄적인 개요를 제공하여 Dart 프로그램을 다양한 대상 플랫폼으로 컴파일할 수 있도록 합니다. `exe`(독립 실행형 실행 파일), `aot-snapshot`(AOT 모듈), `jit-snapshot`(JIT 모듈), `kernel`(이식 가능한 모듈), `js`(JavaScript), `wasm`(WebAssembly) 등의 하위 명령어 사용법을 자세히 설명하고 해당 기능과 특징을 설명합니다. 크로스 컴파일, 코드 서명, 프로덕션 웹 컴파일 최적화 기법을 다루어 Dart 컴파일을 완벽하게 이해할 수 있도록 합니다.

개발

Armbian 주요 업데이트: OpenMediaVault 통합 및 기타 개선 사항

2025-05-12
Armbian 주요 업데이트: OpenMediaVault 통합 및 기타 개선 사항

이번 주 Armbian 업데이트는 전반적으로 상당한 개선을 제공합니다. 가장 큰 특징은 OpenMediaVault 통합으로, 지원되는 싱글보드 컴퓨터를 네트워크 연결 스토리지(NAS) 장치로 쉽게 변환할 수 있습니다. 기타 개선 사항으로는 불필요한 무선 핫스팟 메시지 제거, Orange Pi 5 Max 및 PocketBeagle2 부트로더 업그레이드, Rockchip64 플랫폼의 성능 및 안정성 최적화 등이 있습니다. Armbian은 인프라 개선, 사용되지 않는 코드 정리 및 향후 테스트 계획 준비도 지속하고 있습니다.

개발

PyPI의 Warehouse: 간단한 최적화로 테스트 스위트 속도 81% 향상

2025-05-12
PyPI의 Warehouse: 간단한 최적화로 테스트 스위트 속도 81% 향상

Trail of Bits는 PyPI의 Warehouse 테스트 스위트 성능을 획기적으로 개선하여 실행 시간을 163초에서 30초로 단축했습니다. 테스트 수는 3,900개에서 4,700개 이상으로 증가했습니다. 이 81%의 성능 향상은 다음과 같은 몇 가지 주요 최적화를 통해 달성되었습니다. pytest-xdist를 사용한 테스트 실행 병렬화, 효율적인 적용 범위 측정을 위한 Python 3.12의 sys.monitoring 활용, 테스트 검색 최적화, 불필요한 import 제거입니다. 이러한 기법은 느린 테스트 스위트로 어려움을 겪는 많은 Python 프로젝트에 쉽게 적용할 수 있으며, 최소한의 비용으로 성능을 크게 향상시킬 수 있습니다.

서울 에어비앤비에서 Windows 보안 센터 리버스 엔지니어링

2025-05-12

MacBook 하나만 가지고 서울 에어비앤비에 머물던 개발자가 여러 어려움을 극복하고 Windows 보안 센터를 리버스 엔지니어링하여 다른 바이러스 백신 소프트웨어에 의존하지 않고 Windows Defender를 비활성화하는 defendnot이라는 도구를 만들었습니다. 이 글에서는 크로스 플랫폼 디버깅, 높은 대기 시간, Windows 토큰과 보안 메커니즘에 대한 심층적인 이해 등 개발 과정에서 직면한 과제에 대해 자세히 설명합니다. 개발자는 프로젝트를 성공적으로 완료했지만 매우 답답한 경험이었다고 토로합니다.

프로그래밍 언어 순위: Python, Rust, JavaScript가 선두를 달리고 있다

2025-05-12

5월 프로그래밍 언어 순위가 발표되었습니다! Python은 사용 편의성과 폭넓은 채택으로 1위를 유지하고 있으며, Rust는 성능과 보안성으로 인해 인기가 계속 상승하고 있습니다. JavaScript는 여전히 웹 개발 분야에서 주도적인 위치를 차지하고 있습니다. 이번 달 주목할 만한 뉴스로는 C++의 안전하고 효율적인 임베디드 환경에 대한 워크숍, Kotlin Compose Multiplatform의 안정 버전 출시, Python 3.14.0 beta 1 출시 등이 있습니다. 다양한 순위(PyPL, TIOBE, GitHub Pushes)에서 순위는 약간 다르지만, Python, JavaScript, C 계열 언어는 항상 상위권을 차지하며 다양한 분야에서의 영향력을 보여주고 있습니다.

개발 순위
1 2 90 91 92 94 96 97 98 214 215