묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    미해결[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
쿠폰 유효기간이 경과했다고 하네요 ㅠㅠ
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM 안녕하세요 다트언어 강의 듣고 플러터 초급으로 넘어가려고 하는데, 강의 중에 적어주신 쿠폰으로 강의 수강신청을 하려고 하니까 쿠폰이 유효기간이 지났다고 사용이 안된다고 하네요 ㅠㅠ.혹시 쿠폰 사용이 안되는걸까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
메서드 시그니처
메서드 시그니쳐는 메서드 이름과 매개변수의 타입(순서 갯수 포함)이 들어가지만 반환타입은 포함되지 않는다고 알고 있습니다.교재에 2. 람다 부분 p.8에서는 메서드 시그니처 + 반환타입으로 하던가 어떤 주석이 있는게 혼동을 피할수 있지 않을까 합니다. (문맥상 무슨의미인지 알겠으나 처음 배우시는 분들은 헷갈리실 수 있어서 좀 더 명확하게 하는게 낫지 않을까 합니다.) 오피셜 다큐먼트를 찾아보았습니다. https://docs.oracle.com/javase/specs/jls/se21/html/jls-8.html#jls-8.4.2 감사합니다.
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
고급편 우선순위
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 이제 중급까지 듣고 고급편을 들어야되는데생각보다 람다식이 스프링이나 다른곳에서 함수형을 많이 쓰는것 같은데 시간이 많이 없으면 고급 1,2편보다 람다식,스트림인 고급3편을 들어도 괜찮을까요?고급 1,2편을 안봐도 문제없을까요??
 - 
      
        
    미해결코틀린 고급편
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까지 조회되네요.해당 부분에 대한 유효성 검사를 각각 진행해야 되는건가요?
 - 
      
        
    해결됨김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
스프링 데이터 JPA 인터페이스에서의 default 메서드 사용
영한님 강의를 들으면서 인터페이스의 default 메서드는 하위 호환성을 위해서만 사용하고 일반적인 애플리케이션 개발시에는 사용할 일이 없다고 생각했었습니다. 그러나 프로젝트를 하던 도중에 스프링 데이터 JPA를 사용하는 Interface에서 Service에서 매번 Optional을 꺼내기 번거로우니 default 메서드를 사용해서 .orElseThrow(() -> new 예외 발생) 처럼 메서드를 작성하고 이렇게 해도 된다고 이야기를 들었습니다. 저는 이런 예외 발생도 Service 계층에서 하는 것이 맞는것 같기도 하면서, 사실 매번 Optional을 꺼내는 것이 귀찮기도 했던것이 사실이라 이렇게 사용하는 것이 일반적으로 정상적인 패턴인지 궁금해서 질문 드렸습니다. 디폴트 메서드의 올바른 사용법에서 '공통으로 쓰기 쉬운 간단한 로직'에 이정도의 상황이 부합되는지 궁금합니다.
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
독립적인 스레드 할당 시 스레드 개수는 어떻게 할당해야 할까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]궁금한점이 있습니다. 독립적인 스레드 풀을 만들어 사용할 때 스레드 수는 어떻게 측정하는게 좋을까요?예를들어 CPU Core 수가 4개인 경우에 일반적으로 사용하는 스레드 수는 어떻게 할당할지 감이 안잡힙니다.독립적인 스레드 풀을 만들 때 CPU Core 수에 따른 적절한 스레드 수가 있는지, 아니면 직접 스레드 수를 조절해가며 테스트를 해봐야하는지 궁금합니다.
 - 
      
        
    미해결코틀린 고급편
좋은 코드 예시
안녕하세요 코틀린 강의 초급, 고급 다 잘 들었습니다. 저는 웹 백앤드 개발자인데요.MVC 패턴 등으로 여러 코드들을 공부 & 회사에 적용시키고 싶은데, 좋은 코드 예시들은 어디서, 어떻게 찾아볼 수 있을까요!? github 에서 검색한다면 키워드는 보통 어떤식으로 찾아볼 수 있을까요? 등등 팁 같은 것 알려주시면 감사하겠습니다.감사합니다!
 - 
      
        
    미해결함수형 프로그래밍과 JavaScript ES6+
filter가 아무것도 걸러내지 못하는 경우
function FlatEvaluation(evaluation: Array<[string, { score: number }]>) { return pipe( evaluation, filter(([key]) => key !== "overallAssessment"), map(([key, value]) => ({ key: key, score: value.score })) ); } function findPros(evaluation: { [x: string]: { score: number } }) { return pipe( Object.entries(evaluation), FlatEvaluation, filter((item) => item.score >= 80), reduce((item, acc) => (item.score > acc.score ? item : acc)), (item) => item.key ); } // A의 경우 findPros({ a: { score: 90 }, b: { score: 85 }, c: { score: 75 } }) // B의 경우 findPros({ a: { score: 70 }, b: { score: 65 }, c: { score: 75 } }) 안녕하세요 선생님 강의 잘 듣고 있습니다. 다름이 아니라 한 가지 궁금한 점이 있어서 이렇게 질문을 드립니다 (나중에 뒤에 가서 이 문제에 대한 해답이 나오거나, 이미 앞에 이런 문제에 대한 해결 방법이 나왔다면 참 부끄러워질 거 같긴 합니다)다름이 아니라 FxTS를 사용해 기존의 프로젝트 일부를 함수형으로 리팩토링 해보고자 하는 중이었습니다. { [x: string]: { score: number } } 타입의 객체를 인자로 받아 제일 고득점을 한 인원의 이름(key)를 리턴해야 합니다. A의 경우 80점 이상의 득점자가 두 명이 있고, 그 중 더 높은 득점을 한 a의 이름이 잘 리턴됩니다.그런데 B의 경우 80점 이상의 득점자가 하나도 없다보니 filter가 적절한 값을 리턴하지 못해 reduce에서 에러가 납니다. 이런 경우에는 어떻게 처리하는 게 옳을지 궁금합니다.
 - 
      
        
    미해결코틀린 고급편
val 키워드도 setValue가 있나요?
by lazy 위임 프로퍼티 강의에서 by 키워드를 사용하려면 getValue 함수와 setValue 함수가 필요하다고 하셨는데 val 키워드로 변수 선언 시 setValue가 존재할수 없지 않나요? var 키워드 -> getValue(),setValue()val 키워드 -> getValue()로 by 키워드를 사용할 수 있는것같아 질문드립니다.
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
병렬 프레임 병목 현상 해결책에 대해 궁금한 점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Fork/Join 공용 풀(및 병렬 스트림)을 I/O 대기 작업에 사용하면 스레드 병목으로 요청이 밀려서 그 해결책으로 로직 전용 스레드 풀을 만들었잖아요.ExecutorService logicPool = Executors.newFixedThreadPool(400);다른 해결책으로 다음과 같이 공용이 아닌 그냥 Fork/Join 풀을 써도 되나요? 공용이 아니니깐 스레드 병목 현상도 없으니깐요.ForkJoinPool logicPool = new ForkJoinPool(400);아니면 이것도 여전히 안 좋나요?
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
스트림 중복 에러 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님 🙂스트림 중복 여부의 경우 왜 컴파일 에러가 아닌 런타임 에러로 자바가 만들어진 이유를 알 수 있을까요?챗지피티에 질문을 해봤는데 잘 이해가 되지 않아 질문드리는점 양해 부탁드립니다(_ _)감사합니다.
 - 
      
        
    미해결코틀린 고급편
반공변성 질문드립니다.
Cage4 클래스로 반공변성 설명해주시는 부분에 실제 사용 예제가 없는 것 같습니다.혹시 다른 곳처럼 예시코드 부탁드려도 될까요?
 - 
      
        
    해결됨김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
자바 버전이 31 까지 업데이트 된다면 새로운 자바 강의를 추가 하실 건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님 궁금증이 생겨서 질문을 드립니다.만약의 경우이지만, 자바 버전이 31까지 업데이트가 된다면 새로운 기능(어떤 것들이 나올지 모르지만.)에 대해서 강의를 낼 생각이 있는지 궁금합니다. 답변 부탁 드립니다.
 - 
      
        
    해결됨김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
임계값과 스레드수를 줄일 경우 교착상태가 발생할수 있는건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스레드를 조인하면 다른 스레드의 작업이 처리될때까지 기다려야한다고 배웠는데, 지금 예시에서는 스레드 수가 여유로워서 괜찮지만 만약 제목대로 임계값을 더 작게 하고, 스레드 수도 줄인다면 처리할 스레드의 수가 부족해져 데드락이 발생할 수도 있는 상황인지 궁금합니다
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
변수 합치기에 대해서 질문드립니다!
안녕하세요!실습문제 풀다가 질문이 있어서 올려봅니다제가 코드를 작성할때는 흐름대로 쭉 작성하고마지막에는 간결하게 줄일 수 있는 부분은 줄여서 표현하고 있는데, 이게 저는 흐름대로 쭉 작성을 하고나서 변수를 합치거나 하니깐 괜찮은데 동료들이 이 코드를 보게 되면 변수를 선언하지 않고 합쳐서 표현해놓는 경우 이해가 바로 안되는 경우가 있을 수 있을거 같은데, 이런 경우에는 합치지 않고 두는게 좋을까요? 영한님이 생각하시는 운영관점에서 인라인 활용에 대해 궁금합니다!
 - 
      
        
    해결됨김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
flatMap 응용 방법에 대해서, 이렇게 하는게 맞는지?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. flatMap 을 응용하려고 만들어봤는데 이렇게 하는게 맞는지?? 알고 싶어서 코드를 올립니다.일단 저가 한 것은, 리스트 안에 맵 자료구조 를 여러개를 놓고(map 도 of가 있네요) 이것들을 평탄화 하려고 한 방법 입니다.이렇게 하면 되는 것인가요?(한번에 하는 방법을 못찾아서 이렇게 2번으로 쪼갰습니다.)
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
선생님께 질문드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]드디어 자바 완강을 했는데 중급 1~2 와 고급 1은 두번씩 들었고 고급2도 혼자서 채팅프로그램,네트워크 이런거 다 만들어보긴 했는데 이거 공부하는동안 또 기억이 잘 안나더라구요 ㅎㅎ.. 람다도 이제 어느정도 다 읽고 쓸줄은 아는데 자세한 메서드는 기억이 안나는 것도 많고, 다운 스트림 같은 경우에도 기억이 가물가물하고요.. 일주일에 한번씩 강의 마다 요약노트 작성한거 읽고 있긴한데 이대로 한번 쭉 읽고 스프링으로 넘어가는게 나을까요 아니면 자바를 좀 더 봐야할까요??
 - 
      
        
    미해결김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
자바 람다의 지연 평가과 스트림의 지연 연산
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]자바 람다의 지연 평가과 스트림api의 지연 연산의 차이가 궁금합니다
 - 
      
        
    미해결멀티패러다임 프로그래밍 1편: 반복자 패턴 & LISP (with TypeScript, Clojure, Kotlin)
멀티패러다임 프로그래밍 책
유인동님! 안녕하세요!!책을 아직 구매하지 않았는데 책과 이 영상강의중 어떤 것이 더 심화된 내용일까요!?아니면 같은내용인데 영상으로 더 쉽게 접할 수 있게 만드신 강의인건지 궁금합니다!
 - 
      
        
    해결됨김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
디폴트 메서드 pdf파일 오류 및 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]디폴트 메서드 공부하다가 영상 화면이랑, pdf 결과 화면이 달라서 제보를 드립니다.영상 화면 에서는 time 다음에 2025-03-생략... 이렇게 나오는데,pdf 파일에서는이렇게 나옵니다. 그래서 오류이고요.여기서 질문이 생깁니다.pdf 파일 에서 time: 다음에 "(실행 시점: +1일)" 이렇게 나오는데, 어떻게 하신건가요?일단 생각나는 방법이..이렇게 만들기는 하였는데..pdf파일에 나온 결과처럼 하는 방법은 생각이 안납니다.(저의 생각상 포멧터 를 이용 하신것 같은데 모르겠더라고요.)추가1포멧터 라고, 생각한 이유 + pdf 파일 오류라 는 것을 아는 이유는.출력이 너무 없어 보여서 고치자는 생각에 고쳤고, 11:08초 부분에 pdf 파일을 보여주는데 이게 눈에 뛰더라고요.답변 부탁 드립니다.