묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
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 말고 람다식으로 돌리는 방식을 알고싶어서 질문을 남깁니다.
-
해결됨실전 jOOQ! Type Safe SQL with Java
하나의 디비를 여러 백엔드 서버가 필요로 할 때, flyway 관리
전제 및 요구사항 DB 하나에 종류가 다른 서버가 4개가 붙어있습니다. flyway를 통해서 DB version control을 하고 싶습니다. node의 nestjs와 typeorm을 사용할 때는 CICD 단계에서 typeorm-migration을 통해서 기존에 만들어둔 DDL 쿼리를 적용한 후 앱 빌드 후 배포해서 dev & prod 환경에서 문제가 없게끔 돌아갔습니다.질문스프링에서 CICD(ex github action) 단계 때 flyway가 실행되어서 테이블을 데브나 프로덕션 단계 때 마이그레이션 적용이 가능할까요?(실습) Testcontainers + Flyway를 통해 DDL로 jOOQ DSL 만들기 에서 본 대로 이해한다면 각각 레포지토리마다 DB 폴더를 만들고 V1__init_tables.sql를 다 만들어야 dsl을 생성할 수 있어 보이는데, 그러면 프로젝트(레포지토리)가 4개나 되다 보니, table 버전 관리가 안 될 것 같고 이미 테이블을 생성 되었는데 또 테이블을 생성하는 .sql을 실행해야 할 것 같아서 문제가 생길 것 같은데, 방법이 있을까요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
회원가입 성공 후 redirect이동시 권한 질문
19강을 듣고 있는데 문제가 생겨서 질문 드립니다@PostMapping("/sign-up") public String signUpSubmit( @ModelAttribute @Valid SignUpForm signUpForm, Errors errors if (errors.hasErrors()){ return "account/sign-up"; } Account account = accountService.processNewAccount(signUpForm); accountService.login(account); // 권한 : Authorities=[ROLE_USER] 반환 성공 log.info("@@@ 권한"+ SecurityContextHolder.getContext().getAuthentication().toString()); return "redirect:/"; } 리다이렉트 직전에 로그를 만들어 권한을 찍어보니 Granted Authorities=[ROLE_USER]가 반환되는데, 리다이렉트를 한 곳에서는 로그에 권한을 찍어보니 [ROLE_ANONYMOUS]라고 나옵니다ㅠ..문제를 알 수 있을까요?
-
미해결김영한의 실전 자바 - 중급 1편
내부 클래스 질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 제가 현재 군인이여서 웹 IDE로 공부를 하고 있는데내부 클래스 문제 중에 바깥 클래스.내부 클래스 형식으로 객체를 생성하는 것이 있는데 제가 사용하는 IDE에서는 바깥 클래스. 부분을 패키지가 아니라며 컴파일 오류가 나는데 자바 버전이 낮아서 발생하는 문제일까요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
프로젝트셋팅
안녕하세요 강의 잘 듣고있습니다.설정 하실때 ,api 와 consumer 두개로 나눠서 하셨는데 ,하나의 src 밑에 있는 프로젝트로 진행을 할수가 있을까요 ?? 코드를 봤는데 중복된게 많아서 api 와 consumer 로 나누지 않고 하나의 src 밑에서 작성해도 되지않을까 생각했습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
소스코드 받을 수 있나요
자바강의처럼 소스코드 받아보고 싶은데 혹시 업데이트 해 주실 수 있으신가요? 만약 안된다면 이유가 뭘까요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
변경 감지와 병합 강의대로 코드를 작성한 후 잘 되던 상품수정이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]현재 페이지상에서 회원, 상품, 주문에 대한 모든 코드가 잘 작동되고 있는 상황입니다. 그 중 상품수정이 원래 잘 되었으니 강의 내용 중 변경 감지와 병합 코드를 작성해 본 후 잘 상품을 등록하고 목록에 보이는데 수정을 하면 에러가 나는데 해결으 못하고 있어서 글을 남깁니다. 전체 코드도 함께 남기겠습니다.https://drive.google.com/file/d/1kZe8QTmGrdlldqF5gaMomyVlWPtoBhTK/view?usp=sharing
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
em.close()는 왜 준영속 상태인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 범위자바 ORM 표준 JPA 프로그래밍 - 기본편 섹션3. 영속성 관리 - 내부 동작 방식 준영속 상태 질문 내용6:14 에서 em.close()가 준영속 상태라고 하셨는데영속성 컨텍스트가 종료되면영속성 컨텍스트 자체가 없는거잖아요 그러면 준영속이 아니라최초의즉, new 로 객체 생성만 한 비영속 상태가 되어야 하는게 아닌가요? 왜 close()를 하면 준영속 상태가 되는 건지 궁금합니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
test 오류 발생하는 분들을 위한 해결 방법!
test를 돌릴 때, kafka consumer가 반응을 하지 않으면 이전 테스트에서 사용한 값 때문일 수도 있습니다! 저 같은 경우는 테스트가 순식간에 끝나버려서 의심을 했는데요.redis-cli에 접속하신 뒤 `flushall` 명령어를 친 뒤에 테스트를 진행해보시면 해결 됩니다!
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
Pdf다운불가
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요.기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다.이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정)합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다. Pdf다운이안대여
-
해결됨김영한의 실전 자바 - 중급 2편
HashMap .values() 메서드
안녕하세요. HashMap에서 values 메서드는 인터페이스를 반환하는데 Collection 인터페이스를 익명으로 구현 후 반환하나요? 아님 인터페이스 하위에 있는 구현 객체를 생성 후 반환하나요? 아님 크게 중요하지 않는 것인지,,HashMap에서 values 메서드를 보니 아래와 같이 되어 있더라고요.public Collection<V> values() { Collection<V> vs = values; if (vs == null) { vs = new Values(); values = vs; } return vs; } 감사합니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
정처기 합격 잘 부탁드립니다.
실기 5트째 입니다…ㅠ 합격하려고 수강 신청 했습니다. 강의 잘 듣고 주시는 문제들과 이론 자료들로 해서 2회차 시험 도전해보겠습니다.정말 합격하고 싶네요..
-
해결됨실전! Querydsl
스프링 부트 2.4 이후 profile yml 설정 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 여태 영한님 수업을 들으면서나, 혼자서 뭔가 해보면서 오류가 나도 어떻게든 이 방법 저 방법 붙잡고 해보면 해결이 됐었는데, 스프링 공식 문서를 보고 따라해도 안되고, 구글링을 해도 안 돼서 도저히 못 하겠어서 여쭙게 되었습니다. 먼저 저의 Gradle 컴파일 시 세팅과 샘플 데이터 코드 부터 보여드리겠습니다.package study.querydsl.controller; import jakarta.annotation.PostConstruct; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import study.querydsl.entity.Member; import study.querydsl.entity.Team; @Profile("local") @Component @RequiredArgsConstructor public class InitMember { private final InitMemberService initMemberService; @PostConstruct public void init() { initMemberService.init(); } static class InitMemberService { @PersistenceContext private EntityManager em; @Transactional public void init() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); for (int i = 0; i < 100; i++) { Team selectedTeam = i % 2 == 0 ? teamA : teamB; em.persist(new Member("member" + i, i, selectedTeam)); } } } }이 부분은 제가 봤을땐 문제 없는 것 같습니다. 이제 제가 yml 파일에서 시도해봤던 방법들을 보여드리겠습니다.spring: profiles: active: local --- spring: config: activate: on-profile: local --- spring: datasource: url: jdbc:h2:tcp://localhost/~/querydsl username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true # show_sql : `System.out` 에 하이버네이트 실행 SQL을 남긴다 format_sql: true use_sql_comments: true # 실행되는 JPQL을 볼 수 있다. logging.level: org.hibernate.SQL: debug # org.hibernate.SQL : logger를 통해 하이버네이트 실행 SQL을 남긴다. # org.hibernate.type: trace # SQL 실행 파라미터를 로그로 남긴다.첫 번째로 시도했던 방법입니다. application.yml입니다. 아래에 오류 첨부 하겠습니다. Execution failed for task ':QuerydslApplication.main()'.> Process 'command '/Users/idohyeon/Library/Java/JavaVirtualMachines/corretto-17.0.11/Contents/Home/bin/java'' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.8/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 2s3 actionable tasks: 2 executed, 1 up-to-date 첫 번째 방법 시도시 오류 입니다.두 번째 방법 입니다.#spring: # profiles: # active: local #--- spring: config: activate: on-profile: local --- spring: datasource: url: jdbc:h2:tcp://localhost/~/querydsl username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true # show_sql : `System.out` 에 하이버네이트 실행 SQL을 남긴다 format_sql: true use_sql_comments: true # 실행되는 JPQL을 볼 수 있다. logging.level: org.hibernate.SQL: debug # org.hibernate.SQL : logger를 통해 하이버네이트 실행 SQL을 남긴다. # org.hibernate.type: trace # SQL 실행 파라미터를 로그로 남긴다.application.yml입니다. 알아보니 스프링 부트 2.4부터는 spring.profiles로 설정하면 안되고spring.config.activate.on-profile로 설정해야 된다고 해서 맨 위 spring.profiles.active 이 부분 빼고 해보았습니다.그래도 되지 않습니다. 하지만 그래도 이때는 정상적으로 실행이 되긴 하지만 profile이 먹히지 않아 샘플 데이터들이 insert 나가지도 않고,디비에도 들어와 있지 않습니다.세 번째 방법 입니다. spring: config.activate.on-profile: localapplication-local.yml 파일을 위와 같이 만들어둔 상태에서 첫 번째 방법, 두 번째 방법을 시도해봤는데 둘 다 첫 번째 방법 때와 같은 오류가 발생합니다.https://docs.spring.io/spring-boot/reference/features/profiles.html#page-title마지막으로 이번엔 공식 문서를 보고 따라해봤던 방법입니다. 이 방법까지 해봤는데도 해결이 되지 않습니다.
-
미해결김영한의 실전 자바 - 중급 2편
LinkedList 구현 시 질문
안녕하세요.LinkedList 구현 시 질문이 있어 글 남깁니다.기능 구현 관련된 건 아니고 제네릭 타입으로 변환 과정에서 의문이 가는게 있어서요.remove method 구현시에 제네릭 타입 전에는 다음과 같이 removeNode.item = removeNode.next = null; 라고 작성했거든요 ?어차피 둘 다 null일테니 ... 근데 이건 따로 에러가 안나고 제네릭 타입으로 변환하고 나서는 에러가 나네요 ? 확인 부탁드립니다.public Object remove(int index){ Node removeNode = getNode(index); Object removedItem = removeNode.item; if(index == 0){ first = removeNode.next; } else{ Node prevNode = getNode(index - 1); prevNode.next = removeNode.next; } /*removeNode.item = removeNode.next = null;*/ /*Node prevNode = getNode(index - 1); prevNode.next = removeNode.next;*/ removeNode.item = removeNode.next = null; size--; return removedItem; }public E remove(int index){ Node<E> removeNode = getNode(index); E removedItem = removeNode.item; if(index == 0){ first = removeNode.next; } else{ Node<E> prevNode = getNode(index - 1); prevNode.next = removeNode.next; } /*removeNode.item = removeNode.next = null;*/ /*Node prevNode = getNode(index - 1); prevNode.next = removeNode.next;*/ removeNode.item = removeNode.next = null; //이게 왜 에러일까요 ? 어차피 둘 다 null인 건 마찬가지인데요. size--; return removedItem; }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Table 설정하면 insert문이 나가면서 jpa 실행 시간에 영향을 준다고 하셨는데 insert문 없이 create만 나가서요 이것도 jpa 실행 시간에 영향을 안주는 거 아닌가요??
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
후하 제머리로는 좀 어렵네요 mysql 설치
mysql 설치가 커뮤니티보고 다해봐도 다안돼네요 ㅠㅠ혹시 2024년 버전 해결방안 있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
git 질문있습니다.
강의내용 7:31초.gitignore 파일을 만들떄 자동저장 or 수도저장 할건지 물어보는 부분에서 don't ask again 클릭후 add으로 눌러버려서 수동으로 저장으로 다시 바꾸고 싶은데 어떻게 해야하나요?죄송해요 구글링해도 안나와서 이런 사소한 질문 죄송합니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
h2 데이타베이스 연결 문제
Database "mem:library" not found, either pre-create it or allow remote database creation (not recommended in secure environments)이런 식으로 mem:library 를찾을수없다고 뜹니다 무엇이문제일까요?구굴링해도 안뜹니다 혹시 h2 데이타베이스를 설치해야하는건가요?