CSS

31 개의 포스트

discord4분 읽기큐레이션 요약

디스코드 패치 노트: 20

Discord의 2026년 2월 4일 패치는 데스크톱 렌더링 성능, 스트리밍 사용성, 모바일 안정성, 권한 관리 등을 폭넓게 개선했다. 특히 느린 CSS 선택자를 최적화해 화면 이동과 상호작용 지연을 크게 줄였고, 화면 공유 확대·이동과 `@time` 명령어 같은 기능을 추가했다. 또한 오디오·비디오 백엔드의 Rust 이전이 80% 이상 진행됐으며, 다양한 플랫폼별 버그도 수정했다. ## 데스크톱 성능과 스트리밍 개선 - 데스크톱 렌더링 성능을 크게 향상해 메뉴 탐색과 앱 조작 시 지연을 줄였다. - 성능 저하의 주요 원인은 느린 엔드포인트나 컴포넌트가 아니라 비효율적인 CSS 선택자로 확인됐다. - 화면 공유 및 게임 스트림에서 마우스 휠이나 트랙패드로 확대·축소와 화면 이동이 가능해졌다. - 스트리밍 시작 과정의 미리보기 로딩 시간을 단축했다. - 프로필 편집 중 `Esc`를 눌러도 전체 프로필 편집 모달이 닫히지 않도록 수정했다. - 선택 항목이 없을 때 복사 단축키를 누르면 클립보드가 비워지던 문제를 해결했다. ## 모바일 기능 및 플랫폼별 수정 - Android 그룹 DM 알림에 발신자 이름 대신 그룹 이름이 표시되도록 변경해 iOS와 동작을 통일했다. - Android에서 여러 오디오 트랙이 포함된 동영상이 정상적으로 재생되도록 수정했다. - iOS의 클라이언트 테마 목록을 스와이프할 때 지나치게 빠르게 스크롤되던 문제를 해결했다. - Android에서 불필요한 하단 바가 표시되어 상호작용을 막던 문제를 수정했다. - iOS 및 Android 연결 설정의 버튼 정렬 문제를 해결했다. - 일부 Android 기기에서 Shop이 한 열로만 표시되던 문제를 수정했다. - iOS에서 GIF 선택기로 새 아바타를 설정할 때 정지 이미지로 저장되던 문제를 해결했다. - 모바일의 채널 탐색 기능은 베타 상태를 종료하고 정식 기능으로 전환됐다. ## 서버 권한과 커뮤니티 관리 - 신뢰할 수 있는 사용자에게 부여할 수 있는 `Bypass Slowmode` 권한을 추가했다. - 이 권한을 기존 역할과 연결하는 설정이 2월 23일까지 서버 관리자에게 제공될 예정이다. - 역할 멘션을 클릭해 해당 역할을 가진 사용자 목록을 확인하는 기능이 모든 안정화 버전에 적용됐다. - 서버 초대 모달이 사용자명뿐 아니라 표시 이름도 지원하도록 개선됐다. - 서버 태그가 데스크톱 프로필 미리보기에 올바르게 반영되도록 수정했다. - 역할 선택 필드가 투명하게 표시되던 문제와 서버 설정의 이모지 영역 정렬 문제를 해결했다. ## 오디오·비디오 백엔드의 Rust 전환 - Discord는 지난 1년간 오디오·비디오 백엔드를 Rust로 이전해 왔다. - 현재 전체 트래픽의 80% 이상이 새로운 Rust 기반 백엔드에서 처리된다. - 이번 패치에서는 이 마이그레이션이 상당히 진행되었음을 강조하며, 성능과 안정성 개선의 기반으로 제시했다. ## 시간 표시와 기타 사용성 개선 - 데스크톱에서 새로운 `@time` 명령어를 제공한다. - 사용자가 특정 시각을 입력하면 Discord가 Linux 타임스탬프를 생성하고, 보는 사람의 시간대에 맞춰 자동으로 표시한다. - `Ctrl+Alt+Shift+W` 또는 macOS의 `Cmd+Option+Shift+W`로 Vibing Wumpus 2.0을 실행할 수 있다. - 로그아웃할 때 재생 중인 음성 메시지가 정상적으로 중지되도록 수정했다. - 친구 요청을 무시한 뒤 DM 화면의 버튼이 “친구 요청 수락”에서 “친구 추가”로 올바르게 변경된다. - 이벤트 미리보기에서 Markdown이 정상적으로 렌더링된다. - 이벤트 진행 중에는 오류를 유발할 수 있는 “관심 있음” 버튼이 표시되지 않도록 수정했다. ## 프로필, 채널, 메시지 관련 버그 수정 - 프로필의 “About Me”를 편집할 때 커서가 부적절하게 텍스트 끝으로 이동하던 문제를 해결했다. - 서버별 프로필 편집 중 아바타 장식이 제대로 렌더링되지 않던 문제를 수정했다. - 프로필 테마 그라디언트가 모달 전체를 채우지 못하던 문제를 해결했다. - 매우 긴 포럼 채널 설명 때문에 채널 탐색 화면이 흔들리던 문제를 수정했다. - 서버 멤버 메뉴의 열 정렬 문제를 해결했다. - 포럼 채널이 포함된 온보딩 작업에서 UI 요소가 겹치던 문제를 수정했다. - 이모지 편집 시 “완료” 버튼을 빠르게 두 번 누르면 이모지가 중복되던 문제를 해결했다. - 서버에 텍스트 채널이 없는 상태에서 스티커의 관련 이모지를 클릭하면 클라이언트가 충돌하던 문제를 수정했다. - 받은 선물 모달이 두 번 나타나는 문제를 해결했다. - 데스크톱 받은편지함의 필터가 작동하지 않던 문제를 수정했다. ## 안정성 및 인터페이스 개선 - 특정 메뉴를 탐색할 때 클라이언트가 잠기는 문제를 해결했다. - Checkpoint 모달이 중복 표시되어 작업이 두 번 로드될 수 있던 문제를 수정했다. - F10 이후 기능 키가 UI에 `0`으로 표시되고 저장되지 않던 문제를 해결했다. - 위험할 수 있는 다운로드 모달의 버튼 간 여백을 조정했다. - 모바일의 커뮤니티 활성화 화면이 제대로 표시되지 않던 문제를 수정했다. - iOS에서 채널 카테고리가 읽지 않은 채널처럼 보이던 스타일 문제를 해결했다. - 데스크톱의 서버 설정 이모지 영역, 역할 선택 영역 등 여러 UI 정렬과 여백을 개선했다. - 모든 수정 사항은 코드에 반영됐지만 플랫폼별 배포는 단계적으로 진행될 수 있다. 이번 업데이트는 새로운 대형 기능보다는 성능과 안정성, 플랫폼 간 동작 통일에 초점을 맞췄다. 특히 데스크톱 사용자는 렌더링 지연 감소를, 스트리밍 사용자는 화면 확대·이동과 빠른 미리보기를, 서버 관리자는 `Bypass Slowmode` 권한을 우선 확인할 만하다.

원문 읽기(새 탭에서 열림)
meta원문

StyleX를 이용한 (새 탭에서 열림)

메타는 대규모 코드베이스에서 발생하는 CSS 관리의 어려움을 해결하기 위해 오픈 소스 스타일링 시스템인 StyleX를 개발하여 표준으로 운용하고 있습니다. StyleX는 CSS-in-JS의 편리한 개발 경험과 정적 CSS의 뛰어난 성능을 결합하여, 원자적(Atomic) 스타일링을 통한 번들 크기 최적화와 단순한 API 구조를 동시에 제공합니다. 현재 페이스북, 인스타그램 등 메타의 주요 서비스는 물론 피그마, 스노우플레이크와 같은 외부 대형 기술 기업들에서도 표준 시스템으로 채택되어 그 효용성을 입증하고 있습니다. **StyleX의 핵심 기술적 접근** * **하이브리드 아키텍처:** 런타임 오버헤드가 적은 CSS-in-JS의 사용성을 유지하면서도, 최종 결과물은 정적인 CSS 파일로 추출되어 브라우저 성능을 최적화합니다. * **원자적(Atomic) 스타일링:** 스타일 정의를 최소 단위로 쪼개어 관리하며, 중복된 정의를 제거하는 디두플리케이션(Deduplication) 과정을 통해 웹 사이트의 전체 번들 크기를 효과적으로 줄입니다. * **확장성 있는 API:** 대규모 개발 팀이 협업할 때 일관된 스타일 규칙을 적용할 수 있도록 설계되었으며, 복잡한 UI 구성 요소에서도 성능 저하 없이 스타일을 적용할 수 있습니다. **메타 내부 및 외부 생태계의 도입 현황** * **글로벌 서비스의 표준화:** 페이스북, 인스타그램, 왓츠앱, 메신저, 스레드 등 메타의 모든 주요 플랫폼에서 표준 스타일링 라이브러리로 사용되고 있습니다. * **업계 전반의 확산:** 메타 외부에서도 기술적 완성도를 인정받아 피그마(Figma)와 스노우플레이크(Snowflake) 같은 기업들이 자사 시스템에 StyleX를 도입하여 운영 중입니다. * **오픈 소스 시너지:** 프로젝트 메인테이너들은 외부 기업 및 커뮤니티와의 상호작용을 통해 프로젝트의 완성도를 높이고 있으며, 이는 기술적 발전을 가속화하는 기폭제 역할을 하고 있습니다. **실무적 가치와 권장 사항** StyleX는 대규모 웹 애플리케이션을 구축할 때 성능과 유지보수성 사이의 타협점을 찾는 팀에게 강력한 해결책이 됩니다. 특히 프로젝트의 규모가 커짐에 따라 CSS 파일 크기가 비대해지는 문제를 겪고 있다면, 메타의 검증된 원자적 CSS 기법을 제공하는 StyleX 도입을 통해 효율적인 번들링과 일관된 스타일 아키텍처를 구축할 것을 권장합니다.

figma3분 읽기큐레이션 요약

Figma Make를 캔버

Figma는 Figma Make에서 생성한 미리보기를 Figma Design 캔버스로 직접 복사하는 기능인 **Copy design**을 공개했다. 복사된 결과물은 스크린샷이 아니라 편집 가능한 디자인 레이어로 들어가므로, 팀이 아이디어를 수정·재구성하고 프로토타입에서 실제 제품 디자인으로 발전시킬 수 있다. Figma는 이를 Make와 Design 사이의 작업 단계를 줄이고, 프롬프트에서 제작까지 이어지는 흐름을 강화하는 첫 단계로 설명한다. ## Figma Make 결과물을 편집 가능한 레이어로 변환 - 이제 Figma Make 미리보기에서 디자인을 복사해 Figma Design 캔버스에 붙여넣을 수 있다. - 복사된 결과는 정적인 이미지나 스크린샷이 아니라 **구조화된 디자인 레이어**로 제공된다. - 캔버스에서 레이어를 직접 편집하고, 요소를 재배치하거나 다른 디자인과 결합할 수 있다. - 별도로 파일을 내보내거나 이름을 지정하거나 작업 모드를 전환할 필요 없이 Make와 Design을 연결한다. ## 스크린샷이 아닌 협업 가능한 레이어 - 프롬프트로 만든 아이디어가 단순한 결과물에 머무르지 않고 반복 작업을 위한 구성 요소가 된다. - PM은 자연어로 Make에서 디자인 시안을 다듬은 뒤, 특정 시점을 Figma Design으로 가져올 수 있다. - 디자이너와 개발자 등 팀 구성원은 캔버스에서 결과물을 함께 검토하고 수정할 수 있다. - 프롬프트 → 프로토타입 → 제품 디자인으로 이어지는 과정이 더 유연해진다. - 여러 사람이 아이디어를 변형하고 개선하는 멀티스레드 협업의 출발점으로 활용할 수 있다. ## 커뮤니티 도구에서 얻은 기술적 방향 - Figma Make 사용자들은 이미 `<div>RIOTS`의 **html.to.design** 플러그인을 사용해 HTML이나 라이브 프로토타입을 편집 가능한 Figma 프레임으로 가져오고 있었다. - 이 플러그인은 웹 콘텐츠를 Figma의 편집 가능한 디자인 구조로 변환해, 생성된 결과물을 캔버스에서 다시 작업할 수 있게 한다. - Figma는 해당 기술을 확보했으며, 이를 향후 Figma Make 기능 개발에 활용할 계획이다. - html.to.design은 약 3년간 개발되었고 약 200만 명이 사용하는 도구로 소개됐다. - `<div>RIOTS`는 Figma와의 협력 이후에도 플러그인과 도구를 독립적으로 계속 개발하고 유지보수한다. ## Make의 향후 방향 - Figma는 캔버스를 무엇이든 가져와 탐색하고 변환할 수 있는 공동 작업 공간으로 확장하려 한다. - Copy design은 이러한 방향을 실현하는 첫 단계다. - 궁극적으로는 어떤 프롬프트에서 시작한 아이디어든 Figma Design 안에서 발전시켜 실제 제품으로 연결하는 것이 목표다. - AI를 단순히 결과물을 생성하는 도구가 아니라, 기존 디자인 프로세스를 가속하는 도구로 활용하려는 전략이 드러난다. Figma Make를 아이디어 발상과 빠른 프로토타이핑에 사용하고, 결과물을 Copy design으로 Figma Design에 가져와 세부 편집과 팀 협업을 진행하는 방식이 가장 실용적이다. 특히 초기 시안의 반복 제작과 프로토타입 검토가 잦은 팀일수록 스크린샷 기반 작업보다 효율이 높을 것으로 보인다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

Figma Sites로 웹

Figma Sites는 Figma 안에서 웹사이트를 디자인하고, 반응형 동작과 인터랙션을 적용한 뒤 바로 게시할 수 있는 올인원 도구다. 기존의 디자인·프로토타이핑·개발·배포로 이어지는 선형 작업을 하나의 반복적인 흐름으로 통합해, 개발 도구나 별도 협업 과정 없이 실제 웹사이트를 제작하도록 돕는다. 템플릿과 디자인 시스템 연동, 반응형 레이아웃, 다양한 애니메이션 기능을 통해 디자이너와 소규모 팀도 표현력 있는 사이트를 만들 수 있다. ## 디자인부터 게시까지 하나의 작업 흐름 - 기존 웹 제작은 Figma에서 디자인한 뒤 프로토타입을 만들고, 브레이크포인트를 설정하며, 디자인을 코드로 변환하고 테스트·배포하는 수작업과 도구 전환이 필요했다. - Figma Sites에서는 Figma를 떠나지 않고 디자인, 인터랙션 구현, 반응형 조정, 웹 게시를 수행할 수 있다. - 포트폴리오, 이벤트 사이트, 제품 랜딩 페이지 등 다양한 목적의 실제 동작하는 웹사이트를 제작할 수 있다. - 템플릿, 반응형 웹 요소, 사전 제작된 인터랙션을 제공해 디자인·개발 인력이 제한적인 팀도 빠르게 시작할 수 있다. - 향후 Figma Make 기반의 채팅-투-코드 기능을 통해 원하는 애니메이션이나 인터랙션을 자연어로 설명하고 생성할 수 있게 될 예정이다. ## 템플릿과 디자인 시스템 연동 - Inserts 패널을 통해 게시된 디자인 라이브러리를 사이트에 연결할 수 있다. - 팀의 컴포넌트와 스타일을 재사용해 제작 속도와 일관성을 높일 수 있다. - 별도의 디자인 시스템이 없는 경우에도 내비게이션, 히어로 섹션, 전체 페이지 같은 기본 블록을 활용할 수 있다. - 디자인 시스템을 처음부터 구축하지 않아도 검증된 구성 요소를 조합해 사이트를 만들 수 있다. ## 다양한 화면에 대응하는 반응형 디자인 - 레이아웃, 텍스트, 디자인이 화면 크기와 브레이크포인트에 맞춰 자동으로 조정된다. - Multi-edit 기능으로 여러 화면 크기의 요소를 한 번에 수정할 수 있다. - 텍스트 스타일마다 브레이크포인트별 글자 크기와 간격을 설정할 수 있으며, 별도의 변수를 사용하지 않아도 된다. - 자동 조정 기능을 기반으로 하면서도 세부 요소는 수동으로 조정해 정교하게 다듬을 수 있다. - 미리보기 창의 크기를 바꾸면서 레이아웃 재배치와 브레이크포인트 전환을 확인할 수 있다. ## 웹사이트 수준의 프로토타이핑과 검수 - 협업자에게 인터랙티브한 라이브 웹사이트 미리보기를 공유하고 피드백을 받을 수 있다. - 미리보기는 HTML과 CSS로 렌더링되므로 일반적인 Figma 프로토타입보다 실제 게시 환경에 가까운 결과를 확인할 수 있다. - 반응형 동작뿐 아니라 웹사이트에 특화된 인터랙션도 게시 전에 테스트할 수 있다. ## 기본 제공되는 애니메이션과 인터랙션 - 마우스 패럴랙스: 커서 움직임에 따라 객체를 이동시킨다. - 라이트박스: 이미지를 강조하고 배경을 어둡게 처리한다. - 스핀: 객체를 무한 회전시킨다. - 드래그 가능 요소: 페이지 안의 요소를 자유롭게 이동시킨다. - 타자기 효과: 텍스트를 한 글자씩 표시한다. - 스크램블 텍스트: 문자를 무작위로 보여준 뒤 원래 텍스트를 드러낸다. - 마키, 리빌, 스크롤 패럴랙스 같은 사전 제작 효과도 제공된다. ## Figma Sites만의 확장 기능 - Figma Design에는 아직 없는 스크롤 패럴랙스와 스크롤 변환 기능을 지원한다. - 인터랙티브 컴포넌트를 별도로 만들지 않아도 호버 상태와 눌림 상태를 구현할 수 있다. - 향후 코드 레이어를 사용해 플러그인이나 외부 도구 없이 더 복잡한 인터랙션을 추가할 수 있다. - AI 채팅을 이용해 드래그 가능한 목록이나 실제 지리 정보를 반영한 시계처럼 복잡한 동작을 설명만으로 생성할 수 있게 될 예정이다. - 생성한 코드 레이어는 Figma Design의 라이브러리처럼 재사용·공유 가능한 컴포넌트와 인스턴스로 만들 수 있다. Figma Sites는 단순히 디자인을 웹으로 내보내는 기능보다, 디자인·반응형 구현·프로토타이핑·게시를 통합한 제작 환경에 가깝다. 빠르게 랜딩 페이지나 이벤트 사이트를 제작해야 하는 팀, 개발 리소스가 적은 디자이너에게 특히 유용하며, 복잡한 서비스 기능이나 세밀한 코드 제어가 필요한 경우에는 향후 코드 레이어 기능의 성숙도를 함께 확인하는 것이 좋다.

원문 읽기(새 탭에서 열림)
figma원문

Config 2025: (새 탭에서 열림)

피그마는 Config 2025를 통해 단순한 디자인 도구를 넘어 아이디어 구상부터 실제 제품 구현까지 전 과정을 아우르는 통합 플랫폼으로의 확장을 선언했습니다. AI 기술을 전면에 배치한 4개의 신규 제품과 강력해진 디자인 기능을 도입하여, 디자인과 개발 사이의 경계를 허물고 팀 전체의 생산성을 극대화하는 데 집중하고 있습니다. 이는 디자인이 비즈니스 차별화의 핵심이 되는 시대에 발맞추어, 모든 팀원이 제품 개발 프로세스에 더욱 깊이 기여할 수 있는 환경을 구축하려는 전략적 움직임으로 풀이됩니다. **AI 기반의 앱 및 웹 제작 솔루션** * **Figma Make**: 텍스트 프롬프트를 코드로 변환하거나 기존 디자인을 실제 작동하는 프로토타입 및 앱으로 제작해 주는 AI 도구로, 숙련도와 상관없이 아이디어를 빠르게 시각화하고 반복 수정할 수 있도록 돕습니다. * **Figma Sites**: 디자이너가 AI와 코드의 도움을 받아 역동적인 상호작용과 맞춤 설정이 가능한 웹사이트를 직접 구축하고 즉시 배포할 수 있는 환경을 제공합니다. **디자인 표현력과 브랜드 일관성 강화** * **Figma Draw**: 더욱 정교해진 벡터 편집 및 일러스트레이션 도구 세트를 통해 디자이너가 높은 수준의 공예적 완성도를 가진 시각 결과물을 만들 수 있도록 지원합니다. * **Figma Buzz**: 마케팅 및 브랜드 팀이 브랜드 가이드라인을 준수하면서도 AI를 활용해 대규모로 시각적 자산을 생성하고 관리할 수 있도록 설계된 전용 제품입니다. **개발 협업 및 AI 워크플로우 고도화** * **Grid**: 반응형 레이아웃 설정을 돕는 새로운 옵션으로, Dev Mode에서 즉시 활용 가능한 CSS 코드를 생성하여 디자인에서 개발로 이어지는 핸드오프 과정을 획기적으로 개선합니다. * **지능형 AI 기능**: 이미지 생성 및 편집 기능이 고도화되었으며, 작업 맥락을 이해해 다음 단계를 제안하는 자동 제안 기능과 FigJam 내 AI 보조 도구가 추가되어 워크플로우 속도를 높였습니다. **사용자 저변 확대와 글로벌 시장 최적화** * **사용자 구성의 변화**: 현재 피그마 사용자의 약 2/3가 비디자인 직군이며 그중 30%가 개발자인 점을 반영하여, 직군 간의 협업 효율을 높이는 도구(Dev Mode, Slides 등)를 지속적으로 강화하고 있습니다. * **글로벌 현지화**: 전체 사용자의 85%가 미국 외 지역에 거주하는 상황에 맞춰 브라질 시장을 위한 포르투갈어 전면 지원 및 UI 현지화를 진행하며 글로벌 확장세를 이어가고 있습니다. 이제 피그마는 디자이너만을 위한 도구를 넘어, 기획자, 개발자, 마케터가 하나의 캔버스에서 제품을 완성하는 '제품 개발 운영 체제'로 진화하고 있습니다. 팀 내 협업 효율을 높이고 AI를 통해 제작 단계를 단축하고자 한다면, 순차적으로 출시될 이번 신규 기능들을 워크플로우에 적극적으로 도입해 볼 것을 권장합니다.

figma3분 읽기큐레이션 요약

버전 관리: 피그마

Figma의 Layers 패널에 가로 스크롤을 추가하는 일은 단순한 UI 개선이 아니었다. 계층 구조, 접기·펼치기와 잠금·숨김 상태, 가상화 렌더링, 다양한 텍스트 길이와 다중 스크롤 방향이 서로 얽혀 있었기 때문이다. Figma 팀은 세 가지 프로토타입을 시험하며 사용자의 계층 구조 인식과 작업 맥락을 해치지 않는 방향을 탐색했다. ## 가로 스크롤이 어려웠던 이유 - Layers 패널은 자주 사용되고 신뢰성이 중요해 작은 동작 변화도 신중해야 했다. - 레이어는 정적인 목록이 아니라 다음과 같은 상태를 가진다. - 숨김·잠금 - 계층 접기·펼치기 - 부모·자식 관계 - 성능을 위해 현재 화면에 보이는 레이어만 렌더링하는 **가상화**가 적용되어 있었다. - 세로로 스크롤하면 새 레이어가 렌더링되고, 레이어 이름 길이가 달라져 가로 스크롤 영역과 정렬이 복잡해졌다. - 핵심 목표는 단순히 콘텐츠를 옮기는 것이 아니라 사용자가 현재 계층상의 위치와 “더 볼 내용이 있음”을 계속 이해하도록 하는 것이었다. - 디자이너 Giorgio Caviglia는 JavaScript, HTML, CSS, React로 직접 프로토타입을 만들어 수천 개 레이어와 다양한 상호작용을 실제로 검증했다. ## 첫 번째 시도: 화면 왼쪽의 보이지 않는 레이어 표시 - 레이어가 패널의 왼쪽 위나 오른쪽 아래 경계를 벗어나면 해당 위치에 아이콘을 표시하는 대칭형 UI를 실험했다. - 아이콘을 패널 가장자리에 고정하는 것은 쉬웠지만, 레이어 이름이 스크롤될 때 배경이 일부 요소 아래로 지나가고 다른 텍스트는 가려야 했다. - 컴포넌트가 위에 놓인 요소의 정확한 위치를 알지 못해 다음 문제가 발생했다. - 배경이 텍스트를 제대로 덮지 못함 - 레이어 행 구조와 불투명 배경 처리가 충돌함 - 스크롤 상태에 따라 시각적 가림 처리가 달라짐 - 디자인 측면에서도 왼쪽 상단에 레이어 이름의 끝부분이 들쭉날쭉하게 남아 시각적으로 어색했다. - 결과적으로 대칭성을 유지하려던 해결책이 새로운 문제를 만들었고, 패널 상단의 빈 공간을 어떻게 다룰지 재검토하게 됐다. ## 두 번째 시도: 선택한 레이어로 자동 스크롤 - 캔버스에서 선택한 레이어가 Layers 패널에 보이지 않으면 해당 레이어가 패널 중앙에 오도록 자동으로 가로 스크롤하는 방식을 실험했다. - 이론적으로는 편리했지만, 실제 사용에서는 가로와 세로 스크롤이 동시에 발생해 사용자가 현재 위치를 잃었다. - 특히 깊게 중첩된 레이어를 선택하면 부모 레이어가 화면에서 사라져 계층 구조를 파악하기 어려웠다. - 사용자는 작업 대상의 이름뿐 아니라 다음 정보도 함께 확인해야 한다. - 어떤 부모 아래에 있는지 - 계층상 어디에 위치하는지 - 특정 컴포넌트의 일부인지 - 화면을 갑자기 다른 위치로 이동시키는 동작은 Google Maps가 주행 중 지도를 갑자기 다른 장소로 옮기는 것과 비슷한 혼란을 유발했다. - 도구가 사용자를 돕기보다 현재 작업에 대한 정신적 모델을 깨뜨리는 결과가 되어 채택되지 않았다. ## 세 번째 시도: 레이어 이름 변경 중 스크롤 - 가로 스크롤 도입으로 레이어 이름을 편집하는 동안 다른 레이어로 스크롤할 때의 동작도 새롭게 정의해야 했다. - 사용자가 이름 입력 중 다른 레이어를 보기 위해 스크롤하면, 입력 중인 텍스트를 자동으로 새 이름으로 확정하는 방안을 검토했다. - 그러나 스크롤은 이름 변경을 확정했다는 충분히 강한 신호가 아니었다. - 이 동작을 채택하면 사용자가 의도하지 않게 레이어 이름을 변경할 위험이 있었다. - 따라서 스크롤과 편집 확정의 관계를 별도로 설계해야 한다는 점이 드러났다. ## 실용적인 시사점 - 복잡한 UI에서는 정적인 화면 설계만으로 모든 상태를 예측하기 어렵기 때문에 실제 코드 기반 프로토타이핑이 유용하다. - 자동 이동은 편리함보다 사용자의 공간적·계층적 맥락 보존을 우선해야 한다. - 스크롤, 선택, 편집처럼 서로 다른 의도를 가진 동작을 하나의 암묵적 신호로 처리하면 오작동과 혼란이 발생한다. - 특히 가상화된 계층형 UI에서는 렌더링 구조, 텍스트 가림, 상태 변화까지 함께 고려해야 한다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

Figma에서 디자인 시스템 워

Figma의 디자인 시스템 구축은 색상·타이포그래피·간격·문서화·개발 전달을 반복해야 해 시간이 많이 걸리지만, 최신 기능과 커뮤니티 플러그인을 조합하면 작업을 크게 단축할 수 있다. 특히 모드와 컬렉션을 안전하게 재정렬하고, 변수·스타일·컴포넌트 관리를 자동화함으로써 디자인 시스템을 개념 설계부터 코드 변환까지 효율적으로 연결하는 것이 글의 핵심이다. ## 모드와 컬렉션을 안전하게 재정렬 - 라이브러리의 모드와 컬렉션을 드래그 앤 드롭으로 재배치할 수 있다. - 삭제 후 재생성할 필요가 없어 디자인이 다른 모드와 동기화되지 않는 문제를 줄인다. - 재정렬해도 모드 ID와 연결 정보가 유지된다. - 기본 모드도 간단히 변경할 수 있다. - 자주 사용하는 컬렉션을 위로 올리거나, 관련 모드를 그룹화하거나, 제품 라인 변경에 활용할 수 있다. ## 작업 흐름을 개선하는 9가지 업데이트 - 메인 컴포넌트로 바로 이동하는 단축키가 추가됐다. - 스타일을 복제하거나 복사해 반복 작업을 줄일 수 있다. - 변수 페인트를 숨기거나 다시 표시해 작업 공간을 정리할 수 있다. - 컴포넌트 설명 UI가 개선되어 내용을 빠르게 확인할 수 있다. - 변수 모달의 헤더 전체를 드래그할 수 있다. - 변수 변경 사항이 자동 저장된다. - 컴포넌트 이름에 마우스를 올리면 툴팁으로 추가 정보를 볼 수 있다. - 편집 버튼 정렬이 개선됐다. - 스타일 창에서 긴 이름이 잘리지 않도록 텍스트 오버플로 처리가 개선됐다. ## 색상 팔레트와 색상 토큰 만들기 - **CSS color-mix()** - CSS의 `color-mix()`를 활용해 색상 팔레트와 그라디언트를 생성한다. - **Colorbox** - 전체 색상 램프를 빠르게 만든다. - **The Genome Color Tool** - WCAG 접근성 기준을 만족하는 색상 스케일을 구축한다. - 색상 시스템을 수작업으로 하나씩 조정하는 대신, 다양한 명도 단계와 조합을 빠르게 실험할 수 있다. - 접근성 기준을 초기 단계부터 반영해 후속 수정 비용을 줄일 수 있다. ## 타이포그래피와 변수 문서화 - **Peppercorn** - 디자인 시스템 전체의 타입 시스템을 설정하는 데 사용된다. - **Print Variables** - 변수 컬렉션을 스티커 시트 형태로 캔버스에 출력한다. - **Auto Documentation** - 모든 변수를 시각적인 스티커 시트로 만들어 문서화한다. - **Variables and Styles List** - 변수와 스타일 목록을 캔버스 위젯으로 생성해 팀이 한눈에 확인하도록 돕는다. - 이러한 도구는 색상, 글꼴, 크기, 간격 등 토큰의 이름과 값을 시각적으로 검토하는 데 유용하다. ## 컴포넌트 구조와 스펙 정리 - **Propstar** - 컴포넌트의 프로퍼티와 가능한 변형 조합을 시각적으로 정리한다. - **Specs** - 컴포넌트 사양을 생성해 디자인 의도와 구현 정보를 전달한다. - **Similayer** - 특정 레이어나 속성을 기준으로 요소를 필터링한다. - **Style Finder** - 여러 페이지에 흩어진 스타일을 찾아 관리할 수 있게 한다. - 컴포넌트 변형이 많아질수록 어떤 조합을 지원하는지 파악하고 중복 또는 누락을 발견하는 데 도움이 된다. ## 변수와 디자인 토큰을 코드로 연결 - **CTRL Var** - 변수를 일괄적으로 이름 변경할 수 있다. - **Export Import Variables** - Figma 안팎으로 변수를 가져오고 내보낸다. - **Handoff** - CSS 변수를 즉시 복사해 개발 전달을 단순화한다. - **Variables Converter** - Figma 변수를 코드 형식으로 변환한다. - **Shaper** - 토큰 아키텍처를 관리하고 CSS 코드를 생성한다. - 디자인 토큰을 Figma에만 고립시키지 않고 개발 환경의 변수와 연결할 수 있다. ## 디자인 시스템 구축 단계별 접근 - **기초 설계** - 색상 팔레트, 색상 램프, 타이포그래피 스케일, 변수 컬렉션을 구성한다. - **문서화** - 변수와 스타일을 스티커 시트나 목록으로 정리해 팀이 쉽게 탐색하도록 만든다. - **구현과 핸드오프** - 컴포넌트 사양을 생성하고, 변수와 토큰을 CSS 등 코드로 변환한다. - Figma의 기본 기능과 플러그인을 각 단계에 맞게 조합하면 디자인 시스템을 처음부터 코드 전달까지 일관되게 관리할 수 있다. 실무에서는 먼저 모드·컬렉션 구조와 변수 명명 규칙을 정한 뒤, 색상·타이포그래피 플러그인으로 토큰을 만들고, 문서화 및 코드 변환 도구를 선택적으로 도입하는 방식이 효과적이다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

개발자가 다시 크리에이

웹은 템플릿과 자동화 덕분에 누구나 쉽게 만들 수 있게 되었지만, 그 과정에서 사이트의 개성과 창의성이 약해졌다. 저자는 브라우저가 컨테이너 쿼리, OKLCH 색상, 고급 애니메이션과 레이아웃 등 훨씬 강력한 창작 기능을 갖추었으므로, 개발자들이 다시 창의적 코딩을 통해 웹의 표현 가능성을 확장해야 한다고 주장한다. 결론적으로 템플릿은 완성품이 아니라 출발점이며, 개발자는 실험과 표현을 통해 웹을 하나의 창작 매체로 되살려야 한다. ## 템플릿 이전의 창의적인 웹 - 2010년경 맞춤형 웹사이트는 개발자의 기술과 감각을 보여주는 디지털 명함이었다. - HTML5의 발전으로 다음과 같은 실험적인 작업이 가능했다. - 표현력 높은 인라인 SVG - GSAP 기반 타임라인 애니메이션 - WebGL 실험 - 복잡한 CSS 일러스트레이션 - 당시 개발자는 단순히 기능을 구현하는 것을 넘어, 독창적이고 유머러스한 경험을 직접 만들었다. ## 템플릿과 자동화가 가져온 변화 - Wix, Squarespace 같은 서비스는 애니메이션, 배경 영상, 패럴랙스, CMS를 누구나 사용할 수 있게 만들었다. - 웹 제작의 접근성이 크게 높아진 점은 긍정적이다. - 그러나 비슷한 템플릿이 반복되면서 사이트가 예측 가능해지고, 놀라움과 개성이 줄어들었다. - 저자는 “손으로 만든 것이 항상 더 낫다”는 감정적 주장만으로는 부족하며, 이제는 실제 웹의 창작 가능성을 다시 탐색해야 한다고 본다. ## 현대 브라우저의 숨은 가능성 - 브라우저는 과거보다 훨씬 정교한 기능을 지원하지만, 많은 디자이너와 개발자는 여전히 예전 방식에 머물러 있다. - 활용할 수 있는 현대 CSS 및 웹 기능은 다음과 같다. - 컨테이너 쿼리 - 고급 스코핑과 상속 제어 - 사용자의 선호도에 반응하는 스타일 - 동적 단위와 반응형 레이아웃 - 발전된 색상, 타이포그래피, 애니메이션 기능 - 디자인 도구의 기본 기능만 사용하는 대신, 브라우저 자체가 제공하는 표현력을 직접 활용해야 한다. ## 색상 공간과 디자인·개발의 융합 - 일반적인 RGB 그라디언트 외에도 CSS는 HSL과 OKLCH 같은 색상 공간을 지원한다. - 이러한 색상 공간은 더 생생하고 정밀한 색상 전환을 가능하게 한다. - 저자는 디자인 도구와 실제 CSS 사이의 차이를 줄이기 위해 `color-mix()`를 활용한 Figma 플러그인을 만들었다. - 디자인과 개발의 경계가 가까워질수록 개발자는 디자인 도구 안에서도 더 많은 창작 권한과 실험 공간을 가질 수 있다. ## 창의적 웹의 사례 - Henry Desroches는 인쇄물 같은 여백, 입체감, 의도적인 배치를 반응형 웹에 구현한다. - Sarah Drasner는 SVG 애니메이션과 웹 일러스트레이션의 가능성을 보여준다. - Tim Holman은 `Optical Toys`, `The Useless Web`처럼 실용성을 넘어선 실험적 프로젝트를 만든다. - Lynn Fisher는 브라우저 너비에 따라 일러스트레이션이 변하는 작업을 통해 화면 자체를 창작 매체로 활용한다. - 이 사례들은 템플릿이 최종 결과가 아니라, 창의적인 작업을 시작하기 위한 기반임을 보여준다. 웹사이트는 정보 전달이나 서비스 제공을 위한 그릇에만 머물 필요가 없다. 개발자는 최신 브라우저 기능을 적극적으로 실험하고, CSS·SVG·WebGL·애니메이션을 조합해 자신만의 표현 방식을 만들어볼 필요가 있다. નાના한 시각 효과나 인터랙션부터 시작해 템플릿 너머의 웹을 구축하는 것이 실용적인 출발점이다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

제품 로드맵을 벗

제품 로드맵은 방향을 제시하는 도구이지, 반드시 지켜야 하는 계약서가 아니다. AI와 사용자 기대가 빠르게 변하는 환경에서는 사용자 피드백과 실험 결과에 따라 계획을 과감히 수정해야 하며, 이러한 우회와 전환이 오히려 좋은 제품을 만든다. Figma의 Dev Mode 사례는 초기 비전을 고집하기보다 실제 개발자의 문제를 해결하는 방향으로 피벗한 과정을 보여준다. ## 변화한 제품 개발 환경 - AI, 에이전트, 어시스턴트의 발전으로 제품 개발과 사용 방식이 빠르게 변하고 있다. - Claude, Cursor 같은 도구는 프롬프트만으로도 애플리케이션을 만들 수 있다는 기대를 높였다. - 기존의 6~12개월 단위 로드맵과 전통적인 개발 방식만으로는 변화 속도와 사용자 기대를 따라가기 어렵다. - 명확한 계획은 필요하지만, 로드맵을 지나치게 규범적으로 따르면 더 이상 유효하지 않은 방향을 계속 추진할 위험이 있다. ## 비전보다 중요한 유연성과 학습 - 신제품 개발은 계획대로 직선적으로 진행되지 않고, 실험과 실패, 재설계를 반복하는 비선형 과정이다. - 하나의 비전을 끝까지 고수해야 성공한다는 것은 기술 업계의 신화에 가깝다. - 사용자 조사, 내부 직원의 실제 사용(dogfooding), 베타 테스트를 통해 새로운 정보를 얻으면 기존 가정을 수정해야 한다. - 계획을 바꾸는 것은 실패가 아니라 더 나은 사용자 결과에 도달하기 위한 학습 과정이다. ## Dev Mode의 피벗 사례 - Figma는 처음에 Dev Mode를 디자인을 코드로 자동 변환하는 도구로 구상했다. - 초기 코드 생성 기능은 가능성을 보였지만, 개발자들은 생성된 코드가 실제 업무에 항상 유용하지 않다고 피드백했다. - 디자인 시스템을 사용하는 개발자들은 새 코드를 생성하기보다 이미 작성된 컴포넌트를 조합하는 데 더 많은 시간을 썼다. - Figma는 코드 생성에 계속 투자하는 대신 **Code Connect**를 개발했다. - 개발자가 디자인 시스템의 실제 코드 스니펫을 직접 연결할 수 있다. - Dev Mode에서 자동 생성 CSS가 아니라 팀이 사용하는 컴포넌트 코드를 보여준다. - 이 전환으로 출시가 늦어지고 기존 방향을 추진하던 팀원들이 좌절하는 비용이 발생했지만, 사용자에게 더 적합한 제품에 가까워질 수 있었다. ## 로드맵을 수정하는 데 따르는 비용 - 방향 전환은 이미 투입한 시간과 자원을 포기해야 하므로 조직적으로 쉽지 않다. - 기존 작업을 중단하면 출시 일정이 지연되고, 팀의 사기가 떨어질 수 있다. - 그러나 매몰비용 때문에 효과가 낮은 기능을 계속 개발하면 더 큰 손실로 이어진다. - Figma는 Dev Mode 베타 이후 로드맵보다 사용자 피드백을 우선했고, 한 달 동안 200개가 넘는 수정 사항과 신규 기능을 출시했다. ## 성공적인 제품은 전환을 통해 성장한다 - Loom은 기업에 제품 피드백을 제공하는 전문가 네트워크에서 출발했지만 여러 번 피벗한 끝에 현재의 비디오 녹화 플랫폼이 되었다. - Slack 역시 온라인 멀티플레이어 게임인 Glitch에서 시작해 협업 도구로 전환했다. - 이 사례들은 초기 아이디어를 끝까지 지키는 것보다, 새로운 학습을 바탕으로 사업과 제품의 방향을 바꾸는 것이 중요하다는 점을 보여준다. - 좋은 제품은 우여곡절 때문에 망가지는 것이 아니라, 그 우여곡절을 통해 정의된다. ## 실무에서의 적용 - 상세한 사양과 디자인을 확정하기 전에 빠른 프로토타입으로 가설을 검증한다. - 베타 사용자와 내부 사용자에게서 반복적으로 나타나는 문제를 로드맵보다 우선한다. - 제품이 시장이나 사용자에게 제대로 도달하지 못한다면 처음부터 다시 시작하는 결정을 고려한다. - 매몰비용이나 기존 방법론에 얽매이지 말고, 현재 환경에서도 유효한지 오래된 가정을 재검토한다. - 로드맵은 고정된 약속이 아니라, 언제 계획을 따르고 언제 방향을 바꿀지 판단하기 위한 기준으로 활용하는 것이 바람직하다.

원문 읽기(새 탭에서 열림)
figma4분 읽기큐레이션 요약

피그마 패턴 라이브

UI3 개편은 Figma 내부 디자인 시스템이 오랜 성장 과정에서 파편화되었다는 문제를 드러냈고, 이를 해결하기 위해 Figma Pattern Library(FPL)를 처음부터 다시 구축하게 만들었습니다. 디자이너와 엔지니어가 페어 프로그래밍에 가까운 방식으로 협업해 디자인 의도와 코드 구현을 연결하고, 변수·REST API·테마 모드를 기반으로 일관되고 접근성 높은 제품 개발의 기반을 마련했습니다. FPL은 단순한 컴포넌트 모음이 아니라 조직 전체의 공통 언어이자 UI3를 확장하기 위한 단일 진실 공급원으로 설계되었습니다. ## UI3가 드러낸 내부 디자인 시스템의 문제 - Figma는 다른 팀의 디자인 시스템 구축을 돕는 제품을 만들고 있었지만, 내부 시스템은 오랜 기간의 급속한 성장과 제품 확장으로 분리되어 있었습니다. - 동일해야 할 컴포넌트가 서로 조금씩 달랐고, 연결이 끊긴 컴포넌트 인스턴스가 누적되었습니다. - UI3를 모든 Figma 제품에 적용하려면 새로운 화면 디자인만으로는 부족했습니다. - 여러 팀이 일관되고 효율적으로 작업할 수 있는 견고한 기반 시스템이 필요했습니다. ## 디자이너와 엔지니어의 페어 협업 - Wayne Sun과 Tom Williams는 디자이너와 엔지니어로 구성된 5명의 소규모 팀을 만들었습니다. - 개발에서 한 사람이 코드를 작성하고 다른 사람이 실시간 검토하는 페어 프로그래밍처럼, 디자이너와 엔지니어가 긴밀하게 짝을 이루어 작업했습니다. - 디자이너는 시각적·사용자 경험 의도를 전달하고, 엔지니어는 이를 실제 컴포넌트와 토큰 시스템으로 구현했습니다. - 이 방식은 디자인 파일과 제품 코드 사이의 간극을 줄이고, 양쪽이 공유할 수 있는 시스템 언어를 만드는 데 목적이 있었습니다. - 그 결과 새로운 내부 디자인 시스템인 Figma Pattern Library(FPL)가 탄생했습니다. ## 스타일과 스프레드시트에서 변수 중심 구조로 전환 - 기존 시스템은 Figma의 변수 기능이 등장하기 전에 만들어졌습니다. - 디자이너는 Figma 스타일을 사용했지만, 엔지니어는 별도의 Google Sheets에서 색상 토큰을 관리했습니다. - 스프레드시트가 제품 변경 사항을 즉시 반영하지 못하면서 디자인 파일과 실제 코드의 색상이 달라지는 문제가 발생했습니다. - 팀은 Figma 변수와 REST API를 활용해 디자인과 코드가 자동으로 동기화될 수 있는 구조를 만들었습니다. - 타이포그래피 변수를 새로 만들고, 기존 타이포그래피 스타일이 이 변수들을 별칭으로 참조하도록 구성했습니다. - 색상 스타일은 중앙 관리가 가능한 색상 변수로 마이그레이션했습니다. - 색상 변수에 CSS 정의도 추가해 Dev Mode의 검사 패널에서 개발자가 올바른 변수명과 코드 표현을 확인할 수 있게 했습니다. ## Primitive와 Semantic 변수로 색상 체계 정리 - 색상은 밝기와 어두움이 체계적으로 이어지는 **color ramp**를 기반으로 구성했습니다. - 기본 색상 단위인 **Primitive 변수**는 색상 계열별로 정리하고, 100부터 1000까지 단계적으로 구분했습니다. - 실제 UI 용도를 나타내는 **Semantic 변수**는 Primitive 변수를 별칭으로 참조합니다. - 예를 들어 특정 색상값을 직접 사용하는 대신 배경, 텍스트, 테두리 같은 의미 기반 변수로 연결할 수 있습니다. - Semantic 변수는 다음과 같은 테마와 제품별 모드를 지원하도록 설계되었습니다. - 라이트 모드와 다크 모드 - Figma Design - FigJam - Slides - Dev Mode - 이 구조 덕분에 하나의 공통 컴포넌트가 제품이나 테마에 따라 색상만 자연스럽게 바꿀 수 있습니다. - Primitive 변수의 값을 수정하면 이를 참조하는 Semantic 변수와 컴포넌트에 변경 사항을 일괄 적용할 수 있습니다. ## FPL의 역할 - FPL은 UI3의 시각적 스타일을 정의하는 동시에, 이를 실제 제품에 일관되게 구현하기 위한 기술적 기반입니다. - 디자인과 엔지니어링을 분리된 단계로 처리하지 않고, 초기 설계부터 함께 검증하는 협업 모델을 채택했습니다. - 변수와 모드 기반의 구조는 여러 제품과 테마를 지원하면서도 공통된 사용자 경험을 유지하도록 돕습니다. - 중앙화된 토큰과 컴포넌트는 중복 구현과 미세한 시각적 차이를 줄이고, 향후 변경 사항을 더 빠르게 확산시킬 수 있습니다. FPL 사례는 디자인 시스템을 단순한 UI 컴포넌트 저장소가 아니라 디자인 토큰, 테마, 코드 연동, 협업 방식까지 포함하는 조직의 공통 인프라로 다뤄야 한다는 점을 보여줍니다. 특히 디자인 파일과 코드가 서로 다른 토큰을 관리하지 않도록 변수와 자동 동기화를 도입하는 것이 규모가 큰 제품 조직에 실용적인 출발점입니다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

디자인 시스템 구축 방법

디자인 시스템은 제품 전반의 일관성을 높이고, 재사용 가능한 컴포넌트와 공통 언어를 통해 디자인·개발 업무를 효율화하는 기반이다. 성공적인 시스템은 정해진 정답을 따르기보다 조직의 목표와 문제에 맞춰 설계하고, 제품과 팀의 변화에 따라 지속적으로 발전해야 한다. 이를 위해 목표 설정, 기존 자산 조사, 협업자 확보, 적절한 구축 방식 선택이 선행되어야 한다. ## 디자인 시스템의 목표와 범위 정의 - 컴포넌트를 만들기 전에 디자인 시스템을 도입하려는 이유를 명확히 해야 한다. - 다음 질문에 답하면서 목표를 구체화한다. - 왜 디자인 시스템이 필요한가? - 어떤 문제를 해결할 것인가? - 문제가 해결되었는지 어떻게 측정할 것인가? - 플랫폼 간 UI 불일치, 반복적인 수동 수정, 디자인·개발팀 간 협업 문제 등이 주요 도입 계기가 될 수 있다. - 디자인 시스템은 소규모 팀의 단순한 컴포넌트 모음부터 대기업의 종합적인 표준 체계까지 다양한 규모로 구성할 수 있다. - 중요한 것은 조직의 현재 상황에 맞게 시작하고, 필요에 따라 확장 가능한 구조를 만드는 것이다. ## 기존 디자인과 코드 자산 조사 - 여러 플랫폼과 디바이스에서 제품 UI를 수집한다. - 일반 화면뿐 아니라 다음과 같은 변형도 함께 확인한다. - 호버·포커스·비활성·오류 등 인터랙션 상태 - 반응형 레이아웃 - 플랫폼별 또는 제품별 대체 버전 - 스크린샷을 모으면 반복되는 시각적 패턴과 일관된 요소를 파악하기 쉽다. - 디자인 파일만 조사해서는 안 되며, 코드베이스도 함께 점검해야 한다. - 개발자가 이미 구현한 다음 자산을 확인하면 기존 엔지니어링 작업을 재활용할 수 있다. - 반복적으로 사용되는 UI 요소 - 공통 CSS 변수 - 공유 컴포넌트 - 표준화된 구현 패턴 - 디자인과 코드 양쪽을 조사해야 서로 다른 시스템이 병렬로 만들어지는 문제를 줄일 수 있다. ## 패턴 분류와 문제점 평가 - 수집한 화면과 컴포넌트를 유형별로 분류해 현재 제품의 디자인 언어를 파악한다. - 같은 문제를 여러 방식으로 해결하고 있는지 확인한다. - 다음과 같은 문제는 디자인 시스템으로 개선할 후보가 된다. - 비슷한 UI가 제품마다 다르게 보이는 경우 - 중복 컴포넌트나 불필요한 변형이 많은 경우 - 디자인팀과 개발팀이 동일한 문제를 각자 다르게 해결하는 경우 - 사용자 경험이 화면이나 플랫폼에 따라 단절되는 경우 - 이 과정은 무엇을 새로 만들지뿐 아니라 무엇을 통합·정리·폐기할지도 결정하는 단계다. ## 조직 내 챔피언 확보 - 디자인 시스템은 한 직군만의 프로젝트가 아니라 디자인, 개발, 제품 관리가 함께 참여하는 팀 작업이다. - 일관된 제품 경험에 관심이 있는 사람을 조직 내 협력자로 확보해야 한다. - 개발자는 실제 코드 구현과 유지보수를 담당하므로 초기부터 참여시키는 것이 중요하다. - 개발자는 컴포넌트의 기술적 실현 가능성, API 설계, 유지보수 비용에 대한 현실적인 의견을 제공할 수 있다. - 성공적인 디자인 시스템이 반드시 대규모 전담 조직에서 시작되는 것은 아니며, 한 명의 담당자에서 출발할 수도 있다. ## 구축 방식 선택 - 디자인 시스템을 구축하는 방법은 크게 두 가지다. - 조직의 요구에 맞춰 처음부터 직접 구축하기 - 기존 프레임워크를 도입한 뒤 제품 상황에 맞게 조정하기 - 선택할 때는 현재 보유한 디자인·코드 자산, 팀 규모, 기술 역량, 유지보수 가능성을 함께 고려해야 한다. - 기존 시스템을 그대로 복사하기보다 조직의 목표와 제품 특성에 맞는 수준으로 조정하는 것이 중요하다. ## 이후의 구축 단계 - 글은 전체 과정을 다음 세 단계로 제시한다. - 기반 마련: 목표 정의, 기존 자산 조사, 문제 평가, 협력자 확보 - 디자인 기반 정의: 색상, 타이포그래피, 간격 등 공통 시각 규칙 수립 - Figma에서 구축: 디자인 자산과 재사용 가능한 컴포넌트를 체계적으로 구성 - 구축 후에도 시스템은 고정된 결과물이 아니라 제품과 팀의 변화에 맞춰 계속 관리하고 발전시켜야 한다. 실무에서는 모든 것을 한 번에 만들기보다 가장 반복적으로 사용되고 영향이 큰 패턴부터 시작하는 것이 좋다. 디자인과 코드를 함께 조사하고 개발자를 초기 단계부터 참여시키면 실제 제품에 적용되고 유지되는 디자인 시스템을 만들 가능성이 높아진다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

Dev Mode 후속 업데이트:

Figma는 Dev Mode 오픈 베타 2개월 동안 사용자 피드백 5,000건 이상을 반영해 200개가 넘는 기능과 수정 사항을 배포했다. 이번 업데이트의 핵심은 디자인 파일을 개발자가 더 쉽게 탐색·검수하고, 코드 생성 결과를 실제 개발 환경에 가깝게 만드는 것이다. 상태 라벨, 버전 비교, 향상된 코드 스니펫, VS Code 연동 등으로 디자이너와 개발자 간 협업 효율을 높였다. ## Dev Mode에 새로 추가된 기능 - 컴포넌트, 인스턴스, 프레임, 섹션에 개발 준비 상태를 나타내는 **상태 라벨**을 추가할 수 있다. - Design Mode에서 제공되던 **레이아웃 그리드, 룰러, 아웃라인 모드**를 View 메뉴와 기존 단축키로 사용할 수 있다. - 분리(detached)된 컴포넌트를 원본 메인 컴포넌트와 비교해 변경 사항을 확인할 수 있다. - 코드 옵션으로 **Android XML과 iOS UIKit**이 다시 제공된다. - 색상 형식에서 `UIColor`를 선택할 수 있다. - 파일 이름을 클릭하면 **버전 기록의 여러 디자인 버전**을 열어 검사할 수 있다. ## 사용성 및 성능 개선 - 외부 라이브러리에서 가져온 디자인 시스템 컴포넌트의 라이브러리 이름을 표시한다. - 컴포넌트 플레이그라운드에서 중첩된 컴포넌트 속성과 컴포넌트 모드를 확인하고 실험할 수 있다. - 텍스트 속성에는 `rem` 단위를 사용하면서, 다른 속성은 픽셀 단위로 유지할 수 있다. - 캔버스에서 여러 객체를 `Shift` 클릭으로 선택하고 한 번에 내보낼 수 있다. - Figma 파일과 알림을 **VS Code 내부에서 확인**할 수 있다. - 타이포그래피 미리보기에서 스타일 이름, 글자 크기, 줄 높이 같은 속성을 확인하고 복사할 수 있다. - 텍스트의 특정 부분만 선택해 개별 속성을 검사할 수 있다. - 왼쪽 레이어 패널의 높이를 드래그로 조절할 수 있다. - 원시 값과 일치 가능성이 높은 디자인 시스템 변수를 자동으로 제안한다. - 코드 스니펫뿐 아니라 Figma 속성 형식으로도 값을 확인할 수 있다. - 디자인에 포함된 이미지 등의 소스 파일을 다운로드할 수 있다. - 대체 단위 설정을 일반 환경설정 메뉴에서 쉽게 찾을 수 있다. - 섹션을 선택하면 프레임별 링크를 모아서 확인할 수 있다. ## 코드 생성 개선 - `Shift` 키를 누른 채 모든 코드 스니펫을 한 번에 복사할 수 있다. - 하나의 패딩 값만 설정된 경우에도 CSS에서 `padding-top`, `padding-bottom`, `padding-left`, `padding-right`를 생성한다. - 코드에 `font-style`, `line-height`, `font-weight`를 항상 표시한다. - `line-height`를 백분율과 픽셀 값으로 함께 제공한다. - CSS 코드 생성에서 다음 OpenType 기능을 지원한다. - `font-feature-settings` - `font-variant-numeric` - `font-kerning` - 오토 레이아웃의 `min-width`, `max-width`, `min-height`, `max-height`와 줄바꿈 레이아웃의 세로 간격에 변수를 사용할 수 있다. - 여러 문단이나 서로 다른 텍스트 스타일이 섞인 텍스트 레이어는 스타일별 CSS 코드를 개별적으로 표시한다. - 커뮤니티에는 Tailwind, React, Vue 등을 위한 약 80개의 코드 생성 플러그인이 제공된다. ## 버그 수정 및 탐색 개선 - 탭 키 내비게이션으로 Design Mode와 Dev Mode 사이를 전환할 수 있다. - 힌트와 툴팁 전반에서 대체 단위를 올바르게 표시한다. - 텍스트 그라디언트 표시를 개선하는 등 시각적 품질 문제를 수정했다. 이번 업데이트는 Dev Mode를 단순한 디자인 검사 도구가 아니라, 디자인 시스템 확인·코드 생성·파일 관리·개발 환경 연동을 아우르는 협업 작업 공간으로 발전시키는 데 초점을 맞췄다. 팀에서는 상태 라벨과 버전 기록을 개발 핸드오프 과정에 적극 활용하고, 생성된 CSS나 플랫폼 코드는 실제 프로젝트 규칙과 비교해 검토하는 것이 좋다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

Thumbtack이 디자인

Thumbtack은 디자인 시스템 **Thumbprint**를 토큰, Atomic CSS, 컴포넌트의 3계층으로 구성해 유연성과 생산성을 함께 확보한다. 하위 계층일수록 세밀한 제어와 확장성이 높고, 상위 계층일수록 접근성·일관성·개발 생산성이 높아진다. 필요한 경우 각 계층 내부에도 추가 계층을 두어, 개발자가 일반적인 상황에서는 간편한 추상화를 사용하면서도 특수한 요구에는 더 낮은 계층으로 내려갈 수 있게 했다. ## 3단계 계층 구조 - **Thumbprint Tokens** - 시스템의 가장 낮은 추상화 계층이다. - 색상, 타이포그래피, 모서리 반경, 간격, 크기, 그림자 등 세부 디자인 속성을 변수로 정의한다. - 웹과 네이티브 클라이언트 모두에서 사용된다. - 가장 세밀하고 유연하지만, 이를 직접 조합해야 하므로 개발 생산성은 상대적으로 낮다. - **Thumbprint Atomic** - Thumbprint Tokens 위에 구축된 원자적 CSS 라이브러리다. - 개발자가 별도의 커스텀 CSS를 작성하지 않고도 UI를 구성할 수 있다. - 예를 들어 `aspect ratio` 클래스를 사용하면 YouTube나 Vimeo 같은 외부 미디어의 가로세로 비율을 일정하게 유지할 수 있다. - 토큰보다 생산성이 높지만, 완전히 자유롭게 스타일을 제어하는 것보다는 유연성이 낮다. - **Thumbprint Components** - 가장 높은 추상화 계층으로, 자주 사용하는 UI 패턴을 접근성까지 고려해 미리 구현한다. - 알림, 버튼, 날짜 선택기, 별점 등 공통 컴포넌트를 제공한다. - 개발자는 반복적인 UI 구현보다 핵심 제품 기능에 집중할 수 있다. - 제공되지 않는 컴포넌트가 필요하면 Atomic CSS를 사용해 직접 구성하고, 그보다 더 낮은 수준의 제어가 필요하거나 네이티브 환경이라면 디자인 토큰을 직접 사용할 수 있다. ## 계층에 따른 트레이드오프 - 하위 계층으로 내려갈수록: - 디자인 속성을 세밀하게 제어할 수 있다. - 새로운 제품 요구사항에 유연하게 대응할 수 있다. - 대신 구현과 유지보수에 더 많은 개발 노력이 필요하다. - 상위 계층으로 올라갈수록: - 접근성, 시각적 일관성, 개발 생산성이 높아진다. - 공통 UI를 빠르고 안정적으로 구현할 수 있다. - 대신 사전에 정해진 동작과 스타일이 많아져 특수한 요구에는 덜 유연할 수 있다. ## 계층 안의 계층 - 하나의 계층도 목적에 따라 여러 하위 계층으로 나눌 수 있다. - Thumbprint의 React 모달은 다음처럼 구성된다. - `ModalCurtain`: 시각적 스타일보다 사용성·기능에 집중한 낮은 계층 컴포넌트 - `Modal`: `ModalCurtain`을 기반으로 시각적 스타일과 일반적인 모달 사용 방식을 제공하는 상위 컴포넌트 - 대부분의 개발자는 바로 사용할 수 있는 `Modal`을 사용한다. - `Modal`이 지나치게 제한적일 때는 `ModalCurtain`으로 내려가 더 자유롭게 구성할 수 있다. - 이후 반복적으로 필요한 기능은 다시 상위 `Modal`에 추가해 시스템을 발전시킬 수 있다. ## 디자인 토큰의 다단계 추상화 - 디자인 토큰도 여러 단계로 상속·추상화할 수 있다. - Adobe Spectrum의 예처럼: - `button-cta-background-color` - `cta-background-color` - `blue-400` - 토큰이 구체적인 의미에서 일반적인 색상 값으로 이어지는 구조다. - 개발자는 자신의 상황에 적용 가능한 가장 높은 수준의 토큰을 사용하는 것이 일반적이다. - 이를 통해 제품별 요구에는 대응하면서도 디자인 언어의 일관성을 유지할 수 있다. ## 실용적인 적용 방향 Thumbprint의 방식은 모든 개발자가 가장 낮은 수준의 API를 직접 다루게 하는 대신, 기본적으로는 접근성과 생산성이 높은 컴포넌트를 제공하고 필요할 때만 Atomic CSS와 토큰으로 내려가도록 설계한다. 따라서 디자인 시스템을 만들 때는 단일 추상화 계층에 모든 요구를 담기보다, **일반적인 사용 사례를 위한 높은 계층과 예외적인 요구를 위한 낮은 계층을 함께 제공하는 구조**가 효과적이다.

원문 읽기(새 탭에서 열림)
figma원문

Figma의 새로운 개발자 모드를 (새 탭에서 열림)

피그마가 디자이너와 개발자 간의 간극을 좁히고 제품 개발 효율성을 극대화하기 위해 개발자 전용 공간인 'Dev Mode'를 출시했습니다. 브라우저 인스펙터와 유사한 인터페이스를 통해 개발자가 디자인 사양을 직관적으로 확인하고 코드로 변환할 수 있도록 지원하는 것이 핵심입니다. 이를 통해 개발팀은 디자인 도구 내에서 고유한 워크플로우를 유지하며 더 빠르고 정확하게 결과물을 구현할 수 있게 되었습니다. ### 개발자 중심의 작업 환경, Dev Mode * 디자인 파일을 브라우저의 '개발자 도구(Inspector)'와 유사한 방식으로 탐색할 수 있는 전용 워크스페이스를 제공합니다. * 디자인 요소(레이어, 그룹 등)를 개발 개념(코드, 아이콘, 토큰)과 밀접하게 연결하여 필요한 정보를 즉각적으로 추출할 수 있습니다. * 디자인 시스템의 맥락을 유지하면서 치수, 스펙, 에셋 등을 손쉽게 확인하고 내보낼 수 있는 환경을 구축했습니다. ### 코드 구현 속도를 높이는 최적화 기능 * 언어별로 맞춤 설정이 가능한 코드 스니펫 기능을 제공하며, 단순히 코드를 나열하는 것이 아니라 개발의 시작점으로 활용할 수 있게 설계되었습니다. * CSS 박스 모델, 트리 뷰(Tree View) 형태의 현대적 구문, 코드베이스에 맞춘 단위 토글 기능을 통해 코드 가독성을 높였습니다. * 디자인 시스템의 변수(Variables)를 디자인 토큰으로 활용하여 코드와 디자인 간의 일관성을 강화합니다. ### 워크플로우 통합과 강력한 플러그인 생태계 * GitHub, Jira, Linear와 같은 프로젝트 관리 도구를 연동하여 피그마 내에서 이슈와 풀 리퀘스트(PR) 상태를 바로 확인할 수 있습니다. * Storybook 플러그인을 통해 코드베이스에 실제 구현된 컴포넌트의 상태를 디자인 파일 안에서 참조할 수 있습니다. * AWS Amplify Studio, Google Relay, Anima 등의 코드 생성 플러그인을 활용하거나 팀 고유의 워크플로우에 맞는 커스텀 플러그인을 구축할 수 있습니다. ### IDE에서 직접 확인하는 VS Code 확장 프로그램 * 개발자가 코드 에디터를 벗어나지 않고도 디자인을 검토하고, 변경 사항 및 댓글 알림을 확인할 수 있는 VS Code용 확장 프로그램을 지원합니다. * 디자인 사양에 기반한 코드 자동 완성(Autocomplete) 기능을 제공하여 코딩 속도를 획기적으로 향상시킵니다. * 디자인 파일과 코드 편집기 사이를 오가는 컨텍스트 스위칭 비용을 줄여 개발 집중도를 높입니다. 단순히 디자인을 보는 것을 넘어, 실제 구현 단계에서의 생산성을 높이고 싶다면 Dev Mode와 VS Code 확장 프로그램을 워크플로우에 적극 도입해 보시기 바랍니다. 디자인 시스템의 토큰 관리와 에디터 내 자동 완성 기능을 결합하면 디자인과 코드 사이의 정렬(Alignment)을 훨씬 수월하게 유지할 수 있습니다.

datadog원문

Datadog을 구동하는 디자인 시스템, DRUIDS (새 탭에서 열림)

데이터독(Datadog)은 제품군이 급격히 확장됨에 따라 사용자에게 일관된 경험을 제공하고 개발 효율성을 높이기 위해 자체 디자인 시스템인 **DRUIDS**(Datadog Reusable User Interface Design System)를 구축했습니다. DRUIDS는 단순히 디자인 가이드를 제공하는 것에 그치지 않고, 수백 명의 디자이너와 엔지니어가 시스템을 쉽게 이해하고 구현하며 직접 기여할 수 있는 선순환 구조를 만드는 데 집중합니다. 결과적으로 이 시스템은 데이터독의 다양한 제품들이 하나의 통합된 플랫폼처럼 느껴지게 만드는 핵심적인 역할을 수행하고 있습니다. ### 직관적인 탐색과 맥락 파악을 돕는 도구 * **Cmd+K 퀵 내비게이션**: 플랫폼 전반에서 사용되는 퀵 내비 패턴을 문서 사이트에도 적용하여, 사용자가 원하는 컴포넌트, 아이콘, 로고 등을 검색을 통해 즉시 찾을 수 있도록 지원합니다. * **DRUIDS Loupe**: 실제 데이터독 페이지 위에서 단축키를 통해 실행되는 검사 도구로, 화면에 사용된 컴포넌트가 무엇인지 확인하고 해당 소스 코드, 피그마(Figma) 디자인, 문서 페이지로 즉시 이동할 수 있는 링크를 제공합니다. * **개발 환경과의 유기적 연결**: VS Code용 JSDoc 주석을 통해 코드 레벨에서 문서 링크를 제공하며, 소스 코드와 디자인 도구 간의 양방향 연결을 강화하여 정보의 파편화를 방지합니다. ### 코드 중심의 구현 편의성 제공 * **실시간 플레이그라운드**: 디자인 도구만으로는 표현하기 힘든 복잡한 상태와 기능을 확인하기 위해 React, TypeScript, CSS 코드를 기반으로 한 편집 가능한 예제를 제공합니다. 개발자는 여기서 속성(Props)을 변경해보고 실제 운영 환경에 적용할 코드를 즉시 복사할 수 있습니다. * **코드 샌드박스**: 개별 컴포넌트를 조합하여 라이브 프리뷰를 생성하고, 상태값이 포함된 URL을 통해 동료와 공유하거나 버그를 리포트하는 용도로 활용합니다. * **자동 생성되는 API 테이블**: 150개 이상의 컴포넌트 속성이 문서와 불일치하는 것을 방지하기 위해, 소스 코드에서 직접 속성 리스트와 설명을 추출하여 API 테이블을 자동으로 생성함으로써 신뢰할 수 있는 단일 소스(Single Source of Truth)를 유지합니다. ### 표준화된 기여 프로세스와 자동화 * **명확한 기여 가이드라인**: 성능, 접근성, 테스트, 명명 규칙 등 핵심 고려 사항을 포함한 가이드라인을 제공하여, 전사 엔지니어가 베스트 프랙티스를 유지하며 시스템을 발전시킬 수 있도록 돕습니다. * **CLI 툴링을 통한 보일러플레이트 제거**: `yarn component [name]`과 같은 명령어를 통해 유닛 테스트, 문서 예제 등 컴포넌트 생성에 필요한 기본 파일 구조를 자동으로 생성해 줍니다. 이를 통해 기여자는 단순 반복 작업 대신 설계와 성능 개선에 더 집중할 수 있습니다. 데이터독은 최근 비공개였던 DRUIDS 문서 사이트를 외부에 공개하며 자사의 UX 패턴을 공유하기 시작했습니다. 대규모 엔터프라이즈 환경에서 디자인 시스템의 성공은 단순히 아름다운 컴포넌트를 만드는 것이 아니라, 개발자와 디자이너가 시스템을 신뢰하고 손쉽게 사용할 수 있는 도구와 문화를 구축하는 데 있음을 잘 보여줍니다.