본문으로 건너뛰기
피드

Hologram v0.7.0 — Erlang 포팅 96% 달성, 브라우저에서 Elixir 표준 라이브러리 돌리기

frontend 약 4분
vote
0
댓글
북마크

Hologram v0.7.0 릴리스로 Erlang 함수 150개를 추가 포팅하여 커버리지 34%→96% 달성. Elixir 표준 라이브러리 준비도 87%, 700+ 커밋, 49명 기여자 참여. 문자열, 컬렉션, 유니코드 등 주요 기능이 브라우저에서 동작 가능해짐.

  • 1

    Erlang 런타임 커버리지 34%→96%(238개 중 228개 완료), Elixir stdlib 준비도 74%→87%

  • 2

    문자열 처리, 컬렉션, MapSet, 바이너리 연산, 유니코드 정규화 등 브라우저 클라이언트에서 사용 가능

  • 3

    Agent.cast/2 비동기 컴파일로 속도 향상, NixOS 호환성, OPFS 하이브리드 스토리지로 quota 문제 해결

  • 4

    클라이언트 측 ERTS, ETS 기초 지원, 3단계 페이지 스냅샷 저장 인프라 구축

  • Hologram v0.7.0이 릴리스됨 — Erlang 함수 150개를 새로 포팅하여 Erlang 런타임 커버리지가 34%에서 96%(238개 중 228개 완료)로 급상승
  • Elixir 표준 라이브러리 준비도는 74%에서 87%로 성장, 700+ 커밋, 약 3개월 작업, 49명의 기여자 참여

브라우저에서 사용 가능해진 기능

  • 문자열 처리: String.split/3, String.replace/4, String.jaro_distance/2, titlecase 등
  • 컬렉션: :lists 기반 Enum/List 함수 — 정렬, 필터링, 폴딩, 키워드 리스트 연산
  • 집합: :sets 기반 MapSet — 생성, 필터, 교집합, 합집합, 멤버십 확인
  • 바이너리 연산: 패턴 매칭, 분할, 치환, 검색
  • 유니코드: NFC, NFD, NFKC, NFKD 정규화 및 grapheme 클러스터 분할
  • 수학/시간/파일 경로: Float.ceil, 로그, 지수 함수, 단조 시간, 시스템 시간, Path.join 등

주요 개선 사항

  • Agent.cast/2 기반 비동기 컴파일러 뮤테이션으로 컴파일 속도 향상
  • NixOS 호환성 추가 — 동적 링크된 Biome 바이너리 실행 불가 시 시스템 설치 버전으로 자동 폴백
  • 크로스 플랫폼 setup 태스크 (macOS, Linux, Windows)

버그 수정

  • 페이지 내비게이션 시 DOMException: quota exceeded 문제 — OPFS 하이브리드 스토리지 전략으로 해결
  • :maps.remove/2, :maps.put/3에서 원본 맵이 변경되던 불변성 위반 수정
  • 템플릿 보간(interpolation)이 String.Chars 프로토콜을 사용하도록 수정, 서버/클라이언트 동작 일치

인프라

  • 클라이언트 측 ERTS: 노드 테이블, 시퀀스 생성기, 바이너리 패턴 레지스트리, UTF-8 디코더 포함
  • ETS 기초 지원 — 앱에서 이탈 시에도 상태 보존
  • 3단계 페이지 스냅샷 저장: 인메모리 캐시 → 비동기 OPFS 영속화 → 세션 스토리지 폴백

브라우저에서 Elixir/Erlang 생태계를 거의 완전하게 재현하려는 야심찬 프로젝트가 실제로 96% 커버리지에 도달하면서, 풀스택 Elixir 웹 개발의 가능성이 현실화되고 있음.

댓글

댓글

댓글을 불러오는 중...

frontend

요즘 픽셀 폰트가 그냥 복고 감성이 아닌 이유

1990년대 기기 화면 느낌을 현대 폰트 시스템으로 재해석한 픽셀 폰트 몇 가지를 소개한 글이다. 핵심은 예쁜 복고풍 글자 모양만이 아니라, 실제 제품에서 쓸 수 있게 기준선, 자간, 메타데이터, 세로 메트릭까지 챙기는지가 중요하다는 점이다.

frontend

HTML의 `<dl>`이 생각보다 쓸모 많은 이유

이 글은 HTML의 description list, 즉 `<dl>`, `<dt>`, `<dd>`가 단순 용어 사전용 태그가 아니라 이름-값 쌍 UI를 표현하는 꽤 강력한 시맨틱 도구라고 설명한다. 숙소 편의시설, 요금 내역, 기술 용어 설명, 게임 능력치표처럼 흔한 패턴을 중첩 `<div>` 대신 의미 있는 HTML로 만들 수 있다는 얘기다.

frontend

HTML을 캔버스 안에 넣는 데모 모음이 등장함

구글 크롬 랩스 저장소에 HTML-in-Canvas 관련 데모와 프레임워크 지원 목록이 정리됐다. Duck Hunt 스타일 폼, 흔들리는 버튼, 셰이더 기반 페이지 전환, 천처럼 매달린 폼 같은 실험적 예제가 포함돼 있고 Three.js와 PlayCanvas 쪽 샘플도 연결돼 있다.

frontend

싱글 페이지 앱이 웹을 너무 비싸게 만들었다는 불평

이 글은 싱글 페이지 앱(SPA)이 사용자 경험을 좋게 만든다는 명분 아래 웹의 초기 로딩 비용, 도구 복잡도, 개발 진입 장벽을 키웠다고 비판한다. 페이스북 로그인 페이지의 CSS 3.8MB, 레딧 몇 개 클릭 후 33MB 다운로드 같은 숫자를 들며, 지금의 프론트엔드 생태계가 사람보다 대기업의 요구에 맞춰져 있다고 주장한다.

frontend

네이티브로 끝까지 가려다 텍스트에서 막힌 macOS 개발자의 고백

20년 가까이 macOS와 iOS 네이티브 개발을 해온 작성자가 SwiftUI, AppKit, TextKit 2로 마크다운 채팅 UI를 만들다 결국 WebKit과 Electron 쪽이 훨씬 낫다는 결론에 도달한 글이다. 문제는 성능 하나가 아니라 선택, 스트리밍, 스크롤, 접근성, 텍스트 상호작용 같은 ‘사용자가 당연히 기대하는 기본기’가 네이티브 조합에서 계속 깨진다는 점이다.