컴퓨터 과학
[CS] 베지에 곡선 원리 이해하기 feat. 카스텔조 알고리즘
[CS] 베지에 곡선 원리 이해하기 feat. 카스텔조 알고리즘
2025.06.23CSS에서 애니메이션이나 전환 효과를 제어할 때 타이밍 함수(가속도 곡선)를 사용한다. 타이밍 함수는 애니메이션이 얼마나 빠르게 또는 느리게 시작하고 끝나는지를 결정하는 수학적인 함수다. 쉽게 말해 애니메이션의 속도 변화를 제어하는 역할을 한다. Tailwind CSS를 사용한다면 ease-in, ease-out, ease-in-out 등 미리 정의되어 있는 유틸리티 클래스를 사용해서 다양한 가속도 곡선을 적용할 수 있다.Button A 예를 들어 ease는 부드럽게 시작해서 부드럽게 끝나고(일반적인 가속도 곡선), ease-in은 느리게 시작해서 빠르게 끝나는 효과를 줄 때 사용한다. 사실 ease, ease-in, ease-out, ease-in-out 등은 CSS에서 기본적으로 제공하는 타이밍 함수..
[CS] 오버헤드 / 프로세스 / 스레드
[CS] 오버헤드 / 프로세스 / 스레드
2024.05.18오버헤드오버헤드는 특정 작업을 수행하기 위해 간접 혹은 추가적으로 필요한 작업이나 비용을 의미한다. 여기서 비용은 컴퓨터의 처리 시간, 메모리 등을 말한다. 예를 들어 처리시간 10초가 필요한 A 기능에 안전성을 위한 부가기능 B를 추가한 결과 총 15초가 소요됐다면, 오버헤드는 5초가 된다. 오버헤드는 현실 세계에서 마트에 장보러 가는 것에 비유하면 더 쉽게 이해할 수 있다. 10만 원어치 물건을 구매하기(메인 작업 A) 위해 마트까지 가는 일(부가 작업 B)은 장보기에서 큰 부분을 차지하지 않는다. 하지만 껌 하나만 사기 위해(작업 A) 마트까지 간다면, 마트까지 이동하는 일(부가 작업 B)은 장보기에서 상대적으로 큰 부분을 차지한다. 이때 껌을 사기 위해 마트까지 가는 건 오버헤드가 너무 크다고 말..