본문 바로가기

개발26

토이프로젝트 1-1 주제 공부도 할 겸 간단하게 해보자. 컨셉은, 내가 주식 수익률을 은행 예금과 비교하는거지. 지금까지 물려서 들고 있던 것들을 만약에 예금을 넣었다면?을 확인하는거야 목표로한 예금 수익률 대비 갑자기 주가가 확 뛰어서 몇 개월치 예금 수익이 나오면 미리 팔수도 있도록 할 생각이야. 뭐 대부분은 역시 은행 이자가 짱이다 하겠지만. 하면서 공부한 내용을 같이 녹여서 포스팅을 해볼려고. 2023. 2. 18.
코루틴 간단 개념 코루틴은 비동기적으로 작업을 수행할 때 쓰이는 것이야. 스레드와 같은 역할을 하는데, 스레드보다 가볍고 메모리를 적게 사용하면서 동시에 여러 작업을 할 수 있어. 일반적으로 비동기 작업은 콜백 함수나 RxJava와 같은 라이브러리를 사용하여 구현되지만, 이러한 방법은 코드를 복잡하게 만들고 디버깅하기 어렵지. 특히 RxJava같은 경우 학습커브가 꽤 높고. 근데 코루틴을 사용하면 코드가 비동기적으로 실행되지만, 동기적으로 작성할 수 있어. 즉 그냥 동기적으로만 생각해서 코드를 짜고 중간에 일시 중지를 하면, 이때 다른 코루틴을 알아서 실행해주지. 그래서 한 번에 여러 작업을 수행할 수 있게 해줘. 그러다 보니 코드를 더 읽기 쉽고 유지 보수하기 쉽게 만들어주지 그리고 Kotlin 언어에 내장되어 있어서 .. 2023. 2. 17.
코루틴(coroutine)에서 suspend, resume의 역할? 개념? 먼저 간단히 얘기하면 a기능 b기능이 각각 메인스레드 및 io스레드를 사용한다고 해보자. 예전에는 메인스레드 부분을 하나로 짜고 리스너 뭐 이런식으로 a,b의 아이오스레드쪽을 따로 처리했다면, 코루틴은 그냥 a기능으로 함수 하나, b기능으로 함수 하나 만들어서 중간에 io스레드 갈일 있으면 서스펜드해놓기만 하면, 코루틴이 알아서 두 함수를 왔다리 갔다리 해준다는 거임 개념적으로 설명하면, 코루틴에서 suspend와 resume은 코루틴의 일시 중지와 재개를 제어하는 메커니즘이야 suspend는 코루틴을 일시 중지 시키고, 코루틴이 일시 중지되면 다른 코루틴이 실행되는거지. suspend 키워드는 일반적으로 I/O 또는 시간이 오래 걸리는 작업을 수행하는 함수에서 사용되지. 즉 화면 열심히 그리다가 io스.. 2023. 2. 17.
app visibility, getPackageInfo 실패할때 안드로이드11부터 "app visibility" 정책이라고 다른 앱의 정보를 얻을 수 있는 방법을 제한하기 시작했어. 이러한 정책은 사용자의 개인 정보 보호와 보안을 강화하고, 악성 앱이 다른 앱의 정보를 수집하거나 이를 악용하는 것을 방지가 목적인거로 보이는데, 그래서 다른 앱 정보를 보고 싶으면 사용자에게 알리는? 뭐 그런 과정이 필요하지. 다른앱 정보를 보고 싶으면 "queries" 항목에 해당 패키지명을 추가해야해. 이러면 세팅 어딘가에서 앱 권한 보여주는 곳 어딘가에서 내가 저 패키지 권한보려고 해요 라고 써지는 거지 2023. 2. 17.
반응형