Laravel 앱 전체를 php-wasm에 넣고 폰에서 돌려봤습니다 — 무엇이 깨졌는가

dev.to

php-wasm으로 브라우저에서 코드 조각을 실행하는 데모는 흔하지만, NativeBlade는 vendor/를 포함한 Laravel + Livewire 앱 전체를 서버 없이 WebView 안에서 구동합니다. PHP가 JavaScript의 비동기 작업을 기다릴 수 없다는 근본 제약을 'sentinel 출력 후 exit, 캐시 기반 재실행'이라는 독특한 우회법으로 해결했으며, 이 과정에서 드러나는 결정적 재실행·요청 큐·null origin 등의 실전 문제들을 상세히 공유합니다.

Fitz의 아이소모픽 하이드레이션 — 서버가 첫 화면을 그리고 WASM이 DOM을 그대로 인계받는다

dev.to

FitzLiveViews 시리즈 8편으로, .fitzv 컴포넌트 하나가 서버에서는 HTML로 렌더링되고 클라이언트에서는 WASM 앱으로 부팅해 서버가 그린 DOM 노드를 재생성 없이 그대로 '입양(adopt)'하는 하이드레이션 구현을 다룹니다. 가상 DOM 재조정이 없어 hydration mismatch 자체가 성립하지 않고, 프레임워크 런타임을 클라이언트에 싣지 않는다는 점이 차별점입니다.

C++26: 자명한 무한 루프는 더 이상 미정의 동작이 아니다

Lobsters

C++에서 while (true); 같은 부수 효과 없는 무한 루프는 지금까지 미정의 동작(UB)이었고, Clang은 이를 최적화로 제거해 루프 뒤의 코드가 실행되는 일까지 벌어졌습니다. C++26의 P2809R3은 '자명한 무한 루프(trivial infinite loop)'라는 좁은 범주를 정의해 이를 유효한 동작으로 바꾸고, 루프 본문을 std::this_thread::yield() 호출로 대체해 forward progress를 보장합니다. C에서는 이미 C11부터 유효했던 동작이라 C와 C++의 불필요한 분기도 해소됩니다.

google-bert/bert-base-uncased — 마스크드 언어 모델링으로 사전학습된 대표적 영문 인코더 모델

Hugging Face

Google이 공개한 BERT의 base uncased 버전으로, 1억 1천만 개 파라미터를 가진 영문 사전학습 모델입니다. Masked Language Modeling(MLM)과 Next Sentence Prediction(NSP) 두 가지 목표로 자기지도학습되었으며, 분류·토큰 분류·질의응답 같은 다운스트림 태스크에 파인튜닝해 사용하도록 설계되었습니다. Hugging Face에서만 월 4,700만 회 이상 다운로드되는 사실상의 표준 인코더 모델입니다.

선언형 GUI 툴킷 Slint 1.18 출시 — FlexboxLayout·스프링 애니메이션·실험적 Vello 렌더러

Reddit

Rust 기반 선언형 GUI 툴킷 Slint가 1.18 버전을 공개했습니다. 이번 릴리스는 컴파일러가 더 작고 빠른 바이너리를 생성하도록 개선됐고, 웹의 Flexbox를 옮긴 FlexboxLayout, 스프링 애니메이션, 런타임 z-order 변경 등 생산성 개선이 중심입니다. 실험적 Vello 렌더러와 접근성·언어 서버 개선도 포함됐습니다.

폴란드어로 코딩하는 프로그래밍 언어를 만들었다 — 그 과정에서 Ruby에 대해 배운 7가지

dev.to

Ruby 개발자가 'x = 5를 입력하고 머신이 동작하기까지 무슨 일이 일어나는지' 궁금해 시작한 주말 프로젝트가 18개월 후 표준 라이브러리, async/await, 디버거, 자체 웹 프레임워크를 갖춘 폴란드어 키워드 스크립트 언어 AlexScript로 성장했습니다. throw/catch를 이용한 return 구현, UTF-8 바이트 단위 렉싱, 네이티브-유저 메서드 테이블 통합, Fiber 기반 비동기 런타임 등 인터프리터를 Ruby로 직접 만들며 얻은 구체적인 성능·설계 교훈을 정리합니다.

Unicode 18.0.0 — 13,007자 추가, Jurchen·Seal·Proto-Cuneiform 세 개의 새 문자 체계 수록

Lobsters

Unicode Consortium이 Unicode Standard 18.0.0의 베타 리뷰 페이지를 공개했습니다. 13,007자가 추가되어 총 172,808자가 되며, Jurchen(여진), Seal(소전), Proto-Cuneiform 숫자라는 세 개의 새 스크립트가 수록됩니다. 줄바꿈·그래핌 클러스터 규칙 수정과 Unihan 프로퍼티 개편 등 구현체 마이그레이션에 영향을 주는 변경도 다수 포함되어 있습니다.

unsigned long int vs unsigned long long int — Linux와 직접 만든 32bit OS 사이에서 겪은 골칫거리

Reddit

취미로 32bit OS를 개발하는 저자가 `typedef unsigned long u64`가 자기 OS에서는 32bit, Linux에서는 64bit로 해석되면서 타이밍 함수가 통째로 깨졌던 경험을 공유합니다. sizeof 검증 과정, 오버로드 가능한 memset, 그리고 JavaScript식 이벤트 큐로 구현한 스케줄러 설계까지 함께 소개하며, C의 데이터 모델(LP64/LLP64) 차이가 왜 중요한지 보여줍니다.

Rust LSP를 만드는 것이 왜 어려운가 — rust-analyzer와 Rust Glancer의 설계 비교

Reddit

실험적 Rust LSP인 Rust Glancer를 개발하는 저자가 rust-analyzer와의 비교를 통해 LSP 서버 개발이 왜 어려운지를 아키텍처 수준에서 설명합니다. 컴파일러와 달리 LSP는 불완전한 상태에서도 즉시 유용한 답을 내놓아야 하며, VFS·증분 계산·워크스페이스 탐색 등 곳곳에 설계상의 난제가 숨어 있다는 것이 핵심입니다.

Ubuntu 26.10, cp·mv·rm까지 Rust Coreutils로 전환해 100% 마이그레이션 완료

Reddit

Ubuntu 26.10이 cp, mv, rm을 포함한 GNU Coreutils 전체를 Rust 기반 uutils로 교체하며 Rust Coreutils 전환을 100% 완료했습니다. 호환성 문제로 보류됐던 핵심 유틸리티까지 넘어오면서 수년간 진행된 재작성 프로젝트가 마무리 단계에 접어들었습니다. 베타는 이달, 정식 릴리스는 10월 15일로 예정되어 있습니다.

Unsize할 수 없는 값을 Unsize하기 — Go에는 되고 Rust에는 안 되는 것

Lobsters

Go의 interface{} 타입 스위치처럼 Rust에서도 dyn Any로 다운캐스트하려 하지만, &str 같은 unsized 타입은 dyn으로 강제 변환(coerce)할 수 없다는 문제를 다룹니다. 저자는 vtable의 내부 구조를 분석한 뒤, 런타임에 vtable을 수작업으로 구성해 &str을 &dyn Any로 변환하고 다시 downcast하는 실험을 보여줍니다.

Verus로 올바름이 증명된 Rust 코드 개발하기 — Amazon의 형식 검증 도구

Reddit

Amazon이 Rust 코드의 정확성을 수학적으로 증명하는 오픈소스 프로그램 검증 도구 Verus를 소개했습니다. 개발자가 Rust 소스 파일 안에 명세와 증명을 직접 작성하면 자동화된 솔버가 모든 가능한 입력에 대해 코드가 명세를 만족하는지 검사하며, Amazon은 이미 Nitro Isolation Engine의 핵심 프리미티브 검증에 Verus를 활용하고 있습니다.

Veloren이 다르게 설계한 것들 — ECS, chonk, 그리고 살아있는 월드 시뮬레이션

Lobsters

Rust로 개발된 오픈소스 복셀 RPG Veloren의 코어 개발자가 프로젝트의 특이한 설계 결정들을 정리했습니다. ECS 아키텍처, 'chonk'라는 독자적 복셀 자료구조, 물리 기반 월드 생성과 상시 시뮬레이션 시스템 rtsim 덕분에 48스레드 서버에서 500명 이상의 플레이어와 수만 개의 엔티티를 하나의 월드 공간에서 처리합니다.

Java 27 정식 출시 — JDK 27, 9월 15일 GA 선언

Reddit

Java SE 27의 Reference Implementation인 JDK 27이 2026년 9월 15일 General Availability에 도달했습니다. JSR 402 스펙을 기반으로 JEP 프로세스에 따라 개발되었으며, Oracle의 프로덕션용 GPL 바이너리가 우선 공개되고 다른 벤더의 빌드가 뒤따릅니다. 커뮤니티에서는 Structured Concurrency 프리뷰와 JNI 제한 강화 여부가 주요 화제로 떠올랐습니다.

12년 전 Go로 처음부터 만든 Wolfenstein 3D 클론 — 게임 엔진 없이 OpenGL과 자체 물리 엔진만으로

Reddit

Go 언어로 게임 엔진 없이 처음부터 작성한 Wolfenstein 3D 클론 gowolfenstein이 공개됐습니다. Unity나 Godot 같은 외부 엔진 없이 raw OpenGL(go-gl)만을 의존성으로 사용하며, 레이캐스팅(raycasting) 렌더링과 충돌 감지를 포함한 자체 물리 엔진을 직접 구현했습니다. 12년 전 개인 테스트 프로젝트로 시작해 90년대 FPS의 향수를 재현한 점이 특징입니다.

Swift 6.4 출시 — 빌드 시스템 통합과 Subprocess 1.0

Lobsters

Swift 6.4가 출시됐습니다. Swift Package Manager의 기본 빌드 시스템이 Swift Build로 바뀌어 Linux·macOS·Windows에서 동일하게 빌드되고, 서브프로세스 라이브러리 Subprocess가 1.0에 도달했으며, WebAssembly 브릿징은 최대 40배 빨라졌습니다.

swap이 유발한 40ms Go GC stop-the-world pause — 프로덕션에서 swap을 켜기 전에 알아둘 것

Reddit

메모리 스파이크 대응을 위해 프로덕션에서 swap을 사용하던 저자가 Go 런타임의 GC 메타데이터 페이지가 swap-out되면서 stop-the-world pause가 중앙값 51µs에서 최악 40ms까지 폭증하는 현상을 실측했습니다. bpf 스크립트로 확인한 결과 40ms 중 39ms가 228건의 major page fault에서 발생했으며, 이는 GC가 heap 밖의 bookkeeping 영역을 읽는 동안 world가 멈춘 상태에서 swap-in을 기다렸기 때문입니다.

.NET 11 성능 개선 총정리 — 매년 이어지는 JIT·런타임 최적화 리포트

Lobsters

Microsoft가 공개한 .NET 11의 연례 성능 개선 보고서로, JIT 컴파일러의 탈추상화(deabstraction)·가드드 디버추얼라이제이션(GDV)·이스케이프 분석(escape analysis) 등 수백 건의 최적화를 BenchmarkDotNet 마이크로 벤치마크와 함께 소개합니다. 대부분의 개선은 애플리케이션 코드 수정 없이 런타임 업그레이드만으로 이점을 얻을 수 있다는 점이 핵심입니다.