견두
42
2020-03-24 21:15:05
4
493

안드로이드 공부 방향


안녕하세요 

안드로이드를 공부중인 대학생입니다. 

3개월동안 안드로이드 서적 하나를 가지고 공부했습니다. 공부라기보단 한번 읽어본게 맞는것 같아요 

내용이 어려워지고, 뒤로 갈수록 앞에 공부했던 내용이 기억이안나네요 ..

이론적인 부분에대한 설명은 이해가 되는데 예시 코드를 보면 이해하는데 시간이 걸려요 뒤로가면 갈수록 이해 못하겠는 코드들도 존재하구여 .. 이런식으로 어영부영 책한권을 읽어봤습니다. 


지금은 책에 있는 예시코드, 문제들을 스스로 하나씩 해보고있습니다. 예시코드는 코드전체가 나와있어서 따라해보고 있고 문제같은 경우는 앞에 나온 예시코드를 바탕으로 직접 조합해서 짜고 어느정도 완성하면 정답코드랑 비교해가면서 수정할 부분이 있나 보고있습니다.


 이렇게 공부를 하다가 오늘 우연히 신입 안드로이드 개발자 분들의 포트폴리오를 봤습니다. 제가 보기에는 이미 현역개발자 처럼 대단하게 보였는데 댓글에서는 신입정도의 실력이다, 신입치고는 잘했다 등의 반응을 보니 뭔가 자괴감이 몰려왔네요.. 그러면서 한편으로는 나도 저렇게 실력을 쌓고 싶다라는 의욕이 생겼습니다. 그래서 오늘부터는 진짜 열심히 최선을 다해서 하지 않으면 안될것같다라는 생각이 났습니다. 

하지만 결국 제가 할수있는건 책을 보고 예제 문제 푸는것, 전과 달라진게 전혀 없습니다. 독학을 하고 있지만 이게 맞는 방법인지도 모르겠습니다 


네이버나 여러 사이트에서도 이런글들을 적어봤는데 온통 광고글 뿐이네요. 그렇게하면 안된다고 하면서 다른 방향이나 방법은 제시하지 않고 알고 싶으면 오픈 카카오톡으로 질문하라는 식의 글밖에..

그래서 okky에 글을 씁니다. 제가 봐왔던 커뮤니티중에는 가장 좋아보였습니다.. 


1. 안드로이드 개발자가 되려면 어떤식으로 공부하고 어떤걸 공부해야 할까요..? 

     (간단하게나마 방향을 알려주시면 감사겠습니다)

2. https://github.com/MindorksOpenSource/android-developer-roadmap 

 어떻게 공부하지를 찾다가 안드로이드 로드맵을 발견했습니다. 다른 로드맵중에서도 깔끔하게 되있는것같은데 이대로 공부해도 될까요?

3. 안드로이드 스튜디오 외 firebase 나 배워둬야 할 프레임워크나 언어가 있을까요?


이정도 궁금합니다 .. 평소엔 궁금한게 많았는데 막상 글을 쓰려니 생각이 안나네요. 

답변해주시면 정말 감사하겠습니다 !! 

1
0
  • 댓글 4

  • Unknown_Y
    76
    2020-03-24 21:55:09

    저랑 비슷한 처지시네요ㅜㅜ 비전공이고 코틀린기초는 책이랑 온갖사이트(스택오버플로,깃허브,티스토리 등)에서 하고 있고 안드스튜디오는 동일한 책, 공식사이트, 유튜브로 하고 있습니다. 그래봤자 ITQ엑셀정도의 기능밖에 구현 못 하고 있지만 우선 대충 넘어가면 얼마 안 가서 바로 발목잡히더라구요.. 어려운 개념이야 차고 넘치기 때문에 책과 공식사이트에 있는 기초개념은 확실히 이해한 후 실습하면서 숙련도를 쌓아가는게 1단계가 아닌가 싶습니다.

    여담으로 에라모르겠다 식으로 람다식도 공부 안 해놓고 리사이클러뷰 구현해보려 했다가 두손두발 다 들었었어요ㅋㅋㅋㅋㅋㅋ 근데 저보다 잘 하실거 같아요. 불길쓰..;;

    0
  • 로드맵 내용 좋은 것 같습니다

    하지만 현실적으로 저 로드맵에 있는 것들을 하나하나 세부적으로 하기엔 어려울 것 같습니다

    저 로드맵의 반이라도 완벽히 꿰고 실무에 적용할 수 있을 정도로 하는 것은 웬만한 현직 개발자분들도 오랜 경력의 시니어가 아니면 찾아보기 어렵습니다.


    사실 그게 정상이죠, 안드로이드 앱을 만드는것은 쉽습니다. 책이나 유튜브만 봐도 투두 앱 정도는 비전공자가 봐도 할 수 있을 수준이거든요.


    그러나 실무에서 디자인 패턴, 커스텀 뷰, 메모리 관리, 서버통신 등등들어가기 시작하면 끝이 없습니다, 괜히 안드로이드 개발자 포지션이 따로 있는게 아니란걸 느끼게 되실거예요 ㅠ


    저도 아직 주니어 개발자라 제 말을 맹신하지는 않으셨으면 좋겠고

    이거는 만약에 저였으면 어떻게 공부했을까 말씀드리는건데


    저같으면 일단 서비스를 플레이스토어에 릴리즈해도 부끄럽지 않을 만큼 만들겁니다 (괜찮은 클론코딩 인강도 많아요)

    (그리고 사실 위에 투두 앱정도는 간단하게 인강듣고 만든다 써놨지만, 그건 진짜 프로토타입이고 실제 앱스토어에서 상위권을 차지하고 있는 투두 유틸리티 앱과는 비교가 안됩니다. 그러니 공부할 땐 마켓 순위권의 서비스를 클론하는걸 목표로 삼으시는게 좋겠죠, 게시판을 만들더라도 만들고 만족하는게 아닌 최소 OKKY 커뮤니티와 똑같이 만들어본다던가..)

    그렇게 만들었으면 분명히 프로젝트 구조나 코드 구조등이 엉망일거고 효율성이 떨어지는 상태일겁니다

    거기서 하나하나 배워가면서 기존 기능들을 커스텀뷰로 개선한다거나, 이미지 로딩을 쌩코딩으로 만들었는걸 Glide나 피카소같은 써드파티 라이브러리로 개선해본다던가 하면서 느끼면서 배웠을 것 같습니다.


    0
  • 견두
    42
    2020-03-24 23:11:49

    서버에도시락쏟음 

    조언 감사합니다.

    저는 현역에서 뛰고 계시는 조언을 듣고싶었어요 저는 아직 현역의 경험도 없고 

    협업이나 프로젝트 경험이 없어서 조금이라도 좋으니 다른 개발자분들의 조언과 느낌을 

    듣고싶었습니다 감사합니다 !!

    0
  • 장플
    3k
    2020-03-24 23:40:11

    안드로이드를 예전에 강의한 적 있습니다.

    크게 내용을 구분하자면,

    1. 어떤 UI가 주어지더라도 만들 수 있어야 합니다. 현업에서는 디자이너가 주로 제플린으로 앱디자인을 넘깁니다. 어떠한 디자인 화면이 주어지더라도 레이아웃 구성할 수 있어야 합니다. 레이아웃에 대한 이해, dp, dip, sp단위에 대한 이해, 뷰와 뷰그룹, 해상도에 대한 이해가 필요합니다.


    2. 엑티비티 생명주기, 프레그먼트 다루기, 탭뷰, 뷰페이저, 인텐트 등 다양한 뷰전환 기술, 뷰전환시 데이터 주고 받기

    3. 저장기술

    sqlite, sharedpreference,  filesystem, 룸

    4. 서버 통신기술 다루기

    firebase연동, 푸시발송, 푸시수신, 레트로핏 등

    5. 기타

    이미지캐싱, 리사이클 뷰, sns 로그인연동 등


    일단 간단한 앱이라도 클론코딩을 추천합니다. 시중에 출시된 앱을 따라 만들어보면 종합적으로 어떠한 기술력이 필요하고 내가 부족한 부분이 어느정도인지 파악이 되실겁니다.



    3
  • 로그인을 하시면 댓글을 등록할 수 있습니다.