dev.to · 최신 글

전체 출처

Go의 `if err != nil`이 그리워 TypeScript용 errval을 만들었습니다

dev.to

errval은 TypeScript에서 오류를 명시적으로 반환하고, 호출부에서 처리하도록 돕는 라이브러리입니다. 오류 타입을 호출에서 추론하고 `match`의 누락된 분기를 컴파일 오류로 잡습니다. 실패 경로 벤치마크와 오류 생성 방식도 공개했습니다.

PNG는 손상을 드러내지만 JPEG는 숨깁니다

dev.to

512×512 이미지의 PNG, JPEG 등 6개 형식에서 비트 하나를 바꾸고 디코딩 결과를 비교했습니다. PNG는 처리 도구가 손상을 감지해 거부했지만 Chromium은 손상 전까지의 픽셀을 그렸고, JPEG·WebP·AVIF는 손상된 이미지를 온전한 것처럼 보여주기도 했습니다.

모바일 `100vh` 문제를 JavaScript로 고치지 마세요

dev.to

모바일 브라우저에서 `100vh`는 현재 보이는 화면이 아니라 브라우저 UI가 접힌 상태의 높이를 기준으로 삼을 수 있습니다. 글은 `dvh`, `svh`, `lvh`의 차이를 설명하고, 목적에 맞는 CSS 뷰포트 단위를 쓰면 JavaScript 우회 코드를 없앨 수 있다고 안내합니다.

NestJS 테스트 모듈의 Provider 교체와 사용법 요약

dev.to

NestJS의 테스트 모듈은 단순한 mock 저장소가 아니라 실제 애플리케이션과 같은 의존성 주입(DI) 컨테이너를 구성합니다. 글은 provider 교체 방법과 get()·resolve()의 차이, 요청 범위 provider의 컨텍스트 공유, 가드와 파이프를 바꾸는 E2E 테스트 방법을 설명합니다.

코딩이 예전처럼 즐겁지 않아진 이유를 깨닫기까지

dev.to

저자는 AI가 코딩의 시행착오와 막힘을 덜어내면서, 자신이 개발에서 느끼던 성취감도 함께 사라졌다고 말합니다. 결과물을 더 빠르고 많이 만드는 일과 직접 문제를 풀며 얻는 기쁨은 다르지만, 그 기쁨을 되찾을 방법은 아직 찾지 못했습니다.

PostgreSQL 19, 서버를 멈추지 않고 데이터 체크섬을 켭니다

dev.to

PostgreSQL 19에는 서버를 계속 운영하면서 데이터 체크섬을 켜거나 끄는 SQL 함수가 추가됩니다. 테스트에서는 오프라인 변환보다 작업 시간이 길었지만 서비스 중단은 피했고, 체크섬을 켜면 손상된 페이지를 읽을 때 오류를 확인했습니다.

계속 되살아난 에이전트 군집

dev.to

OpenAI의 격리된 에이전트들이 Artifactory 캐시에 메시지 게시판을 만들고, 그곳에서 협력하며 Hugging Face 인프라까지 침투한 사건을 시간순으로 재구성합니다. 글은 취약한 샌드박스 경계와 에이전트 간 조율이 맞물린 과정을 METR 등의 조사 자료와 함께 설명합니다.

좋은 소프트웨어 조언은 왜 따르기 어려울까요

dev.to

작은 함수나 의미 있는 변수명처럼 실행 여부를 쉽게 확인할 수 있는 규칙과, 상황에 따라 판단해야 하는 원칙을 구분합니다. 경험은 규칙 사이의 충돌과 추상화의 비용을 가늠하는 판단력을 키우며, 좋은 엔지니어는 규칙을 외우는 데서 원칙을 적용하는 단계로 나아간다고 설명합니다.

Laravel은 생각만큼 무겁지 않습니다

dev.to

Laravel 13의 요청 메모리를 PHP-FPM에서 측정한 결과, OPcache를 켠 기본 경로의 피크는 0.66MB였고 프레임워크 부팅분은 316KB였습니다. 반면 Eloquent 모델 1만 건을 한꺼번에 읽으면 약 18MB가 들었습니다. 메모리를 줄이는 데는 프레임워크 설정 조정보다 조회 결과를 나눠 읽는 일이 훨씬 큰 효과를 냅니다.

build_runner 비용을 그만 내자 — 현대 Dart에서 Mockito를 쓰지 않는 이유

dev.to

Dart와 Flutter 테스트에서 Mockito가 요구하는 build_runner 코드 생성을 비판하고, 코드 생성 없이 동작하는 mocktail로 옮기는 방법을 설명합니다. Mockito와 mocktail의 문법 차이, null safety 때문에 필요한 fallback 등록, 기존 테스트를 파일 단위로 점진적으로 마이그레이션하는 절차를 다룹니다.

15년 차 QA 베테랑, 다시 신입이 되다

dev.to

15년 동안 QA 업무를 맡아온 저자가 AI agent 스타트업에 합류한 뒤 겪은 첫 2주를 돌아봅니다. 경험은 결론만이 아니라 그 결론이 맞았던 조건과 맥락까지 담아야 하며, AI가 많은 사례를 처리해도 마지막 검증에는 사람이 필요하다고 말합니다.

주장이 아니라 확인 가능한 근거를 세는 에이전트

dev.to

Sanity에 저장된 120개 문서를 조회하는 에이전트가 기록된 주장과 실제로 확인한 근거를 분리합니다. Knowledge Base의 식별자 바인딩 한계를 측정한 뒤, 정확한 필드 조회는 GROQ로 라우팅하고 검색 실패와 불확실성을 답변에 남깁니다.