• 클래스업 데이터베이스 구조.(Database Structure of ClassUp).

    개발을 하던 도중, 클래스업(ClassUp)의 구조와 사용된 여러 알고리즘을 자주 잊어버려서 적어 놓아야 겠다는 생각을 했다. 그래서 블로그에다 작성을 조금씩 해보려고 한다. 클래스업(ClassUp)의 구조 클래스업(ClassUp)은 기본적으로 시간표(Schedule, Timetable), 수업(Class)로 구성된다. 시간표는 수업을 담고있는 하나의 구조화된 표이고 수업은 해당 시간표에 속하는 각각의 내용이다. 즉, 우리가 일반적으로 생각하는 시간표의 형식이라고 생각하면 된다. 기본적으로...


  • iOS의 gallery에서 가져온 image 경로 알아보기.(Gallery image path in iOS).

    클래스업(ClassUp)에서 시간표의 배경화면에 움직이는 이미지, 즉 GIF 이미지도 넣을 수 있도록 수정하기로 했다. 수정을 하던 중, 몇가지 문제가 생겼는데 UIImagePickerController에서 가져온 이미지는 그냥 UIImage 형식으로 움직이는 GIF 이미지도 그냥 일반 정지된 이미지로 가져오는 것이다. 또한, FLAnimatedImage 라이브러리를 사용하기에 NSData형태의 데이터가 필요했다. 그래서 생각한 방법은 가져온 이미지의 경로를 이용하는 것이다. 경로로...


  • iOS drawRect에 대한 이야기.(drawRect in iOS).

    클래스업(ClassUp)을 최근에 달력처럼 무한 스크롤 방식을 도입하면서 한가지 생긴 문제점은 수업이 많으면 많을 수록 느려졌다. 그래서 생각한 방법 중에 하나는 drawRect를 이용하여 직접 그리는 것이었다. 직접 UIView의 SubClass들을 이용해서 addSubView:를 이용하는 것보다 빠르기 때문이다. 여기서 만난 문제는 먼저 CALayer와 drawRect:였다. 각 수업의 gradient 효과를 위해서 CALayer의 SubClass인 CAGradientLayer를 사용하였는데 drawRect:로...


  • AsyncTask에 대한 고찰(Thinking of AsyncTask).

    클래스업(ClassUp)에서 HttpUrlConnection을 사용할 때는 보통 AsyncTask나 Thread 중에서 그 때 그 때 내키는 것을 이용해서 구현하였다. 나는 AsyncTask를 사용할 때면 여러 AsyncTask 객체가 있을 경우 그리고 그 객체들이 같은 것을 수행할 경우, 그리고 무엇인가에 의해 수행이 멈춰있는 경우 등의 여러가지 상황을 생각하게 된다. 그래서 이를 관리하기 위한 Class 따로 생성하여...


  • HttpUrlConnection의 timeout(Timeout in HttpUrlConnection).

    클래스업(ClassUp)에서 핵심은 동기화이다. 그래서 여러 상황 중에 네트워크 상태가 disabled된 상태에서 여러 작업을 한 후, 다시 네트워크를 켰을 때, 해당 변화가 다른 기기에 적용되는지 테스트하였다. 해당 테스트 중에 네트워크를 다시키면 HttpUrlConnection이 작동하지 않는 것을 발견했다. HttpUrlConnection은 AsyncTask와 함께 작동하기 때문에 원인을 AsyncTask에서 부터 찾았다. 하지만 AsyncTask때문은 아니었다. 왜냐하면 AsyncTask를 큐(Queue)의...