묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결2시간으로 끝내는 코루틴
9강 코루틴 중단과 재개관련 문의 드립니다.
강의 정말 재미있게 잘 듣고 있습니다. 이제 막바지네요 :)제공해주신 샘플코드를 보면서도 코틀린이 코루틴을 어떻게 중단하는지는 이해가 잘 안되었습니다. 코드상(예제나 디컴파일된 코드)에 딱히 코루틴을 중단 시키는 부분이 보이지 않습니다. 재개의 경우 Continuation의 resumeWith 를 사용할것 같은데, 중단의 경우에는 내부적으로 CoroutineContext 가 활용되는 걸까요 ?
-
해결됨코틀린 코루틴 완전 정복
Flow와 Channel
강의에서 Flow나 Channel에 대해 추가로 다루실 예정이 있는지 궁금합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
테스트 후 AfterEach 함수에서 나오는 쿼리
안녕하세요 fetch join까지 적용한 후에 테스트 코드 자체가 N+1 문제가 제거된 것은 확인했습니다.그런데 AfterEach 함수에서 deleteAll을 하는 과정에 fetch join 이전의 N+1 쿼리랑 유사한 쿼리가 나오는데 이게 delete 쿼리를 날리기 위한 데이터를 가져오려는 목적인것 같은데 질문이 있습니다. 혹시 deleteAll 이전에 나오는 쿼리도 N+1처럼 동작하는지테스트 코드이므로 테스트 객체의 모수가 작아 무시해도 되는지이정도 질문하고 싶습니다
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[BTS앱] 화면 클릭 이벤트 처리 - findViewById, Toast
선생님 4일 전에 질문 달았는데 다시한번 질문드립니다!코드도 맞게 입력하고, 재부팅, 새로운 파일로 빌드도 다 해봤는데도 토스트 메세지가 뜨지 않아서 프로젝트 압축 파일 올려놨습니다ㅠㅠ 이유를 모르겠습니다..https://drive.google.com/drive/folders/1qDl-Spv709ko__1M-HI0RItbNR9jhtF_?usp=sharing
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
리액트 연결
안녕하세요! 프론트엔트 초보 개발자입니다.백엔드는 단 한 번도 건드려본적이 없어서 어떤 구조인지도 잘 몰라요 ㅠㅠ아직 정말 지식 수준이 얕습니다.이 강의를 완강한 후에, 리액트로 프론트를 만져보고 싶은데요...이후에 프로젝트에서 프론트, 백 따로 개발 후에 둘이 연결을 하려면 어떻게 해야하나요..?초보자 수준에서 간단히 설명 가능한가요..?
-
미해결[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
bottom navigation view 색깔
bottom navigation view를 추가했습니다. 하단 탭의 색깔이 아래와 같이 나옵니다.눌렀을 때 아이콘 색깔도 빨강색으로 안변하고 그냥 보라색 동그라미가 그려지는데요. 강의처럼 눌렀을 때 아이콘 색깔만 primary color로 나오게 하려면 어떻게 해야 하나요?primary color는 빨갛게 지정해서 다른 곳은 빨갛게 잘 나옵니다.compile sdk, target sdk = 34 입니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[BTS앱] 화면 클릭 이벤트 처리 - findViewById, Toast
코드 똑같이 쳤는데 test device에서 첫번째 이미지 클릭시 "1번째 클릭 완료" 문구가 나오지 않습니다..
-
해결됨[포트폴리오] 안드로이드 앱 만들기 - 이론편
본 강의는 로드맵 어디쯤에서 들으면 좋을까요
선생님 로드맵에는 해당 강의가 명시되어있지 않아서,,, 로드맵중 어느 사이에 들어야 이해가 쉬울까요?
-
미해결코틀린 함수형 프로그래밍 - 입문편
[문제집] 6_함수를 응답으로 받기 - 1번문제 오류
안녕하세요, [문제집] 6_함수를 응답으로 받기 1번문제에 오류가 있습니다. createMultiplier 함수 파라미터로 factor가 되어야 하는데 2로 들어와있네요. 문제집 해설 영상 보면 알 수 있지만 잘못되어 있어서 제보드립니다. 감사합니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
Firebase 스토리지 유료화 문제
이미지 업로드 관련 질문드립니다. 2024년 10월 기준으로 Firebase 스토리지 신규 버킷은 사용한 만큼만 지불하는 Blaze 요금제로 사용해야 하는 것으로 변경되었습니다. 신용 카드 등록해야 해서 조심하면 괜찮겠지만 신용카드 등록 없이 무료로 사용할 수 있는 다른 호스팅 서비스는 없을까요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
섹션7 - 파이어베이스 활용 중 에러
안녕하세요.파이어베이스 활용 중 아래와 같이 코틀린 버전이 맞지 않다는 에러가 발생하는데..어떻게 해도 해결이 안됩니다. ㅜㅜ ~~ was compiled with an incompatible version of Kotlin. The binary version of its metadata is 2.1.0, expected version is 1.9.0.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
최신화 된 강의 요청합니다
안녕하세요, 이번에 강의를 구매한 학생입니다. 밑에 글에서 폼도 작성했습니다.강의를 진행하다 보니 강의가 출시된 지 시간이 꽤 지나 대부분의 구현 방식이 현재와 많이 달랐습니다. 특히 Firebase Cloud Messaging이나 CardStackView의 사용법이 강의 내용과 다릅니다. 이로 인해 별도로 혼자 많은 부분을 직접 새로 구현해야 했습니다. 앱은 구현했지만, 이 강좌 수강 목적인 FCM을 이용한 푸시 메시지 보내기가 실제 강의 내용과 많이 달랐습니다.해당 강의에 대한 아쉬움이 남는데 다른 질문글에서 강의를 최신화한다라는 답변을 봤습니다. 최신화 된 강의를 받거나 없으면 환불을 받고자 질문글 남겨요.
-
미해결스프링은 어려워! 코틀린과 Ktor로 백엔드/서버개발 기초정복 (커피주문시스템 개발)
코틀린 코드 보기
위 강사님 화면 에서의 코틀린 파일아래 재 인텔리제이 에서 코틀린 파일강사님 처럼 코틀린 파일의 소스 코드를 보고 싶은데 따로 설정하신 부분이 있을까요? 자바 파일처럼 라이브러리의 구현 코드를 직접 보고 싶네요.
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
Docker Compose 배포 시 Jasypt 암호화된 속성 복호화 문제 해결 방법
문제Docker Compose 환경에서 애플리케이션 배포 후, 데이터베이스에 연결할 때 암호화된 설정값을 복호화하지 못해 연결에 실패하는 문제.원인@EnableEncryptableProperties 어노테이션을 누락한 경우, 애플리케이션이 암호화된 속성을 복호화하지 않고 데이터를 사용하려고 시도합니다. 이로 인해 암호화된 패스워드로 데이터베이스에 접속하려 시도하면서 연결 오류가 발생하고, 컨테이너가 종료됩니다.해결 방법JasyptConfiguration.kt 파일에 @EnableEncryptableProperties 어노테이션을 추가합니다.import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties import org.jasypt.encryption.StringEncryptor import org.jasypt.encryption.pbe.PooledPBEStringEncryptor import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @Configuration @EnableEncryptableProperties // 추가해주세요. class JasyptConfiguration { @Bean("jasyptStringEncryptor") fun stringEncryptor(): StringEncryptor { val encryptor = PooledPBEStringEncryptor() val config = SimpleStringPBEConfig() config.password = System.getenv("jasypt.encryptor.key") config.algorithm = "PBEWithMD5AndDES" config.setKeyObtentionIterations("1000") config.setPoolSize("1") config.providerName = "SunJCE" config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator") config.setIvGeneratorClassName("org.jasypt.iv.NoIvGenerator") config.stringOutputType = "base64" encryptor.setConfig(config) return encryptor } } 예제 소스 코드 Github에서 확인하기
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
아름다운 joyce님께.. runonuithread 문의
start() 함수에서는 runonuithread를 사용하는데 pause랑 refresh 함수에서는 runonuithread 를 안써도 되는건가요? btn_start.text = getString(R.string.btn_start)이런 부분을 보게되면 메인화면에 텍스트를 변경하는것 같은데요??
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
타입캐스팅 궁금한점 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 코틀린을 처음 접해봤습니다. 질문이 이상하더라도 양해를 구하며 상세히 알려주시면 정말 감사하겠습니다.fun printAgeIfPerson(obf:Any?){val person = obj as? Person......}여기서 질문 드립니다.앞에서 변수 선언을 할 때 val,var을 배웠는데, 매개변수를 선언하는 부분에서 obf:Any? 대신에 val obj:Any?로는 안 쓰나요? 앞에서 모든 변수에는 var/val 을 붙여서 선언한다고 하셨어서요. obj는 매개변수에서 선언된 변수 아닌가요?2.위 코드에서 obj as? Person 의 값이 결과값 또는 null로 나온다고 하셨는데, 그렇게 되면 lvalue인 val person에도 null이 들어갈 여지가 있으므로 val person? 나 val person:Person?으로 선언이 되어야 하는 것 아닌가요?자바와 다른 점이 많아서 헷갈립니다.
-
미해결코틀린으로 만드는 스프링부트
인텔리제이의 run 버튼이 활성화되지 않습니다.
계속 같은 문제가 발생하여 결국 터미널에 ./gradlew bootRun 을 입력하는 것으로 대체했는데, 왜 활성화되지 않는지 궁금합니다.
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
viewBinding 관련 질문입니다.
안드로이드 스튜디오의 버전은 2024.2.1이고 viewBinding enabled 를 시도하는데 빨간색 글로 표시됩니다.어떻게 해결해야 하나요?.
-
해결됨[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
0:30초 질문입니다.
private lateinit var binding : ActivityMainBinding을 하려고 하는데 불러오지 못합니다. 안드로이드 스튜디오 2024.2.1 버전을 사용 중이라 room 설치할 때도 제미나이 도움으로 진행하느라 build.gradle.kts(Module: app) 코드가 수업 내용과 많이 다릅니다. gradle 문제로 해당 클래스의 패키지가 다운로드 되지 않은거 같습니다.문제의 build.gradle.kts(Module: app) 전체 코드는 아래와 같습니다. ```plugins {alias(libs.plugins.android.application)alias(libs.plugins.kotlin.android)alias(libs.plugins.kotlin.compose)id("org.jetbrains.kotlin.kapt")}android {namespace = "com.example.kotlin06_todolist"compileSdk = 35defaultConfig {applicationId = "com.example.kotlin06_todolist"minSdk = 26targetSdk = 34versionCode = 1versionName = "1.0"testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")}}compileOptions {sourceCompatibility = JavaVersion.VERSION_11targetCompatibility = JavaVersion.VERSION_11}kotlinOptions {jvmTarget = "11"}buildFeatures {compose = true}}dependencies {implementation(libs.androidx.core.ktx)implementation(libs.androidx.lifecycle.runtime.ktx)implementation(libs.androidx.activity.compose)implementation(platform(libs.androidx.compose.bom))implementation(libs.androidx.ui)implementation(libs.androidx.ui.graphics)implementation(libs.androidx.ui.tooling.preview)implementation(libs.androidx.material3)implementation(libs.androidx.appcompat)implementation(libs.material)implementation(libs.androidx.activity)implementation(libs.androidx.constraintlayout)testImplementation(libs.junit)androidTestImplementation(libs.androidx.junit)androidTestImplementation(libs.androidx.espresso.core)androidTestImplementation(platform(libs.androidx.compose.bom))androidTestImplementation(libs.androidx.ui.test.junit4)debugImplementation(libs.androidx.ui.tooling)debugImplementation(libs.androidx.ui.test.manifest)val room_version = "2.6.1"implementation("androidx.room:room-runtime:$room_version")// To use Kotlin annotation processing tool (kapt)kapt("androidx.room:room-compiler:$room_version")// optional - Kotlin Extensions and Coroutines support for Roomimplementation("androidx.room:room-ktx:$room_version")}```또한 깃허브 주소도 남겼습니다.https://github.com/KrillM/Kotlin06_TodoListFeat.build.gradle.kts(Module :app)에 두 가지 방법(깃 허브에는 없음)도 시도했습니다.1. android 내 databindingdataBinding { enable = true }2. android 내 buildfeature를 아래와 같이 수정buildFeatures {compose = truedataBinding = true}
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
테스트 fixture
안녕하세요 강사님.코틀린을 배우는데 좋은강의 만들어주셔서 감사합니다. 테스트를 위한 fixture 코드 부분에 대해 의견 여쭤보고 싶습니다.강의에선 직접 엔티티 내부에 테스트를 위한 fixture 함수를 만들어 주셨는데, 팀 내부 의사결정에 따라 두어도 괜찮을 수도 있을 것 같지만 만약 테스트용 코드는 분리해야 한다고 하면아래처럼 테스트 코드 패키지쪽에 fixture 생성을 위한 유틸파일을 만들고, 테스트 코드에서만 Book.fixture(...) 같은 형태로 사용할 수 있도록 엔티티에 비어있는 companion object를 만든 뒤 확장함수를 작성하는 형태로 해도 괜찮을지 의견 여쭤보고 싶습니다.!테스트코드용 유틸 생성 User, Book 등의 엔티티에 비어있는 동행객체 선언엔티티별 Companion 확장함수 작성테스트 코드에서 엔티티.fixture() 형태로 사용