묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
h2 콘솔 접근 불가
위의 에러가 나옵니다 활성화도 제대로 된거 같은데 h2-console에 jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER를 입력하고 connect버튼을 누르면 에러가 나오고 url은 초기화 됩니다. local로 돌려도 화면상에 mysql연결이 된 거 같이 데이터는 그대로 입니다.
-
미해결김영한의 실전 자바 - 중급 2편
List인터페이스를 sout 할때 질문입니다.
링크드리스트의 list를 그냥 System.out.println(list); 했을때, 아래의 내용이 맞는지 궁금합니다. LinkedList의 toString 메서드는 AbstractCollection 클래스에서 오버라이딩된 toString 메서드를 상속받아 사용합니다.
-
미해결김영한의 실전 자바 - 중급 2편
TreeSet으로 자동 변환
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================Set 정리 14:58에서데이터 개수가 8개 이상이 되면 TreeSet으로 바꿔서 equals를 수행한다는 말씀은,HashSet, LinkedListSet으로 선언하여도 자바가 탐색 시에만 자동으로 변경한다는 말인가요?
-
미해결토비의 스프링 6 - 이해와 원리
의존성역전에 대해서 질의 합니다.
안녕하세요 의존성 역전에 대한 수업을 듣다가 갑자기 궁금한 사항이 생겼습니다. 인터페이스 소유권 역전에 대해서 말씀해 주셨는데요.보통 프로젝트에 들어가 보면 아래와 같은 구조로 패키지를 구성하는데, 그럼 서비스 쪽에 인터페이스도 사용하는쪽인 controller에 위치해야 하는게 아닌가 싶어서요.제가 이해한게 맞는지 궁금 합니다. // Before: 전통적인 계층형 구조 com.example.app ├── controller │ └── ExController.java ├── service │ ├── ExRateService.java (인터페이스) │ └── impl │ └── ExRateServiceImpl.java └── mapper └── ExMapper.java // After: DIP를 적용한 구조 com.example.app ├── controller │ ├── ExController.java │ └── ExRateService.java (인터페이스) ├── service │ └── ExRateServiceImpl.java └── mapper └── ExMapper.java
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 서비스 개발 할 때, 주문 상품 생성에 관해
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]주문 생성 시에 매개변수로 OrderItem을 여러개 받을 수 있게 했었는데 그렇다면 주문 서비스도 ItemId를 여러 개 받게 해야 하지 않나요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
실무에서는 테이블생성할때
지금 현재 데이터베이스 스키마 자동생성ㅇ을 보고 있는데요엔티티 클래스 만들때 이제 테이블이 자동생성이 되잖아요근데 실무에서는 이렇게 안하고 테이블 생성하고엔티티 작성하나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
C언어 메모리 스페셜(배열과 포인터)
56강 c언어 메모리스페셜(배열과 포인터) 부분Hello, World! 이거 문자열 세는 코드 설명이요,메모처럼 sizeof(자료형의 크기)로 출력하라고 하면 Null까지 세고,strlen(문자열의 길이)로 출력하라고 하면 문자열까지만 세니까 출력값이 1차이 나는 거 맞나요? arr[] = "Hello, World!"int n= 0 for ( n= 0, n!=\0, n++)printf("%d", sizeofarr[]/sizeof[n]);이렇게하면 저게 어떤 자료형의 사이즈든 상관없이 일정한 사이즈로 나뉘어지니까 null값을 포함하면 14란 말씀이신거죠?strlen은 null을 안 세니까 저 코드에 sizeof 대신 넣으면 13이 나오는 거고요, 맞나요..?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트케이스 작성 중 오류
[질문 내용]회원 리포지토리 테스트케이스 작성 강의의 2분 30초를 따라할 때, 오류가 발생하는데 무엇이 문제인지, 어떻게 해결해야할 지 모르겠습니다 ㅠㅠ 이전까지는 문제없이 잘 따라했었습니다..!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
배열과 포인터문제 질문
c언어 기출문제 변형 강의 23:50초에서 이런문제가 나왔는데요이문제는 이해했는데 ++**ptr이나 **ptr 이렇게 별이 두개이상 나오는 경우도 있는거같은데 이런경우 어떻게 해석해야할지 잘모르겠어서 질문드려요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열 최대 / 최소값 문제 풀다가 질문이 있습니다 .
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 선생님 잘 풀고 있는 와중에 궁금한 사항이 있어서 여쭤봅니다해당 아래쪽 저는 min = max = numbers[0]; for (int i = 0; i < n; i++) { if (numbers[i] < min) { min = numbers[i]; } if (numbers[i] > max) { max = numbers[i]; } }int i = 0 이라고 생각해서 작업하고 수행이 됏는데1로 하신 이유가 있을까요 ? 1로 해야하는 이유를 모르고 선생님이랑 다르니 생각이 멈추지 않아서 밤새 잠이 오지 않아 여쭤봅니다 ㅠ ㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
예외 날리는 이유에 대해서
안녕하세요강의 듣다가 문득 든 의문인데 코드를 짜실 때 조건이 아닌 경우에 다른처리를 하는 것이 아니라 바로 예외를 날려서 처리를 하시는데 이유가 있을까요? 혼자 짤 때는 예외처리를 하지 않고 else로 조건 분기 시켜서 따로 따로 코드 진행시키는데 바로 예외날리시는 이유가 궁금합니다
-
해결됨김영한의 실전 자바 - 중급 1편
열거형 문제풀이 2번 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 열거형 문제풀이2를 복습하는 도중에,문제풀이2 설명 에서 "참고 : HTTP 상태 코드는 200 ~ 299사이의 숫자를 성공으로 인정한다.(pdf-30page)" 라는 말이 있어서,스캐너로 205번을 쳤는데, "true"라는것이 안나와서 강사님 코드에서,1.메서를 하나추가,2.기존 메서드 내용을 좀 변경하였는데 이런 식으로 해도 되는지 알고 싶어서 코드를 올립니다.메인은 여러번 입력하기 위해서 while문 추가,HttpStatus 이넘 클래스는 isInputSuccess()라는 메서드 추가,및 findByCode에 if문에 or을 추가해서(마우스 블락진데) 200~299번 되게 만듬.이렇게 하였는데 괜찮으지요?추가예전에 문제풀이 할때는 안했더라고요.+ 오류나서, 밑에걸로 바꿈..추가2글을 다시 읽어 보니까 개소리(내가 요구사항을 잘못 이해 했구냐.. 라는 생각이 어제밤에 들던데..)인것 같은데. 글을 지우는 것은.. 아닌것 같아서.. 이렇게 남겨 놓습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
jpa repository에서 JPQL 엔티티 리턴 관련 질문
내가 댓글 단 게시글을 조회할 때, @JPQL을 이용해서 다음과 같이 댓글 Repository에서 JPQL 사용해서 PostEntity를 반환하고 있는데, 이 방식이 혹시 문제가 있을까요? @Repository public interface CommentRepository extends JpaRepository<CommentEntity,Long> { @Query("SELECT DISTINCT c.post FROM CommentEntity c WHERE c.user.userId = :userId") Page<PostEntity> findPostByUserComment(@Param("userId") String userId, Pageable pageable); }질문은 다음 3가지 입니다.1. CommentRepository에서는 CommentEntity로만 반환하고 CommentEntity.getPost()를 통해 게시글을 가져오는 게 맞을까요? 아니면 위 코드대로 진행해도 괜찮을까요? 실무에서 선호하는 방식이 궁금합니다. 내가 댓글 단 게시글을 조회하는거니까, CommentRepository에서 메소드를 만드는 게 맞다 생각했는데 혹시 PostRepository에서 메소드를 구현하는게 더 좋을까요?만약 위 코드처럼 한다면, 다대일이기 때문에 fetch join을 추가해서 pageable 같이 써도 문제 없는게 맞을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
오타 제보
'업캐스팅은 this를 무시합니다.'에서출력값 오타 있습니다. 코드는 XY를 예시로 드는데 출력값은 PC로 나옵니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
String.valueOf(CNT)
3:03초보면 앞뒤 문자가 다르면 answer에 해당 i값을 추가하고 나서 cnt를 1로 초기화하는데 왜 소스코드에는 cnt>1이상인 경우를 추가해서 ans+=String.valueOf(cnt)를 해주는 건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
소수 판별기 질문이요!
C언어 기출변형 문제 9분대 소수판별기 질문드립니다.출력값 첫번째에 2가 들어가던데 함수에 2를 집어 넣으면 num=2, i=2 가 돼서 2<2는 성립하지 못하기 때문에 2는 답이 못되지 않나요?그리구 출려값에 소수들끼리 띄어쓰셨는데 왜 띄어쓰는지 모르겠습니다ㅜㅜ
-
미해결실전! 스프링 데이터 JPA
DB,검증코드 에서는 member가 다른팀을 가지고있으나 soutv에서 같은팀을 가지고있다고 하는문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.member = Member(id=1, username=member1, age=10)member.getTeam() = Team(id=1, name=teamA)memberList = [Member(id=1, username=member1, age=10), Member(id=2, username=member2, age=20)]member = Member(id=2, username=member2, age=20)member.getTeam() = Team(id=1, name=teamA)memberList = [Member(id=1, username=member1, age=10), Member(id=2, username=member2, age=20)]member = Member(id=3, username=member3, age=30)member.getTeam() = Team(id=1, name=teamA)memberList = [Member(id=3, username=member3, age=30), Member(id=4, username=member4, age=40)]member = Member(id=4, username=member4, age=40)member.getTeam() = Team(id=1, name=teamA)memberList = [Member(id=3, username=member3, age=30), Member(id=4, username=member4, age=40)]이부분이 soutv 프린트결과입니다.이부분부터 테스트코드인데요 여기서분명히 팀을 다르게넣어주었고 실제로 db에도 적용되어있습니다.@Test @DisplayName("entity test") void entityTest() { Team team = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(team); em.persist(teamB); Member member = new Member("member1",10,team); Member member1 = new Member("member2",20,team); Member member2 = new Member("member3",30,teamB); Member member3 = new Member("member4",40,teamB); em.persist(member); em.persist(member1); em.persist(member2); em.persist(member3); List<Member> members = em.createQuery("select m from Member m", Member.class).getResultList(); for (Member memberList : members) { System.out.println("member = " + memberList); System.out.println("member.getTeam() = " + member.getTeam()); System.out.println("memberList = " + memberList.getTeam().getMembers()); } Assertions.assertThat(member.getTeam()).isEqualTo(team); Assertions.assertThat(member1.getTeam()).isEqualTo(team); Assertions.assertThat(member2.getTeam()).isEqualTo(teamB); Assertions.assertThat(member3.getTeam()).isEqualTo(teamB); } 어떤게 문제인지모르겠어서 질문남깁니다!entity code 도 남기겠습니다.package study.datajpa.entity; import jakarta.persistence.*; import lombok.*; @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id","username","age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private int age; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; public Member(String username) { this.username = username; } public void memberTeamSetting(Team team) { if (this.team != null) { this.team.getMembers().remove(this); } this.team = team; team.getMembers().add(this); } public Member(String username, int age, Team team) { this.username = username; this.age = age; if(team != null) { memberTeamSetting(team); } } } package study.datajpa.entity; import jakarta.persistence.*; import lombok.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id","name"}) public class Team { @Id @GeneratedValue @Column(name = "team_id") private Long id; private String name; @OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>(); public Team(String name) { this.name = name; } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
평소에 궁금했던 sql 문의드립니다
예시 문제학생 테이블에서 성적이 80점 이상인 학생의 이름을 뽑아라.평소 쿼리를 짤때 보면 Select 이름 from 학생Where 성적 >=80;이렇게 해왔는데, 가끔 기출이나 이런걸 보면 답지에Select 이름 from 학생Having 성적 >=80;이런식으로 having 절을 유독 사용하는데,, 답은 똑같으나 꼭 having을 사용해야하는건지 헷갈립니다.선생님 강의가 여지껏 들은 강의중 최고에요.. 딴말 필요없이 필요한거만 긁어주시네요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
메모리스페셜(배열과 포인터) 질문있습니다.
이 문장이 이해가 안갑니다 ㅠㅠ arr배열이 가리키는 주소가 가지고 있는 값은 12면서 + 1을 하기 때문에 13이 나오는 것은 알겠는데 **를 2개쓰는 이유를 모르겠어요 포인터 변수도 메모리 주소(a - 자기가 위치한 곳)를 가지고 있고, 가지고 있는 값(b - 내가 가리키고 있는 주소)가 있습니다.여기서 arr은 a-자기가 위치한 곳을 가리킵니다. 그것의 값을 arr 가져오라고 하니 b-내가 가리키고 있는 주소를 가지고 오게 되고, 거기에 다시 *을 씌우니 12를 가지고 오게 됩니다. 거기에 1을 더하면 13이 되죠.그래서 최종값은 24 + 13인 37이 됩니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
그럼 업캐스팅과 일반 상속의 차이점은 무엇인가요?
앞에 태그명? 다른 것 빼고는 차이점을 못느끼겠어서요모든 문제를 업캐스팅이라고 가정하고 풀어도 가능한건가요?