CSSConf

첫째날

  1. UI 테스트: 버그 보이지 않음

  2. CSS 애니메이션: CSS로 비단결 같이 부드러운 애니메이션 만들기

  3. Sass Map: Sass Map Magic & SVG: 실생활에서의 SVG

  4. CSS 단위: 픽셀 사용을 그만두자

  5. 이미지 최적화: 증오스런 용량

  6. CSS 그리드: 마침내 등장한 진정한 레이아웃
    CSS 플렉스박스: 이제는 그리드 시스템을 파야할 때

  7. SVG: 위대한 SVG 레트콘(Retcon)

버그 보이지 않음

  1. 누가?

  2. 언제부터?
    • 2013-2014년
  3. 어디서?
    • Code.org 사이트 내의 웹 애플리케이션을 개발하면서
  4. 무엇을?
    • UI 회귀 테스트를 자동화하여 진행

5. 왜? 예상치 못한 버그가 발생하는 것을 방지하기 위해 

벌레 한 마리 잡았다고 좋아했는데,
뭔가 쪽수가 늘어난 것 같은 이 상황은 기분 탓일까?

🙄

Regression Testing

 

  • 회귀(回歸, Regression)?
    • 한 바퀴 돌아 제자리로 돌아오거나 돌아감.
    • 통계학 용어.
  • 소프트웨어에서의 회귀란?
    • 이전 버전에서는 보이지 않던 버그가 코드 수정 후에 튀어나오는 것
    • '회귀' 보다는 '퇴행, 퇴보'의 뜻으로 봐야 한다.
  • 회귀 테스팅
    • 이전 버전에서 실시한 테스트 케이스들을 새로운 버전 배포 전에 다시 돌려봄으로써,
      ​예상치 못한 버그의 등장을 막을 수 있다.
    • 핵심 = 잘 짜여진 테스트 케이스 + 테스트 과정의 자동화

6. 어떻게?

  1. 셀레늄 웹 드라이버 & 큐컴버
    • 테스트 코드 작성
  2. Sauce Lab
    • 셀레늄 클라우드에 작성한 코드를 올려 놓고 테스팅

    • 테스트 시간을 줄이기 위해 병렬 테스팅 기능을 사용

    • 테스팅 결과는 코드 저장소 댓글로 공유

  3. "버그 콜렉션"
    • 마음에 드는 버그는 "버그 콜렉션"을 만들어서 위키 페이지에 공유

  4. CircleCI
    • 매번 커밋할 때마다 자동으로 테스팅이 이루어지도록

  5. 오늘의 개발자
    • 테스팅 실패의 원인이 되는 코드를 커밋하신 분이 "오늘의 개발자"
    • 축하합니다. 얼른 해결하세요! 🤗

작게 시작
모두가 참여
속도를 높이자

참고 자료

CSS로 비단결같이 부드러운 애니메이션 만들기

Silky Smooth Animation

 

  • 왜 애니메이션의 성능이 중요한가?
    • 구리고 버벅대는 UI 애니메이션(Janky Animation)를 원하는 사람은 없다.
    • 구린 애니메이션은 차라리 없는 것이 심신에 이롭다.
  • 그렇다면 부드러운 애니메이션의 기준은 무엇인가?
    • 60 FPS = 16.7ms/frame
  • 우리가 해야 할 일은 무엇인가?
    1. 브라우저의 렌더링 과정을 이해한다.
    2. 불필요한 과정을 최대한 생략해주는 CSS 속성을 써서 60FPS에 가까워지도록 한다.
      (= 브라우저의 할 일을 최대한 덜어주자!)

1. 브라우저 HTML 렌더링 과정

 

😧

1. 브라우저 HTML 렌더링 과정

 

😙

로딩

렌더링

페인팅

디스플레잉

1. 브라우저 HTML 렌더링 과정

로딩

렌더링

페인팅

디스플레잉

CSS 애니메이션 속성의 영향을 받는 과정

종류 렌더링 페인팅 특징 CSS 속성 예시
Reflows O O(때에 따라) 레이아웃을 다시 그려야 함.
때에 따라 리페인팅도 일으킴
width, height, margin, padding, top, bottom, left, right, font-size ...
Repaints X O 픽셀을 다시 그려야 함 color,
background-color, box-shadow, background-position,
border-radius ...
GPU accelerated X X 렌더링과 페인팅을 다시
거치지 않아도 되므로
효율적! 😍
transform,
filter (단, blur & drop-shadow 제외), opacity

참고 자료

Sass Map

Sass Map Magic

CSS 단위

픽셀 사용을 그만두자

이미지 최적화

증오스런 용량

CSS 그리드
& 플렉스박스

그리드: 마침내 등장한 진정한 레이아웃

플렉스박스: 이제는 그리드 시스템을 버려야 할 때

SVG

위대한 SVG 레트콘

To be continued...🤓

Title Text

Subtitle

Copy of CSSConf

By Young B

Copy of CSSConf

  • 292