'aboutMe'에 해당되는 글 10건

  1. 2017.10.14 일상 #8
  2. 2017.03.03 일상 #7
  3. 2016.11.11 일상 #6
  4. 2016.08.10 일상 #5
  5. 2016.07.16 일상 #4
  6. 2016.06.17 일상 #3
  7. 2016.05.23 일상 #2
  8. 2016.05.06 2015 MobiCom, MobiSys program과 session 정보
  9. 2016.04.16 일상 #1
  10. 2016.02.29 about me

일상 #8

aboutMe 2017. 10. 14. 14:00

오랜만에 블로그에 글을 씁니다.


회사에서 모바일팀장으로 일하면서 공부도 하느라 바쁜 시간을 보냈습니다. 비밀리에 진행한 업비트 개발도 점차 안정화 되어가고 조금씩 숨통이 틔어지고 있네요. 개발자로서 현재 구현하고 있는 서비스가 사람들과 여러 미디어에서 뜨거운 관심을 받는다는 것은 너무나도 일의 보람과 기쁨을 주네요. 하루가 다르게 가격이 치솟는 비트코인과 여러 알트코인을 보면 이 서비스 개발 및 리딩에 참여할수 있어서 정말 즐겁습니다.


회사일을 퇴근 후 집에서도 하고 주말에도 하고 추석에도 했어서 숨가쁘게 달려왔지만 틈틈히 공부도 하였습니다. 안드로이드 보안쪽을 좀더 자세히 들여다 보기 위해 Android internal 및 security 관련 서적을 좀 읽었지요. `Android Internals - A Confectioner's Cookbook - Volume I - The Power User's View`, `Android Security Internals An In-Depth Guide to Android’s Security Architecture`, `Embedded Android` 란 책을 읽었습니다. 한번 밖에 아직 읽지 않아서 머리에 많이 남은게 없지만 그래도 여러 보안 이슈에 고민할 때 도움이 좀 되었습니다. 시간날때 2~3번 반복해서 읽어 봐야 겠습니다. 안드로이드 내부 구조도 확인할 수 있어서 응용프로그램 개발이 너무 쉽게 느껴지는 시기인 요즘에 가뭄에 단비 같은 지적 자극이었습니다.


출퇴근 하는 동안 틈나는 대로 RFC 문서들을 반복하여 보고 있습니다. 목적은 인터넷, 네트워크 스펙과 친해져서 좀더 인터넷 기반 서비스를 설계 및 구현할 때 지식을 잘 활용하기 위해서인데 RFC 문서 읽을 때마다 느끼지만 참 미국이라는 나라는 우리 소프트웨어 산업보다 정말 앞서있구나라는걸 절실히 느낍니다.


집에서는 MIT에서 나온 알고리즘 책을 보고 있는데 2번 대충 반복해서 읽었지만 너무나 머리에 남지 않네요. 약 1400페이지 정도이면서 수식 및 알고리즘이 많기도 하고 진짜 머리가 나뻐서 10번은 읽어봐야 할것 같습니다. MIT에서 나온 책만 보는건 학습 효과가 떨어질거 같아서 다른 알고리즘 설계 관련책도 보고 이산수학이나 확률 통계 책도 다시 보고 복습해야할 것 같습니다. 지금은 `The algorithm design by Steven S. Skiena` 책을 봅니다.


2017년에는 제 손으로 서버, 클라이언트 다 구현한 서비스를 만들고자 하는데, 회사일에 상반기에 올인한터라 틈이 없었습니다. SQL 에 관련된 서적을(800페이지 짜리..) 한번 본 후에 바로 랜덤 채팅 서비스라도 만들까 했지만 SQL 서적을 아직 30페이지만 읽다가 홀딩한 상태입니다..ㅎㅎ  


이번해에는 반드시 서비스를 하나 만들어야 할텐데 벌서 10월이라 힘들것 같네요..ㅠ

'aboutMe' 카테고리의 다른 글

일상 #7  (0) 2017.03.03
일상 #6  (0) 2016.11.11
일상 #5  (0) 2016.08.10
일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
Posted by 제이제이랩
,

일상 #7

aboutMe 2017. 3. 3. 00:21

개발자로서의 미래


나는 현재 안드로이드 개발자로서 일하고 있다. 

안드로이드 개발자로서 필요한 지식은 자료구조, 알고리즘,  HTTP, 안드로이드, OS, 디자인 패턴, 객체지향 프로그래밍, 함수형 프로그래밍, 리액티브 프로그래밍, JAVA, JVM, 컴퓨터 구조에 대한 이해이다. 좀더 나은 안드로이드 개발자가 되기 위해서 위에 열거된 지식의 이해 수준을 한층 높여야 한다.


특히나 현재 나의 최대 약점인 자료구조, 알고리즘에 대한 이해도를 최대한으로 끌어 올려야 한다. 앞으로의 시대는 더욱더 수학, 알고리즘, AI, 머신러닝을 이용한 컴퓨터 과학자의 역할이 부각될 것으로 개인적으로 생각한다. 안드로이드 개발자로서는 상당한 수준에 이르렀으니 자료구조, 알고리즘, 수학에 대한 이해도를 최대로 끌어올려 다가올 미래에 대비해야 한다. 


안드로이드 기능 개발은 이제 시간만 있으면 그냥 하면 되는 그러한 일이 되어 버렸고 좀더 고차원에서 놀기 위해서는 컴퓨터 공학에 대한 풍부한 이론적 지식을 바탕으로 기술 집약적인 결과물을 도출할 수 있어야 할 것같다. 우선은 자료구조와 알고리즘을 누구보다 더 많은 이해해야 하겠고, 이를 바탕으로 현존하는 컴퓨팅 문제에 대해서 새로운 알고리즘을 도출해 보는 시도도 해봐야 할것 같다. 머리가 정리가 되지 않는 상태이다. 고민해 보며 방향을 잡아보자.


'aboutMe' 카테고리의 다른 글

일상 #8  (0) 2017.10.14
일상 #6  (0) 2016.11.11
일상 #5  (0) 2016.08.10
일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
Posted by 제이제이랩
,

일상 #6

aboutMe 2016. 11. 11. 00:42

너무 오랜만에 블로그에 글을 쓰는것 같다.

개인적으로도 여러 일이 있었고 회사에서 여러가지 일이 있어서 복잡 다산한 생활을 보냈다. 우선 회사 사정을 말하는 것은 조금 그렇고 여러 사황에 의해 결과적으로 모바일 팀의 팀장이 되어 버렸다. 갑작스럽게 되어서 무얼 어떻게 해야할지 고민과 번민의 시간을 가졌었다. 

어차피 기술리딩, 팀 관리, 프로젝트 관리도 해야할 것 같은데, 그에 대한 보상은 있겠지? 하는 생각이 든다. 어차피 나는 개발만 해도 잘 벌어먹고 잘하는 사람이니까. 앱 스프린트가 시작되고 왠만하면 예외적인 상황을 안 만드려고 여러가지 고민을 하다가 다른 팀과 협업이 최대의 변수라 협업할 사항들을 새벽까지 정리하고 테이블을 만들었었다. 프로그램 작성할 때도 예외를 최소화해야하는데 기능 개발에 대해서 고심에 고심을 해보니깐 동일한 것 같다. 다만 어떤 기능을 개발해야 할 때 어느 정도 걸릴것이다란 일정 산정이 나는 쉽게 되지 않았다. 기획서를 보고 무얼할지 정리하고 협업 사항을 추출하는 과정에서 각각의 일이 얼마나 걸릴지 예측을 할 수 있겠으나 그것도 예측일 뿐 최대한 넉넉히 다음에는 잡아야 겠다.

어차피 자체 서비스인지라 일정을 너무 빡세게 산정하면 나뿐만 아니라 다른 팀원들도 개발할 때 실수를 하게 되고 결국엔 앱의 품질에 문제가 생길 수 밖에 없다. 한 라인의 코드를 짜더라도 고민하고 고민하는 문화를 가지는 팀을 만드는게 목표인지라 그래야 팀원들의 실력, 내 실력도 늘고 앱의 품질도 보장되고 확장성, 유연성, 유지보수 용이한 앱을 만든는데 초석이 되는 문화라고 생각한다. 바쁘고 야근하는 문화에서는 절대 좋은 코드를 양산하고 좋은 엔지니어가 될 수 없다고 생각하기 때문에 최대한 이 부분을 어떻게 지키고 만들어 나갈까 고민하고 있다. 그런데 다른 팀의 팀장과 애기해 보니 나와는 다른 생각을 가지고 있다. 하지만 나는 내 생각엔 변함이 없다.

회사 일에 파뭍혀 지내면서도 자기 계발에 손을 놓지 않아 다행이다. 디자인 패턴에 대해 이해도 및 숙련도를 조금 더 높히려 디자인 패턴 및 SOLID 원리에 대해 다시 리뷰하는 시간을 가졌고, MIT 알고리즘 책도 1300페이지에 달하는데 한번 빠르게 정독하였다. 지금은 재미로 JVM8 스펙을 두번째 보고 있는데 머리에 쏙쏙 이해되어서 꿀잼이다. 회사에 RxJava, Retro Lambda, Method reference, Optional, Stream등을 안드로이드 앱 개발할 때 사용할 수 있도록 환경을 만들어 놓고 나 같은 경우 거의 모든 코드를 위에 열거한 기술로 거의 구현하고 있긴 하다. 그런데 JAVADOC 및 블로그를 보면서 이해도를 높이면서 사용하고는 있는데 함수형 언어에 대한 근본적인 통찰력이 부족하다고 느껴져 JVM8 스펙을 다 읽은 후 함수형 언어에 대한 책 두권을 읽을 예정이다. 아마도 JVM8 스펙하고 함수형 언어 책 두권을 읽으면 2016이 다 지나갈것 같다. 그 다음은 다시 MIT 알고리즘 정복이다. 아마도 2017년에 3번 더 반복 읽기가 가능하겠다.

개발을 하면서 여러 글을 읽게 되고 reddit 게시물도 항상 모니터링 하고 있는데 그놈의 코틀린 애기가 자주 나온다. 코틀린에 대해 세미나를 한번 들었다. 자바보다 모던하고 간결한 건 인정한다. 근데 언어란게 그게 전부가 아니다. 언어가 제공하는 인프라와 이미 포진되어 있는 그 언어에 대한 통찰력이 풍부한 전문가 인력 풀, JVM 스펙 조차 JAVA를 기준으로 되어 있다. 왠만한 메이저 회사는 섣불리 주력 언어를 타 언어로 변경할 가능성이 거의 없다고 단언한다. 자바가 바보같이 뒤쳐지지 않은한 메이저 회사들은 자바를 유지할 것이고 자바 개발자를 뽑을 것이다. 코틀린이든 어떤 언어든 메이저가 되면 그 때 생각해 봐도 늦지 않다. 굳이 비대중적인 언어를 선택해서 어떤 이득이 있는가? 그것보다 기본 베이스를 익히는데 훈련하는데 충실해야할 것이다.

'aboutMe' 카테고리의 다른 글

일상 #8  (0) 2017.10.14
일상 #7  (0) 2017.03.03
일상 #5  (0) 2016.08.10
일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
Posted by 제이제이랩
,

일상 #5

aboutMe 2016. 8. 10. 02:32

요새는 통 블로그 쓸 시간이 나질 않습니다. 새로 입사한 회사에도 적응하는 시간도 좀 필요했고 집에서는 개인적으로  MIT에서 펴낸 알고리즘 책 읽느라 블로그 쓸 겨를이 없었습니다. 시간이 날때면 Context switching에 관한 논문도 보면서 프로세서내의 캐쉬를 효율적으로 사용하기 위한 선조 프로그래머들의 발자취를 따라가고 있습니다. 또 Virtual memory에도 관심이 가서 Virtual memory 관련 논문도 읽으면서 TLB의 쓰임새를 알아가면서 paging을 다시 복습해 나가고 있습니다. OS내의 메모리 관리쪽도 한번 쫙 훑어봐야 제가 고수준 언어로 작성한 언어가 하위 수준과 물리 수준에서 어떻게 동작하는지 밑그림이 그려지지 않겠습니까? 사실 안드로이드 응용 프로그램, 서비스 개발하면 조금 따분한 것도 있어서 남는 시간에는 이런 부분을 보면서 재미를 느끼고 있습니다;;; Hotspot JVM 스펙 문서도 한번 읽어봐야 하는데...

지금 다니는 회사에서는 상단히 오래된 라이브러리와 UI 프레임워크(?) 기반으로 앱이 개발된 상태라 기본적으로 현재 사용하는 라이브러리로 교체하고 최신화하는 작업을 하고 있습니다. 멀티쓰레딩도 좀 수정해야 할 부분이 있어서 수정하고 있고, 여러가지로 손 볼곳이 많네요. 제가 IO쪽은 일부로 분석하지 않고 있었는데 팀내 다른분이 IO 관련된 부분을 보고 있는데, 한번 IO쪽 완벽 해부해서 가이드해야 할 것 같은 기분이 드네요.

서버쪽을 좀 손대고 싶었었는데, 최근에 입사한 회사의 비지니스 영역이 제가 관심있는 부분이기도 하고 굳이 제가 서버 프로그램을 개발할 이유가 없어져서 서버쪽은 당분간 손대지 않으려 합니다.(혼자 서버, 클라 구현하면서 뭐좀 만들려고 했거든요...) 굳이 서버쪽을 손대지 않아도 알고리즘, OS, JVM, Computer architecture 쪽을 조금씩 다시 들여다 보니 시간이 흐르면 저절로 서버와 클라를 구분하지 않아도 될 경지에 이르겠다란 느낌적인 느낌이 듭니다.

저는 이 언어 저 언어 스쳐가면서 다루기 보다는 자바가 전세계적으로 많이 쓰이고 인력 풀이 크기 때문에 주력 언어를 자바로 정하고 타 언어를 공부하지 않고 깊게 파들어가는 엔지니어가 되려 합니다. 자바도 발전하고 있기도 하고 사실 실무에서 이슈가 발생하면 개발자가 얼마나 깊이 있게 내부를 잘 파악하고 있느냐에 따라 그 이슈의 해결 가능성이 높아지지 언어를 모던 언어를 사용한다해서 이슈 해결 가능성이 높아진다고 생각하진 않습니다. 사실 이미 많이 쓰인 언어가 특별하게 타언어에 의해 교체될 가능성도 적다고 주관적으로는 생각하고 있고 만일 그런 일이 발생한다면 그때가서 언어를 어떤 걸 공부할지 생각해도 늦이 않다고 봅니다.

아무튼 블로그글을 안쓰기도 했고 머리도 좀 정리할 겸 늦은 시간에 이렇게 글을 쓰는 시간을 가져서 좋습니다. 얼마나 많은 사람들이 블로그를 읽는지 알진 못하지만 글 쓰는게 저한테 도움이 되기 때문에 쭉 이런 시간을 가져야 하겠습니다.

'aboutMe' 카테고리의 다른 글

일상 #7  (0) 2017.03.03
일상 #6  (0) 2016.11.11
일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
일상 #2  (0) 2016.05.23
Posted by 제이제이랩
,

일상 #4

aboutMe 2016. 7. 16. 00:51

요새는 회사에서 하던 일 마무리 잘 지으려고 야근을 좀 했더니 다행히 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 조합의 서버 백엔드 개발도 재미로 하려고 했는데... 너무나도 공부할 것도 많고 확인할 것도 많아서 당분간 여유가 없어서 안드로이드 기술에 대해 좀더 깊이를 더하는데 시간을 쏟으려 합니다. 원래 자바면 뭐든지 오케이인데 너무 시간이 안나는 요즘입니다...

'aboutMe' 카테고리의 다른 글

일상 #6  (0) 2016.11.11
일상 #5  (0) 2016.08.10
일상 #3  (0) 2016.06.17
일상 #2  (0) 2016.05.23
2015 MobiCom, MobiSys program과 session 정보  (0) 2016.05.06
Posted by 제이제이랩
,

일상 #3

aboutMe 2016. 6. 17. 23:07

오늘 저녁 먹고 회사에서 안드로이드 MVP 라이브러리 mosby, mortar, necleus GitHub를 기웃거리다가 mosby 개발자가 mosby를 어떻게 사용하는지 설명해 놓은 글을 보았습니다. 글을 보고 감탄사 캬! 한번 속으로 읊었습니다. 사람들이 해당글 하단에 궁금한 점을 물어보면 개발자가 답변을 해주더군요. 쭉 읽어보다 이 개발자가 소프트웨어 설계에 대한 풍부한 지식이 있다는 것을 직감했습니다. 


이런 MVP 라이브러리를 개발하려면 어떤 백그라운드가 필요할지 그 개발자가 쓴 글을 천천히 읽어보니 separation of concern이란 용어를 사용하면서 설명하는데 정작 제가 해당 용어를 잘 몰라 wikipedia에서 찾아보았습니다. SoC(separation of concern)로부터 시작해서 계속 wikipedia 링크를 타면서 글을 읽은 후 내린 결론은 제가 software design principle 에 약점이 있다는 것을 찾았습니다. 예전에 software design pattern, software architecture design pattern 을 책으로 스터디를 했지만 정작 좀더 본질적인 software design principle에 대해선 상당히 몰랐단 느낌적인 느낌이듭니다.


성능 튜닝 때문에 MIT introduction to algorithms이란 책도 봐야하는데 여기에 추가로 software design principle에 대한 책도 봐야하네요;;


우선 아래 사이트에서 principle에 대해 설명이 좀 있습니다. 좀 저명한 책을 찾아야 되는데 아직 못찾았습니다.

http://www.oodesign.com/

http://www.cs.cmu.edu/~aldrich/214/slides/design-grasp.pdf


RxJava JAVADOC을 좀더 보고 마무리 한후 이번 주말은 이 부분을 집중 공략하여야 겠습니다. 어쩐지 앱 개발할 때 특정 상황에 맞는 디자인 패턴을 쓰더라도 뭔가 백그라운드가 약하다는 느낌을 받았는데 요걸 파면 부족한 부분이 채워질 것 같다는 지감이 팍듭니다. 


그럼 모두들 알찬 주말 보내시길...

'aboutMe' 카테고리의 다른 글

일상 #5  (0) 2016.08.10
일상 #4  (0) 2016.07.16
일상 #2  (0) 2016.05.23
2015 MobiCom, MobiSys program과 session 정보  (0) 2016.05.06
일상 #1  (0) 2016.04.16
Posted by 제이제이랩
,

일상 #2

aboutMe 2016. 5. 23. 22:08

요즘엔 고민이 많은 시기입니다.


데이터를 수집해서 그것을 가지고 가공하고 어떤 결과를 도출하고 싶어서 뭘해야할까라는 고민도 하고 있고, 기술적으로 부족한 부분을 채우고 더 견고하게 하기 위해서도 뭔가를 하고 있는데 진도가 잘 안나가네요.


Docker로 Nginx, Tomcat, Spring Boot 이미지 만들어서 Restful API 구현을 하고자 하는데 서버쪽 백그라운드가 부족한지라 여러 블로그를 보면서 접근해 나가고 있습니다. 최근엔 구글 IO가 개최되어서 Android N Preview에 대한 발표가 나오고 여러 기술들이 선보여서 또 이 부분을 팔로우업해야 하네요. ConstraintLayout, Expresso recorder등은 꼭 스터디를 해야겠습니다.


자바 멀티 쓰레딩 부분에서 com.util.concurrent.locks 패키지에 대한 지식이 좀 취약한 것 같아서 이 부분을 좀더 공략해 볼까 합니다. 자바에서 concurrent programming을 위한 락킹 메커니즘으로 모니터를 사용하는데 정작 모니터에 대한 insight가 좀 부족한거 아닌가 되집어 보렵니다.


시간날 때 마다 확률/통계 학습 사이트에 가서 학생 때 공부한 부분을 여유를 가지고 보니 참 꿀잼입니다. 여러 확률 분포를 언제 쓸지 상기하고 통계 결과를 제대로 분석하기 위해서 보는건데 정리가 좀 되면 나중에 블로그 포스트라도 써야겠네요. 


RxJava도 스터디해서 MVC, MVP, MVVC 등등 안드로이드 앱 아키텍쳐에 대한 스터디도 해야겠습니다. Dagger2 하고 연동하면 앱 구조 잡는건 거의 끝날 것  같은데요. 요샌 너무 이것저것에 관심을 가지다 보니 할게 너무 많아서 탈이네요. 


에고 회사 팀내에서 코틀린을 한 분이 발표하셔서 쓸지말지 투표를 했는데.. 개인적으로 코틀린을 안썼으면 좋겠습니다. RetroLambda와 com.util.stream을 오픈소스(병렬 처리는 안되어 있는것으로 아네요)로 만든게 있는데 그거 이용하면 자바로도 코드 간결하게 구현할 수 있는데 굳이 코틀린까지 배워야할까 생각이 드네요. 특히나 국내는 자바언어가 평정했다고 봐도 무방해서 코틀링 배워봤자 자바로 구현할 수 있는 어플리케이션을 코틀린으로 구현하는 것 밖에.. 코틀린 개발자에 대한 수요도 거의 없는것 같구요. 그럴 시간에 자바에 대한 insight를 넓히거나 앱 개발에 대한 최신 트렌드 스터디가 더 보탬이 될것이라고 생각됩니다.  차라리 언어를 스터디할려면 자바스크립트가 나을텐데 말이지요. 자바와 자바스크립트만 알아도 모바일, 서버 프론트 엔드, 백 엔드 다 잡을 수 있는건데. 에휴.. 이직까지 고민되는 하루였네요.

'aboutMe' 카테고리의 다른 글

일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
2015 MobiCom, MobiSys program과 session 정보  (0) 2016.05.06
일상 #1  (0) 2016.04.16
about me  (0) 2016.02.29
Posted by 제이제이랩
,

올해 2016년 후 2~4년 후의 모습은 모습은 어떨까 궁금하지 않을 수 없습니다. 2018, 2019, 2020년 후의 모바일 생태계는 어떻게 변할까 참 궁금한데요. 앞으로 2~3년 또는 3~4년 후의 기술을 선점한다면 돈 좀 벌수 있을까라는 생각이 들어 미래의 환경을 설계하고 그에 맞는 기술적인 고민을 많이 하는 학계는 현재 어떤 것에 초점을 맞추고 있나 좀 보려고 합니다.

아래 MobiCom, MobiSys 쪽을 한번 훑어보고 저도 재미있는 프로젝트 거리를 좀 찾는 시간을 가져야겠네요.


MobiCom 2015 : https://sigmobile.org/mobicom/2015/program.html

MobiSys 2015 : https://sigmobile.org/mobisys/2015/program.php

MobiArch 2015 : https://mobiarch15.lip6.fr/

SMARTOBJECTS 2015 : http://www.grc.upv.es/smartobjects2015/


우선 MobiCom, MobiSys에서 best paper를 보고 어떤 분야가 핫한지 살펴봐야겠네요;;

'aboutMe' 카테고리의 다른 글

일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
일상 #2  (0) 2016.05.23
일상 #1  (0) 2016.04.16
about me  (0) 2016.02.29
Posted by 제이제이랩
,

일상 #1

aboutMe 2016. 4. 16. 13:54


요즘은 오라클 performance engineer가 2014년에 펴낸 Java performance the definitive guide 란 책을 한번 더 보고 있습니다. 이 책의 난이도를 말하자면 자바에 대한 이해가 거의 최상 마스터급(?)이어야만 완전히 이해할 수 있다고 생각되는데요. 저는 아직 그 수준이 아닌지라 3번째 보고있지만 아직도 머리에 팍팍 이해가 안가는 내용이 있네요. 

여러 자바 관련 cpu, gc, memory, network 상태를 측정하는 툴 소개하고, JIT 컴파일러 튜닝, Oracle Hotspot JVM에 사용되는 4가지 GC Algorithm에 대한 설명과 튜닝 방법, Memory model에 대한 내용과 튜닝 방법, 실제 코드를 보여주면서 이렇게, 저렇게 하면 실제적으로 어떤 효과가 나타나는지 수치로 보여주고 있어 성능 튜닝 엔지니어가 될려면 바이블로 생각하셔도 될만큼의 깊이있는 책입니다.


이번 주말에 최대한 다보고 차후에 또 4번째 정독을 시도 해야겠네요. 이 책 보고나서는 Algorithm책의 정석이라는 MIT에서 나온 Introduction to algorithms 책을 볼 예정입니다.




소프트웨어 엔지니어로서 cpu, memory를 효율적으로 사용하기 위한 백그라운드 지식이 무엇이 필요할지 고민하다가 대학교 수업 때 공부한 자료구조와 알고리즘을 여러번 보고 연구를 해야겠다는 생각들어 읽을 예정입니다. 자료구조나 알고리즘에서 자주 따지는게 어떤 알고리즘의 시간 복잡도가 어떻게 되냐 이런 애기인데, 결국에는 cpu cycle 사용을 얼마나 최소화하냐 이런 애기지요. 공간 복잡도는 자주 거론되지 않는데 메모리 사용을 효율적으로 하려면 공간 복잡도에 대한 이해도 마스터급이 되어야 하기 때문에 다시 살펴보고 지식을 재정비할 필요가 있습니다. 본래 모바일 개발자로 일을 하다보니 공간 복잡도를 무시할 수가 없는 상태입니다;; 그런데 책이 1000페이지 이상이다보니 1년에 한번 정독 가능할 것 같네요. 


서비스나 제품 만들려면 아파치/Nginx 웹 서버 관련된 지식이 필요한데 서버 부분도 빨리 습득해야 되서 알고리즘 책을 1년 동안 주구장창 보고 또 보기란 쉽지 않네요. 아무튼 이래저래 전문연구요원할 때 빡세게 공부하면서 했어야 했는데 뒤늦게 뭘 하려다 보니 공부할 거리가 산더미만큼 쌓인지라 블로그에 글 쓰는게 점점 늦춰지고 있습니다. 개인적으로 재미로 Dependency Injector를 빨리 개발하고 싶은데, 공부 더미에 치이는 주말입니다.

'aboutMe' 카테고리의 다른 글

일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
일상 #2  (0) 2016.05.23
2015 MobiCom, MobiSys program과 session 정보  (0) 2016.05.06
about me  (0) 2016.02.29
Posted by 제이제이랩
,

about me

aboutMe 2016. 2. 29. 15:48

현재 (주)두나무에서 안드로이드 앱 개발을 하고 있는 닌겐입니다.

안드로이드, JVM, 웹 서버, 오픈 소스, 성능튜닝, 분산 컴퓨팅에 관심이 있습니다.

제 블로그 글이 좀 친절하지 않습니다. 자세한 설명히 필요하면 설명할 수 있으나 아직은 방문자수가 별로 없는 관계로 제멋대로 양만 채우고 있습니다;;;


Do not develop. Test, Measure and Profile it.

'aboutMe' 카테고리의 다른 글

일상 #4  (0) 2016.07.16
일상 #3  (0) 2016.06.17
일상 #2  (0) 2016.05.23
2015 MobiCom, MobiSys program과 session 정보  (0) 2016.05.06
일상 #1  (0) 2016.04.16
Posted by 제이제이랩
,