본문 바로가기

전체 글

(92)
AsyncTask 는 왜 Deprecated 되었는가? 동기 AsyncTask 가 Deprecated 되었다는 사실은 이미 대부분의 안드로이드 개발자들이 알고 있는 사실입니다. 물론 저도 그렇고요. 재직했던 회사에서는 AsyncTask 와 HttpUrlConnection 을 통해서 데이터 통신-UI업데이트를 수행했습니다. 그 때 보았던 코드가 아직도 눈에 선하네요. AsyncTask 가 Deprecated 되었지만 여전히 채택되고 있었던(어쩌면 지금도 채택되고 있을 수 있는) 이유는, Kotlin 이 아닌 Java 로 프로덕트를 개발하고 있었기 때문입니다. 저는 Kotlin 을 학습하여 회사 밖에서 다양한 개인 프로젝트 및 협업을 수행하였기 때문에, 꽤 오랜 시간 전부터 Coroutines 를 사용해왔습니다. 별 생각 없이 Coroutines 관련 코드를 작..
뭅뭅 - 숏폼 비디오 플랫폼 서비스 GitHub - jangjh123/and03_movemove: [네이버 부스트캠프 그룹 프로젝트] 뭅뭅 - 댄스 숏 폼 비디오 플랫폼 [네이버 부스트캠프 그룹 프로젝트] 뭅뭅 - 댄스 숏 폼 비디오 플랫폼 서비스. Contribute to jangjh123/and03_movemove development by creating an account on GitHub. github.com 앱 은 춤 추는 이들을 위한 앱입니다! 최근, 숏 폼 비디오 플랫폼이 빠르게 성장하고 있음에 기인하여 시작된 프로젝트입니다. 수많은 숏 폼 비디오 플랫폼 서비스가 존재하고, 해당 서비스들에서 많은 관심을 받는 비디오의 장르는 단연 댄스입니다. 저희 남녀노소는, 댄스 영상만 모아서 볼 수 있는 서비스를 만드는 것은 어떨까? 라..
네이버 부스트캠프 웹·모바일 8기 챌린지 + 멤버십 회고 6개월 가까이 진행되었던 네이버 커넥트 재단 부스트캠프 웹・모바일 8기 과정이 끝났습니다. 합격 후기 및 챌린지 후기, 멤버십 합격 후기는 아래 포스트에서 확인하실 수 있습니다. 네이버 부스트캠프 웹·모바일 8기 합격 후기 지원 백준 랭크는 DFS, BFS 로 쉽게 올린 (물)골드2 이며, 문제를 꼼꼼하게 푸는 스타일은 아닙니다. AC 받으면 그냥 넘어가고, 더 좋은 코드를 찾아보거나 하는 경우는 잘 없습니다. 물론 완전 엉망 blothhundr.tistory.com 네이버 부스트캠프 웹·모바일 8기 챌린지 및 멤버십 합격 후기 회고에 앞서, 챌린지 합격 후기는 따로 포스팅해 두었으니, 궁금하시면 확인하실 수 있습니다. 네이버 부스트캠프 웹·모바일 8기 합격 후기 지원 백준 랭크는 DFS, BFS 로 쉽..
Third-Party-Library 없이 영상으로부터 빠르게 프레임 추출하기 (feat.YUV) 동기 네이버 부스트캠프에서 진행 중인 그룹 프로젝트가 드디어 개발 막바지 단계에 이르렀습니다. 영상 업로드 기능을 구현하면서, 영상의 썸네일을 추출하고 함께 전송하는 기능도 구현하였습니다. 해당 과정에 대해서는 다음 포스트에 자세히 기록되어 있습니다. Third-Party-Library 없이 비디오 컷 편집 기능 구현하기 동기 네이버 부스트캠프의 꽃, 그룹 프로젝트를 개발하고 있습니다. 실력있는 동료들과 함께 비디오와 관련된 앱 서비스를 기획, 디자인, 개발하고 있는데요. 제가 낸 주제이기도 하고, 비디오 blothhundr.tistory.com 위 포스트에는 썸네일을 얻어 오기 위해 MediaCodec 과 MediaMetadataRetriever 를 두고 고민했던 과정이 담겨있는데요. 당시에는 Medi..
AccessToken 재발급과 예외 처리 (feat.Ktor) 동기 예외는 전형적이지 않은 경우나 사건을 의미합니다. 프로그래밍을 하다보면 정말 수없이 겪게 되는 것이 예외 상황인데요. 오늘은 Ktor 와 JWT 사용에 있어서 발생할 수 있는 예외 상황에 대한 처리를 하였습니다. 그 과정 중 저는 어떤 문제를 만났고, 어떤 고민을 했는지, 또 그 고민을 어떻게 해결하였는지에 대해 포스팅하려 합니다. 주니어 개발자(지망생?)의 시선이므로, 잘못된 내용이 포함될 수 있어 해당 포스트에서 나올 기술적인 부분에 대해 참고하시는 것은 고려해보시면 좋을 것 같습니다. 요구 사항은 무엇이었나? 서버의 API 를 이용하기 위해 JWT 를 활용하는 상황입니다. 모든 API 통신에 대해 AccessToken 이 요구되고, AccessToken 이 만료되면 RefreshToken 을 ..
[Jetpack Compose] ImageCropper 라이브러리 없이 구현하기 Part II 동기 비슷한 포스트를 이전에도 작성한 일이 있습니다. 그 당시에도 프로젝트에 들어갔던 코드를 활용해서 포스팅 했었는데, 당시엔 Jetpack Compose 가 그다지 익숙치 않기도 했고, 애초에 개발에 대한 인사이트도 그리 훌륭하진 않았습니다. 이번 네이버 부스트캠프 그룹 프로젝트에서도 비슷한 기능을 구현하게 되었는데, 이전과 조금은 다른 점이 있기에, 기록을 통해 다시 한 번 학습하고자 합니다. 이전엔 어땠는가 [Jetpack Compose] ImageCropper 라이브러리 없이 구현하기 현재 진행중인 사이드 프로젝트에서는 카카오 및 구글 로그인을 사용합니다. 그러므로, 이미지를 촬영 또는 디바이스에서 불러와 이를 수정 및 등록할 수 있도록 구현해야 합니다. 당연히 유수 blothhundr.tisto..
Ktor 적용기 (feat.Ktor Generics Response Handler) 동기 현재 진행 중인 네이버 부스트캠프 파이널 프로젝트를 처음 시작할 때에, 팀 동료들과 기술 스택에 대해 이야기를 나눴습니다. 사용할만 한 여러 스택들에 대해 의논하였고, 적절한 스택들이 채택되었습니다. 그렇게 개발을 별 일 없이 진행하던 중, API 가 하나 둘 씩 나올 때가 되어 이를 연동하기 위해 Retrofit 에 관한 이런 저런 셋팅을 준비하려 했습니다. 의존성을 추가하려던 순간, 문득 Retrofit 을 그냥 적용하는게 맞나? 라는 의문이 들었습니다. 결국엔 Ktor 를 적용하기로 결정했죠. 결정의 이유는 세 가지가 있었는데요. 늘 가던 길을 선택하고 싶지 않았던 것이 첫 번째 이유였습니다. 새로운 것을 배워보고 싶었거든요. 이 때 아니면 또 언제 해보겠어라는 생각이 들었습니다. 두 번째 이..
Third-Party-Library 없이 비디오 컷 편집 기능 구현하기 동기 네이버 부스트캠프의 꽃, 그룹 프로젝트를 개발하고 있습니다. 실력있는 동료들과 함께 비디오와 관련된 앱 서비스를 기획, 디자인, 개발하고 있는데요. 제가 낸 주제이기도 하고, 비디오와 관련된 작업을 경험하고 싶었기도 해서 굉장히 즐겁게 개발하고 있습니다. '앱 내에서 비디오 컷 편집을 할 수 있다면 편하지 않을까?' 라는 생각이 들었고, '라이브러리 없이 개발하면 분명 어렵겠지만, 그만큼 배우는 것도 많고 재미도 있지 않을까?' 라는 생각도 들었습니다. 그래서 스스로의 기술적 도전 과제로 설정하여 구현해보기로 마음 먹었습니다. 해당 포스트는 라이브러리 없이 직접 비디오 컷 편집을 개발하는 과정과, 그 과정 안에서 알게 된 것을 기반으로 작성됩니다. Jetpack Compose 에서 비디오 불러오기 ..