본문 바로가기

개발26

카나리 버전이란? 개발 툴 관련해서 다운받다보면, 카나리 버전이라는게 공통적으로 보여서 뭔지 설명해 보면 좋을 것 같아 포스팅 해봄 sw에서 카나리 버전이라는 것은 새로운 소프트웨어 버전이나 새로운 기능을 실제 사용자들에게 라이브 환경에서 테스트하는 것을 말해. 일부 코드 변경 사항을 소수의 사용자들에게만 적용해서 그들의 반응을 보는 거야. 이렇게 하면 새로운 코드가 문제가 있어도 영향을 최소화하고 빠르게 되돌릴 수 있지. 카나리 버전이라는 용어는 석탄 광산에서 쓰던 '광산의 카나리아'라는 표현에서 유래했어. 카나리아 새들은 유독 가스에 대한 내성이 사람보다 낮아서 광산 안의 가스 농도가 위험 수준에 도달하면 광부들에게 경고해줬거든. 소프트웨어에서 카나리 버전은 새로운 코드를 받는 소수의 사용자들을 의미해. 그들은 광산에.. 2023. 5. 31.
토이프로젝트 1-10 flow, scope 이용하기 이번에는 제대로 코루틴을 써보자고. 룸에서 지원하는 기능중에 데이터를 그냥 받는것도 있지만, flow나 livedata로 만들어주는 기능이 있어. 그걸 이용해보려고 해 먼저 flow가 뭔지 궁금하면... https://lonewhite.tistory.com/33 코루틴에서 Flow가 뭐야? 일단 정의 먼저 보면, "코틀린의 플로우는 순차적으로 값을 내보내고 정상적으로 또는 예외로 완료되는 비동기적인 데이터 스트림입니다." 정의만 봐도 대충 뭔소린지는 알겠지??? rx를 써 봤으 www.lonewhite.com 방법은 간단해 그냥 아래처럼... 넘겨주는걸 flow로만 바꾸면 끝! import kotlinx.coroutines.flow.Flow @Dao interface InvItemDao { // @Que.. 2023. 5. 3.
코루틴 Scope가 뭐야?? 코루틴이 더 이상 필요하지 않을수 있자나? 할일 다 했다던가.. 액티비티가 닫혔다던가.. 근데 그 스레드? 가 살아 있을 필요는 없자나. 그래서 그걸 처리를 해줘야 하는데... 그 단위? 가 scope인거야. viewModelScope를 예를 들어 볼까?? viewModelScope는 안드로이드가 알아서 해당 viewModel의 lifecycle에 맞춰서 처리해주는 Scope야. 그래서 viewModel이 더이상 사용되지 않을때 그 viewModelScope는 정리가 되는거지. 이건 viewModelScope처럼 만들어주는게 있고, 내가 스스로 정의해서 사용해도 됨. 전체 앱 생명주기에 쭉 쓰는거라면 전체를 아우르는 GlobalScope 을 쓰면 되는거고... 각은 액티비티 내부에서도 커스텀으로 나눠서 .. 2023. 5. 2.
코루틴에서 Flow가 뭐야? 일단 정의 먼저 보면, "코틀린의 플로우는 순차적으로 값을 내보내고 정상적으로 또는 예외로 완료되는 비동기적인 데이터 스트림입니다." 정의만 봐도 대충 뭔소린지는 알겠지??? rx를 써 봤으면 대충 알텐데... 쉽게 설명해서... 데이터를 비동기적으로 계속 뿅뿅 하고 쏘는 애다 라고 이해하면 쉬울 것 같아. 예를들어 내가 DB가 하나가 있다고 생각해보자. 그래서 그걸 불러와서 쫙 화면 뿌려줬어. 근데 다른 스레드에서 뭔가 작업을 하면서 DB에 추가를 했네? 그럼 view에서 그걸 보고 또 DB에 쿼리하고 하면 귀찮자나. 그래서 내가 flow를 하나 만들기로 했어. 데이터가 변경되면, 데이터를 다시 쏴주는거지. 다른 스레드에서 DB가 변경되면 flow에 새로운걸 던지는 식으로. 그럼 View에서는 그냥 그.. 2023. 5. 1.
반응형