NEW 기획 디자인 개발 프로덕트 아웃소싱 프리랜싱

디자인

웹 디자이너가 PX대신 REM을 사용해야 하는 이유

본문은 요즘IT와 번역가 윌리(Willy)가 함께 만든 해외 번역 콘텐츠입니다. 필자인 Christine Vallaure는 UX/UI 디자이너로 온라인 학습 플랫폼 www.moonlearning.io의 설립해 에디터 활동을 활발하게 하고 있습니다.

 

이 글은 스케치와 피그마에서 익숙하게 사용하던 'PX' 대신 새로운 단위인 'REM'이 왜 요즘 디자이너들에게 좋은지 상세하게 설명하고 있습니다. Christine Vallaure가 왜 디자이너들에게 REM을 사용하라고 권유하는지 그 이유에 대해 살펴보겠습니다.

 
PX 대신 REM

 

스케치(Sketch)와 피그마(Figma)[1]에서 큰 고민 없이 픽셀(Pixel, 줄여서 px)을 사용하고 있나요? 저 역시 한때 그랬습니다. 제가 팀에 처음 합류했을 때 모두가 당연한 듯 픽셀을 사용하고 있었습니다. 문제가 있었다면 진작에 바꿨을 텐데 계속 사용하는 이유가 있지 않을까요? 게다가 아직도 우리 곁에는 픽셀 단위까지 자로 잰 듯한 디자인을 뽑아내는 완벽주의자들이 있습니다.

 

과연 이들이 맞는 걸까요? 지금부터 한 번 알아보도록 하겠습니다.

 

 

픽셀을 사용하면 어떤 문제가 있을까?

픽셀은 절댓값을 사용하는 단위입니다. 즉, 1px는 고정된 물리적 크기에 해당합니다(화면 해상도에 따라 다를 수 있음). 무언가를 고정된 크기로 보여준다는 것은 디자이너의 꿈입니다. 피그마에서 작업한 크기의 1배수 그대로 사용하는 것이죠. 다시 말해 모든 것을 원하는 위치에 완벽하게 고정하는 것입니다! 그러나 px를 사용하면 사용자의 글꼴 크기 설정을 무시해 버리는 것과 같이 심각한 접근성 문제가 발생할 수 있습니다.

 

글꼴 크기 설정이 무엇일까?

모든 브라우저에는 루트 글꼴 크기(root font size) 설정이 있습니다. 스타일을 지정하지 않은 텍스트는 일반적으로 16px 크기로 표시됩니다. 사용자는 브라우저 설정에서 루트 글꼴 크기를 변경할 수 있습니다. 직접 변경해 보세요. 크롬 → 더보기 메뉴 (오른쪽 상단에 작은 점 3개) > 설정 > 모양 > ‘글꼴 크기 변경’ 또는 ‘글꼴 맞춤설정’에서 원하는 크기를 지정할 수 있습니다. 특히 시각 장애가 있는 사용자는 이러한 설정이 매우 중요합니다.

 

글꼴 크기 설정
여러분의 브라우저에서 시도해 보세요!

 

사용자만이 이러한 글꼴 설정을 변경할 수 있는 것은 아닙니다. 개발자는 html 태그와 CSS를 사용하여 루트 글꼴 크기를 변경할 수도 있습니다.

사용자는 루트 글꼴 크기를 변경하는 대신 브라우저의 확대/축소 설정을 바꿀 수도 있습니다. 이렇게 하면 픽셀 문제가 발생하지 않으며 설정값에 따라 화면의 모든 것이 조정됩니다. 그러나 우리는 사용자가 브라우저에서 어떤 설정을 변경했는지 미리 알 수 없습니다. 여기에 rem을 사용하면 확대/축소뿐만 아니라 루트 글꼴 크기 변경에도 유연하게 반응합니다.

 

브라우저 확대 축소 설정

 

픽셀은 사용자 설정값을 덮어쓴다

예제를 통해 알아볼까요? 페이지의 모든 글꼴 크기를 px로 정의했습니다. 이해를 돕기 위해 H1의 크기가 48px이고, 카피라이트 텍스트가 있는 p의 크기가 16px이라고 가정해 보겠습니다. 누구나 쉽게 읽을 수 있는 충분한 크기라고 느껴집니다.

 

픽셀 사용자 설정값
px 단위는 사용자의 브라우저 글꼴 크기 설정을 무시한다.

 

하지만 px로 크기를 고정하는 순간 모든 브라우저 설정을 덮어씁니다. 설정한 루트 글꼴 크기를 완전히 무시해 버리는 것이죠. 사용자가 루트 크기를 16px에서 24px로 변경하더라도 화면에 표시되는 크기는 변하지 않습니다. 사용성에 크나큰 제약이 발생하고 있습니다.

 

 

REM을 사용하면 어떻게 될까?

rem은 루트 글꼴 크기에 비례하여 상대적으로 바뀌는 단위입니다(rem의 첫 글자인 r은 실제로 root를 의미함). 대부분 1rem = 16px이지만 루트 글꼴 크기를 24px로 변경할 경우(사용자 또는 개발자가 모두 변경할 수 있다는 것을 기억하세요) 1rem = 24px입니다.

 

1rem = 루트 글꼴 크기 설정값

 

rem 사용자 설정값
rem 단위 사용자의 브라우저 설정을 참조한다.

 

따라서 48px의 H1을 rem 단위로 치환하면, 48px/16px(가장 널리 사용되는 기본 루트 크기) = 3rem이라는 값이 나옵니다. 잘 와닿지 않는다면 %와 같은 개념이라고 생각하면 됩니다. 1rem은 100%이고 3rem은 300%와 같습니다.

 

REM을 px로 직접 변환할 수는 없지만, 루트 글꼴 크기를 기반으로 px 값을 계산할 수 있습니다.
핵심은 rem은 고정 값이 아니라는 것입니다.

 

이제 "px 대신 rem을 사용하면 무엇이 달라질까?"라는 질문으로 돌아가 보겠습니다. 이에 대한 대답은, 루트 글꼴 크기를 변경하지 않는 사용자에게는 (거의 대다수) 아무런 차이가 없으며 픽셀을 사용할 때와 동일하게 표현됩니다. 루트 글꼴 크기를 변경하는 소수의 사용자에게는 모든 텍스트가 비례하여 조정됩니다. 사실 화면의 모든 요소가 이러한 변화에 영향을 받으며, 이에 대해서는 뒤에서 자세히 다룰 예정입니다.

 

REM을 사용하는 가장 큰 장점은 디자이너가 화면의 계층 구조 내에서 다른 요소와 어우러지도록 
원하는 글꼴 크기를 지정하면서도 크기를 변경하고 싶은  사용자의 요구에 유연하게 반응할 수 있다는 것입니다.

 

 

그렇다면 EM은 어떨까?

rem과 em은 모두 루트 크기를 참조하지만 이를 해석하고 디자인에 적용하는 방식에 차이가 있습니다.

 

rem → 브라우저의 루트 글꼴 크기의 배수로 적용. 예: 루트 글꼴 크기가 16px일 경우 1rem = 16px

 

em → 텍스트를 포함하는 엘리먼트에 배수로 적용. 예: 컨테이너의 글꼴 크기가 2rem = 32px라면 컨테이너 내부에서 1em = 32px

 

사용자 브라우저 설정
em 단위를 사용하면 사용자의 브라우저 설정을 참조한다. 하지만 실제 화면 표시는 텍스트를 포함하는 엘리먼트와 연관된다.

 

다시 말해, 브라우저 설정을 참조하지만 항상 상위 엘리먼트를 참조합니다. 어떤 경우에는 이것이 루트일 수도 있고 위 예와 같이 글꼴 크기를 설정한 상위 컨테이너일 수도 있습니다. 네, 처음부터 이해하기 쉬운 개념은 아닙니다. 여러분이 직접 테스트해 볼 수 있도록 code pen을 만들어 두었습니다.

참고: 아마 em 값이 부모 엘리먼트에 따라 상대적으로 정해진다는 말을 많이 들어봤을 것입니다. em은 값은 부모로부터 상속받을 수 있지만, 원래 "그것을 사용하는 엘리먼트의 계산된 font-size 속성값과 같다."라고 정의하고 있습니다.

 

따라서 패딩(padding)과 마진(margin) 같은 항목을 매우 유연하게 조정할 수 있습니다. rem과 em은 모두 사용처에 따라 장단점이 있으며 숙련된 프론트엔드 개발자는 이 둘을 적절히 조합해서 사용할 수 있습니다. 그러나 피그마에서 디자인 작업을 할 경우, rem은 쉽게 계산할 수 있지만 em을 계산하는 것은 꽤 복잡합니다. 그래서 저는 개인적으로 모든 것에 rem을 사용할 것을 고수하고 있으며, 개발팀이 필요할 경우 이를 em과 같은 다른 단위로 변환해서 사용하라고 문서화해둡니다. 구체적인 방법에 대해서는 뒤에서 더 자세히 알아보겠습니다.

 

정리하자면 아래와 같습니다

px rem

 

하지만 피그마에는 REM이란 단위가 없다?!

 

웹 개발자들이 들으면 놀라겠지만, 스케치나 피그마와 같이 가장 진보한 UI 소프트웨어에서조차도 
현재 rem/em 단위로 지원하지 않습니다.

 

따라서 법적으로 접근성을 요구하는 오늘날에도 UX/UI 디자이너는 px를 사용해야 합니다. 네, 이상한 일이 아닐 수 없습니다. 특히나 피그마가 모든 부분에서 얼마나 훌륭한 기능을 갖추고 있는지를 생각하면 믿기 힘든 일입니다. 피그마가 이를 곧 지원해 줄 것이라고 믿습니다. 최고의 디자이너는 코딩 스킬 또한 갖추어야 한다고 말하지만, 이를 다루는 글들이 넘쳐나기 때문에 굳이 여기서 언급하지는 않겠습니다. 여기에서는 피그마에서 상대적인 단위를 사용할 수 있는 방법이 무엇인지 알아보겠습니다.

 

 

해결책 1: 디자인에는 PX에 사용하고 개발 과정에서 상대 단위로 변환한다. 그리고 팀 전체가 이를 반드시 숙지해야 한다!!!

이는 팀원들이 명확한 역할과 책임을 지고 있으며 서로가 긴밀하게 협업할 때 효과적입니다. 개발자는 ‘피그마 때문에 발생하는 px 문제’가 있다는 것을 숙지하고 모든 픽셀을 CSS에서 사용할 상대 단위로 변환해야 합니다.

피그마 px 변환
피그마의 px를 CSS의 rem/em(또는 기타 상대 단위)으로 변환한다.

 

이것은 사실 그리 나쁜 해결책이 아닙니다. 좋은 개발팀이라면 단순히 상대 단위를 사용할 때보다 최신 기술과 접근성 요구사항에 대해 더 많은 정보를 빠르게 습득할 수 있습니다. 일일이 변환하지 않아도 이를 자동으로 변환해 주는 도구가 있으므로 px 값으로 디자인하는 것이 큰 문제가 되지 않을 수 있습니다.

 

전통적인 62.6% 트릭

CSS에서 루트 글꼴 크기는 62.5%로 설정됩니다. 원하는 rem 값을 얻기 위해 루트 크기를 10px로 지정하는 것과 같은 효과를 얻을 수 있습니다. 루트 글꼴 크기를 실제로 변경하는 것은 아니며 동일한 효과를 얻기 위해 아래와 같이 마크업 내에서 상대적인 값을 변경하는 것입니다.

 

html {       font-size: 62.5%; /* 62.5% of the base size of 16px = 10px.*/}body {       font-size: 1.6rem; /* reset 10*1.6 = 16px, to make sure you do not get any 10px around */}.someClass {       font-size: 2.4rem; /* 10*2.4 = 24px */}

 

Sass Mixin

피그마는 px를 rem으로 쉽게 변환할 수 있도록 Sass Mixin을 사용할 것을 권장하고 있습니다. 내용을 조금만 살펴보면 여기에서도 마법의 62.6%를 찾을 수 있습니다.

Sass Mixin
출처: sass-rem mixin

 

 

해결책 2: 핸드오프 도구 사용하기 (예: 제플린)

피그마의 장점은 핸드오프[2]를 위해 별도의 도구가 사용하지 않아도 된다는 것입니다. 제플린(Zeplin)과 같은 핸드오프 플러그인을 사용하면 픽셀을 아주 쉽게 rem으로 변환할 수 있습니다. Spacing 블록을 rem 단위로 자동 변환해서 보여주는 별도의 스타일시트가 있으므로 사용이 매우 편리합니다.

 

핸드오프 도구 사용
제플린에서 rem 사용하기. (출처: 제플린 기술 지원 웹사이트)

 

원본 피그마 파일에 사용되는 단위가 px라는 것은 여전히 단점입니다. 피그마의 인스팩트 모드(inspect mode)에서 rem 변환기를 바로 사용할 수 없다는 것은 매우 불편한 것이 사실이지만 피그마에 익숙해지면 이 또한 금세 적응하게 됩니다.

 

아보코드(Avocode), 애니마(Anima) 등과 같은 다른 핸드오프 도구도 사용할 수 있지만 저는 개인적으로 제플린을 좋아합니다.

 

 

해결책 3: 스타일시트에서 PX 및 REM 값 정의

제가 선호하는 방법으로 개발자가 자주 바뀌거나 프리랜서와 일해야 할 경우 스타일시트에 PX와rem 값을 직접 입력합니다. 제품의 사용성은 UX에 달려있으므로 모든 사용자에게 원하는 디자인을 올바르게 보여줄 책임은 저에게 있습니다.

 

예를 들어 저는 스타일시트에 ‘on color’를 사용하여 저를 포함한 모든 팀원이 색상 대비 접근성을 확인하도록 상기시키고 있습니다. 이를 통해 최종 결과물이 상대 단위로 표시되어야 함을 모든 팀원이 잊지 않고 확인할 수 있습니다.

 

타이포그래피 스타일시트

그래서 저는 디자인에서 개발로 넘어가는 중요한 문서인 타이포그래피 스타일시트에 px 값뿐만 아니라 rem 값을 추가로 입력하고 있습니다. 물론 파일을 직접 수정하는 디자이너는 px가 필요하므로 두 버전 모두 가지고 있어야 합니다.

 

타이포그래피 스타일시트
타이포그래피 스타일시트. (출처: moonlearing.io)

 

근본적인 문제는 피그마가 px 단위를 지원하지 않는다는 것입니다. 디자인에 사용되는 px와 화면 해상도인 px를 혼동하지 않도록 하기 위함이라고 추측하고 있습니다. (피그마에서는 1px=1pt입니다.)

 

line-height를 상대 단위로 변환하는 것을 잊지 마십시오! 이 경우 rem을 사용할 필요가 없으며 1.5와 같이 단위가 없는 숫자를 사용하면 됩니다. 주어진 font-size에서 line-height가 계산될 것입니다. 따라서 font-size가 16px이고 line-height가 1.5라면 16px*1.5=24px line-height가 됩니다.

 

피그마에서 계산하기

확실하지 않다면 속성 패널에서 직접 계산할 수도 있습니다. 주어진 font-size를 16px로 나누고 rem 값을 계산하여 스타일시트에 기록할 수 있습니다. 반대로 rem에서 px를 구하려면 16px를 곱합니다. Line-height를 계산할 때 저는 %를 사용하는데 훨씬 더 쉽다고 생각합니다. 예를 들어 스타일시트에서 150%를 1.5로 바꾸는 것입니다.

 

피그마 속성 패널
속성 패널을 계산기처럼 사용할 수 있습니다.

 

Hand››over 플러그인 사용

머리 아픈 계산을 여러분 대신 알아서 해 주는 Hand››over라는 훌륭한 플러그인도 있습니다. 피그마에서 요소를 선택하기만 하면 모든 것이 rem으로 표시됩니다. 피그마 커뮤니티에서 무료로 다운받을 수 있습니다.

 

hand over 플러그인
Hand>>over 플러그인은 px를 rem으로 자동 변환해 줍니다.

 

온라인 변환기 사용

nekoCalc와 같은 온라인 변환기를 쉽게 찾을 수 있습니다. 특정 비율을 사용하고 싶다면 다음 온라인 변환기를 사용해 보세요. 반응형 타이포그래피에 대해 좀 더 알아보려면 이곳을 참고하세요.

 

온라인 변환기
기본 크기인 16px을 rem으로 변환한 결과

 

간격 시스템과 구성 요소

저는 대부분의 디자인에 8pt 간격 시스템을 사용합니다. 이는 모든 것이 8의 배수임을 의미합니다. 이렇게 하면 1rem = 16px의 기본 루트 크기에서 훌륭하게 동작합니다. 글꼴 크기와 line-height도 8의 배수로 만들기 때문에(때로는 여기에서 4가 필요함) rem 값이 깔끔하게 나누어떨어집니다.

 

간격 시스템
8pt 간격 시스템에서 서로 다른 px, rem 크기의 블록 예시.

 

이렇게 간격 시스템을 정의하고 나면 컴포넌트에 적용하기만 하면 됩니다.

 

간격 시스템 적용
간격 시스템이 적용된 컴포넌트

 

저는 모두가 상대 단위를 사용할 것을 잊지 말자는 뜻으로 rem을 항상 추가해둡니다. 하지만 컴포넌트와 단위를 어떻게 설정할지 최종적으로 결정하는 것은 개발팀의 몫이라는 메모를 남겨둡니다. 때로는 em을 사용하는 것이 더 좋을 수도 있습니다.

 

간격을 지정할 때는 em이 rem보다 훨씬 더 나을 수 있습니다.

 

피그마에서 em을 계산하고 테스트하는 것은 악몽 그 자체이므로, 실제 컴포넌트에 적용하는 것은 전문가에게 맡기는 것이 가장 좋습니다. 더 좋은 방법이 있다면 여러분의 의견을 듣고 싶습니다!

간격 블록의 이름을 지정하는 팁

여기에는 다양한 접근 방식이 있으며, 일부 디자인 시스템[3]은 간격에 대한 이름을 미리 정의하고 있습니다.

 

이상적인 명명 규칙은 이름만 들어도 이해하기 쉽고 기억하기 쉬우며 확장성이 좋아야 합니다.

 

저는 간격 시스템을 만들 때 S, L, M 세 그룹을 사용합니다. 여기서 S는 컴포넌트 내부에 작은 요소들을, M은 그룹 간 거리를, L은 섹션을 나누는 용도로 주로 사용하게 됩니다. 이러한 그룹 내에서 필요한 만큼 크기(항상 8의 배수)를 추가합니다(예: S-200 = 16px = 1rem). 나중에 크기를 추가하거나 삭제할 수 있으므로 1, 2, 3과 같은 작은 단위는 사용하지 않습니다. 10, 20, 30은 px와 혼동되므로 사용하지 않습니다. 대신 색상 변형에 사용하는 것과 마찬가지로 100으로 나눈 단계를 사용하여 유연성을 높입니다. 하지만 이는 절대적인 것은 아니며, 시간이 지남에 따라 제가 가장 편리하다고 내린 결론입니다.

1px 외곽선 때문에 고민하지 마세요!

있으나 없으나 크게 상관없습니다. 원하는 곳에 1px 윤곽선을 지정해도 아무 문제 없으며, 정말로 중요한 것은 콘텐츠를 확장 가능하고 소비 가능하게 만드는 것입니다.

 

 

브레이크 포인트는 어떻게 지정할까?

여러분이 UX/UI 디자이너라면 직접 그리드 시스템을 결정하는 일은 거의 없을 것입니다. 따라서 여러분에게 제공되는 브레이크 포인트[4] 모음 중 몇 가지를 선택해 디자인에 적용하게 될 것입니다.

 

브레이크 포인트
브레이크 포인트가 있는 타이포그래피 스타일시트. (출처: moonlearing.io)

 

예를 들어 부트스트랩(Bootstrap)은 rem과 em을 대부분 사용하지만 브레이크 포인트에는 px를 사용합니다. 그 이유는 화면 크기는 픽셀 단위이고 글꼴 크기에 따라 변경되지 않기 때문입니다. 저브 파운데이션(Zurb foundation)[5] 같은 프레임워크는 em을 사용합니다(여기서는 em이 rem보다 나은 것 같습니다). 브레이크 포인트에 대해서도 많은 고민과 다양한 시도를 해 봤지만 결국 다른 스타일시트에서와 마찬가지로 px와 em(rem이 아님)을 같이 명시하기로 했습니다.

 

브레이크 포인트와 단위는 상당히 까다로운 문제입니다. 적어도 디자이너인 저에게는 그렇습니다. 다양한 브라우저가 있고 서로 다른 접근 방식이 논의되고 있으므로 고려해야 할 사항이 한두 가지가 아닙니다.

 

 

루트 글꼴 크기를 변경하는 극소수의 사람을 위해 이렇게 많은 노력을 해야 할까요?

여러분 말이 맞을지도 모릅니다. 하지만 UX/UI 디자이너라면 상대적인 단위에 대해 여전히 고민해야 합니다. 장애인 주차구역에 자리가 비어있다고 아무나 주차하지 않는 이유와 같습니다. 좀 더 설득력 있는 이유가 필요하다고요? 웹사이트의 접근성은 법적으로 요구되는 사항으로, 사용자가 텍스트 크기에 대한 지원 도 그중 일부입니다. WCAG 1.4.4에 다음과 같이 명시되어 있습니다.

 

"텍스트는 콘텐츠나 기능의 손상 없이, 그리고 보조공학 없이 최대 200%까지 크기 조정이 가능해야 한다... 
(중략) 텍스트 크기가 조정될 때 텍스트 컨테이너의 크기도 따라서 조정되고 상대적인 단위를 사용한다(레벨 AA)."

 

누군가는 여전히 브라우저의 줌 기능이면 충분하다고 주장할 수 있습니다. 원한다면 줌을 통해 px와 rem 모두 비슷한 방식으로 최대 200%까지 확대할 수 있습니다. 하지만 저는 픽셀 기반의 디자인을 선호하지 않으며 줌과 루트 글꼴 크기 모두를 훌륭하게 지원하는 상대적인 단위의 장점이 더욱 커 보입니다. 특히 브라우저 설정에서 이 둘은 서로 붙어 있으므로 동등하게 지원하는 것이 맞을 것입니다. 이제 선택은 여러분의 몫입니다!


[1] 클라우드 기반의 UI 프로토타이핑 및 협업 도구.
[2] 디자이너가 개발자에게 디자인 파일을 넘길 때 제공하는 이미지의 크기, 위치, 색, 폰트 등 다양한 정보를 정리하는 과정을 일부 자동화해주는 기능.
[3] 웹이나 서비스 디자인에 적용하는 디자인 스타일의 규칙이나 가이드라인을 의미한다.
[4] 반응형 웹에서 레이아웃이 변화하는 화면 해상도의 지점.
[5] 저브(ZURB)사에서 만든 오픈소스 반응형 프론트엔드 프레임워크.

 

<원문 링크>

Why designers should move from px to rem

 

위 번역글의 저작권은 Christine Vallaure에게 있으며, 요즘IT는 해당 글로 수익을 창출하지 않습니다.

댓글 0

요즘IT의 번역글들

이 프로필을 만든 저만 해도 영어가 서툴러 영어로 된 기사는 읽는 게 더딥니다. 그래서 준비했습니다. 읽어볼만한 해외 소식들을 번역해 전합니다. We are the world.

애자일은 정말 디자인을 배제하나요?

디자인

평판 관리가 프리랜서 경력에 미치는 영향

프리랜싱

리액트 네이티브 개발자들이 겪는 가장 빈번한 5가지 문제와 해결책

개발

“솔직히 우리가 하는 것은 스크럼이 아닙니다!”

기획

데이터 시각화가 인류를 위기에서 구한 세 가지 역사적 사건

디자인

NFT의 장밋빛 미래는 사실일까?

기획

피그마 토큰으로 디자인 시스템 만들기

디자인

디자이너+개발자 = 슈퍼팀 만들기

기획

1인 개발자로서 테크 스타트업을 운영하며

기획

100개의 스타트업을 멘토링하며 깨달은 성공의 비밀

기획

중화권 앱 UI가 영미권 앱 UI와 다른 점 알아보기

프로덕트

내가 테크 리더로 일하면서 얻은 8가지 교훈

기획

모두가 즐길 수 있는 디자인 검토 회의 만들기

디자인

프로덕트 매니저에서 프로덕트 마스터로

기획

10배 이상 뛰어난 개발자가 되는 법

개발

제품 디자인 관점에서 바라보는 NFT 아바타 열풍

디자인

에어비앤비: 대규모 iOS 앱 개발 생산성을 위해 바꾼 것들

개발

스포티파이: 맞춤형 플레이리스트 개발 비하인드 스토리

개발

프리랜서가 일하게 될 15가지 유형의 프로젝트

프리랜싱

슬랙: 제품 원칙을 통해 다시 태어난 알림 기능

프로덕트

페이팔: 실시간 그래프 데이터베이스 분석을 통해 사기를 방지하는 방법

개발

트위터: 수십억 개의 이벤트를 실시간 처리하기

개발

슬랙: 4가지 애자일 가치와 방법

기획

스퀘어: 모바일 우선을 넘어 웹에서 누리는 모바일앱 경험

디자인

스포티파이: 카피를 언어로 만드는 UX 라이팅

기획

마이크로소프트: 디자인의 미래를 위한 4가지 원칙

디자인

메타: AR/VR 경험까지 고려한 디자인 청사진

프로덕트

슬랙: 훌륭한 마케팅 카피를 위한 5가지 원칙

기획

2022년 UX/UI 디자인 트렌드

디자인

구글: 가변 폰트의 놀라운 활용법

디자인

에어비앤비: 위기 상황에서의 디자인 원칙 5가지

디자인

어떻게 두 명의 인턴이 수백만 개의 코드들을 보호할 수 있었나

개발

Lattice로 마이크로 프론트엔드를 구축하는 법

개발

Cool Cats NFT를 구축하면서 배운 것

개발

웹 컴포넌트가 프론트엔드 프레임워크를 대신할까?

개발

당신이 NFT에 대해 알아야 할 모든 것

개발

우리에겐 이상하지만 개발자들에겐 일상인 일들

개발

Next.js 12에서 주목해야 할 5가지 변화

개발

스벨트 vs 리액트, 누가 더 뛰어날까?

개발

개발자를 위한 iOS 15의 새로운 기능

개발

내가 오픈소스를 싫어하는 이유

개발

프로덕트 매니지먼트 고객 여정 5단계

기획

클럽하우스의 인기는 모두 거품이었다?

프로덕트

데이터 기반 의사결정의 장점

기획

시각 디자인의 폐쇄성 법칙이란?

디자인

사용자 경험(UX) vs 서비스 디자인

기획

프로덕트 매니저는 하루 종일 무슨 일을 할까?

기획

제품 주도 성장은 어떻게 이루어지는가?

기획

UX를 망치지 않는 설득력 있는 배너 디자인

디자인

팝업(Pop-up)으로 불리는 것들에 대하여

디자인

드롭다운(Drop-down)으로 불리는 것들에 대하여

디자인

당신의 생각을 표현하는 새로운 이모지

디자인

가장 똑똑한 소프트웨어 엔지니어에게 배운 10가지 교훈

개발

성공적인 UX 프로젝트를 위한 가장 중요한 질문

디자인

2021년, UI 디자이너가 모바일 앱에서 흔히 저지르는 실수

디자인

IT 매니저가 되는 방법과 성공하기 위한 요소

기획

슬랙(Slack) 같은 앱을 만들려면 비용이 얼마나 들까?

개발

아웃소싱이 이토록 인기를 얻게 된 이유는?

아웃소싱

마케터가 UX 관련 역량을 키워야 하는 이유

기획

미니멀리즘 디자인의 핵심적인 요소들

디자인

새로운 소프트웨어 개발사가 필요하다는 7가지 신호

아웃소싱

2021년을 이끌어가는 프론트엔드 개발 트렌드 5가지

개발

PM을 성장시키는 학습 프레임워크

기획

UI 카피라이팅, 어떻게 써야 하나요?

기획

트렌드 예측: 경쟁에서 앞서는 방법

기획

제품 사고(product thinking)의 힘

기획

인하우스 vs 아웃소싱, 소프트웨어 개발 어떻게 하나요?

개발

그림을 못 그리는 사람도 쉽게 와이어프레임 그리는 방법

기획

스타트업 기업들에게 아웃소싱이 중요한 이유

아웃소싱

제품과 기능, 성공적으로 종료하는 방법 (下)

기획

제품과 기능, 성공적으로 종료하는 방법 (中)

기획

제품과 기능, 성공적으로 종료하는 방법 (上)

기획

UX 디자이너에게 반드시 필요한 12가지 스킬

디자인

패스워드 없는 세상이 오고 있다

개발

디자이너를 쉽게 잃는 방법 10가지

디자인

프론트엔드 코딩 작업에 영감을 줄 8가지 아이디어

개발

구글이 아웃소싱을 하는 이유: 아웃소싱 성공사례 5가지

아웃소싱

일 잘하는 PM이 되기 위한 로드맵 도구 5가지

기획

이제는 말할 수 있다! 아웃소싱에 대한 오해 11가지

아웃소싱

디자인 트렌드, 모던 미니멀 스타일의 UI 가이드

디자인

MVP 개발을 아웃소싱으로 해도 될까요?

개발

온보딩 효과를 높이는 '좋은' 귀차니즘 3가지

기획

게임처럼 즐겨라, 게임화 기법 TOP3

기획

시니어 소프트웨어 엔지니어는 어떻게 일할까?

개발

프로덕트 매니저가 글을 잘 써야 하는 이유

기획

2030년엔 사라질 수도 있는 프로그래밍 언어 5가지

개발

고객들이 언제나 옳은 것은 아니다

기획

유저 스토리는 무엇인가?

기획

고객 성공을 위한 14계명

기획

8px 그리드의 시대가 끝나고, 4px 그리드의 시대가 열릴까?

디자인

모바일 앱은 더 이상 스타트업에게 좋은 아이디어가 아니다

기획

과연 구글의 UX 강좌는 도움이 될까요?

디자인

프로덕트 매니저 여러분, ‘소비자의 요구사항 수집’을 그만두십시오

기획

고객 여정과 경험 지도의 차이점

기획

내가 AI 업계를 떠난 이유 5가지

기획

모달윈도우(팝업)를 디자인할 때 생각할 9가지 원칙

디자인

대기업 vs 중소기업, B2B SaaS 스타트업을 위한 시장은?

기획

내가 개발 인터뷰에서 면접자에게 감동한 이유

개발

HTTP의 새로운 메서드, 서치(SEARCH)에 대하여

개발

세상의 모든 프로덕트 디자이너를 위한 5가지 심리학 원칙

디자인

2021년 테스트 자동화 트렌드 리포트 (下)

개발

2021년 테스트 자동화 트렌드 리포트 (上)

개발

아마존과 스포티파이는 어떻게 사용자를 유지하고 측정할까?

기획

UX 디자이너라면 필수적으로 알아야 할 5가지 법칙

디자인

앵귤러 vs 리액트, 2021년의 승자는?

개발

2021년, SaaS 스타트업 시작을 위한 놀라운 아이디어 10가지

기획

디지털 제품 관리에서 B2B와 B2C 사이의 차이점은?

기획

빠르게 실행할 수 있는 ‘제품 요구사항 문서(PRD)’ 만들기

기획

더 나은 제품을 위한 프로덕트 메트릭스 가이드

기획

노 코드(No Code) 트렌드로 프로그래머들은 일자리를 빼앗길까?

개발

넷플릭스의 플랫폼: 코스모스(Cosmos)에 대하여

프로덕트

비즈니스와 애자일 조직은 어떻게 친해질 수 있을까요?

기획

효과적인 제품 전략 세우기: 다수의 전략적 트랙(MuST) 활용

기획

1년 만에 이메일 마케팅 효과를 극대화했던 방법

기획

솔루션 아키텍트를 위한 팁: 아키텍처 다이어그램의 5가지 유형

개발

새로운 맥 OS ‘빅서’에 대한 UX 디자이너의 생각

디자인

디자인 트렌드, 뉴모피즘의 정석

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 3편

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 2편

디자인

2021년 모바일 UX 트렌드 10가지

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 1편

디자인

앱 설정 기능의 UX를 개선하는 효과적인 방법

디자인

다크모드 UI 디자인의 원칙

디자인

온라인 고객 경험을 개선하기 위한 5가지 방법

기획

신생 스타트업에서 일하는 프로덕트 매니저를 위한 현실적인 조언

기획

웹 개발자와 소프트웨어 개발자의 차이는 무엇인가요?

개발

랜딩 페이지 디자인을 개선하는 13가지 꿀팁

디자인

오프라인 비즈니스가 온라인에서 존재감을 가져야 하는 이유 5가지

기획

상향식 가격 책정 및 패키징 정책: 사용자 여정을 가이드로 활용하기

기획

B2B 제품의 UX, 그것은 숨겨진 영역인가요?

기획

상단 내비게이션 vs 사이드 내비게이션, 어느 것이 더 나을까?

디자인

자동완성 검색 기능 UX 설계를 위한 8가지 팁

디자인

프로덕트 매니저는 전문적인 IT 기술을 갖춰야 하나요?

기획

실리콘밸리 51개 기업들이 말하는 프로덕트 매니저의 역할 9가지

기획

아웃소싱에 대한 모든 것

아웃소싱

앱 디자인 가이드, 사람들이 즐겁게 사용할 수 있는 앱을 만드는 법

디자인

처음부터 완제품이 아니라 ‘MVP’를 만들어야 한다

기획

플러터 vs 리액트 네이티브 vs 네이티브, 성능이 더 우수한 것은?

개발

스타트업 프로덕트 매니저로 성장하는 법, 30-60-90일 플랜

기획

당신의 두뇌는 진보하고 있다: 성취감을 위한 3가지 전략

기획

디자이너들을 편하게 해주는 HTML/CSS 마법 10가지

디자인

코딩의 미래는 ‘노 코드(No Code)’이다

개발

내가 엔지니어링 매니저로 일하면서 저지른 실수들

개발

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (下)

기획

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (上)

기획

프로그레시브 웹 앱(PWA)이란 무엇이며, 왜 필요한가?

개발

PWA vs 네이티브 앱, 어떤 것을 선택해야 할까?

개발

UI 디자인에 여백을 활용하는 8가지 팁

디자인

마이크로소프트와 링크드인의 새로운 시도, 프리랜서 마켓에 도전장을 던지다

기획

토마스넷은 왜 가입자 수를 폭발적으로 늘려준 테스트 결과를 거부했을까?

기획

잘 팔리는 기업용 소프트웨어 디자인하기

디자인

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 하편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 중편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 상편

개발

업워크(Upwork)가 조사한 요즘 가장 인기 좋은 개발 기술 15가지

개발

일자리 산업이 휴먼 클라우드(human cloud)에 적응하는 방법

기획

팬데믹 이후 세계에서의 디지털 가속화는 어떤 모습일까?

기획

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.