전체 글 52

[kotlin]Delegate Pattern을 알아보자

먼 옛날부터 사람들은 코드를 좀 더 아름답게 짜기 위해서 여러 가지 시도를 했습니다. 객체지향 원칙에 맞게끔 항상 고민하고 끊임없는 설계를 구상해왔죠. 그러면서 좀 더 유연하고 유지보수가 쉬운 설계 방식을 연구했고, 기존 개발에 있어서 발생하는 일반적인 문제들(반복 코드 제거, 수정 교체 용이 등등..)에 대해 솔루션을 구상하기 시작했습니다. 그렇게 해서 나온 게 바로 개발 설계를 좀 더 빠르고 잘할 수 있도록 도와주는 솔루션의 집약체 디자인 패턴입니다. Delegate Pattern이란? 디자인 패턴 중 하나인 Delegate Pattern은 어떠한 객체가 기능을 수행할 때 해당 기능을 다른 객체에게 위임하는 패턴입니다. 동일한 기능에 대해 여러번 구현하는 것은 귀찮고 피곤한 일입니다. 그렇다면 한번만..

kotlin 2022.04.11

사이드 프로젝트 캣푸드 기록장 'OUNCE' - 고양이 1000마리 달성

대학생 시절 사이드 프로젝트로 진행했던 캣푸드 기록장 'OUNCE'가 2022년 1월 13일 기준으로 등록 고양이 1000마리를 달성했습니다. 많으면 많고 또 적으면 적은 숫자긴 하지만 그래도 사이드프로젝트로 시작했던 앱 서비스가 많은 집사님들에게 도움이 되니 기분이 너무 좋네요 ㅎㅎ 코드가 많이 난잡해서 아직 삐그덕 대는 부분도 많지만 계속해서 관리하고 업데이트 해나가고 있으니 많은 관심 부탁드립니다. 👍 OUNCE가 궁금하시다면?? https://play.google.com/store/apps/details?id=com.teamounce.ounce 온스 - 집사를 위한 똑똑한 기록장 - Google Play 앱 집사를 위한 똑똑한 기록장, 온스(OUNCE) play.google.com

잡담 후기글 2022.01.13

[Android/Kotlin] SpringAnimation - 2. 강성과 감쇠비

이전 포스팅에서 언급했다싶이 스프링 애니메이션은 스프링력이라는 특정 값과 속도에 따라서 계산되는 애니메이션입니다. 물리학 효과가 들어간 스프링 애니메이션에서 가장 중요한 부분인 강성과 감쇠비에 대해서 얘기해보고자 합니다. 이전 포스팅을 못 보신 분들이라면 보고 오시는 것을 추천드립니다. 참고 링크 https://developer.android.com/guide/topics/graphics/spring-animation?hl=ko 스프링 물리학으로 움직임 애니메이션화 | Android 개발자 | Android Developers 스프링 기반 애니메이션에서 스프링의 속성, 값, 속도는 애니메이션을 만드는 데 사용됩니다. developer.android.com 강성과 감쇠비? 스프링 애니메이션을 적용할 때 사..

안드로이드 2021.11.03

Velog에서도 제 글을 볼 수 있습니다.

제목 그대로 이제 velog도 해보려고 합니다. 원래는 아예 velog로 이전하려고 했는데, 그냥 둘 다 동시에 하면 괜찮을 것 같아서 같이 해보려고 합니다 ㅋㅋ 이제 직장을 다니면서 사회생활을 하게 되니까 블로그 글 쓰는것도 예전만큼 하기 힘들고 그러네요... 그래도 개발자의 길을 걷게 된 이상 꾸준히 공부하면서 실력을 쌓지 않으면 도태된다는 것을 알기에 조금씩이라도 진행해보려고 합니다. 여기에 올라오는 글을 Velog에서도 고스란히 볼 수 있구요. 따로 Velog에는 제가 개발하면서 느꼈던 여러가지 경험이나 팁들을 좀 더 올릴 생각입니다. 현재는 Velog에 두개의 글을 올려놨는데 궁금하신 분들은 링크 타고 가셔서 한번씩 봐주시면 감사하겠습니다. ( 거기서 쓴 글은 Tistory에도 옮겨서 포스팅 해..

잡담 후기글 2021.07.08

[Android/Kotlin] SpringAnimation - 1. 스프링 애니메이션이란?

여러 서비스가 동작할 때 얼마나 그 기능이 문제없이 잘 작동하는 것도 중요하지만 사용자의 반응에 맞춰 적절한 애니메이션이 가미된다면 보다 역동적인 앱을 만들 수 있습니다. 안드로이드에서는 다양한 방법으로 애니메이션을 제공해주고 있는데, 그 중 물리학 모션을 기반으로 만들어진 SpringAnimation에 대해서 알아보겠습니다. 스프링 애니메이션이란? 안드로이드 개발자 문서에서는 다음과 같이 설명하고 있습니다. Spring force is one such force that guides interactivity and motion. A spring force has the following properties: damping and stiffness. In a spring-based animation, t..

안드로이드 2021.07.08

사이드 프로젝트 '생글' 개발 후기

최근 제가 사이드 프로젝트로 참여하여 개발한 앱이 드디어 세상에 빛을 보게되었습니다. 5명의 팀원들과 함께한 프로젝트를 진행한 과정을 작성하면서 개인적으로 느꼈던 점이나 앞으로 사이드 프로젝트를 진행하려는 분들에게 전해드릴 수 있는 자그마한 팁들을 적어보겠습니다. ( + 홍보는 덤 ) 🤨 시작은 단순했으나 그 크기는 어마무시했다. 약 1년 동안 진행한 사이드 프로젝트가 드디어 세상에 나왔습니다. 하루 3번 3분동안 제시되는 글감에 맞춰 글을 쓰는 '생글'이라는 앱은 글짓기를 어려워 하시거나 글짓기 습관을 가지고 싶으신 분들에게 조그맣게 다가가는 목적을 둔 서비스입니다. (이하 `생글 프로젝트`라고 말하겠습니다.) * 지금 다운로드 하러 가기 : 구글 플레이 스토어 이동 생글 - 생각을 글로 자유롭게, 생..

잡담 후기글 2021.07.08

[Android/Kotlin] 중복 클릭을 막아보자(SingleClick) - MingSingleClickListener

현재 회사에 입사해서 열심히 안드로이드 개발자로서 삶을 살아가다 보니 블로그의 관리가 엄청 뜸해지더군요... 첫 직장이라서 피로감이 엄청난 것도 있고, 회사에서 개발하는 것만 해도 엄청나게 양이 많다 보니 포스팅할 체력이 남아나질 않았습니다 ㅜ 그래도 최근에는 어느정도 적응이 돼서 퇴근 후 자기 계발을 틈틈이 하는데요 개인적인 공부를 하다가 문득 라이브러리 제작에 흥미를 가지게 되었습니다. 막연하게 인터넷을 뒤져가며 라이브러리 제작하는 것을 찾아보고 실습해보면서 실제로 배포를 해보고 남들이 잘 써주면 얼마나 좋을까?라는 생각을 안 할 수가 없더군요 ㅋㅋㅋ 그래서 간단하면서도 유용하게 쓰일 만한 기능이 뭐가 있을까 생각하다가 뷰의 중복클릭을 막아주는 라이브러리를 만들어보자 생각했습니다. 물론 뷰의 중복클릭..

안드로이드 2021.05.21

[Android/Kotlin] SharedPreferences 대신 쓰는 DataStore

지금까지 우리들은 로컬에 간단한 데이터들을 저장하기 위해서 SharedPreferences를 사용했습니다. 하지만 현재 안드로이드에서는 DataStore의 사용을 적극 권장하고 있습니다. ( 개발자 문서에서도 SharedPreferences 사용 가이드를 빼버렸더군요 ㄷㄷ... ) DataStore가 무엇 인가요? DataStore는 프로토콜 버퍼를 사용하여 키-값 쌍 또는 유형이 지정된 객체를 저장할 수 있는 데이터 저장소 솔루션입니다. 코루틴 및 Flow를 사용하여 비동기적이고 일관된 트랜잭션 방식으로 데이터를 저장하는 것이 특징이라고 할 수 있습니다. DataStore는 키 - 값 으로 구성되어 있는 Preferences DataStore , 사용자가 정의한 데이터를 저장할 수 있는 Proto Da..

안드로이드 2021.03.12

[Android/Kotlin] 비동기 작업을 위한 Coroutine을 Araboza! (1)

안드로이드의 메인 스레드(=UI 스레드)의 작업량이 많아져 5초 이상의 대기시간이 걸리게 되면 ANR 에러를 일으키면서 앱이 종료됩니다. 그래서 메인 스레드에 부하가 들어가는 작업들은 최대한 다른 스레드에서 작업을 해줘야 하죠. ( 메인 스레드는 UI의 상태 변경에만 쓰이는 것이 제일 좋습니다.) 다른 스레드에서 작업을 하게 된다면 여러 개의 작업이 병렬적으로 동작합니다. 마치 옷 만드는 공장에서 옷감 만들기, 옷 만들기, 포장하기 등 모든 일을 하는 것에서 옷감 만들기 공장, 옷 만들기 공장, 포장하기 공장이 만들어져 각자의 일을 독립적으로 수행하게 되는 것과 비슷합니다. 안드로이드 스튜디오는 비동기적으로 로직을 처리하고 싶을 때 Handler와 Thread, 그리고 AshycTask를 제공했습니다. ..

안드로이드 2021.01.13

[Android/Kotlin] MotionLayout - 3 ( Lottie와 ViewPager 활용 )

[이전 포스팅] [Android / Kotlin] MotionLayout - 1 ( 애니메이션을 쉽게 적용하기 ) [Android / Kotlin] MotionLayout - 2 ( 실제로 적용해보자. ) 오랜 공백을 깨고 돌아왔습니다. ㅎㅎ 학교도 드디어 종강을 맞이했겠다. 다시 천천히 블로그 포스팅을 진행해보려고 합니다. 그 복귀의 첫 번째 포스팅으로 MotionLayout-2에서 언급했던 실습에 대해서 포스팅하려고 합니다. ( 약 3개월 만의 MotionLayout 시리즈 포스팅.. 가슴이 웅장해진다. ) 이전 포스팅에서 언급했던 대로 이번에는 로티와 뷰 페이저를 연동하여 다음 웹툰의 메인 화면 애니메이션을 연출해보는 ( 비슷하게라도 따라 해 봅시다! ) 시간을 가져보려고 합니다. 결과 화면 먼저 ..

안드로이드 2020.12.21