inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

SuperTypeSafeCage에 대해 질문드립니다

미해결

코틀린 고급편

val superTypeToken = object:SuperTypeToken<List<GoldFish>>(){} val superTypeSafeCage = SuperTypeSafeCage(); superTypeSafeCage.putOne(superTypeToken,listOf(GoldFish("금붕어1"),Carp("새"))) superTypeSafeCage.getOne(superTypeToken).forEach(::println) superTypeToken은 List<GoldFish> 전용토큰인데 실제 Carp를 putOne 하여도 데이터가 삽입이 됩니다. 또한 superTypeSafeCage.getOne(superTypeToken) 입력 시 Carp까지 조회되네요. 해당 부분에 대한 유효성 검사를 각각 진행해야 되는건가요?

  • kotlin
  • 함수형-프로그래밍
  • 객체지향
이석운 댓글 2 좋아요 0 조회수 95

강의 자료 받을 수 있을까요?

미해결

KotlinConf 2025 발표 세션

강의 자료 받을 수 있을까요?

  • kotlin
  • Android Compose
  • ktor
  • multiplatform
  • 인공지능(ai)
Lee Leo 댓글 2 좋아요 1 조회수 223

api모듈에대해 문의드립니다.

해결됨

실시간 채팅 서버 구축: 분산 처리부터 성능 최적화까지

안녕하세요, 선생님! 좋은 강의 감사합니다. 사이드 프로젝트를 진행하기 위해 이 강의를 신청해서 열심히 듣고 있습니다. 강의를 들으면서 궁금한 점이 생겨서 질문 드립니다. 제가 예매 시스템 을 개발하려고 하는데, 다음과 같은 여러 기능들을 구현해야 합니다: 채팅 기능 (강의에서 다루신 Chat API) AI 추천 기능 (Spring AI에서 제공하는 API) 데이터 수집 기능 (크롤링 API) 기타 예매 관련 API들 이런 상황에서 모듈 구조 설계 에 대해 고민이 됩니다. 방법 1: 모든 API 기능들을 하나의 API 모듈에서 관리 방법 2: 기능별로 모듈을 나누고, 각 모듈 내에서 해당 기능의 API들을 그룹화 어떤 방식이 더 적절한 설계일까요? 혹시 이런 다중 기능을 가진 시스템에서의 모듈 설계에 대한 조언을 해주실 수 있을까요? 감사합니다!

  • spring
  • kotlin
  • spring-boot
  • websocket
이경용 댓글 2 좋아요 0 조회수 100

Null 안정성 관련 질문

미해결

예제로 뿌수는 코틀린 Kotlin 76제

Null 을 다루는 방법에 대해서 말씀하신 예제에서는 자바에서도 동일하게 실행할 수 있는데 이 코드가 왜 코틀린에서 우아하게 대처할 수 있는 기능이라고 말씀하셨는지가 궁금합니다.

  • android
  • kotlin
  • backend
thdtlgh234 댓글 1 좋아요 0 조회수 60

널 아님 단언 관련 질문

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

태현님! 안녕하세요, 먼저 이런 좋은 강의를 만들어 주셔서 감사드립니다 🙂 다만, 듣다가 또 하나의 질문이 있어서 말씀드리고 싶습니다! 바로 널 아님 단언 관련입니다! 예제 코드에서는 아래와 같이 작성을 해주셨는데요! fun startsWith(str: String?): Boolean { return str!!.startsWith("A") } 이런 경우 str 파라미터가 null이 들어올 가능성이 있지만 해당 코드를 실행할때 null이 절대 아니야라고 명시적으로 표현하기 위하여 !!를 붙여준다고 이해했습니다! 다만, 이런 경우는 굳이 널 아님 단언을 사용하는게 아니라 파라미터의 String?타입을 String으로 두면 어떨까 싶은 생각이 들어서요! 이렇게 된다면 굳이 널 아님 단언을 사용할 필요가 없어 보이는데 다른 곳에서 사용하는 예시가 따로 있는지 궁금하여 질문을 드리게 되었습니다!

  • java
  • kotlin
  • 객체지향
양성빈(Robert) 댓글 1 좋아요 0 조회수 103

MCP가 제 로컬 디렉토리와 파일을 어떻게 알 수 있나요?

해결됨

Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복

안녕하세요 강의 수강 중 궁금한 것이 생겨서 질문 드립니다. 강의에서 Claude에게 우리 로컬에 있는 스프링(인텔리제이) 파일 구조를 묻고 Claude는 권한을 물은 뒤 구조를 분석해줬는데 여기에서 Claude에도 제트브레인 관련 플러그인(JSON 파일)을 설정해주어서 Claude에게 질문을 했을 때 Claude MCP 서버가 제트브레인 MCP로 요청을 해서 내용을 받은 것이라고 이해했고 제트브레인 MCP 서버는 강의에서 인텔리제이에 MCP 서버 플러그인을 설치해서 내 로컬의 파일 구조를 상호작용을 통해 알 수 있을 거라고 추측하고 있는데(맞게 이해했는 지는 잘 모르겠네요ㅎ..) 그러면 제트브레인의 MCP는 Claude MCP 서버가 주는 요청이 내 로컬의 인텔리제이 IDE의 내용이라는 것을 어떻게 알 수 있는 걸까요? 강의 내용과는 무관할 수 있는데 궁금해서 질문 남깁니다. 감사합니다!

  • kotlin
  • spring-boot
  • intellij-idea
  • 클론코딩
  • mcp
준원 댓글 1 좋아요 1 조회수 206

좋은 코드 예시

미해결

코틀린 고급편

안녕하세요 코틀린 강의 초급, 고급 다 잘 들었습니다. 저는 웹 백앤드 개발자인데요. MVC 패턴 등으로 여러 코드들을 공부 & 회사에 적용시키고 싶은데, 좋은 코드 예시들은 어디서, 어떻게 찾아볼 수 있을까요!? github 에서 검색한다면 키워드는 보통 어떤식으로 찾아볼 수 있을까요? 등등 팁 같은 것 알려주시면 감사하겠습니다. 감사합니다!

  • kotlin
  • 함수형-프로그래밍
  • 객체지향
highjune 댓글 2 좋아요 0 조회수 132

강의 중 질문

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

태현님 안녕하세요. 강의 잘 수강하고 있습니다. 다만, 궁금한 점이 존재하여 질문을 드리게 되었습니다! 연산자 오버로딩에 operator 키워드를 이용하여 연산자 오버로딩을 하여 객체끼리 연산자 +를 이용하여 해당 메서드가 호출되었는데 이런 연산자 오버로딩은 메서드명으로 추론을 하는걸까요? 메서드 명을 다르게 변경하니 아예 operator 키워드에서 컴파일 에러가 발생하더라구요! 갑자기 이런 부분이 궁금해져서 질문드립니다!

  • java
  • kotlin
  • 객체지향
양성빈(Robert) 댓글 2 좋아요 0 조회수 110

파일공유

미해결

윤재성의 Kotlin(코틀린) 안드로이드 15 앱개발 Part2 - 메뉴와 4대 구성요소

예제들 프로젝트 파일은 공유가 안되어 있을까요?

  • java
  • android
  • 웹앱
  • kotlin
  • mobile
nml23 댓글 1 좋아요 0 조회수 72

activity_main 화면 다름

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

처음 최신버전 다운로드 법을 똑같이 따라헸는데 화면이 다릅니다. split layout을 해도 화면과 동시에 코드가 보이지도 않습니다.

  • android
  • kotlin
  • firebase
이유석 댓글 2 좋아요 0 조회수 159

val 키워드도 setValue가 있나요?

미해결

코틀린 고급편

by lazy 위임 프로퍼티 강의에서 by 키워드를 사용하려면 getValue 함수와 setValue 함수가 필요하다고 하셨는데 val 키워드로 변수 선언 시 setValue가 존재할수 없지 않나요? var 키워드 -> getValue(),setValue() val 키워드 -> getValue() 로 by 키워드를 사용할 수 있는것같아 질문드립니다.

  • kotlin
  • 함수형-프로그래밍
  • 객체지향
이석운 댓글 2 좋아요 0 조회수 120

반공변성 질문드립니다.

미해결

코틀린 고급편

Cage4 클래스로 반공변성 설명해주시는 부분에 실제 사용 예제가 없는 것 같습니다. 혹시 다른 곳처럼 예시코드 부탁드려도 될까요?

  • kotlin
  • 함수형-프로그래밍
  • 객체지향
이석운 댓글 3 좋아요 1 조회수 140

redisConfig 질문입니다

해결됨

은행 서버 프로젝트 실습을 통해 배우는 코틀린 마스터 클래스

package org.example.config import org.redisson.Redisson import org.redisson.api.RedissonClient import org.redisson.config.Config import org.springframework.beans.factory.annotation.Value import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Primary import org.springframework.data.redis.connection.RedisConnectionFactory import org.springframework.data.redis.connection.RedisStandaloneConfiguration import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory import org.springframework.data.redis.core.RedisTemplate import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer import org.springframework.data.redis.serializer.StringRedisSerializer import java.time.Duration @Configuration class RedisConfig { @Bean fun redisConnectionFactory( @Value("\${database.redis.host}") host: String, @Value("\${database.redis.port}") port: Int, @Value("\${database.redis.password:${null}}") password: String?, @Value("\${database.redis.database:${0}}") database: Int, @Value("\${database.redis.timeout:${10000}}") timeout: Long, ) : LettuceConnectionFactory { val config = RedisStandaloneConfiguration(host, port).apply { password?.let { setPassword(it) } setDatabase(database) } val clientConfig = LettuceClientConfiguration.builder() .commandTimeout(Duration.ofSeconds(timeout)) .build() return LettuceConnectionFactory(config,clientConfig) } @Bean @Primary fun redisTemplate(connectionFactory : RedisConnectionFactory): RedisTemplate<String, String> { val template = RedisTemplate<String, String>() template.connectionFactory = connectionFactory template.keySerializer = StringRedisSerializer() template.valueSerializer = Jackson2JsonRedisSerializer(String::class.java) template.hashKeySerializer = StringRedisSerializer() template.hashValueSerializer = Jackson2JsonRedisSerializer(String::class.java) template.afterPropertiesSet() return template } @Bean fun redissonClient( @Value("\${database.redisson.host}") host: String, @Value("\${database.redisson.timeout}") timeout: Int, @Value("\${database.redisson.password:${null}}") password: String?, ) : RedissonClient { val config = Config() val singleServerConfig = config.useSingleServer() .setAddress(host) .setTimeout(timeout) if (!password.isNullOrBlank()) { singleServerConfig.setPassword(password) } return Redisson.create(config).also { println("redisson create success") } } } An annotation argument must be a compile-time constant 와 같은 에러가 나는데 강의 파일 코드로도 같은 에러가 납니다

  • kotlin
  • mysql
  • mongodb
  • kafka
  • redis
woo 댓글 1 좋아요 0 조회수 130

코루틴과 가상 스레드의 차이가 궁금합니다.

미해결

2시간으로 끝내는 코루틴

안녕하세요. 좋은 강의 감사드립니다. 코루틴에 대한 설명을 듣고 보니, 자바 21에 등장한 Virtual Thread와 그 개념이 매우 비슷하다고 생각이 들었습니다. 코루틴을 실행시키는 스레드는 어찌보면 Virtual Thread 의 carrier thread로 생각할 수 있고, 코루틴 자체를 virtual thread 라고 생각해보면, 결국 두 개념이 용어만 다를 뿐 결과적으로는 동일한 기능(?)을 수행하는 것으로 보입니다. 제가 궁금한 것은 자바에서 Virtual Thread로 작성된 코드가 100퍼센트 코틀린 - 코루틴으로 변환 가능한지, 그리고 그 역도 성립하는 것인지 궁금합니다. 감사합니다.

  • kotlin
  • coroutine
열심히공부할게요 댓글 2 좋아요 1 조회수 367

클로드 설정 변경해도 mcp 서버 연결이 되지 않습니다.

해결됨

Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복

위와같이 설정 저장후 재시작 하면 서버 연결 실패가 뜹니다. 원인을 알 수 있을까요? intellij랑 클로드는 최신 버전입니다.

  • kotlin
  • spring-boot
  • intellij-idea
  • 클론코딩
  • mcp
iu 댓글 8 좋아요 0 조회수 3764

MySQL 연결 문제

해결됨

치킨값으로 시작하는 Spring CRUD (With Kotlin)

안녕하세요! 강의를 보면 콘솔 창에 DB 연결된 부분이 나오는데 처는 아래처럼 나오는데 어떻게 해결하면 좋을까요? 이 부분부터 막히니 다음으로 넘어갈 수가 없습니다 답변 기다리겠습니다! 감사합니다 Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 8.0.42 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown

  • spring
  • kotlin
  • mysql
  • spring-boot
  • jpa
류원형 댓글 2 좋아요 0 조회수 151

@MockK에서 null을 할당하는 이유?

미해결

코틀린 문법부터 실무까지 (실전 자바->코틀린 변환)

37강 5분 11초에서 "처음에는 null로 되어있지만 값을 한 번 세팅할 수 있게 해주고 싶다."라고 하셨는데 처음부터 null을 할당하지 않으면 lateinit을 사용 안 할 수도 있는 거 아닌가요? 테스트코드에 대한 이해가 하나도 없어서 고른 강의인지라 질문의 깊이가 너무 없지만 답변주시면 감사합니다!!

  • java
  • spring
  • kotlin
  • spring-boot
  • 객체지향
apim 댓글 1 좋아요 1 조회수 120

안드로이드스튜디오 버전이 어떻게 되는지요?

해결됨

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

앱을 만들고 싶어 강의를 시작했습니다. 이해하기 쉽도록 강의가 되어 있어서 좋네요 그런데 강의에서 보여지는 안드로이드스튜디오 소스 스타일과 제가 다운받은 android-studio-2024.3.2.15-windows.exe 버전이 상이해서 문의 드립니다. new project->empty project로 만들고 나면 layout에는 activitymain도 없고, mainactivity의 소스 내용도 상이합니다. 안드로이드스튜디오를 이제 처음 켜보니 어떻게 해야할지 모르겠어요..ㅠㅠ 안드로이드스튜디오 버전을 강의에서 사용한 버전으로 바꿔야 하는지... 아님 현재 버전을 이용할 경우 어떻게 하면 강의를 잘 따라갈수 있는지...난관에 붙혀서 문의 드립니다.

  • android
  • kotlin
  • 클론코딩
파란하트 댓글 1 좋아요 0 조회수 139

범위 비교 질문

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

안녕하세요. 범위를 비교하는 방식의 성능차이에 대해서 궁금한데요. 1번 1<=x && 3>=x 2번 x in 1..3 1번방식에 비해 2번방식은 수열을 순회하면서 수열에 포함 여부를 확인하게 되는 방식일거 같은데, 제 예상이 맞을까요? 그렇다면 성능상 더 좋지 않을거 같아서요. 감사합니다.

  • java
  • kotlin
  • 객체지향
Jordy JH Jo 댓글 2 좋아요 1 조회수 119

suspend fun 과 viewModelScope.launch 에 대해 궁금합니다.

미해결

[중급편] 친절한 JETPACK 개론 <하> (Android Kotlin)

강의를 보니 viewModel 에서 Room 에 CRUD 를 하기 위해서는 비동기 처리를 해야 하고, 1. 이를 위해 viewModelScope.launch 를 사용하는 것 같은데 맞을까요? viewModel 의 CRUD 함수를 suspend fun 으로 만들면 viewModelScope.launch 를 안써도 되는 건가요?

  • android
  • kotlin
  • jetpack
서광태 댓글 2 좋아요 0 조회수 139

인기 태그

인프런 TOP Writers

주간 인기글