본문 바로가기
반응형

분류 전체보기75

viewLifecycleOwner.lifecycleScope vs lifecycleScope 별 생각 없이 코드를 작성하다가(정확히는 멋모르고?) 저에게는 충격적으로 와닿은 것이 있었습니다. 생각해보면 면접때도 관련된 내용이 나왔었는데, 연관되지 않는다고 생각해서 그냥 지나쳤던 기억이 있네요. 그래서 이번에는 정리해볼까 합니다. 이번 주제는 viewLifecycleOwner.lifecycleScope로 선언한 코루틴 블럭과 그냥 프래그먼트의 lifecycleScope의 차이점에 대해서 알아보려고 합니다. lifecycleScope 두 개의 차이점을 알아보기 전에 먼저 lifecycleScope가 뭔지 알아보겠습니다. 먼저 lifecycleScope는 CoroutineScope의 일종인데, 이름처럼 view의 lifecycle에 맞춰 실행되는 범위가 정해지는 코루틴을 의미합니다. 이러한 Corou.. 2022. 10. 20.
PHP - closure(클로저) 회사에서 서버 프레임워크로 라라벨을 이용하고 있습니다... 덕분에 서버 개발자로서의 첫 발을 라라벨로 내딛게 되었는데요. 문제는 제가 PHP 지식이 하나도 없다는 점입니다. 그래서 이제부터 PHP를 공부해보려고 합니다.(뭐든 알아두면 좋지 않을까 하는 호기심 가득한 개발자라 다행인 것 같습니다.) PHP에서 Closure는 5.3 버전에서 처음 등장했습니다. 더욱이 5.4 버전부터 추가적인 메소드들이 제공되어 조금 더 클로저를 사용하기 편리해졌습니다. 뭐, 이미 PHP가 8버전까지 나왔으니 왠만한 PHP 코드들은 다 Closure를 사용할 수 있다고 볼 수 있겠습니다.(보편적으로 7.x 버전을 사용한다고 하더라도) PHP 공식문서에서는 아래와 같이 Class used to represent anonymo.. 2022. 10. 14.
안드로이드 쓰레드의 통신 과정(Looper, Handler, MessageQueue) 요즘은 안드로이드 프레임워크의 내부 구조에 관해 관심이 많아지기 시작했습니다. 아무래도 처음 접할때는 내부 구조보다는 당장 안드로이드 애플리케이션을 어떻게 구동하는지에 대해서 관심이 많아 일단 만들고 가꾸는데 초점을 뒀었고 주변에 안드로이드 개발자가 혼자 뿐이어서 스스로 잘 해나가고 있는 줄 알았는데, 근래 다른 사람들의 코드를 엿볼 기회가 생기면서부터 점점 제 코드가 안타깝게 느껴지고 있네요. 아직 많은 발전이 필요한 모자란 개발자로서 아키텍처 및 코드의 구성에 대한 공부도 해야겠고, 내부 구조에 대해서도 어느정도 알아야 한다는 것 때문에 시간이 참 모자란 것 같습니다. 조금 늦기는 했지만 초보 개발자로서 이제라도 한 발 나갈 기회를 얻었다는 점에 만족하며 계속 글을 쓰지 않을까 합니다. 안드로이드에는.. 2022. 9. 25.
안드로이드 Application Class 이번 주제는 어느 정도 규모가 있는 안드로이드 애플리케이션을 제작하다 보면 필수적으로 건들게 되는 Application Class에 대해서 알아보려고 합니다. 사실 이것저것 예제를 따라 많이 사용을 했었던 Class인데, 막상 뭐냐고 물으니 대충 앱 정보를 가지기 위해 전역 변수 등의 정보를 가지고 있는 Class가 아닐까? 하는 정도의 수준에 머물러 있었습니다. 그래서 이번에 한 번 제대로 알아봐야 하지 않을까 하는 생각에 글을 끄적여 봅니다. 일단 Application Class가 언제 실행되는지 알아야 할 필요가 있습니다. 먼저 안드로이드 스튜디오를 통해 안드로이드 앱을 제작하게 되면, 개발자가 볼 필요는 없지만 안드로이드에서도 숨겨진 main 함수가 존재하고 있다는 것을 알 수 있습니다. main.. 2022. 9. 11.
스레드(Thread)란? 얼마전에 여행 관련해서 꽤 괜찮은 회사의 면접을 진행했었습니다. 예전 면접들과는 다르게 나름 준비도 했다면 했고, 이제 어느정도 경력도 쌓여 면접관의 질문에 정확하게는 아니더라도(단어나 그 순서 등이) 내가 알고 있다는 것 정도는 어필할 수 있는 수준으로 대답할 수 있을 것이라는 묘한 자신감도 조금 있었습니다. 그러나 면접은 신기한게 준비를 하면 할수록 더더욱 특이한 곳에서 터지고, 그로 인해 결국 제대로 대답하지 못하고 망하는 경우가 많았습니다. 이번에도 마찬가지로 분명 알고 있는 내용임에도 불구하고 횡설수설 한다던가, 용어가 기억이 안나 모른다고 대답하고 말아서 준비가 덜 된 것이 아닌가 하는 생각이 듭니다. 아무래도 아직도 기초가 부족한 모양이라, 하나하나 기록해둬야겠습니다. 이번 글의 주제는 스.. 2022. 8. 26.
ANR(Application Not Responding)이란? 이번에 모 회사의 코딩 테스트 문제를 풀고 있는데, 객관식 문제에서 ANR에 대해 묻는 문제가 나왔습니다. 아무래도 안드로이드 애플리케이션을 운영하다보면, 구글 플레이에서 보여주는 통계에서 ANR 비율도 보여주기 때문에 ANR이 무엇인지 모를 수는 없지만, 아무래도 정확하게 알지 못할 수도 있겠다 싶어 확실히 정리하고 가려고 합니다. ANR, 그러니까 Application Not Responding은 뭔가 깊은 뜻이 따로 있을 것 같지만 어이없게도 번역 그대로 애플리케이션이 응답하지 않는다는 의미입니다. 일단 이 ANR이 뜨기 위해서는 안드로이드의 mainthread가 5초 이상 동작하지 않아야 한다고 공홈에 적혀 있습니다. 그러니까 이 ANR은 비정상 종료라고 하는 exception이 발생해 애플리케이.. 2022. 8. 6.
728x90