반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

근황 및 2022년 계획! 본문

일상

근황 및 2022년 계획!

huiung 2022. 2. 23. 23:00
반응형

요즘 점점 게을러지고 있는 자신을 보며, 한해 계획 및 목표를 세워서 동기부여를 하고자 글을 써보려고 한다.

 

2020년 신입개발자로 일을하기 시작해서, 어느덧 1년 하고도 3개월 가량의 시간이 지난 것 같다. 작년 초의 정신 없던 순간을 기억하면 지금은 정말 많이 여유로워(나태해졌다는(?)) 졌다는 생각이 든다. 처음 입사했을때, 신규 서비스의 개발이 한창이였기 때문에 팀에 적응하고, 1인분의 역할을 하기 위해서 많은 고생을 했고 그 과정속에서 단기간에 많은 성장을 하였다고 생각한다. 물론 무엇인가를 알게되면서 모르는게 더욱 더 늘어났다. 배움에는 끝이 없다는 말을 뼈저리게 느끼게 되었다. 

 

서비스 출시가 끝나면서, 어느정도 안정화가 되고나니 조금은 여유로움을 느끼게 되었다. 남는 시간에 읽고싶었던 문서들을 읽기 시작했고, 어떤 분야로 깊게 파고 가야할지도 고민하게 되는 시간이 생겼다.(물론 수많은 문서들을 쌓아놓기만 하고 아직도 상당 부분 읽지 못하고 있다) 관심이 가는 분야들이 몇가지 있기 때문에 해당 부분들을 틈틈이 알아볼 생각이다. 따라서 올 한해, 업무적인 부분에서도 실수 없이 해내면서 어떤 부분에 좀더 집중을 할지 계획을 세워보려고 한다.

 

1. OS(Operating System)

OS는 학교에서 수업을 들었던 이후로 크게 관심을 가지지 않은 과목이다. 항상 중요하다고 알고 있었지만, 깊이있게 공부한적이 있었나 하는 생각이 들었고 학교에서 배울때도 그렇게 열심히 하지 않았던 기억이 있다. 현업에서 일을하면서 처음에는 학교에서 배웠던 과목들의 중요성에 대해서 크게 와닫지 않았다. 그러나 일을 하면서 multi thread에 대한 고려라던지 corutine을 공부하면서 parallel과 concurrent에 대해서도 생각해보면서 OS를 다시한번 봐야겠다는 생각이 들었다. 따라서 모두가 입을 모아 얘기하는 공룡책을 천천히 읽어볼 예정이다. 목표는 올한해까지 다 읽기이다. 다 읽고나서 간략히 리뷰를 해보려고 한다.

 

2. 컴퓨터 구조

OS와 비슷한 맥락이다. 나는 학부생 시절, 하드웨어에 관한 수업을 정말 싫어했다. 학교에서는 하드웨어 관련 실험도 많이 하였고, 관련 과목들도 많이 있었지만 전혀 관심이 가지 않았다. 그러나 요즈음 드는 생각은, 프로그램을 만드는 개발자가 컴퓨터가 어떤식으로 동작하는지는 제대로 알고 있어야 한다는 생각이 든다. 

 

3. ExoPlayer

최근 영상처리에 관련해서 관심이 생기게 되었다. 스트리밍 서비스가 필요한 경우가 아니라, 현재까지는 MediaPlayer를 이용하고 있었는데, MediaPlayer의 경우 AOSP에 포함되어 있다보니 API Level에 영향을 받는 부분이 있다. 따라서 제조사의 특정 기기마다 다른 동작을 할 가능성도 있고.. 더군다나 스트리밍 서비스 같은걸 한다고 하면 ExoPlayer를 사용하는 것이 좋을 것이다. 따라서 ExoPlayer의 소스코드를 직접보며 구조를 전반적으로 파악하고, 나아가 컨테이너 포맷, 각종 코덱등 media에 관련된 각종 용어에 대해서도 학습 할 예정이다. 최종 목표는 프로젝트에 반영 및, git Contributor가 되어보는 것이다(거의 가능성이 없겠지만!!..).

 

4. OpenGL

Android의 graphic architecure를 최근 보기 시작했고, surface나 textureView 등에 대해서 학습하면서 OpenGL도 직접 배워보고 높은 수준의 그래픽을 표현해보고 싶다는 생각이 들었다. 애니메이션, 커스텀뷰, 영상 처리, 그래픽 이런 부분에 아무래도 최근 관심이 쏠리는 것 같다. 아래의 블로그에 Learn opengl을 번역해놓은 글이 있어서 해당 글을 보며 학습할 예정이다.

 

https://heinleinsgame.tistory.com/4?category=757483 

 

[Learn OpenGL 번역] 2-1. 시작하기 - OpenGL

OpenGL 시작하기/OpenGL 시작하기 전에 먼저 OpenGL이란 무엇인지 알아야 합니다. OpenGL은 그래픽 및 이미지를 조작하는 데 사용할 수 있는 많은 기능들을 제공하는 API( Application Programming Interface )라..

heinleinsgame.tistory.com

 

5. AR, VR

아직은 부족하다는 얘기가 많지만, 향후 언젠가는 AR과 VR이 대세가 되는 시대가 오리라 생각이 된다. 그때를 대비하자는 목적도 있고, 위와 결국 비슷한 맥락으로 나는 이렇게 뭔가 그려지는 것에 관심이 자꾸 가는 것 같다. 일전에 AR core의 공식문서를 조금 읽은적이 있지만 더 깊게 해보고 싶다는 생각이 들었다. 구글에서 제공하는 AR Core를 이용하여 AR이 어떤식으로 동작하는지 어떻게 활용할 수 있는지, 현재 어떤 것 까지 할 수 있는지에 대해서 학습을 해보려고 한다.

 

6. 그이외 AOSP 까보기 및 Kotlin 공부

AOSP는 아직도 못본게 정말 많아서.. 뭐부터 봐야할지 고민이 되는 상황이다. 우선은 가장 우선순위로 생각하고 있는 것은 RecyclerView, View, ViewGroup, Linearlayout, Constraintlayout 정도이다. 이외에 터치나 스크롤을 담당하는 ViewDragHelper, VelocityTracker, Surface, rendering과 관련된 소스들 등등 있을거 같다. Kotlin을 사용한지 어느정도 되었고, 코틀린 관련 문서도 자주 보는 편이지만 아직 이 언어의 철학(?)에 대해서 정말 깊게 알고 있다고 말하기는 힘들 것 같다. 특정 내장 기능들은 자주 사용하지 않는 경우도 있고, 어떤 의도로 이 언어의 이런 기능이 나왔을지 Java와 비교하면서 계속해서 Kotlin 공부는 지속해야 할 것 같다.

 

7. Coroutine 및 Flow

현재 프로젝트 전반적으로 Rx를 쓰고 있는 상황이지만, 구글에서 Flow를 공식적으로 밀고 있기도 하고, LiveData를 대체 할 수 있는 StateFlow 및 SharedFlow도 나오고 있고,, Flow를 사용하면 Coroutine의 활용도 가능하니 이쪽도 더깊게 공부해볼 생각이다. OS를 공부해야 겠다고 생각한 부분이기도 하고, Multi-thread와 Coroutine을 사용했을때 어떤 상황에서 Performance적 이점이 있을지에 대해서 고민을 해볼 필요가 있을 것 같다.

 

8. Leetcode

취업이 된 이후로 알고리즘 공부를 거의 하지 않았다. 하지만 꾸준히 해야 잊지 않겠다는 생각이 들고 Kotlin을 사용해서 Leetcode를 못해도 1주일에 1문제는 풀겠다고 마음을 먹었다. 꾸준히 하자.

 

9. 운동하기

자세가 좋지 않아서 최근 목이 많이 아파 교정PT를 다니고 있다. 자세를 제대로 잡고나서는 헬스장도 다니면서 꾸준히 운동을 하여 건강을 관리하고 싶다.

 

10. 기타 연습

기타는 매번 깔짝대기만 했었는데.. 이번엔 정말 한곡을 꼭 다 연주하자고 마음을 먹었다. 현재 코타로 오시오의 황혼을 열심히 연습중에 있다. 올해 꼭 완곡 하고, 다른 곡들도 도전해보고 싶다.

 

더적고 싶은 내용이 많이 있지만, 내가 다 할 수 있을지가 의문이든다. 여기 적어놓은것들은 최소한 올 한해 동안 다 학습 할 수 있기를 바라면서!! 동기부여겸 목표를 세워본다.

반응형