본문 바로가기
반응형

분류 전체보기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.