묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
return@logFor을 사용한 이유가 궁금합니다.
return@logFor ResponseProvider.success("SUCCESS") return @logFor ResponseProvider.success("SUCCESS")BankService.kt 의 메서드에서 return @logFor을 사용하는 이유를 잘 모르겠습니다 ㅠㅠ Logging.logFor이란 람다가 끝났다는 걸 바깥함수에 알려주고 이후 로직이 있다면 해당 로직들도 실행하기 위해서일까요? 코알못이라 흙흙
-
미해결은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
@Transactional.kt에 대한 효용성 질문
강사님 안녕하세요.코틀린을 자바처럼 쓴 제 자신을 혼내면서(?) 열심히 청강 중입니다. 강의에서 작성하신 Transactional.kt 코드를 보면스프링의 TransactionTemplate을 활용한 명시적 트랜잭션 제어 방식과 큰 차이점이 없어 보입니다. 코틀린 래핑방식으로 사용했을때 어떤 장점이 있는걸까요?제가 생각한 래핑 방식의 장점은 다음과 같습니다.코드 스타일, 네이밍, optional 옵션 추가 등에서 약간 더 자유로움예를 들어 여러 종류의 트랜잭션 처리 규칙(특정 로그, 메트릭, 롤백 조건 등)을한곳에 구현해서 공용유틸로 쓰기 좋고,내부 구현을 추후 TransactionTemplate, PlatformTransactionManager 등 다양한 방식으로 손쉽게 변경 가능 트랜잭션 코드에 특별히 넣어야 할 커스텀 공통로직"이 없다면, 웬만하면 @Transactional / TransactionTemplate만으로 충분하다는 생각입니다. 정답은 없고 팀의 규칙마다 다를것 같아요. 강사님 팀에서는 어떤 방식으로 사용중이신가요? 강의 찍어주셔서 감사합니다앗~!(개인적인 사견인데 말씀하시는 중에 '죄송합니다'는 안하셔도 될것 같아요~!)
-
미해결은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
@Transactional.kt에 대한 효용성 질문
강사님 안녕하세요.코틀린을 자바처럼 쓴 제 자신을 혼내면서(?) 열심히 청강 중입니다. 강의에서 작성하신 Transactional.kt 코드를 보면스프링의 TransactionTemplate을 활용한 명시적 트랜잭션 제어 방식과 큰 차이점이 없어 보입니다. 코틀린 래핑방식으로 사용했을때 어떤 장점이 있는걸까요?제가 생각한 래핑 방식의 장점은 다음과 같습니다.코드 스타일, 네이밍, optional 옵션 추가 등에서 약간 더 자유로움예를 들어 여러 종류의 트랜잭션 처리 규칙(특정 로그, 메트릭, 롤백 조건 등)을한곳에 구현해서 공용유틸로 쓰기 좋고,내부 구현을 추후 TransactionTemplate, PlatformTransactionManager 등 다양한 방식으로 손쉽게 변경 가능 트랜잭션 코드에 특별히 넣어야 할 커스텀 공통로직"이 없다면, 웬만하면 @Transactional / TransactionTemplate만으로 충분하다는 생각입니다. 정답은 없고 팀의 규칙마다 다를것 같아요. 강사님 팀에서는 어떤 방식으로 사용중이신가요? 강의 찍어주셔서 감사합니다앗~!(개인적인 사견인데 말씀하시는 중에 '죄송합니다'는 안하셔도 될것 같아요~!)
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐
안녕하세요 강의를 듣고 있는 수강생 입니다. 다시 강의를 보면서 공부 중인데, 안드로이드 스튜디오가 버전이 업그레이드(미어캣 버전)가 되어서 설치 후 콘솔창에 간단하게 문구 출력을 하려고 해보니 한글이 깨지는 현상이 발생 합니다. 검색을 해서 위와 같은 현상을 해결해보려고 했으나, 안되서 질문 남깁니다. 방법을 알려 주시면 감사드리겠습니다.
-
미해결코틀린 고급편
[23강] SuperTypeToken의 equals 관련 질문
안녕하세요 강사님 23강 강의를 보다가 한가지 여쭤보고 싶은 사항이 있어서 질문을 남기게 됐습니다. 11분 46초 부분을 보면 equals 가 제대로 동작하지 않아서 if (javaClass != other?.javaClass) return false 해당 부분을 삭제하는 부분이 나오는데요. 해당 코드를 해석해보면 2개의 javaClass가 다르기 때문에 equals가 false가 나왔다는 의미 같은데, 혹시 2개의 javaClass가 다른 이유가 무엇인지 알려주실 수 있으실까요? 똑같은 타입의 클래스를 인스턴스화 했기 때문에 동일한 javaClass라고 생각을 했는데 2개가 다르다고 나오니 이해가 잘 되지 않습니다! 감사합니다.
-
미해결코틀린 고급편
23강 타입 안전 이종 컨테이너 예제 관련 문의 드립니다.
저같은 경우, 7:32 부분에서 List<GoldFish> 를 저장했다가 List<Carp> 타입을 꺼내려고 하면 "class generic.GoldFish cannot be cast to class generic.Carp (generic.GoldFish and generic.Carp are in unnamed module of loader 'app')" 와 같은 오류가 발생하는데, 정상적으로 금붕어 리스트가 반환되는게 맞는지요 ? 제가 뭔가 놓친 부분이 있을까 궁금하여 문의 드립니다.샘플코드는 다음과 같습니다.package reflection import generic.Carp import generic.GoldFish import kotlin.reflect.KClass import kotlin.reflect.full.cast class TypeSafeCage { val animals: MutableMap<KClass<*>, Any> = mutableMapOf() inline fun <reified T : Any> getOne(): T { return T::class.cast(animals[T::class]) } inline fun <reified T : Any> putOne(animal: T) { animals[T::class] = T::class.cast(animal) } } fun main() { val cage = TypeSafeCage() cage.putOne(listOf(GoldFish("금붕어1"), GoldFish("금붕어2"))) cage.getOne<List<Carp>>().forEach { println(it::class.simpleName) } } // 다른 패키지 파일 package generic open class Animal( val name: String ) open class Fish(name: String) : Animal(name) class GoldFish(name: String) : Fish(name) class Carp(name: String) : Fish(name) 강의 중 영상 캡쳐 화면
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 스튜디오 오류 발생 시 대처 방법은 요?
강의 듣다 코드 입력 할 때 조금만 실수해도 자꾸 java.lang.NullPointerException이라 뜨고 빌드 에러가 나는데요, 이런 초보적 코드오류에도 이런 일이 자꾸 일어나면 도대체 누가 개발 진행할 수 있나 모르겠네요.혹시 개복치님은 이런 오류 해결방법을 알려 주실 수 있나요? 삭제 재설치도 1시간 이상 씩 걸리는데 미치겠네요.(이번엔 databinding프로젝트에서 오류가...)
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
class 가 아닌 파일로 생성하시는이유
강의를 보니 코틀린 클래스 생성 대신 파일을 생성하시는데 이유를 알수있을까요?
-
해결됨코드처럼 작성하는 SQL, Kotlin과 jOOQ로 시작하기
flywayClean 시 no database found 에러가 뜹니다 ㅠㅠ
flywayClean 실행해보면 다음과 같이 에러가 뜨는데요.뭐가 문제인걸까요 ㅠㅠFAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':flywayClean'. > Error occurred while executing flywayClean No database found to handle jdbc:mysql://localhost:3308/jooq이전 단계에서 다음과 같이 세팅은 잘 마쳤어요.val jooqVersion: String by extra("3.19.21") val dbUrl = "jdbc:mysql://localhost:3308/jooq" val dbUsername = "root" val dbPassword = "1234" val dbDrive = "com.mysql.cj.jdbc.Driver" ... flyway { driver = dbDrive url = dbUrl user = dbUsername password = dbPassword locations = arrayOf("classpath:db/migration") }
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[Twice앱]안드로이드 스튜디오 '미어캣'으로 강의들어도 되나요?
혹시 최신버전인 미어캣으로 수강해도 괜찮을까요?BTS앱 까진 돌핀으로 수강했는데 Twice로 넘어오니 오류가 자꾸 생깁니다.액티비티를 하나 더 추가하고 - intent문은 복붙도 안했는데 - 화면이 에뮬레이터에서 어떻게 나오나 보려고 빌드하고 앱실행했더니 java.lang.NullpointException Error가 뜨는데, 버전이 안맞아서 그래들과 sdk버전을 올리라는데 초보라 해결방법도 모르겠고요 최신버전이면 이런 오류가 안나지 않을까 해서 그럽니다. (안드로이드 스튜디오를 클린 삭제하고 몇번이나 다시 해봐도 같은 오류가 다시 생기네요.)
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[Twice앱]안드로이드 매니페스트 파일 관련 오류
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>위 문장을 붙여 넣기 한 직후 안드로이드 스튜디오 미어캣 버전이나 돌핀 버전 모두에서 에러가 나며 실행되지 않습니다. 돌핀에선 "Nullpointer exception error"가 나타나고 미어캣에선 "Element intent-filter is not allowed here: 18"이라고 에러가 뜨며 실행되지 않습니다. 아마도 인텐트 문장을 쓰는게 문제인 듯 한데 강사님의 안드로이드 스튜디오 버전과 설정사항을 알려주시면 해결할 수 있지 않을까 합니다. 답변 부탁드립니다.
-
미해결윤재성의 Google 공식 언어 Kotlin(코틀린) 프로그래밍 시작하기
.filter, .map
.filter, .map 등의 내용은 어떤 챕터에 있나요?
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
카프카 컨슈머 구현 질문
카프카 스프링을 구현하실 때, @KafkaListener를 따로 안 사용하시는 이유가 있으신가요?https://inf.run/cuNfG
-
미해결은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
DDL문 정리되어 있는 파일 있을까요?
DDL문 정리되어 있는 파일 있을까요?복붙하면 편할 것 같아서요
-
미해결코틀린 함수형 프로그래밍 - 입문편
API 응답 처리 커스터마이징 vs Result 클래스 활용의 차이
안녕하세요! 제네릭 활용 실사례 학습 자료 중 API 응답 처리에 대한 내용이 있어서 질문드립니다.API 응답 처리 시 ApiResponse<out T> 와 같은 sealed class를 만들어 커스터마이징하여 사용하는 것이 이점이 있을지, 아니면 이미 코틀린 내장 클래스로 존재하는 Result 클래스 활용하는 것이 나을지 궁금하여 질문드립니다.sealed class ApiResponse<out T> data class Success<out T> (val data : T, val message : String) : ApiResponse<T>() data class Error(val message : String) : ApiResponse<Nothing>() fun <T> handleResponse(response: ApiResponse<T>) { when (response) { is Success -> println("Success: ${response.message}") is Error -> println("Error: ${response.message}") } }위처럼 커스텀하면 장점은 클라이언트 측과 통신할 때 서로 합의한 방식과 원하는 데이터를 자유롭게 전달할 수 있다는 장점이 있지만 Result에서 제공하는 함수형 메서드(fold,map등)를 활용하지 못하는 단점이 있다고 생각합니다. 반대로 Result를 사용하면 제공되는 함수형 메서드도 활용할 수 있지만, 응답 json을 커스터마이징 할 수 없다는 단점이 있습니다.이처럼 각자의 장단점이 있다보니, 장점을 모두 사용할 수 있도록 서비스 계층에서 Result를 반환하고 이를 컨트롤러에서 ApiResponse로 타입 변경하는 것은 어떤가요? 함수형 프로그래밍에 위반하진 않는지 궁금합니다.둘을 혼합해서 사용하는 것이 최선인지,, 각각 상황에 맞춰 써야하는 것인지 잘 느낌이 오지 않아 질문드립니다!
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
TodoDao Interface 문의
안녕하세요... TotoDao 작성시 에러 문의 드립니다.
-
해결됨은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스
와 이리 게시판이 조용하노
이 강의 느낌 왔습니다.찍먹이 아닌 부먹하겠습니다.평일 저녁, 주말이 심심하지 않겠다 ㅎㅎ(벚꽃 어디갔노)강의 찍어주셔서 감사합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
프로젝트 실행 에러
안녕하세요?강의는 이미 구입하였으나 그동안 다른일로 바빠서 수강을 미루다가 이제서야 들을려고 하는데 공유해주신 샘플 프로젝트를 다운받아서 실행할려고 하니 다음과 같은 에러가 발생해서 문의드립니다.Execution failed for task ':com.group.libraryapp.LibraryAppApplication.main()'.> Process 'command 'C:/Program Files/Amazon Corretto/jdk17.0.14_7/bin/java.exe'' finished with non-zero exit value 1다른 버전의 JDK나 아마존에서 배포하는 JDK를 다운받아서 실행해보아도 동일한 에러가 계속 반복되어서 문의드립니다. 참고로 사용중인 IDE는 IntelliJ IDEA 2024.3입니다. 감사합니다.
-
해결됨코틀린 함수형 프로그래밍 - 입문편
문제집 4 퀴즈 4번 질문입니다.
안녕하세요. 문제를 풀다가 애매하다고 생각되는 부분이 있어서 질문드립니다.퀴즈 4에서 b 를 보면, b. push 메서드는 Any 타입의 값도 받을 수 있다.라고 적혀있고, Stack 클래스는 런타임 시 T의 타입이 결정되기 때문에 Any가 들어올 수 없다고 설명주셨습니다.다만 궁금한 부분은 Stack<Any>와 같이 런타임 시 T가 Any 타입으로 설정된다면 push 메서드도 Any 타입 값을 받을 수 있다고 봐야 할 꺼 같은데, 문제 의도가 "push 메서드는 T 타입의 값을 받아야한다" 이기 때문에 b 가 틀린 설명인지 궁금합니다. 결국 런타임 시점에 Stack에 어떤 타입이 적용되냐에 따라 Any 타입의 값을 받을 수도 있고, 안될 수도 있는 것 아닌가 해서요.
-
해결됨깡샘의 쌩초보 안드로이드 One Day Class – Part2 코틀린 이해하기
모듈
모듈은 무엇인가요 이 프로그램내에서 어떤역할을 하나요