RequestAnimationFrame(RAF)는 "다음 repaint"가 일어날 때 해당 콜백이 호출되도록 설정하고 setInterval은 repaint와 무관하게 설정한 시간마다 호출한다.
브라우저에 여러 탭을 띄워놓았다고 가정하면, RequestAnimationFrame는 해당 탭이 활성화되어 있을 때만 호출되고 setInterval은 그와 상관없이 계속 백그라운드에서 실행된다. 그러므로 setInterval은 CPU와 전력을 소모한다.
for-in은 프로토타입 체인에 있는 "모든 프로퍼티"를 순회하므로 느리다.
Today Review
일단 오늘부로 commit을 위한 commit을 하지 않기로 했다.. 1일 1커밋을 하자! 생각은 했는데 이전까지는 알고리즘을 풀고 main에 커밋했기에 적어도 하나의 커밋이 남긴했다.
하지만 최근에 프로그래머스 레벨2까지 다 푼 후로는 알고리즘 문제를 풀고 있지 않고, fork받은 저장소에 푸시한 내용은 커밋에 기록되지 않는다. 머지되거나 upstream에 PR해야 남는듯.. 근데 잔디밭이 비는게 뭔가 싫어서 억지로 아무 의미 없는 커밋을 날리곤했는데, 말 그래도 너무 의미없는 행동같다.
이제는 그냥 의미있는 활동을 하고, 그게 잔디밭에 기록되지 않더라도 상관없다.. 이런 거에 신경쓰지 말자!