NSOperation과 Key-value Observing, 그리고 performSelector:…

NSOperation등이 편한 건 안다.
하지만 그것을 thread/operation간의 동작을 위해서, KVO와 함께 쓰면 도무지 누가 caller인지 알기가 힘들다.
NSOperation은 쓰레드 프로그래밍을 쉽게 하기 위한 것 외에도 multicore에 task를 어떻게 한 단위로 분산 시킬 것인지에 대한 고민에서 나온게 더 기본적 이유 아니냐?
쓴다고 무작정 다 쓸게 아니라, 왜 만들었는가에 대한 이해를 하고 써야 한다.

또한 NSOperation을 쓸 때, dependency를 사용하지 않고 막 쓰면서, 단순히 타이밍상 어떤 부분의 코드가 operation으로 지정되는 것보다 먼저 혹은 늦게 수행 될 것이 거의 100%라고 생각해서 dependency 안쓰고 막 작성하는 코드.. 디버깅시에 문제를 일으킨다.

새로운 API 무조건 쓴다고 좋은게 아니다.
뭐든 이해하고 잘 쓰는게 좋은거지.

하긴 레주메엔 뭐 써 봤고, 인터뷰 시에 그거 써본 경험 이야기하면 “잘 아는 사람”으로 인지시킬 순 있겠지.

2 responses to this post.

  1. 그러게요. block 코드와 NSOperation 계획없이 남발하면 더 엉뚱한 결과와 버그가 생기죠.
    문제는 애플도 그런 실수를 하고 있더라는… 요즘 더 심해진거 같아요 ㅜㅜ

    Reply

    • Posted by jongampark on December 13, 2013 at 2:38 PM

      미국에서 오래 있다 보니, 이제 이 사람들에 대해서 평가를 내릴 수 있는데, 전문적인 지식 자체를 가지고 있는 사람들은 많은데, 그것을 잘 정리해서 쓰는 사람이 잘 없는 거 같습니다. 특히 앱 개발 쪽으로 가면 더 하고요. 그러다보니 이런 결과가 생기는 거 같습니다.

      미국 수업 시간에 발표를 하는거 보면 알게 됩니다. 한국에서 온 사람들은 일단 프리젠테이션 화려하게 하고, 일목 요연하게 번호 넣고 땡땡이 리스트 만들어서 하는데, 미국애들은 그냥 서술식으로 풀어 냅니다.

      그러다보니, 뭐 써 봤다 하는 건 잘 대답을 하고, 아는 척은 할 수있는데, 정작 그 아는 것을 잘 쓰는 것은 무척이나 부족하다는 것이죠.

      근데 뭐 여기가 미국이니 뭐라 설명해줘도 이해들을 못하고, 오히려 저 같은 사람이 뭘 몰라서 물어 보는 양 대하죠.

      답답합니다.

      한국 사람과 미국 혹은 비 한국 사람들의 주요 특징이 있습니다.
      한국인들은 자기 보다도 주변과의 관계를 더 중시하죠. 하지만 비 한국 사람들은 안그래요. 그것이 코딩할 때도, 소프트웨어 구조를 디자인할 때도 나오더군요.

      일상 생활을 할때는, 한국인의 그런 습성이 현재 교육열 과다와 한국 사회의 여러가지 문제를 낳았지만, “관계”를 중시해야 하는 소프트웨어 구조를 만들때는 장점으로 작용하는 거 같습니다.

      Reply

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: