묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결코틀린 함수형 프로그래밍 - 입문편
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로 타입 변경하는 것은 어떤가요? 함수형 프로그래밍에 위반하진 않는지 궁금합니다.둘을 혼합해서 사용하는 것이 최선인지,, 각각 상황에 맞춰 써야하는 것인지 잘 느낌이 오지 않아 질문드립니다!
-
해결됨코틀린 함수형 프로그래밍 - 입문편
문제집 4 퀴즈 4번 질문입니다.
안녕하세요. 문제를 풀다가 애매하다고 생각되는 부분이 있어서 질문드립니다.퀴즈 4에서 b 를 보면, b. push 메서드는 Any 타입의 값도 받을 수 있다.라고 적혀있고, Stack 클래스는 런타임 시 T의 타입이 결정되기 때문에 Any가 들어올 수 없다고 설명주셨습니다.다만 궁금한 부분은 Stack<Any>와 같이 런타임 시 T가 Any 타입으로 설정된다면 push 메서드도 Any 타입 값을 받을 수 있다고 봐야 할 꺼 같은데, 문제 의도가 "push 메서드는 T 타입의 값을 받아야한다" 이기 때문에 b 가 틀린 설명인지 궁금합니다. 결국 런타임 시점에 Stack에 어떤 타입이 적용되냐에 따라 Any 타입의 값을 받을 수도 있고, 안될 수도 있는 것 아닌가 해서요.
-
미해결코틀린 함수형 프로그래밍 - 입문편
안녕하세요 강사님, discountCache 처리 방식에 대해 질문드립니다.
@Component class DiscountAdapter { private val discountCache = CacheUtil<Int, Double>() fun getDiscountRate(): (Int) -> Double = { amount -> discountCache.getOrLoad(amount) { when (amount) { in 100..1000 -> 0.1 in 1001..10000 -> 0.2 else -> 0.0 }} } }처럼 서비스는 굳이 고치지 않고 DiscountAdapter 클래스 내에서 캐시처리 하는 방법은혹시 함수형 프로그래밍 방식에 어긋나는 부분이 있을까요?
-
미해결코틀린 함수형 프로그래밍 - 입문편
[문제집] 6_함수를 응답으로 받기 - 1번문제 오류
안녕하세요, [문제집] 6_함수를 응답으로 받기 1번문제에 오류가 있습니다. createMultiplier 함수 파라미터로 factor가 되어야 하는데 2로 들어와있네요. 문제집 해설 영상 보면 알 수 있지만 잘못되어 있어서 제보드립니다. 감사합니다.
-
미해결코틀린 함수형 프로그래밍 - 입문편
실습 자료 부분 업로드 다시 부탁드립니다!
지금 올려주신 실습 자료가 문제가 있는 것 같습니다! 압축을 해제하면 .idea 디렉터리만 존재하고 내부 코드는 없는데 이 확인 부탁드려요!
-
미해결함수형 프로그래밍과 JavaScript ES6+
reduce 함수 질문입니다!
강의 잘 듣고 있습니다. 항상 파이팅 입니다!이 강의에서 만든 Reduce 함수 궁금한 점이 있습니다. 이터러블 프로토콜을 활용해 배열의 첫번째 값을 초기값으로 설정 할 수 있는 것 까지는 알겠습니다. 기존 Array.prototype.reduce 에서는 초기값을 설정 할 수 있는데...arr.reduce((acc, cur) => blabla, {}) 요런 식으로빈 객체나 배열을 통해 새로운 객체나 배열을 만들 수 있는데이터러블 프로토콜을 활용해 만든 함수 reduce는 방법이 없나요제가 사용을 못하는 것일까요?? 방법이 있다면 어떤 방식으로 사용해야 할까요???
주간 인기글
순위 정보를
불러오고 있어요