반응형 분류 전체보기93 Flutter란? 플러터를 처음 써본 건 2020년 회사에서 플러터로 앱을 만들 수 있느냐 없느냐 하는 점심시간의 수다 내용으로부터 시작되었었는데요. 그 당시에는 가벼운 테스트 끝에 플러터 자체가 별로 좋지 않아서 쓰지 않는 걸로 결론이 났었는데, 이제 어느덧 꽤 많은 앱들이 플러터로 만들어지고 있더라구요. 그래서 이 번에 다시 플러터에 대해서 공부해보고자 합니다.Flutter란? 다들 아시겠지만 플러터는 크로스플랫폼을 위한 프레임워크입니다. 잘 모르시는 분들에게는 iOS와 안드로이드를 동시에 개발할 수 있다 정도로 알고 계시지만, 웹과 데스크탑 앱도 만들 수 있습니다. 하지만 웹은 flutter 2.0부터 지원하고 있으며 2.0은 21년도에 공개된 아직 따끈따근한 신상이기 때문에 조금 아쉬운 부분이 많다고 합니다. 또한.. 2025. 6. 13. ComposeUI의 구성 순서와 SideEffect ComposeUI를 구성하는데 있어 DisposableEffect와 LaunchedEffect는 굉장히 중요한 요소인데요. 회사에서 ComposeUI를 다루다 잘 안되던 문제를 잡다 문득 정리가 필요할 것 같아서 UI의 구성 순서와 Effect의 발생 시기를 정리해보려고 합니다.SideEffect란 ComposeUI에는 대표적으로 Composable로 표현되는 UI 구성요소와 SideEffect라는 UI 이외의 데이터를 가공하고 처리하는 구성요소로 이루어져 있습니다. 그 중 SideEffect는 UI를 직접적으로 구성하는(View가 아님!) 것과 별개로 이루어지는 작업들을 일컫습니다. 이 SideEffect에는 LaunchedEffect와 DisposableEffect, SideEffect(이름이 동일한.. 2025. 5. 22. Context parameter from Context Receiver 코틀린 2.0.20버전에서 context parameters라는 기능이 추가되었는데요. 이 기능을 처음 봤던 터라, 뭔가 하고 보기 시작했습니다. 그런데 이전에 1.6.2 버전에서 추가된 context receiver라는 친구가 있더라구요. 이를 대체하는 기능이 새로 추가되었고, 기존에 있던 context receiver는 제거된다고 합니다. 찾아보니 종속성을 위한 기능 같은데, 안드로이드에서는 대부분 hilt와 같은 라이브러리로 구현을 하기 때문에 예제나 이런 부분들을 많이 찾아볼 수 없나 봅니다(구시대 프로젝트들은 코틀린 버전이 낮은 것도 한 몫 하겠군요) 하지만 꽤 쓸모있는 부분이러고 생각되어 한 번 공부해보았습니다. Context Receivercontext parameter를 보기 전에 먼저 적.. 2025. 5. 12. media3의 exoPlayer - ComposeUI 이번에 회사에서 exoPlayer2를 쓰고 있다가 media3로의 전환을 시도했는데요. 처음에는 exoPlayer 자체가 레거시한 코드라고 생각해서 media3에 있는 exoPlayer도 쓰지 않을 예정이었습니다만, 잘 찾아보니 exoPlayer의 코드와 media3에서 제공해주는 코드 중 중복되는 것들이 많아 이를 한 번에 관리하고자 주체를 media3 라이브러리로 옮긴 것에 불과해 사용해도 문제가 없겠다는 판단을 하게 되었습니다. 그래서 exoPlayer는 그대로 사용하되, 라이브러리만 exoPlayer2에서 media3로 이전해왔습니다. 하지만 기존에 Java로 Activity가 구성되어 있어 이왕 하는 김에 Compose UI로 이전해보고자 ExoPlayer를 구성했는데, 이것 참 ExoPlaye.. 2025. 4. 16. Kotlin - Dispatcher 매번 coroutine을 사용할 때 마다 Dispatcher를 어디에 두고 쓰는 것이 좋은가 고민할 때가 있었는데요.(뭐, Retrofit을 쓰는데 Main을 쓴다던가 UI를 Default에서 그린다던가 하는 개념은 아닙니다...) 그 중 자주 사용하면서 고민이 제일 많이 되는 부분은 아무래도 그 쓰임새가 조금 불명확한 Dispatcher.Default 였습니다. 그래서 언젠가 한 번 개념 정리를 다시하고 가야겠다 생각했었는데, 얼마전 면접에서 이 부분을 물어보더라구요. 이제 연차도 좀 쌓이고 해서 이런 부분에 대해서 어떻게 사용하고 있는지는 설명할 수 있는데 아직도 개념적인 부분을 매끄럽게 설명하려니 말문이 막혀서 한 번 정리해보고자 합니다.Dispatcher란? Dispatcher란 코루틴을 어떤 방.. 2025. 4. 1. swift character의 isWhitespace(이름의 중요성?) 되게 간단한 글이 될 예정입니다. 아래 링크에 있는 메소드를 설명할 건데요.https://developer.apple.com/documentation/swift/character/iswhitespace isWhitespace | Apple Developer DocumentationA Boolean value indicating whether this character represents whitespace, including newlines.developer.apple.com 이 글을 작성하게 된 계기도 되게 자그마합니다. 회사 코드리뷰에서 iOS 개발자분이 String의 확장함수로 isWhitespace라는 함수를 구현했는데, 이걸 본 다른 회사의 개발자분이 isWhitespace라는 네이밍이 이상하다.. 2025. 1. 16. 이전 1 2 3 4 ··· 16 다음 728x90