묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모던 안드로이드 - Jetpack Compose 입문
TodoList - 04에서 recentlyDeleteTodo가 null일 경우 처리 방법 문의
개인적으로 변수가 null일 경우변수?.let {}이렇게 사용해 왔는데요. 강의에서는 viewModelScope.launch { todoRepository.addTodo(recentlyDeleteTodo ?: return@launch) }이렇게 사용 하셨는데요. 해당 부분만 보면 뭐가 더 좋다 이럴게 없어 보이기는 하는데요. 혹시 특정한 상황에서 ?: return 으로 하는 것이 필요한(or 더 좋은) 경우가 있을까요?
-
해결됨2시간으로 끝내는 코루틴
스프링 MVC 환경에서의 코루틴
안녕하세요.Spring MVC 환경에서 코루틴을 사용할 때 질문이 있습니다. (WebFlux 사용 X)다음과 같은 코드가 있다고 가정하겠습니다. 컨트롤러@GetMapping("/test") suspend fun test(): ApiResponse<Void> { testService.run() return ApiResponse.success(statusCode = HttpStatus.OK) }서비스class TestService( private val userRepository: UserRepository, ) { suspend fun run(): Triple<String, String, Int> { // 외부 API 호출 1 val nicknameDeferred = CoroutineScope(Dispatchers.IO).async { callApiForNickname() } // 외부 API 호출 2 val addressDeferred = CoroutineScope(Dispatchers.IO).async { callApiForAddress() } // Do something business logic // DB 호출 val duplicateCount = userRepository.findDuplicateCountById(1L) return Triple(first = nicknameDeferred.await(), second = addressDeferred.await(), third = duplicateCount) } }(callApiFor~() 메소드는 외부 API 호출이라고 가정하며 suspend function입니다)서비스 레이어에서는 2개의 외부 API 호출을 수행하고 DB호출을 한 후 리턴해주는 간단한 구조입니다. 질문초기에는 내부적으로 코루틴을 사용할 지 말지 결정할 수 없는 상황이 있기에 모든 컨트롤러 메소드를 suspend로 선언하는건 어떨까 합니다. (2번 질문의 성능 차이가 크지 않다면요^^) 이 부분에 대해 강사님의 생각과 실무에서는 보통 어떻게 하는지 궁금합니다.위 질문에 이어서, 코루틴이 전혀 사용되지 않는 상황에서 컨트롤러 메소드를 suspend로 선언하면 일반 메소드로 선언하는것과 성능차이가 어느정도 있을까요? (물론 트래픽 등 기타 상황별로 다르겠지만요)서비스 레이어를 보면 CoroutineScope을 통해 각 외부 API호출별로 루트 코루틴을 따로 만들고 있습니다. 각 외부 API들은 단순 조회 요청으로써 구조적 동시성이 필요하지 않다고 생각하기 때문인데요. 실무에서도 위와 같이 여러개의 외부 API호출을 병렬로 수행해야하는 경우 각 호출마다 CoroutineScope을 사용하여 개별로 루트 코루틴을 만들어서 사용하는지 궁금합니다.일반적인 웹 API 서버 개발을 수행할 때 구조적 동시성이 필요한 케이스가 있을까요? 어차피 추후 로직을 통해 반환값에 대한 검증을 수행한다고 생각해서요. 예를 들어 A, B, C를 코루틴으로 호출할 때 A가 실패해서 B, C를 취소하려해도 각 메소드의 레이턴시에 따라 취소될수도, 이미 완료됐을수도 있을 것 같습니다. 실무에서 웹 API 비즈니스 로직 구성 시, 개별 루트 코루틴이 아닌 하나의 루트 코루틴으로 묶어서 구조적 동시성을 보장해야만 하는 상황이 있을지, 있다면 무엇일지 궁금합니다.감사합니다.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
강사님 실시간으로 혹시 문의하는 방법은 없을까요??
시간대가 서로 안 맞는 것 같아서 오류 하나 해결하는데 너무 오랜 시간 걸리는 듯해요...
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
해당 강의 들으시는 분들 중에 교육관련해서 서로 얘기 나누실 분 있으신가요??
서로 오류나 문제발생 하는거 공유하고 서로 도움 줄 수 있는 분들 소통하고 싶습니다... 저는 FCM에서 지금 한 달째 멈춰있는데, 이전까지 했던 것에 대해서는 제가 아는 선에서 도움을 드리겠습니다.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
강사님 FCM 단계 진행하면서 오류들이 너무 많이 발생합니다...
진도가 나가지지 않아서 막막합니다...도움이 필요합니다...오류 발생한 것에 대한 내용도 글로 정리된 링크나 안내를 실시간으로 받아볼 수 있는 방법은 없을까요?? ㅠㅠ지금 한달 내내 같은 곳에서 멈춰있는 듯해서 미칠지경입니다...한 발 더 딛고 싶은데 같은곳에서 빙빙도니까 정말 정신적으로 너무 힘이드네요.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
자료형 불일치 오류가 뜹니다
명언 앱 만들기 강의 수강 중 Type mismatch: inferred type is ViewDataBinding! but ActivityMainBinding was expected위와 같은 오류가 발생합니다. binding=DataBindingUtil.setContentView(this,R.layout.activity_main)에 빨간 밑줄이 그어집니다. package com.junho.goodwords import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import com.junho.goodwords.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) binding=DataBindingUtil.setContentView(this,R.layout.activity_main) binding.showAllSentencesBtn.setOnClickListener { val intent= Intent(this,SentenceActivity::class.java) startActivity(intent) } } }gradle 에서는 buildFeatures{ dataBinding=true viewBinding=true }로 설정하였습니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
북마크 페이지 화면이 이상하게 나옵니다.(망고)
제목에 나왔듯이 북마크 페이지에서 이미지가 나오지 않는데 어떤 페이지를 수정해야 할까요?ㅠㅠ
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
빌드가 되지 않습니다
실행하려고 하면 위와 같이 빌드에 실패했다는 말과 함께 오류가 뜹니다. 전체 폴더를 구글 드라이브에 올려두었습니다. https://drive.google.com/drive/folders/1mbyI-lZ2UKh4nxh15dJqfDuF1pAWuNP-?usp=sharing
-
해결됨스프링은 어려워! 코틀린과 Ktor로 백엔드/서버개발 기초정복 (커피주문시스템 개발)
jar 배포 시 frontend 페이지에 접속이 안되는 이슈
./gradlew buildFatJar 로 빌드한 후에jar를 실행해보니 frontend 페이지가 접속이 안되는 이슈가 있었습니다 (윈도우, 맥 환경 동일).다른 분들은 정상적으로 실행되는데 제 환경이 잘못되어서 그런지도 모르겠습니다. Routing.kt에 react 설정부분을 아래와 같이 변경하니 정상적으로 동작합니다. frontend 폴더는 ./resources 폴더로 이동시켰습니다. 어떤 문제때문에 발생한 이슈인지 강사님이나 고수님들이 조언 주시면 감사하겠습니다. 😄 [기존 코드] singlePageApplication { react("frontend") } [변경 코드] staticResources("/", "frontend") { default("index.html") preCompressed(CompressedFileType.GZIP) }
-
해결됨스프링은 어려워! 코틀린과 Ktor로 백엔드/서버개발 기초정복 (커피주문시스템 개발)
혹시 kotlinx-datetime 라이브러리를 사용하지 않으신 이유가 있으신가요?
java 의 datetime 라이브러리를 사용하게 됨으로써, exposed 에서나 kotlinx-serialization 을 통한 직렬화에서도 직접 custom serializer 를 만들어주거나, 별도의 라이브러리를 주입하여 처리해주는 부분이 늘어간 것 같아서 질문을 드리게되었습니다.kotlinx-datetime 라이브러리를 통해 datetime 을 핸들링하게 될 경우엔 kotlinx-serialization 을 통해 직렬화 및 역직렬화를 수행할때, 별도의 custom serializer 를 만들어주지 않아도 라이브러리에서 지원이 되어서요. (exposed 는 이번에 처음 사용해서 지원하는 타입들이 내장되어 있는지 조사해봐야할 것 같습니다.)java 의 datetime 라이브러리가 아무래도 아직 더 대중적으로 사용하는 라이브러리라서, 익숙해서 사용하신 것인지, 이유가 궁금합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
BTS 만들 intent 사용에 오류
강의대로 intent 작성 후 alt+enter를 누르면 사진과 같이 밑에 새로운 함수가 생겨버립니다?어디가 잘못된 걸까요??import 부분도 강의 부분과 조금 다른듯 해서요
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
FCM 토큰 문의
안녕하세요 강의 관련 문의가 있습니다.3분 00초에서 기존 회원의 경우 토큰 값이 없어서DB에서 삭제 후 신규 가입을 하셨는데요회원정보 삭제 없이 DB에토큰 값만 Update 할 수 있는 방법은 없을까요 ?강의 잘 보고 있고 항상 감사합니다 :
-
해결됨스프링은 어려워! 코틀린과 Ktor로 백엔드/서버개발 기초정복 (커피주문시스템 개발)
첫번째 Ktor 서버 띄워보기 전에 강의 하나가 빠져있는것 같습니다.
프로젝트를 어떻게 구성해야하는지에 대한 설명이 누락되어있는 것 같습니다. kotlinx serialization 을 add 해야 한다던지 그런
-
미해결[중급편] 친절한 JETPACK 개론 <하> (Android Kotlin)
ListAdapter / DiffUtil 관련 강의 문의
섹션 2 에 해당하는 모든 강의가 화면이 안보이는데원래 그런건가요? 혹시 삭제된 걸까요?
-
미해결
웹 앱 로그인 유지 방법
안녕하세요. 웹앱 기반의 앱을 만들고 있는 초급 개발자입니다. js에 있는 특정 로그인 암호화 알고리즘을 전부 kotlin에서 재정의하려하니 너무 골이 아파져서 방향을 어떻게 잡아야 할지 우선 여쭤보고 가는게 좋겠다고 생각하여 질문 남기게 되었습니다.우선 제가 생각한 방법들을 이렇습니다. 로그인 기능만 네이티브앱에서 구현(암호화 알고리즘 kotlin으로 재정의)해당 js함수를 사용하는 웹을 컨트롤러에서 호출하고, 응답만을 가져와서 Android 클라이언트에 반환위 두 가지를 일단 시도중인데 2번 방식이 쉽지가 않네요. 애초에 가능한건지도 확실치가 않아 보입니다.이런 고민을 해보신 적이 있다면 부디 조언 부탁드리겠습니다.
-
미해결노래 들으며 실전 프로젝트로 안드로이드 최신 기술을 공부해 보자! - 이름 궁합 편
API 제공 사이트에서 test 할때 서버에러가 나는데요.
이제 더이상 사용할 수 없는 API인걸까요?해결방법이 있다면 알려주시면 감사하겠습니다.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
강사님 FCM 단계에서 전체적으로 앱 문제가 발생해서 혹시 원격으로 조치 해주실 수 있나요?
강사님 FCM 단계에서 전체적으로 앱 문제가 발생해서 혹시 원격으로 조치 해주실 수 있나요? 3주째 같은 강의 단계에서 멈춰서 진행이 안 되고 있어서... 피드백도 AI가 해주다보니 정확한 조치를 받기도 어려운 단계네요.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
토큰 정보 유저정보에 저장하기 강의 4분 12초 코드를 동일하게 입력했는데 적용이 잘 안되는 것 같아요.
위에 toString 부분이 정상적으로 활성화가 안 되는 것 같아요. 노란색 글씨로 변경되어야 하는 걸로 알고 있는데,앞서 스플래쉬 화면에서도 토큰정보 가지고 올 때도 동일하게 코드가 반응이 없네요.앱을 켜도 토큰 값이 로그캣에 뜨지않아요.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
토큰 받아와서 메세지 보내기 강의 2분 20초 로그캣 확인 하는 창이 다르고 토큰 값이 안떠요.
위와 같이 로그 캣 결과가 나오는데, 로그캣 창 버전이 달라서 안 뜨는건지 무엇인 문제인지 모르겠네요.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
FCM 강의, firebaseservice 클래스 내 오류코드 해결방안이 궁금합니다.
위 코드에서 하단 부분에 notify(id : 123, builder.build())부분이 계속해서 빨간줄로 되어 있는데 어떻게 해결해야하나요?