Background처리해야 할 데이터가 많은 경우에는 멀티 코어 프로세서의 환경을 적극 활용하여, 최대한 가용한 리소스를 극한까지 사용해야 할 필요가 있다. 미디어 처리를 최대한 빠르게 처리하여 사용자에게 seemless 한 사용자 경험을 제공하는 것이다. 이를 위해서 여러 가지의 방법이 동원되게 된다. 그리고 소프트웨어 구조에 대해서 얘기하자면, 소프트웨어 구조는 확장성이 가능하도록 구현되어야 한다. 기본적으로 응집도를 높이고 결합도를 낮추라는 말을 많이 들었을 것이다. 예전부터 나는 이에 대해 어마무시하게 집중을 했다. 그리고 실제로 많이 중요하다. 실제로 회사에서 소속되어 개발을 하다 보면, 이를 무시하고 거대한 코드 뭉치를 만들어서 손도 못 대도록 구현할 때가 있다. 그리고 본인이 만든 코드 뭉치..