묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
team.getMembers에 관한 질문
em.flush() em.clear를 해야지만 findTeam.getMembers()를 통해서 members조회가 가능하더라구요. 제가 이해한 바로는 Team안에@OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>();이렇게 되어있지만 우리가 members에 대해서 설정한 부분이 없다. 여기까지는 이해했습니다. 그렇다면 이렇게 설정하고 DB에 flush를 하면 JPA가 알아서 Team에 대한 members를 넣어주는건가요? 아니면 em.find(Member.class,member.getId())를 했을 때에 JPA가 members를 찾아주나요? 이것이 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 gradlew build 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다음과 같이 오류가 발생하는데 어떻게 해야하나요?
-
미해결김영한의 실전 자바 - 기본편
접근제어자 1번째 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.위에 코드는 저가 접근제어자 첫 번째 문제를 풀었던 코드입니다. 실행시켜보았을때 나오는 결과물은 같았는데 선생님이 풀어주신 방식이랑 차이점이 보이는데 private 메소드를 만들어서 푸는 방식은 코드에 복잡함을 추가하는 것일까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
파일명 옆에 j 아이콘이..
안녕하세요선생님의 강의를 하나하나 멈춰가면서 똑같이 따라했는데저는 인텔리제이 상단 파일명 옆에 JS라고 뜹니다.선생님 화면에서는 J라고만 떠서크게 상관이 없는 건지, 바꿔야한다면 어떻게 바꾸는 지 궁금합니다.
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
백준 2178 미로탐색 질문 입니다.
안녕하세요.. 질문부터 말씀드리면,중첩 for문을 돌면서 입력값을 받을때, i는 y축, j는 x 축으로 알고있는데 bfs 호출 후 상하좌우 탐색 시, now의 0번째 값을 왜 x로 보시는지 알고싶습니다.. y가 아닌지... 짧은 지식으로 생각할때는 그런거 같아서요 ㅎㅎ 모든 2차원배열[][]은 y, x가 아닌건가요? ㅠㅠ 맨붕오네요 ㅋ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 오픈 초기 오류..;;;;
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 프로젝트 다운설정인텔리J 프로젝트 설정오류 내용 : 아래 내용보다 길지만 첫줄과 마지막 줄만 첨부 합니다.1. 초기2. 마지막 제가 어떤 부분을 고쳐야 할까요? 자바 기본 배우고 바로 넘어왔는데 처음 부터 막히니 막막하네요..;;;
-
해결됨스프링 웹 MVC
PATCH의 Idempotent에 대한 질문
안녕하세요 백기선님 설명해주신 HTTP Method 중, PATCH의 Idempotent에 대한 궁금증이 생겨 질문을 드립니다. 영상과 노트에서는 PATCH method가 멱등성을 가진다고 설명해주셨는데, 다른 레퍼런스에서는 PATCH가 멱등성을 가지지 않는다는 설명이 있어서 어떤게 올바른지 알고 싶습니다. 감사합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
중복 if 문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]if (rating >= 9) { System.out.println("어바웃 타임"); } else if (rating >= 8) { System.out.println("어바웃타임"); System.out.println("토이스토리"); } else { System.out.println("어바웃타임"); System.out.println("토이스토리"); System.out.println("고질라"); } if 문을 여러개 작성하였는데. 이렇게 작성하는건 틀린건가요?결과는 동일하게 나와서요
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
인텔리제 프로젝트 삭제와 프로젝트 실행 오류
5강을 듣다가 제 화면과 강사 선생님과 화면이 달라서 프로젝트를 삭제 했습니다. 그런 뒤 다시 프로젝트를 오픈했는데 저런 화면이 뜨면서 실행되지 않고 오류가 생깁니다.프로젝트를 삭제하고 캐쉬도 삭제 하고, 심지어 인텔리제이도 삭제해봤는데 여전히 저런 화면이 뜹니다. 어떻게 해야되나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
스프링 서버를 모바일에 띄울 수 있나요?
안녕하세요 이번에 강의를 완강하고 스프링을 이용한 프로젝트를 해보려고합니다.해보고 싶은 건 잠금화면 단어장 앱입니다.휴대폰을 키면 나오는 잠금화면에 단어장에서 랜덤한 단어가 나와서 단어를 복습할 수 있고제가 단어를 직접 등록할 수도 있고, 검색할 수도 있도록 만들고 싶습니다.제가 생각하기로는 스프링 웹 서버를 휴대폰에 띄우고, DB도 휴대폰 내부 메모리에 띄우도록 작업하려고 하는데. 이게 가능한 것인지 궁금합니다.또한 안드로이드 스튜디오를 써서 개발할 생각인데 안드로이드 스튜디오로 스프링 프로젝트를 생성하는 것부터 어떻게 해야할지 감이 잘 오지 않습니다. 제가 정말 개발초보라 질문이 두서 없지만 어떻게 해야할지 조언 부탁드립니다. 참고할만한 자료도 있으면 부탁드리겠습니다..!
-
미해결김영한의 실전 자바 - 기본편
객체
만약 다음과 같은 코드가 있다고 가정해볼게요! Data data1= new Data () ;이때 Data instance 즉, Data object 가 만들어진건 아는데,왜 객체는 class 의 instance 인건가요? objects are instances of classes 라는 말이 너무 헷갈립니다.
-
미해결김영한의 실전 자바 - 기본편
캐스팅 관련 질문
암묵적 캐스팅 관련 질문이 있습니다. int x = 10 ;x /= 2.5 ;는 왜 오류를 일으키지 않나요? 사실 int x = 10 / 2.5 ; 랑 다를바가 없어보이는데, 전자는 오류가 발생 안하고 후자는 type 오류가 발생하는 것 같아서요
-
미해결김영한의 실전 자바 - 기본편
this 사용
constructor 에서의 this 쓰임 말고도 더 다른 쓰임들이 있더라구요. 빨간 밑줄 부분을 실행할때, 이 this 의 역활이 궁금합니다. 제가 그전에 배운 this 는 constructor 를 생성할때 instance variables 와 constructor 괄호 안 parameters 변수의 네이밍이 같을때 오류를 방지 하기 위해서 있는 걸로만 배웟는데, 이건 완전히 다른 this 의 역활인가요 ?
-
미해결김영한의 실전 자바 - 기본편
오버로딩
public MyClass(int x, double y){} { ㅇ// 구현 } public MyClass(double y, int x){ 이 두개는 overload 가 가능한가요? 원래 constructor 이던 method 이던 매개변수가 같으면 안된다고 알고 있는데, 저것도 같은 취급을 하는지 궁금합니다.} {ㅇㅇ
-
미해결자바 코딩테스트 - it 대기업 유제
바둑대회 질문입니당
안녕하세요! 강의 잘 듣고있습니다! 바둑대회 문제 관련해서 제가 풀어낸 방식은 흑돌팀과 백돌팀 각각 인원을 세어주는 배열과 팀능력치를 계산하는 배열 두 개를 선언하고, 깊이가 다 다랐을 때 정답을 계속해서 초기화하는 방식을 사용했습니다. 예제 코드에서는 문제가 따로 생기진 않았는데 혹시 이런 방식의 풀이도 다른 문제를 접근하는게 큰 문제가 없을지 그리고 다른 입력에도 문제가 없을지 궁금합니다.package DFS; package DFS; import java.util.*; public class 바둑대회 { } class Solution6 { static int[] sum; static int[] teamCount; static int[][] cansArr; static int minNumber; static ArrayList<Integer>[] list; public static int solution(int[][] cans){ int answer; sum = new int[2]; teamCount = new int[2]; cansArr = cans; minNumber = Integer.MAX_VALUE; list = new ArrayList[2]; for (int i = 0; i < list.length; i++) { list[i] = new ArrayList<>(); } DFS(0); answer = minNumber; return answer; } public static void DFS(int lv){ if(lv == cansArr.length){ if(Math.abs(sum[0] - sum[1]) < minNumber){ minNumber = Math.abs(sum[0] - sum[1]); } return; } for (int i = 0; i < 2; i++){ if( teamCount[i] < cansArr.length/2 ){ sum[i] += cansArr[lv][i]; teamCount[i]++; DFS(lv+1); sum[i] -= cansArr[lv][i]; teamCount[i]--; } } } public static void main(String[] args){ Solution6 T = new Solution6(); System.out.println(T.solution(new int[][]{{87, 84}, {66, 78}, {94, 94}, {93, 87}, {72, 92}, {78, 63}})); System.out.println(T.solution(new int[][]{{10, 20}, {15, 25}, {35, 23}, {55, 20}})); System.out.println(T.solution(new int[][]{{11, 27}, {16, 21}, {35, 21}, {52, 21}, {25, 33},{25, 32}, {37, 59}, {33, 47}})); } }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 데이터테이블이 안만들어져요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1h-MGfbVOOqUMAtIrqo7Ys52FE4UnV9Am/view?usp=drive_linkMemberRepository를 실행했을 때 오류가 떠요어쩔 수 없이 뒷강의를 듣다가 앞으로 넘어오게 돼서 Order나 Item, Delivery 클래스들이 만들어져 있는데 이것들 때문일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
복사가 이상하게 됩니다. 어떻게 고쳐야할까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class JdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public JdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } } } } catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } } } } catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } } } } } return members; catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } } } catch (Exception e) { throw new IllegalStateException(e); finally { close(conn, pstmt, rs); } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); } }이런식으로 복사됩니다. 매번 이래서 크롬으로 변경해서 복사해도 똑같네요..
-
미해결스프링 시큐리티 OAuth2
Token Decoder
저는 업무 환경 상 버전이 다르게 진행하고 있고,org.springframework.boot version "3.2.1"security version "6.2.1"개념과 과정을 강의를 통해 도움 받고 있습니다.궁금한 것은 Authorization Server 에서 강사님이 설정하신 바와 같이 JwtSource 설정을 넣으니, Resource Server 에서 다른 알고리즘으로 파싱이 안된다는 에러가 나더라구요.@Bean public JWKSource<SecurityContext> jwkSource() throws NoSuchAlgorithmException { RSAKey rsaKey = generateRsa(); JWKSet jwkSet = new JWKSet(rsaKey); return (jwkSelector, context) -> jwkSele ctor.select(jwkSet); }[DefaultJWTProcessor]new BadJOSEException("Signed JWT rejected: Another algorithm expected, or no matching key(s) found"); Authorization server 에서 Token발행 과정을 디버깅하면DelegatingOAuth2TokenGenerator > JwtGenerator에서 alg : RS256, encoder 는 NimbusJwtEncoder 로 토큰이 저장됩니다. Resource 서버에서 NimbusJwtDecoder 를 통해 진행되기는 하나 header key 가 RSA 로 들어오던데요. Authorization server 의 jwkSource 설정을 모두 주석처리하니, 더 이상 키 불일치 에러는 발생하지 않더라구요. 버전 상의 문제일지 양쪽 서버에 뭔가 다른 설정이 필요했을지 궁금해서 문의 남깁니다.
-
미해결김영한의 실전 자바 - 기본편
질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강사님 문제와 풀이 중 이해안가는 것이 하나 더 있어서 질문드립니다. createorder메소드 부분에서 반환타입이 ProductOrder로 되어있는데 ProductOrder클래스를 써서 ProductOrder로 쓰신건가요? 궁금합니다
-
미해결김영한의 실전 자바 - 기본편
문제와 풀이 질문있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 강사님 문제와 풀이도중 이해가 잘 안되서 질문드렸습니다. orders배열에 참조값이 들어있기에 printorder(orders)까지는 이해가 되는데 printorder 호출 후, printorder메소드 ()안에 ProductOrder[] orders 배열이 들어간 것이 이해가 잘 안됩니다. printorder 호출 후 ProductOrder[] orders = orders로 참조값을 넣기 위해서인가요??