본문 바로가기
반응형

전체 글91

시니어 개발자가 생각해보는 개발자의 성장 저는 여러 스타트업과 작은 IT회사, 그리고 네카라쿠배 중 두 곳을 거치고 있는 7년차 안드로이드 개발자입니다. 현재 회사에서는 시니어 개발자 포지션으로 일하고 있습니다. 아무것도 모르면서 자신감만 가득했던 신입 개발자가 어느새 조금은 알지 않을까 하는 가소로운 시니어 개발자가 되었네요. 최근에 육각형 개발자라는 책을 읽으면서 시니어 개발자로써의 역량에 대해 고민해보는 날들이 많습니다. 육각형 개발자인데 그 육각형이 작을 뿐이 아닐까 합리화를 해보기도 합니다. 하지만 우리는 좋은 개발자가 되기 위해 육각형을 점점 키워서 이상에 가까운 개발자가 되기 위해 노력을 해야하죠. 즉, 우리는 "성장"을 해야합니다. 회사에서 성장을 요구하는 이유? 저는 경력에 비해 많은 이직횟수를 가지고 있습니다. 현재 재직중인 .. 2023. 11. 29.
Android - EncryptedSharedPreferences 로 데이터 암호화하기 Android 앱을 개발하다보면, 로컬에 저장해야 할 데이터가 있습니다. 사용자가 언제 앱에 접속했는지 라던가, 어떤 옵션을 ON/OFF 했는지에 대한 캐시성 정보들이 예가 될 수 있습니다. 이렇게 민감하지 않은 데이터는 평문을 그대로 저장해도 무방합니다. 하지만 만약 사용자의 개인정보와 관련이 있다거나 서버에 접근할 수 있는 토큰같은 종류라면 문제가 될 수 있습니다. SharedPreferences의 문제점 이 문제를 이해하려면 SharedPreferences와 안드로이드 어플리케이션에 대한 이해가 필요합니다. SharedPreferences는 XML 형태의 파일로 앱의 저장공간에 저장됩니다. 우리는 SharedPreferences를 선언할 때 아래와 같이 선언합니다. val sharedPref = c.. 2023. 11. 14.
애자일(Agile) 방법론 - 스크럼 이 포스팅은 "애자일 조직은 이렇게 일합니다" 도서를 읽고 작성한 글입니다. 애자일 방법론을 채택한 팀이라면, 아마 스크럼 미팅을 진행하고 있을 것이라 생각합니다. 스크럼 미팅에서는 "내가 하고 있는 개발일에 대한 전반적인 사항"을 공유하고, 다른 동료들에게도 동일하게 공유받습니다. 그럼 스크럼은 무엇을 의미하는 걸까요? 스크럼 스크럼은 가볍지만 체계적이고 잘 짜여진 팀 워크플로우 관리 방식입니다. 특정 기술 실천법을 강요하지 않고, 팀에서 일을 어떻게 다뤄야하는지 조정하고 팀이 사용하는 특정 열할과 업무 조정에 필요한 방법을 규정합니다. 스크럼은 요구사항을 담당하는 PO가 만든 제품 백로그로 시작됩니다. 제품 백로그는 스크럼팀이 전달해야 하는 요구사항, 진행 중인 요구사항, 히처, 기능, 개선사항과 수.. 2023. 11. 11.
Kotlin Multiplatform의 안정화와 Jetpack Compose 현재 안드로이드 개발자에게 큰 관심거리는 무엇이 있을까요? 굉장히 많은 것들이 있겠지만, 개인적으로 Jetpack Compose가 가장 큰 관심거리가 아닐까 합니다. 여기에 더해서 Flutter, Kotlin Multiplatform의 동향도 큰 관심거리입니다. Flutter는 많은 발전을 하고 있고, 채용공고도 꽤 많아졌을 만큼 모바일 개발에서 핫한 프레임워크가 되고 있습니다. 물론 현업에서 쓰기에는 아직도 이슈가 좀 있어 보이지만, 그래도 꽤 큰 IT회사에서 채택하는 경우도 점점 늘고 있습니다. 이런 상황에서 Kotlin Multiplatform도 점점 발전하면서 사람들의 관심을 끌고 있는데요. 안타깝게도 프로덕션 레벨에서 쓰기에는 안정적이지 않았습니다. 저도 간단한 예제를 통해 어떤 것인지 학습정.. 2023. 11. 4.
애자일(Agile) 방법론 - 오늘의 애자일 이 포스팅은 "애자일 조직은 이렇게 일합니다" 도서를 읽고 작성한 글입니다. 여러 스타트업부터 네카라쿠배 중 어느 대기업까지, 개발자로 일한지도 6년이 다 되어갑니다. 대부분의 회사에서 애자일 방법론을 기반으로 한 개발 프로세스를 가져가고 있었는데, 생각해보니 애자일 방법론에 대해 공부한 적은 딱히 없는 것 같습니다. 그저 "짧은 주기로 개발을 반복하는 것" 정도로 이해했던게 아닐까 합니다. 그럼 그저 2주 정도의 단위로 개발하고 배포하고 버그를 수정하는 것을 반복한다면 우리는 애자일 방법론을 잘 지키고 있는걸까요? 잘 하고 있을수도 있겠지만, 뭔지도 모른채 잘 하고 있다면 썩 좋은 것만은 아닐겁니다. 또한 스타트업이든 대기업이든 애자일 방법론을 잘 수행하고 있다고는 장담할 수 없습니다. 돌이켜봤을 때 .. 2023. 11. 4.
Android - 상태관리, LiveData 대신 StateFlow를 사용하자. 현재 안드로이드 생태계는? 현재 안드로이드 생태계는 MVVM 아키텍처, 클린아키텍처가 대세가 되고, MVI 아키텍처가 점점 핫해지고 있다. 그만큼 개발 기술이 빠르게 발전하고 있고, 더욱 강력한 도구들이 생겨나고 있다는 것이다. Google에서 Android Architecture Compoenent로 여러가지 도구를 제시하고 있고, 그 중에 ViewModel과 LiveData는 정말 핫하고 유용하며, 현재 안드로이드 앱 개발에 있어서 가장 기본적인 도구로 몇년동안 자리잡고 있다. 그러나 시간이 지나면서 이들도 구시대의 기술이 되어가는 것은 당연하다. 영원히 최고의 도구는 없으니까. 오늘은 그 중 하나인 LiveData에 대해, 그리고 이를 대체할 StateFlow에 대해서 얘기해본다. 상태관리, 그리고.. 2023. 8. 3.