Erlang/OTP 29.0 출시: 안전성 강화 및 성능 개선!

by DD
3주 전
조회수 2

Erlang/OTP 29.0 릴리스, 안전성 강화를 위해 SSH 및 SFTP 기본 설정 변경

네이티브 레코드(Native Records) 도입으로 데이터 구조 표현 방식 개선

컴파일러(Compiler) 및 JIT(Just-In-Time) 개선을 통해 성능 향상 도모

패키징(Packaging) 문제 해결을 통해 Go/Rust와 같은 수준의 배포 환경 구축 필요성 제기

안전성 강화를 위한 SSH 기본 설정 변경

Erlang/OTP 29.0은 SSH 데몬(SSH Daemon)의 기본 설정을 변경하여 보안을 강화했다. 특히, 쉘(Shell) 및 실행 서비스(Exec Services)를 비활성화하여 인증된 사용자가 임의의 Erlang 코드를 실행하는 것을 방지한다. 또한, SFTP 서브시스템(SFTP Subsystem)도 기본적으로 비활성화하여 보안 취약점(Security Vulnerability)을 최소화했다.

네이티브 레코드(Native Records) 도입

이번 릴리스에서는 네이티브 레코드(Native Records)가 도입되어 데이터 구조를 정의하는 방식이 개선되었다. 네이티브 레코드는 기존의 튜플 기반 레코드와 유사하지만, 진정한 데이터 타입으로 간주된다. 이는 Erlang 코드를 더욱 현대적인 언어(Modern Language)와 유사하게 만들고, BEAM 기반 언어의 발전에 기여할 것으로 기대된다.

컴파일러(Compiler) 및 JIT(Just-In-Time) 개선

Erlang/OTP 29.0은 컴파일러와 JIT의 성능을 개선하여 코드 실행 효율성을 높였다. 특히, JIT는 다중 리틀 엔디안 세그먼트(Multiple Little-Endian Segments)를 가진 바이너리 생성 및 매칭에 대한 코드를 개선했다. 또한, 컴파일러는 상수 값을 가진 맵 컴프리헨션(Map Comprehensions)에 대해 더욱 효율적인 코드를 생성하여 전반적인 성능 향상(Overall Performance Improvement)을 이끌어냈다.

패키징(Packaging) 문제에 대한 논의

커뮤니티에서는 Erlang의 패키징 방식에 대한 개선 필요성을 제기했다. 현재 Erlang은 OTP 릴리스를 통해 배포되거나, 컨테이너를 사용하는 등, Go/Rust와 같은 단일 실행 파일(Self-Contained Binary) 형태의 배포가 어렵다는 지적이 나왔다. 이러한 패키징 문제 해결은 Erlang 생태계의 접근성(Accessibility)을 높이는 데 기여할 수 있다.

Erlang/OTP 29.0 Release