일상 #4
요새는 회사에서 하던 일 마무리 잘 지으려고 야근을 좀 했더니 다행히 QA팀에서 이상이 없는지 오늘 정오 이후로는 저에게 업무 관련 메세지가 오지 않았습니다.ㅋ 정말 다행입니다.
증권 서비스를 하는곳으로 곧 회사를 옮길 예정이어서 남은 시간동안 RxJava, RxAndroid 좀 익히고 새로 입사할 회사에 어떻게 적용할지 고민 좀 하려고 합니다. 이직할 회사의 안드로이드 팀원들의 실력이 어느정도인지 모르기 때문에 레거시 코드를 좀 보면서 객체지향 설계 및 코딩 능력을 살펴보고 저보다 나은 점이 있으면 습득하고 저보다 못하다고 느껴지면 갭을 메꿀 방법을 찾아야 겠습니다.
알고리즘 책을 보다가 RxJava 때문에 멈췄는데, RxJava 가지고 놀 정도되면 다시 읽으려 합니다. MIT에서 나온 introduction to algorithms 3rd edition 인데, 1300페이지 정도 되는데 그 책 하나 쓰려고 저자가 수백권을 논문과 책을 얼마나 읽었을지 감히 가늠이 안될정도로 마음에 드는 책입니다. 제가 좋아하는 스타일의 책인데 정작 대학원때 그 책의 수업이 있었던 걸로 기억하는데 수강신청을 왜하지 않았을까 한탄이 나오네요ㅠㅠ 한번 정독을 하고 나면 사실 머리에 남는게 없지만 이번해에 최소 한번 정독하고 다음해에 또 한번 정독하고 그 다음해에도 또 한번 정독하는 방식으로 책을 정복해야 겠습니다. 주로 컴퓨팅 문제에 다루지만 읽다보니 문제해결 능력을 상당히 키울 수 있을 것 같아 인생의 동반자(?)로 같이 가야할듯 합니다.ㅎㅎㅎ
회사에서 성능 이슈 때문에 멀티 쓰레딩, 쓰레드 풀, HandlerThread 등등을 제가 도입 했었습니다. CPU가 한 쓰레드를 실행하다가 다른 쓰레드를 실행할 때 Context switching을 해야하는데 그 비용이 얼마나 되는지 정확하지 알지 못한 채 Context switching 비용이 좀 있다는 수준으로만 알고 있었습니다. 멀티 쓰레딩 코드를 손볼 때마다 얼마나 될까 궁금하여 구글링 해보니 역시 이미 이러한 궁금증을 가지셨던 선조 프로그래머들이 "Quantifying The Cost of Context Switch"[http://www.cs.rochester.edu/u/cli/research/switch.pdf] 논문으로 그 비용을 측정하고 결과를 학계에 공유하였습니다. 2007년도 논문인데 오래되었지만 공유하면 좋을것 같아 완벽히 논문의 의도와 측정 방법에 대한 이해가 되면 블로그에 Context switching 비용을 어떤 환경에서 어떻게 측정하였는지 쓸 시간을 가지겠습니다.ㅋ
Spring boot, Nginx, MySql, MongoDB, Tomcat, Apache 조합의 서버 백엔드 개발도 재미로 하려고 했는데... 너무나도 공부할 것도 많고 확인할 것도 많아서 당분간 여유가 없어서 안드로이드 기술에 대해 좀더 깊이를 더하는데 시간을 쏟으려 합니다. 원래 자바면 뭐든지 오케이인데 너무 시간이 안나는 요즘입니다...