본문 바로가기

전체 보기36

ChatGPT 사용 제한량 정리 : 무료, 유료 사용자 비교 안녕하세요!최근 2024년 5월 13일부터 ChatGPT-4o가 무료 사용자에게도 서비스되기 시작했습니다.ChatGPT를 잘 이용하고 있는 저에게는 너무 반가운 소식이었습니다.새로운 기능도 써보고 이것저것 질문도해봤는데 어느 순간 ChatGPT 3.5로 전환이 됐습니다.알아보니 ChatGPT에 메시지 사용 제한량이 있다는 사실을 알게 되었습니다.이번 글에서는 해당 내용을 간략하게 정리해보려고 합니다.     ChatGPT 사용 제한량 : 무료 이용자(Free) 무료 이용자는 ChatGPT-4o, ChatGPT-3.5를 사용할 수 있습니다.openai 공식사이트에서 무료 이용자 사용 제한량에 대해 아래와 같이 설명합니다.ChatGPT Free TierUsers on the Free tier will be .. 2024. 5. 17.
ChatGPT 효율적으로 사용하는 방법 : 맞춤형 지침 설정 최근 2024년 5월 13일에 ChatGPT-4o가 공식적으로 소개되면서 ChatGPT에 대한 관심이 뜨거운 것 같습니다.개인적으로는 앞으로도 ChatGPT 사용자는 계속해서 늘어날 것 같습니다.이번 기회에 ChatGPT를 사용할 때 꼭 추천드리고 싶은 설정 중에 맞춤형 지침(custom instructions) 설정을 소개드리려고 합니다.정말 간단한 설정이면서 ChatGPT 응답의 질을 굉장히 높일 수 있습니다!     맞춤형 지침(custom instructions) 설정 중요성 맞춤형 지침(custom instructions) 설정은 현재 사용자의 정보를 알려주고 ChatGPT의 응답방식을 지정해서 ChatGPT에게 더 나은 응답을 이끌어낼 수 있는 설정입니다.처음 보는 사람과 대화하는 것보다 나를.. 2024. 5. 16.
코틀린 스레드 및 코루틴 중복 실행 방지 방법 앱에서 비동기 작업을 처리할 때는 중복 실행으로 인한 불필요한 리소스 사용이나,예상치 못한 오류로 인한 비정상 종료 등의 문제가 발생할 수 있습니다.이를 방지하기 위해 중복 실행으로 인한 문제여부를 체크하고 중복 실행에 대한 작업을 추가하는 것은앱의 안정성을 높일 수 있는 방법 중 하나입니다.따라서, 스레드 및 코루틴을 이용한 비동기 작업을 처리할 때 중복 실행을 관리하는 방법에 대해 정리해보려고 합니다.     스레드(Thread) 중복 실행 방지 : Flag "isThreadRunning"이라는 플래그를 사용해서 연속적으로 호출되더라도 중복해서 실행되는 것을 막을 수 있습니다.private var isThreadRunning = falseprivate fun threadExample() { if.. 2024. 5. 14.
안드로이드 스튜디오 다운로드 및 설치 (가볍다!) 최근 새로운 PC를 구매하면서 안드로이드 스튜디오를 설치하려고 하는데요.이번 기회에 설치하는 방법도 간략하게 글로 남겨보려고 합니다.다양한 환경설정이 있을 수 있겠지만 대부분 설치 후에 필요해지면 그때해도 늦지 않습니다.일단 복잡한 환경 설정은 모두 제쳐두고 다운로드 > 설치 > 실행까지만 초점을 맞춰 보겠습니다.      안드로이드 스튜디오 다운로드 가장 먼저 아래 링크에서 안드로이드 스튜디오 설치파일을 다운로드합니다.안드로이드 스튜디오 다운로드 Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android DevelopersAndroid Studio provides app builders with an integrated developme.. 2024. 5. 11.
안드로이드 소수점 표기 올림? 버림? : String.format, DecimalFormat 길게 나열된 소수점이 있을 때 종종 둘째 자리 또는 셋째 자리까지만 소수점을 표기해야 할 때가 있습니다.이번 글에서는 코틀린에서 소수점 표기하는 방법으로 String.format / DecimalFormat을 정리하려고 합니다.또한 소수점을 표기할 때 올림, 반올림, 버림은 어떻게 적용되는지 살펴보려고 합니다.     소수점 표기방법 : String.format String.format을 사용해서 원하는 소수점까지 표기하는 방법은 아래와 같습니다.String.format("%.2f", floatValue) // 소수점 둘째 자리까지 표기 String.format("%.3f", floatValue) // 소수점 셋째자리까지 표기  아주 심플하게 사용이 가능한데요, 한 가지 주의사항이 있어요.String.f.. 2024. 5. 10.
코틀린 데이터 변경 감지 : 프로퍼티 위임(Delegated Properties) Observable Properties란 데이터의 변경을 감지하고 이를 관찰할 수 있는 기능을 제공하는 속성입니다.대표적으로 LiveData 있지만...!이번 글에서는 Kotlin 라이브러리에서 제공하는 프로퍼티 위임(Delegated Properties)에 대해 살펴보려고 합니다.프로퍼티 위임에 사용되는 Delegates.observable / Delegates.vetoable에 대해 알아보고,프로퍼티 위임과 LiveData에 대한 차이점도 간략하게 정리해보려고 합니다.     프로퍼티 위임(Delegated Properties) 프로퍼티 위임은 변수의 변경을 감지할 수 있습니다.Delegates.observable 또는 Delegates.vetoable를 통해 콜백을 호출하여 추가적인 작업 수행이 가.. 2024. 5. 8.
앱 백그라운드 상태 체크 : LifecycleEventObserver, DefaultLifecycleObserver 앱이 백그라운드인지 포그라운드인지 체크하려면 어떻게 해야 될까요?생명주기를 관찰하는 LifecycleObserver를 활용할 수 있습니다.위 그림은 LifecycleObserver 개발자 문서 일부인데요LifecycleObser를 바로 사용하지 말고,확장된 인터페이스로 LifecycleEventObserver 또는 DefaultLifecycleObserver를 사용하시면 됩니다.     Application 클래스 생성 앱에 전반적인 생명주기를 관찰하기 위해 Application 클래스가 필요합니다.생성한 Application 클래스 이름을 아래와 같이 manifests에 등록해 주세요.     LifecycleEventObserver 사용 LifecycleEventObserver는 onStateChan.. 2024. 5. 7.
안드로이드 캡처 효과 예제 : CaptureEffectView 최근 안드로이드 캡처 동작 관련해서 공부하다가 캡처는 잘되는데... 뭔가 심심한 느낌이 있습니다.안드로이드 기기에서 지원하는 전원+볼륨 다운 버튼으로 screenshot을 했을 때 나오는 효과처럼내가 작성한 캡처 동작에도 효과가 들어가면 좋을 것 같아서 애니메이션을 활용해서 캡처 효과를 추가하였습니다.애니메이션을 활용한 캡처 효과 예제를 간략하게 정리해보려고 합니다.     애니메이션 : ObjectAnimator 사용 캡처 효과를 주기 위해 ObjectAnimator를 사용하려고 합니다.ObjectAnimator는 속성 애니메이션(Property Animation)을 제어하기 위한 클래스입니다.이 클래스를 사용하면 원하는 객체의 속성을 부드럽게 애니메이션화 할 수 있습니다.대표적으로 다룰 수 있는 속성.. 2024. 5. 2.
코틀린 화면 캡처 Canvas, PixelCopy 비교 안드로이드 화면을 캡처에 사용되는 방식으로 Canvas 그리기와 PixelCopy가 있습니다.두 가지 모두 특정 View 영역에 대한 Bitmap을 가져와서 처리할 수 있는 건 똑같지만Canvas, PixelCopy를 비교해서 어떤 차이가 있는지 정리해보려고 합니다.     화면 캡처 : Canvas 샘플 코드 captureScreenWithCanvas 메서드는 Canvas를 활용하여 전체화면을 캡처하는 동작을 합니다.private fun captureScreenWithCanvas() { val rootView = window.decorView.rootView val width = rootView.width val height = rootView.height val bitmap = .. 2024. 4. 30.
Android 14 MediaProjection 권한 허용 : ADB Shell MediaProjection은 안드로이드 화면 캡처 및 녹화 기능을 지원해 주는 API입니다.MediaProjection을 사용하기 위해서는 위와 같이 사용자 승인을 받아야 하고,앱이 권한을 부여받았을 때 캡처 및 녹화 기능을 사용할 수 있습니다. Android 14 이전까지 해당 권한을 승인받았을 때의 Intent를 재활용하여 사용할 수 있었습니다.즉, 앱 실행하고 최초 권한 승인을 한번 받으면 이후 권한 승인 없이 진행이 가능했습니다. 해당 동작이 보안상 문제였는지 Android 14 이후로는 권한 승인했을 때 Intent 재활용이 불가능하였고이제 캡처 및 녹화기능을 동작할 때마다 반드시 해당 권한 승인을 받아야 합니다.결론적으로 앱에서는 해당 권한 승인을 넘길 수 있는 방법은 찾을 수 없었지만ADB.. 2024. 4. 29.