Category: 개발

WordPress 지속가능성 팀 해체로 분노 폭발

2025-01-12
WordPress 지속가능성 팀 해체로 분노 폭발

WordPress 공동 창립자인 Matt Mullenweg가 WordPress 지속가능성 팀을 갑자기 해체하면서 커뮤니티 내에서 거센 반발이 일고 있다. 이 팀은 WordPress의 사회적, 경제적, 환경적 지속가능성에 중점을 두고 활동해왔지만, 지속가능한 관행을 통합하려는 노력에도 불구하고 해체되었다. 기술 전문 기자인 Kara Swisher는 이 조치를 “기괴하고 악랄한 행위”라고 불렀다. Mullenweg는 ROI가 낮다는 이유를 들었지만, 비판자들은 그의 결정을 근시안적이며 팀의 기여를 무시한 것이라고 비난하고 있다. 이 사건은 거버넌스 문제와 WordPress의 장기적인 지속가능성에 대한 우려를 드러내고 있다.

SimpleGantt: 설치 불필요한 경량 간트 차트 도구

2025-01-12
SimpleGantt: 설치 불필요한 경량 간트 차트 도구

SimpleGantt는 소프트웨어 설치가 제한된 환경이나 클라우드 애플리케이션이 허용되지 않는 환경을 위해 설계된 경량 프로젝트 관리 도구입니다. JavaScript, CSS, HTML, YAML만을 사용하여 브라우저에서 완전히 실행되며, 인터랙티브한 간트 차트 렌더링, 종속성을 포함한 작업 관리, 마일스톤 추적, 오프라인 사용을 제공합니다. SharePoint와 같은 제한된 환경에서도 SimpleGantt는 간단한 프로젝트 관리 솔루션을 제공합니다. 프로젝트 파일은 YAML 형식으로 로컬에 저장하거나 SharePoint에 수동으로 업로드할 수 있습니다.

맷 멀렌웨그의 이해 상충: 사임해야 할 때인가?

2025-01-12

이 글은 워드프레스 창립자인 맷 멀렌웨그가 비영리 단체인 워드프레스 재단과 영리 기업인 오토매틱을 동시에 이끌면서 심각한 이해 상충에 직면해 있다고 주장합니다. 저자는 오토매틱의 사업적 이익이 재단의 사명과 충돌하여 워드프레스 커뮤니티에 피해를 줄 수 있다고 주장합니다. 이 글은 오픈소스 거버넌스와 상업적 이익에 대한 격렬한 논쟁을 불러일으켰으며, 커뮤니티 구성원들은 양측 모두에서 강한 의견을 표명했습니다.

개발 이해 상충

박사 과정에 대한 그림 설명서: 시각적인 여정

2025-01-12

이 기사는 박사 과정을 시각적으로 설명합니다. 지식은 원으로 표현되며, 박사 학위는 그 원의 경계를 넓히고 독창적인 연구에 대한 기여를 나타내는 움푹 들어간 부분을 만드는 것으로 묘사됩니다. 저자는 학부 과정부터 최종적인 돌파구까지의 단계를 설명하기 위해 간단한 다이어그램을 사용합니다. 이 기사에서는 인내심과 전체적인 그림을 파악하는 것의 중요성을 강조합니다.

Clojure에서 Common Lisp로 옮긴 이유

2025-01-12

7년 동안 Clojure를 사용해 온 프로그래머가 느린 시작 시간과 네이티브 실행 파일 생성의 어려움 때문에 Common Lisp로 전환했습니다. 결정에 중요한 요소는 빠른 독립 실행 파일, Vim 호환성, 크로스 플랫폼 지원, 강력한 멀티스레딩 기능, 활기찬 커뮤니티와 풍부한 에코시스템에 대한 필요성이었습니다. Common Lisp는 성숙한 툴체인, 강력한 CLOS 및 Conditions 시스템, 빠른 런타임으로 인해 최종적으로 선택되었습니다.

개발

C언어의 간과된 개선 사항: 컴파일 시 함수 실행 및 모듈 가져오기

2025-01-12

이 글에서는 컴파일 시 함수를 실행할 수 없다는 점, 중복된 선언, 번거로운 헤더 파일 관리 등 C언어의 오랜 단점들을 강조합니다. 저자는 ImportC(D 언어 컴파일러에 내장된 C 컴파일러)를 활용하여 이러한 문제에 대한 해결책을 제시합니다. 여기에는 단위 테스트를 위한 컴파일 시 함수 실행 활성화, 전역 선언의 임의 순서 지정, C 소스 파일의 직접 가져오기 기능 등이 포함됩니다. 이러한 개선으로 개발 효율성과 코드 유지 관리가 크게 향상되며, 최신 컴파일러 기술이 C언어의 역사적 제약을 해결할 수 있는 가능성을 보여줍니다.

개발

Pagecord: 이메일로 간편하게 글쓰기 게시

2025-01-12
Pagecord: 이메일로 간편하게 글쓰기 게시

Pagecord는 Ruby on Rails 기반 애플리케이션으로, 이메일을 보내는 것만으로 웹사이트에 글을 간편하게 게시할 수 있습니다. 콘텐츠 편집 및 업로드 과정을 자동화하여 글쓰기 및 게시 프로세스를 간소화합니다. GitHub에서 호스팅되는 오픈소스 프로젝트이며, 포괄적인 문서와 테스트 지침을 제공합니다.

개발 작성 도구

호주 엔지니어의 미국 기업 근무 경험: 시차, 문화, 안정성

2025-01-12

호주 엔지니어가 미국 기술 기업에서 10년간 근무한 경험을 공유합니다. 시차를 고려한 협업의 어려움을 설명합니다. 아침은 야간에 완료된 작업을 따라잡는 데 보내고, 오후에는 귀중한 집중 작업 시간을 확보합니다. 외로움도 문제가 될 수 있지만, 훌륭한 팀워크와 문서화 문화로 완화됩니다. 해외에서 미국 기업에 근무하는 고유한 불안정성도 언급하며, 더 큰 규모, 더 나은 보상, 더 높은 브랜드 인지도를 주요 동기로 강조합니다. 마지막으로, 호주와 미국의 문화적 차이에 대해 논의하며, 미국인은 더 열정적이고 호주인은 더 신중하기 때문에 미국의 직장 문화에 적응해야 한다고 말합니다.

더 이상 전화 일정을 잡으려고 하지 마세요!

2025-01-12
더 이상 전화 일정을 잡으려고 하지 마세요!

작성자는 SaaS 제품 판매 과정에 대한 불만을 토로합니다. 초기 체험판 이메일부터 끝없는 데모 통화, 계약 협상까지 비효율적이고 시간 낭비인 과정입니다. 영업 담당자는 계약 체결에만 집중하고, 엔지니어는 업무 과다에 시달리며, 사용자 경험은 악화됩니다. 작성자는 SaaS 기업에 판매 전략 개선, 불필요한 소통 감소, 사용자 경험 향상을 촉구합니다.

개발 영업

FSF: 소프트웨어 자유를 수호하는 수호자

2025-01-11

1985년 설립 이후, 자유 소프트웨어 재단(FSF)은 소프트웨어 자유를 굳건히 옹호하며 상업적 이익의 침해에 저항해 왔습니다. 독특한 비회원 거버넌스 구조를 통해 그 사명은 흔들림 없이, 오픈소스 운동과 대기업의 영향과 같은 과제에도 대응하며 소프트웨어 자유를 기본적인 인권으로 지켜나가고 있습니다.

워드프레스 창립자, 포크 계획 중인 기여자 계정 비활성화

2025-01-11
워드프레스 창립자, 포크 계획 중인 기여자 계정 비활성화

워드프레스 창립자인 Matt Mullenweg는 오픈소스 프로젝트의 포크를 만들려는 여러 WordPress.org 커뮤니티 회원들의 계정을 비활성화했습니다. 이 갈등은 커뮤니티 기여가 부족하다고 비판받은 상용 호스팅 회사 WP Engine과의 분쟁에서 비롯되었습니다. 이후 Joost de Valk(Yoast)와 Karim Marucchi(Crowd Favorite) 등 주요 커뮤니티 회원들이 워드프레스 거버넌스에 대한 우려를 표명하고 잠재적인 포크를 시사했습니다. Mullenweg는 이들의 독립적인 노력을 지원하기 위해 계정을 비활성화하여 논란을 일으켰습니다.

Cursor의 영리한 알고리즘: 정확한 코드 완성을 위한 문자 접두사 조건 설정

2025-01-11
Cursor의 영리한 알고리즘: 정확한 코드 완성을 위한 문자 접두사 조건 설정

Cursor의 블로그 게시물은 AI 코드 완성에서 중요한 문제인 문자 접두사를 효율적으로 처리하는 방법에 대해 자세히 설명합니다. 기존의 토큰 기반 샘플링은 커서가 토큰 경계에 없을 때 실패합니다. 이 게시물에서는 문자 접두사 조건 설정이라는 알고리즘을 소개하는데, 이는 문자 접두사를 기반으로 샘플링하여 완성이 사용자 입력으로 시작되도록 보장합니다. 게시물은 기본 언어 모델에 대한 호출을 최소화하면서 이 분포에서 샘플링하기 위한 효율적인 알고리즘을 고안하는 과제로 마무리됩니다.

개발 코드 완성

CubeTrek: GPS 트랙 3D 시각화

2025-01-11
CubeTrek: GPS 트랙 3D 시각화

CubeTrek은 GPS 트랙을 시각화, 공유, 관리하기 위한 웹 기반 플랫폼입니다. 2D 지도의 한계를 넘어 Babylon.js를 사용하여 인터랙티브한 3D 지형 뷰를 만들어 야외 활동의 흥분을 더욱 직관적으로 경험할 수 있도록 합니다. Garmin, Polar, Coros 시계의 데이터 가져오기를 지원하며, NASA SRTM 데이터와 OpenStreetMap 데이터를 결합하여 풍부한 통계 정보와 활동 분석을 제공합니다. 등반한 봉우리를 자동으로 식별할 수도 있습니다. 백엔드는 Java와 Spring Boot로 구축되었으며, 프런트엔드는 Bootstrap, D3.js, MapLibre GL JS와 같은 기술을 사용합니다.

Lovable, 19시간 서비스 중단: GitHub 앱 문제

2025-01-11
Lovable, 19시간 서비스 중단: GitHub 앱 문제

Lovable은 리포지토리의 빠른 생성과 관련된 서비스 약관 위반으로 GitHub가 앱을 비활성화하여 약 19시간 동안 서비스가 중단되었습니다. 이 앱은 사용자 리포지토리를 복제하고 푸시하는 데 필수적이었습니다. Lovable은 신속하게 대응하여 새로운 프로젝트에 대해 AWS S3를 사용하여 더욱 확장 가능한 파일 스토리지 솔루션을 구현했으며, 최종적으로 GitHub에서 앱을 복원한 후 서비스를 복구했습니다. 이번 사건은 Lovable이 종속성 관리, 장애에 대한 신속한 대응, 공급업체와의 더욱 긴밀한 커뮤니케이션을 개선해야 함을 강조했습니다. 개선 사항에는 중요 알림에 대한 페이징 시스템 구현과 보다 강력한 분석 데이터베이스로의 마이그레이션이 포함됩니다.

CCL: 범주 이론 기반의 미니멀리스트 설정 언어

2025-01-11
CCL: 범주 이론 기반의 미니멀리스트 설정 언어

저자는 범주 이론에서 영감을 받은 미니멀리스트 설정 언어인 CCL을 제시합니다. CCL의 핵심은 키-값 쌍이며, 복잡한 기능을 피하고 합성 가능성과 확장성을 중시합니다. 공백과 간단한 규칙을 영리하게 사용하여 중첩 구조와 주석을 처리하고, 리스트, 주석, 섹션, 여러 줄 문자열과 같은 강력한 기능을 제공하면서도 매우 간결한 구조를 유지합니다. 독창적인 고정점 설계를 통해 키 재정의 충돌을 우아하게 해결합니다. 범주 이론의 모노이드와 모노이드 준동형 사상을 활용하여 설정 합성이 정확하고 효율적으로 이루어집니다. CCL 코드는 간결하고 이해하기 쉽고 구현하기 쉬우며, 세련된 소프트웨어 설계의 귀중한 사례가 됩니다.

브라우저: 새로운 스토리텔링 매체

2025-01-11
브라우저: 새로운 스토리텔링 매체

이 글에서는 브라우저를 이야기를 각색하기 위한 새로운 매체로서의 가능성을 탐구합니다. J.R.R. 톨킨의 '반지의 제왕'을 예로 들어, 서로 다른 매체가 이야기 전달 방식에 어떻게 영향을 미치는지 설명합니다. 저자는 브라우저가 다양한 도구(텍스트, 이미지, 비디오, 사운드, 인터랙티비티)를 통해 더욱 풍부하고 역동적이며 개인화된 스토리텔링 경험을 제공한다고 주장합니다. '반지의 제왕' 인터랙티브 프로토타입을 예시로 들어, 브라우저 기술이 지도, 캐릭터 시트, 사운드 디자인 등의 기능을 통해 독자의 몰입도와 참여도를 높여 매력적인 사용자 경험을 만들어낸다는 것을 보여줍니다.

무료 대체 텍스트 검사기: 웹사이트 접근성 및 SEO 향상

2025-01-11

이 무료 대체 텍스트 검사기 도구는 웹사이트 이미지에 대체 텍스트가 포함되어 있는지 신속하게 확인하는 데 도움이 됩니다. 대체 텍스트는 시각 장애가 있는 사용자의 웹사이트 접근성을 향상시키고 검색 엔진 최적화(SEO)를 향상시킵니다. 이 도구는 웹페이지를 자동으로 스캔하고, 누락된 대체 텍스트 설명을 찾아 보고서를 생성하여 웹사이트의 포괄성과 사용 편의성을 개선하는 데 도움이 됩니다.

DockView: React, Vue, TypeScript를 위한 종속성 없는 도킹 레이아웃 관리자

2025-01-11
DockView: React, Vue, TypeScript를 위한 종속성 없는 도킹 레이아웃 관리자

DockView는 탭, 그룹, 그리드, 분할 뷰를 지원하는 종속성 없는 도킹 레이아웃 관리자입니다. React, Vue, 일반 TypeScript와 함께 작동합니다. 직렬화/역직렬화, 테마 지정, 드래그 앤 드롭, 팝업 창, 플로팅 그룹, 포괄적인 API, 높은 테스트 적용 범위 등의 기능을 갖추고 있습니다. 보안을 고려하여 구축되었으며, DockView는 GitHub Actions를 사용하여 검증된 게시 및 빌드를 수행합니다. 우수한 설명서와 라이브 예제를 제공하여 강력하고 사용하기 쉬운 레이아웃 관리 솔루션입니다.

PrivTracker: 한 번의 클릭으로 개인 BitTorrent 추적기를 생성

2025-01-11

PrivTracker를 사용하면 한 번의 클릭으로 개인 BitTorrent 추적기를 생성할 수 있습니다. 토렌트 파일을 친구들과만 안전하게 공유할 수 있으며, 공개적으로 노출되지 않습니다. 고유한 announce URL을 사용하여 피어 공유가 그룹으로 제한됩니다. Linux 및 macOS에서 Transmission을 사용하는 방법에 대한 간단한 안내가 포함되어 있습니다. announce URL을 생성하여 토렌트에 추가하고 친구들과 안전하게 파일을 공유하세요.

Txtlog: 사용하기 쉬운 오픈소스 로그 서비스

2025-01-11

Txtlog.net은 계정 없이도 사용할 수 있는 간편하고 사용하기 쉬운 텍스트 로그 서비스입니다. 다양한 로그 형식(유효한 JSON, 무효한 JSON 또는 일반 텍스트)을 지원하며, 장애 허용 기능과 깔끔한 대시보드를 제공합니다. Txtlog는 자동으로 Geo IP 확인을 수행하고 Redis Streams 기반의 안전하고 고성능 큐를 제공합니다. 모든 코드는 관대한 MIT 라이선스 하에 오픈소스입니다. 보안 강화를 위해 사용자는 선택적으로 사용자 이름과 비밀번호를 설정하고 공개 보기 링크를 삭제할 수 있습니다.

Dash0을 사용한 Kubernetes 애플리케이션 자동 스케일링: CPU 및 메모리 이상

2025-01-11
Dash0을 사용한 Kubernetes 애플리케이션 자동 스케일링: CPU 및 메모리 이상

이 블로그 게시물에서는 Dash0을 사용하여 Kubernetes에서 실행되는 애플리케이션을 자동으로 스케일링하는 방법을 보여줍니다. Kubernetes는 스케일링을 간소화하지만, 레플리카를 수동으로 조정하는 것은 비효율적입니다. Dash0은 애플리케이션의 원격 측정 데이터를 모니터링하여 이 프로세스를 자동화합니다. 이 게시물에서는 Kubernetes의 세 가지 스케일링 유형인 수평 Pod 자동 스케일링, 수직 Pod 자동 스케일링 및 클러스터 자동 스케일링을 설명하고, 수평 Pod 자동 스케일링에 중점을 둡니다. 작동 방식과 최적의 스케일링 전략을 위해 CPU 및 메모리 사용량에만 의존하는 대신 사용자 지정 메트릭(예: 대기 시간)을 사용하는 방법을 설명합니다. Dash0은 Prometheus 어댑터와 통합되어 Dash0 데이터에 대한 PromQL 쿼리를 사용하여 HPA를 제어할 수 있으므로 애플리케이션 성능 기반의 자동 스케일링이 가능해지고 사용자 경험이 향상됩니다.

소니, LLVM Clang 기본값을 C++20으로 변경 제안

2025-01-11

소니 엔지니어들이 LLVM Clang 컴파일러의 기본 C++ 모드를 C++17에서 C++20으로 변경하는 것을 제안했습니다. 이는 소니가 PlayStation 5 컴파일러를 C++20 기본값으로 곧 업그레이드할 계획과 일치합니다. 현재 C++20 모드에서 일부 C++ 테스트 케이스가 실패하고 Clang의 C++20 지원이 아직 완벽하지 않지만, 소니는 상위 개발을 지원하기 위해 빌드/테스트 봇을 제공할 예정입니다. 이러한 노력은 Clang이 C++20을 더 빠르게 채택하여 게임 개발을 위한 보다 효율적인 컴파일 환경을 구축하는 것을 목표로 합니다.

개발

Go를 사용하여 Apple Find My 네트워크를 통해 Bluetooth 기기를 추적

2025-01-11
Go를 사용하여 Apple Find My 네트워크를 통해 Bluetooth 기기를 추적

Go Haystack 프로젝트는 OpenHaystack 및 Macless-Haystack을 활용하여 Go/TinyGo로 작성된 도구를 사용하여 개인 Bluetooth 기기를 추적합니다. Adafruit Bluefruit 및 BBC micro:bit를 포함한 다양한 Bluetooth 하드웨어를 지원하며, 로컬 기기 스캔에는 TinyScan이 포함되어 있습니다. 사용자는 2FA가 활성화된 Apple ID가 필요하며, anisette-v3-server 및 macless-haystack을 설정해야 합니다. 최종적으로 기기 정보는 Macless-Haystack 웹 UI에 표시됩니다.

Linux에서 보청기 오디오 스트리밍: 오픈 소스 혁신

2025-01-11

Asymptotic.io팀은 Linux에서 ASHA 프로토콜의 네이티브 지원을 구현하여 보청기를 사용하는 Linux 사용자의 접근성을 크게 향상시켰습니다. 개념 증명부터 BlueZ와 PipeWire 통합까지 수년에 걸친 이 프로젝트는 오랜 문제를 해결합니다. 이 프로젝트는 Linux의 접근성을 향상시킬 뿐만 아니라 오픈 소스의 힘과 Asymptotic.io팀의 전문성을 보여줍니다. 향후 계획에는 스테레오 지원 추가 및 안정성과 안정성을 보장하기 위한 광범위한 테스트가 포함됩니다.

개발 보청기

Bram Moolenaar 사후 Vim의 부활

2025-01-11

Vim의 창시자 Bram Moolenaar의 죽음은 커뮤니티에 충격을 주었지만, 프로젝트는 계속되고 있습니다. VimConf 2024에서 새로운 유지보수 담당자인 Christian Brabandt는 프로젝트의 재구성과 미래 계획을 개괄했습니다. 팀이 확장되고 웹사이트와 인프라가 업그레이드되었으며, 보안 취약성 보고 및 커뮤니티 커뮤니케이션 문제가 해결되었습니다. Vim은 현재 유지보수 모드이지만 개발이 중단되지 않았으며, 버전 9.1이 출시되었고 GUI, 터미널 지원, 맞춤법 검사 등의 기능을 개선할 계획입니다. 커뮤니티 협업이 필수적이며, Brabandt는 사용자의 요구를 경청하고 건강한 커뮤니티를 유지하는 것이 중요하다고 강조했습니다.

블랙 매직: 놀라울 정도로 빠른 순환 버퍼

2025-01-11

이 글에서는 가상 메모리 페이징을 이용한 순환 버퍼의 영리한 최적화 기법을 소개합니다. 기존 순환 버퍼의 읽기/쓰기 작업은 경계 처리 때문에 비효율적입니다. 저자는 mmap 시스템 호출을 사용하여 버퍼를 두 개의 연속적인 가상 메모리 영역에 매핑합니다. 이를 통해 경계 검사 없이 쓰기를 연속적으로 수행할 수 있으므로 성능이 크게 향상됩니다. 이 기법은 OS가 자동으로 랩어라운드를 처리하므로 복잡한 경계 검사 및 모듈 연산이 필요 없습니다. 결과적으로 성능이 3배 향상됩니다.

충격! 거의 모든 이진 검색과 병합 정렬이 깨졌습니다

2025-01-11
충격! 거의 모든 이진 검색과 병합 정렬이 깨졌습니다

Google 소프트웨어 엔지니어 Joshua Bloch는 JDK와 Jon Bentley의 'Programming Pearls' 모두에서 발견된 거의 20년 동안 잠복해 있던 이진 검색 알고리즘 버그를 밝혀냈습니다! 이 버그는 `int mid = (low + high) / 2;` 라인에서 발생하며, low와 high의 합이 최대 양수 정수 값을 초과하면 정수 오버플로우가 발생하여 배열 범위를 벗어나는 예외가 발생합니다. 이 버그는 대규모 데이터 세트에서만 발생하기 때문에 오늘날의 빅데이터 시대에 특히 위험합니다. 이 기사에서는 몇 가지 수정 방법을 살펴보고 엄격한 테스트와 증명을 거쳤더라도 버그가 남아 있을 수 있다는 점을 강조하며 프로그래머에게 주의 깊고 겸손해야 함을 촉구합니다.

C++26: 이름 없는 자리 표시자 '_' 등장

2025-01-11

C++26은 획기적인 기능인 이름 없는 자리 표시자 '_'를 도입합니다. 이는 C++에서 오랫동안 골칫거리였던 사용되지 않은 변수 처리 문제를 해결합니다. 이전에는 개발자들이 `[[maybe_unused]]` 또는 `std::ignore`를 사용하여 컴파일러 경고를 피해야 했는데, 특히 구조화 바인딩에서 번거로웠습니다. '_' 자리 표시자는 충돌 없이 여러 번 선언할 수 있으며, 암시적으로 `[[maybe_unused]]` 속성을 가지므로 코드를 간소화하고 가독성을 향상시킵니다. 이 기능은 GCC 14와 Clang 18에 이미 구현되어 있습니다.

NearlyFreeSpeech.NET: 긱들을 위한 DIY 호스팅 서비스

2025-01-11

NearlyFreeSpeech.NET은 경험이 풍부한 웹마스터와 자기 주도적인 개인을 위해 설계된 DIY 웹 호스팅 서비스입니다. 사용한 만큼 지불하는 모델을 사용하므로 사용한 리소스에 대해서만 요금이 부과됩니다. 개인적인 기술 지원은 제공하지 않지만 방대한 문서와 커뮤니티 지원을 제공하여 자신의 웹사이트를 관리하는 데 익숙한 사용자에게 비용 효율적인 옵션이 됩니다. 서비스에는 웹 호스팅, DNS 호스팅, 도메인 등록 등이 포함되며 다양한 프로그래밍 언어와 데이터베이스를 지원합니다.

개발 웹 호스팅

Bash에도 해시맵이 있다?!

2025-01-11

이 블로그 게시글은 Bash 스크립팅의 숨겨진 보석, 해시맵(연관 배열)에 대한 내장 지원을 밝힙니다! 저자는 GPU 인스턴스 관리를 포함하는 프로젝트 작업 중에 이 기능을 발견하고 사용 방법을 공유합니다. 이 게시글에서는 Bash 해시맵에서 키-값 쌍을 선언하고, 값을 할당하고, 읽고, 반복하고, 삭제하는 방법을 자세히 설명하며, 동적 추가와 미리 정의된 키-값 쌍이라는 두 가지 선언 방법을 보여줍니다. 이것은 Bash 스크립트 내에서 키-값 데이터를 효율적으로 처리하기 위한 귀중한 기술입니다.

1 2 187 188 189 191 193 194 195 214 215