묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
다른 project location 설정했을때 프로젝트 찾는 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요. java-start 파일 선택후 project location 칸에 ~\Java\java-start 로 지정되어 있는데 이대로 하면 다음 에러가 뜹니다Directory 'C:/Users/yeon/Java/java-start' is already taken by the project 'java-start'. Please choose another location선생님과 같이 한 것 같은데 왜 이렇게 뜰까요? 그래서 상위폴더인 Java를 선택했는데 인텔리제이에서 프로젝트를 못 찾겠습니다.수업에서 Java-start > src 누르면 쭉 뜨는데 Main 밖에 안 뜹니다.코드를 어떻게 찾을 수 있나요??
-
미해결김영한의 실전 자바 - 중급 2편
Set toString 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
어디서 들은거 여쭤봐서 죄송합니다.
입출력 관련해서 getch putch 겟챠 풋챠 라는게 있다는데 몰라도 되는 부분일까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Api 호출과 관련된 질문드립니다.
안녕하세요. 현재 Rest Api로 백엔드 개발을 하고,View는 Html thymeleaf를 이용해 구현을 하려고 합니다. 리액트 등의 프레임워크를 사용하지 않는다면,@GetMapping으로 View단을 불러올 때,@RestController가 아닌 @Controller에서 불러와야하는데그렇다면 @RestController와 @Controller 둘 다 따로 만들어야 하는지 궁금합니다.예를 들어, 공지사항 전체 조회의 @RestController의 코드가// // 공지사항 전체 조회 // @GetMapping("/ypjs/board/notice/notices") // public Result findAll(@RequestParam int offset, @RequestParam int limit) { // List<Notice> noticeList = noticeService.findAll(offset,limit); // List<NoticeDto.NoticeApiDto> result = noticeList.stream() // .map(n -> new NoticeDto.NoticeApiDto(n.getNoticeId(), n.getNoticeTitle(), n.getNoticeContent(), // n.getNoticeCnt(), n.getNoticeDate(), n.getMember().getNickname())) // .collect(Collectors.toList()); // return new Result(result); // }라면,공지사항 전체 조회의 @Controller의 코드는이렇게 구현하면 되는건가요?+ 만약 이게 맞다면 @RestController의 GetMapping URL과 @Controller의 GetMapping URL이 겹치면 실행이 안되므로, @RestController의 URL을 /api/ypjs/board/notice/notices로 변경하면 될까요?그렇다면, 제 프로젝트에서 @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 남겨놔도 되는건지 궁금합니다..그리고 View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 쓰이는 방법인지가 궁금합니다. ----------------------------------------------------------------------------------------------------------------(질문 요약)1. 리액트 같은 프레임워크 없이 프로젝트를 Rest Api로 개발할 때, 화면만을 위한 @Controller 클래스를 따로 만들어도 되나요? 만약 이 경우에 GetMapping URL이 겹치면 안되니까 @RestController의 URL엔 /api/를 추가해서 겹치지 않게 하는 식으로 하나요?2. 다른 부분은 rest api로 개발하고, View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 사용하는 방법인가요?3. 만약 화면을 위해 @Controller 클래스를 만드는게 좋은 방법이라면, @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 활용할 방법이 있을까요? + 남겨놔도 되는건가요?화면을 따로 개발하는 것이 아니라, 저처럼 같이 개발하는 경우 Rest api 개발을 하는것이 의미가 있는지 궁금합니다.Rest api 개발을 경험해보고 연습해보고싶어 백엔드단을 Rest api로 먼저 개발해서 완성하고, 프론트엔드는 프레임워크를 다루지 못해 html을 이용해 화면을 만들고 연결하는 식으로 했다!는 것이 Rest api로 프로젝트를 만드는 것에 대한 충분한 설명이 될 수 있을까요?
-
해결됨김영한의 실전 자바 - 기본편
[배열 도입 - 리펙토링] 향상된 for문질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 🙂 ClassStart5 클래스에서 향샹된 for문으로 만 사용하려고 하는데 Students s와 같은 변수를 담아둔다고 헀을 때 아래 코드처럼 해야 실행이되더라구요, package class1; public class ClassStart5 { private static int i; public static void main(String[] args) { Student student1 = new Student(); // 학생을 담아둘 수 있는 변수를 선언 student1.name = "학생1"; student1.age = 15; student1.grade = 90; Student student2 = new Student(); student2.name = "학생2"; student2.age = 16; student2.grade = 80; Student[] students = {student1, student2}; for (Student student : students) { Student s= students[i]; System.out.println("이름: " + s.name+ " 나이: " + s.age + " 성적:" + s.grade); } } }다만 자꾸 컴파일 에러가 나서 확인해보니 위의 private static int i; 코드 때문인거 같은데 별도 선언을 해줘야하는 이유를 정확히 알수 있을까요? s 변수에 담아두지 않고 아래처럼 해도 int i를 선언해야 하는 거 같습니다.코딩자체가 입문이라 장황하게 문의드린 점 양해부탁드리며 답변 기다리겠습니다. 감사합니다! Student[] students = {student1, student2}; for (Student student : students) { System.out.println("이름: " + students[i].name+ " 나이: " + students[i].age + " 성적:" + students[i].grade);
-
미해결김영한의 실전 자바 - 중급 2편
LinkedList toString 질문
안녕하세요.HashSet의 toString 코드를 보다 문의사항이 있어 질문합니다. @Override public String toString() { return "MyHashSetV2{" + "buckets=" + Arrays.toString(buckets) + ", size=" + size + ", capacity=" + capacity + '}'; }다음과 같이 되어 있고 출력을 MyHashSetV2{buckets=[[Member{id='hi'}, Member{id='JPA'}], [], [], [], [], [], [Member{id='spring'}], [], [], [Member{id='java'}]], size=4, capacity=10} 이렇게 하니까 Arrays.toString(buckets) 부분이 [[Member{id='hi'}, Member{id='JPA'}], [], [], [], [], [], [Member{id='spring'}], [], [], [Member{id='java'}]]이 부분일텐데 따라 들어가면 toString 오버라이딩 된 형태가 toString(Object[] a) {다음과 같고 실제 스트링으로 만드는 코드는 StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(String.valueOf(a[i]));이거인데요.여기서 말하는 a[i]는 LinkedList<Object>[] set의 각각의 인덱스에 위치한 LinkedList<Object> 일텐데 LinkedList나 상위의 List를 타고 들어가봐도 따로 toString 메서드를 살펴볼 수 없습니다. String.valueOf(LinkedList)가 어떻게 동작하는건가요 ? 출력물 보면 각 LinkedList안에 객체로 들어간 member의 toString을 출력하는 거 같기는 한데 LinkedList를 순차척으로 도는 코드를 확인 못하겠습니다.감사합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
MacOS m3 인텔리제이 설치
intel로 설치하면 아예 앱 자체가 뜨지 않아 밑에 Apple Silicon으로 설치하니 앱은 뜨지만 이런 창이 생겨 설치를 못하고있습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
21버전 다운이 안됩니다. Select Home Directory for JDK오류
[질문 내용]21버전을 다운받으려고 하는데 어떤 디렉터리를 선택해도 안된다고 나와서 설치를 못하고 있습니다.. 어떻게 해야할까요??
-
미해결김영한의 실전 자바 - 중급 1편
intValue를 통한 언박싱과 래퍼 클래스의 toString 과 관련한 질문입니다.
우선 전체적인 질문부터 말씀드리면 래퍼클래스를 언박싱할땐 기본형을 꺼내고 출력시엔 무조건 문자형으로 출력하게 되는걸까요? 기본형을 박싱하게 되면 valueOf를 사용하게 되는데 결국 괄호 안의 객체를 String 객체로 생성하는거잖아요...?언박싱은 래퍼 클래스에 들어있는 기본형 값을 다시 꺼내는 메서드인데 그럼 이 메서드를 사용하면 int형을 꺼내게 되는거고 또 출력할 땐 이것과 다르게 재정의 된 toString이 작동해서 숫자가 아닌 문자형 숫자로 출력하게 되는건가요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결김영한의 실전 자바 - 중급 2편
생성자 질문
안녕하세요.MyHashSetV1()에서 작성한 코드를 중복으로 작성하지 않기 위해 MyHashSetV1(int capacity)에는 기본 생성자를 바디의 최상단이 아닌 곳에서 선언했더니 에러가 나는데, 이게 예전에도 안된다고 설명은 해주셨는데 왜 안되는지가 문득 궁금하네요.설명 부탁드립니다.감사합니다.public MyHashSetV1(int capacity){ this.capacity = capacity; this(); }
-
미해결실습으로 배우는 선착순 이벤트 시스템
consumer 모듈
강의에서 consumer 라는 모듈을 새로 생성해서 따로 run 을 시키더라고요저는 하나의 모듈에서 작업을 하고있는데요. 하나의 프로젝트 안에 domain consumer , config 등등을 모두 설정했습니다. 이후에 ./gradlew bootRun 으로 실행하고나서 ,테스트 케이스를 돌렸는데요 .해당 영상 마지막에는 여러명응모 테스트 메서드가 통과라고 나오지만 저는 Actual : 0 으로 나옵니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
강의 기초부터 디테일까지 질문입니다.
수강 잘 듣고 있습니다.예시를 토대로 설명해주시면서 외워야 될것이나 중요한 부분을 말씀해주시는데튼튼하게 잡아서 가고 싶은데 어렵다 보니 놓치는 부분들이 좀 있네요..문제풀이 할 때 설명을 또 해주시는건지 아니면 강의 도중 중요하거나 외워야 될 것들은 한번만 이야기 해주시는지 궁금하네요.
-
미해결Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 2부
filterWhen의 차이
filter와 달리 filterWhen은 비동기로 동작한다고 했는데, 실제 예제를 돌려보면 동일하게 동기로 돌아가는 것 같습니다. FilterWhenExample01 예제에서 종료 sleep을 10초로 늘려주고, 조건을 3_000 변경 후public static void main(String[] args) { Flux .fromIterable(SampleData.coronaVaccineNames) /** filterWhen : 데이터를 비동기적으로 filtering 하고 싶을때 사용 */ .filterWhen(vaccine -> isGreaterThan(vaccine, 3_000)) .subscribe(Logger::onNext); TimeUtils.sleep(10000); } isGreaterThan 메소드에서 비동기 동작 확인을 위해 sleep 1초를 주었습니다.public static Mono<Boolean> isGreaterThan(SampleData.CoronaVaccine coronaVaccine, int amount) { TimeUtils.sleep(1000); return Mono .just(vaccineMap.get(coronaVaccine).getT2() > amount) .publishOn(Schedulers.parallel()); } 예상 결과로 아래 출력 5건이 1초 후 동시에 나올 것이라 생각했는데 동기와 동일하게 1초당 1건씩 출력이 됩니다.> Task :FilterWhenExample01.main()14:37:55.393 [main] DEBUG reactor.util.Loggers - Using Slf4j logging framework14:37:56.494 [parallel-1] INFO com.itvillage.utils.Logger - # onNext(): Pfizer14:37:57.501 [parallel-2] INFO com.itvillage.utils.Logger - # onNext(): AstraZeneca14:37:58.513 [parallel-3] INFO com.itvillage.utils.Logger - # onNext(): Moderna14:37:59.527 [parallel-4] INFO com.itvillage.utils.Logger - # onNext(): Janssen14:38:00.537 [parallel-5] INFO com.itvillage.utils.Logger - # onNext(): Novavax 좀더 간단한 예제로 아래 코드는 동기적으로 1초당 1건씩 출력되어, filter와의 차이점을 모르겠습니다.public static void main(String[] args) { Flux .range(1, 20) .filterWhen(num -> { TimeUtils.sleep(1000); // 예시를 위해 잠시 대기 return Mono.just(num % 2 == 0); }) .subscribe(Logger::onNext); }filterWhen의 특성을 정확하게 나타낼 수 있는 예제와 설명을 부탁드립니다감사합니다~
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
IDE 에서는 정상동작 사이트에서는 오답
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 열심히 듣고있는중입니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main { public static void main(String[] args) throws IOException { Main T = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int[] nums = Stream.of(br.readLine().split(" ")) .mapToInt(Integer::parseInt) .toArray(); // System.out.println(Arrays.toString(T.solution(num, nums))); int[] result = T.solution(num, nums); String output = Arrays.stream(result) .mapToObj(String::valueOf) .collect(Collectors.joining(" ")); System.out.println(output); } private int[] solution(int num, int[] nums) { List<Integer> list = new ArrayList<>(); for (int i : nums) { if (i >= num) { list.add(i); } } return list.stream() .mapToInt(Integer::intValue) .toArray(); } } 위와 같이 풀었는데 IDE에서는 잘 동작하는데 사이트에서 오답으로 처리되는 이유 좀 알수있을까요,, ㅠㅠ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
혹시 sql응용 관련해서 pdf로 끝인가요 아니면 영상이 따로 올라오는건가요?
문제집이나 다른 강의 같은 경우에도 크게 중요하게 다루는 부분이 없는거 같은데 혹시 따로 영상이 올라오는지 궁금합니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
카프카 토픽 생성오류
https://www.inflearn.com/questions/1126638 위의 링크와 같이 저도 토픽 생성이 안되는데요환경은Mac M2 환경입니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
redis 를 사용하여 문제점 해결하기
redis 를 사용하여 문제점 해결하기 7:25 의 도표를 보고있습니다.Thread - 1 이 실행이 end - 10:02 가 되면 Thread - 2 가 start - 10 : 02 가 되고 incr coupon_count 가 된다고 나와있습니다. 동기식으로 돌아가게 되면 , 속도적인 측면에서 괜찮을까요 ?? 만약에 사용자가 동시다발적으로 쿠폰 발급을 클릭하게 되면 동기식으로 했을때 괜찮을까요 ??
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
18번 typedef 키워드 질문
Struct Person_tag 일 때, main 밑에 struct Person_tag person1;typedef struct Person_tag 일 때, Person person1;이렇게 들어가야 한다는 것을 빈칸으로 나올 수 있으니 외워야 된다는 말씀이신거죠?
-
미해결김영한의 실전 자바 - 중급 2편
7강 HashAndEqualsMain3 질문
안녕하세요,여러 번 이해하려 해도 기초가 부족해 쉽게 이해되지 않아 질문을 남깁니다 ㅠㅠ // Member 클래스에서 equals() 오버라이딩 Member m1 = new Member("A"); Member m2 = new Member("A"); // m1.equals(m2) = trueHashAndEqualsMain3 수업 중 Member 클래스에서 새로 정의한 equals() 메서드를 통해 참조값이 다른 두 객체 m1.equals(m2) = true 를 알 수 있었습니다. MyHashSetV2 에서 정의한 add() 메서드에서는 중복을 허용하지 않기 위해 LinkedList.contain() 메서드를 사용해서 안에 들어있는 내용의 동등성을 비교하고 있습니다.public boolean add(Object value) { int hashIndex = hashIndex(value); LinkedList<Object> bucket = buckets[hashIndex]; if (bucket.contains(value)) { return false; bucket.add(value); size++; return true; } equals() 를 재정의 하지 않은 MemberOnlyHash 를 이용한 HashAndEqualsMain2 수업에서는 m1 과 m2 가 Objects.equal() 로 다른 참조값을 비교하게 되어 add() 에서 중복을 검증할 수 없었고 MyHashSetV2.add() 를 통과해 같은 인덱스에 중복된 값이 들어가게 되었습니다. HashAndEqualsMain3 수업에서는 equals() 를 재정의한 Member 객체를 쓰고 있는데 m1 을 LinkedList 에 add() 로 추가한 후 m2 를 추가하는 과정에서 LinkedList.contains() 로 중복이 걸러져 m2 는 추가되지 않는것을 확인하게 되었습니다. 질문 : equals() 를 재정의 하며 Member 객체끼리 비교는 가능하게 되었는데 어떻게 Member 에서 재정의한 equals() 가 LinkedList.contains() 의 값에 영향을 줄 수 있는지 궁금합니다.Member 에서만 재정의한 메서드가 이미 LinkedList bucket 에 들어있는 "A" 라는 값과 동등성 검사를 할 때 영향을 끼치는 것 같은데 매개변수의 타입에서 재정의를 하는것이 LinkedList.contains() 에 영향을 미칠 수 있나요?혹은 영한님이 MyHashSetV2Main2 수업때 언급하신 equals() 사용처에 짧게 나온 아래 코드와 같은 동작 원리일까요?public boolean contains(Object searchValue) { int hashIndex = hashIndex(searchValue); LinkedList<Object> bucket = buckets[hashIndex]; for (Object object : bucket) { if (object.equals(searchValue)) { return true; } } return false; } 이해가 잘 되지 않아 질문도 뒤죽박죽인듯 해 걱정입니다. ㅠㅠ잘못 이해한 부분이 있다면 따끔한 지적 부탁드립니다. 항상 강의 잘 보고 있습니다!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
V4. forEach 문을 람다로 표현하는 방식을 알고싶어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 : 주문 조회 V4: JPA에서 DTO 직접 조회result.forEach()를 사용해서 루프를 돌렸는데, 혹시 forEach 말고 람다식으로 돌리는 방식을 알고싶어서 질문을 남깁니다.