묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
모든 개체가 필수적으로 참여하는 일대일관계
수업에서는 다양한 예시를 위해 주문과 배송 엔티티를 일대일 관계로 나눠서 만들었지만 db공부를 하던 중 "모든 개체가 일대일 관계에 필수적으로 참여하면 릴레이션을 하나로 합친다."라는 것을 보았습니다.위 글을 바탕으로 주문엔티티는 배송엔티티를 무조건 가지고 배송엔티티도 주문엔티티를 가지니 하나의 엔티티로 합치고 주문의 기본키와 배송의 기본키 두개를 합쳐 하나의 기본키로 만든다는 생각을 했습니다.실무에서는 주문과 배송을 각각 나누어 설계하는지 아님 합쳐서 설계하는지 궁금합니다.다시말해 1대1관계를 나눠서 설계하는지 궁금합니다.
-
미해결스프링 시큐리티
ajax 요청 응답에 대한 문의
안녕하세요 3) 인증 처리자 - AjaxAuthenticationProvider 수업에서 ajax 요청 날린 뒤 응답이 <Response Body is Empty>가 안뜨고, HTML 파일(정상적인 home 화면)이 응답되는 현상이 있습니다. https://github.com/kickhen/springsecuritypractice/tree/master 왜 저는 html이 리턴되는건지 무엇을 빼먹었는지 궁금합니다. 알려주시면 감사하겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드후 실행하면 동작도 잘 되는데 종료하고 나면 오류메시지가 나오네요
Execution failed for task ':DcsSpringApplication.main()'.> Build cancelled while executing task ':DcsSpringApplication.main()'* 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.2.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 18s3 actionable tasks: 1 executed, 2 up-to-date 라는 오류가 나오는데 무시해도 되는건가요?
-
해결됨스프링 시큐리티
SecurityConfig에서 사용하는 빈 주입 방식 질문
안녕하세요 3) 인증 처리자 - AjaxAuthenticationProvider 수업 듣던중 질문 남깁니다. SecurityConfig에서 어떤건 @Component로 빈 생성한 뒤에 Autowired로 주입받고(ex)CustomAuthenticationSuccessHandler ), 어떤건 @Component 안달고 직접 new 생성자 호출해서 @Bean 어노테이션으로 빈 등록을 하고 계시는데 (ex:CustomAuthenticationProvider 또는 FormAuthenticationProvider) 빈 주입하는 방식이 다른 이유가 궁금합니다. 일단 제가 해봤을 때 CustomAuthenticationProvider 에 @Component를 달면, SecurityConfig에 @Bean으로 등록한 PasswordEncoder 관련해서 빈 생성이 꼬이게 되는 것은 확인했는데요 단지, @Component를 달아보니까 꼬이더라 라는 이유를 넘어서서, SecurityConfig에서 사용하는 Bean을 주입하는 방식에 대해 구분하는 기준이 있다면 가르쳐주시면 감사하겠습니다.
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
12891_DNA비밀번호
package baekjoon; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer; public class p12891_DNA비밀번호 {static int[] myArr;static int[] checkArr;static int checkSecret; public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(br.readLine());int s = Integer.parseInt(st.nextToken());int p = Integer.parseInt(st.nextToken()); int result = 0;checkArr = new int[4]; // 비밀번호 체크 배열myArr = new int[4]; // 현재 상태 배열char[] a = new char[s];checkSecret = 0; // 현재 p개 중 몇개가 비밀번호 요건에 만족하는지 a = br.readLine().toCharArray();st = new StringTokenizer(br.readLine());for (int i = 0; i < 4; i++) {checkArr[i] = Integer.parseInt(st.nextToken());if (checkArr[i] == 0) {checkSecret++; // i번째 값은 이미 완성됨.}} for (int i = 0; i < p; i++) { // 부분 문자열 처음 받을 때 세팅Add(a[i]); // 현재 상태 배열에 담음} if (checkSecret == 4) {result++;} // 슬라이딩 윈도우for (int i = p; i < s; i++) {int j = i - p; // j = 맨 왼쪽, i = 맨 오른쪽Add(a[i]); // 오른쪽에 있는 값 추가Remove(a[j]);if (checkSecret == 4) {result++;}} System.out.println(result);br.close();} private static void Remove(char c) {switch (c) {case 'A':if (myArr[0] == checkArr[0]) // 같으면 이번에 빠짐으로써 충족이 안 되는 것이니까 checkSecret 하나 줄임checkSecret--;myArr[0]--;break;case 'C':if (myArr[1] == checkArr[1])checkSecret--;myArr[1]--;break;case 'G':if (myArr[2] == checkArr[2])checkSecret--;myArr[2]--;break;case 'T':if (myArr[3] == checkArr[3])checkSecret--;myArr[3]--;break;}} private static void Add(char c) {switch (c) {case 'A':myArr[0]++;if (myArr[0] == checkArr[0])checkSecret++; // 'A'가 더 많이 들어온다고 해서 checkSecret값을 올리면 되는 게 아니므로 딱 같을 때에만 증가시킴break;case 'C':myArr[1]++;if (myArr[1] == checkArr[1])checkSecret++;break;case 'G':myArr[2]++;if (myArr[2] == checkArr[2])checkSecret++;break;case 'T':myArr[3]++;if (myArr[3] == checkArr[3])checkSecret++;break;}}}현재 백준에서 문제가 통과되지 않고 있는데 혹시 잘못된 부분이라도 있을까요?ㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
user domain 생성관련
안녕하세요 선생님, 7강 유저 생성 에서 질문이 생겨 남깁니다. DTO에 User를 생성하는 클래스가 있는데 domain으로 따로 빼서 User클래스를 또 생성하는 이유는 무엇인가요? 스프링부트의 구조 짜는 법을 잘 모르고 있는건가 싶기도 하고..dto는 단순히 어떤 데이터로 통신할건지 정의만 해놓고 상세한 정의는 domain 의 user에서 하는 개념인건가요? 상세한 설명 부탁드리겠씁니다..!
-
미해결스프링 시큐리티
FilterSecurityInterceptor deprecated
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. FilterSecurityInterceptor deprecated 가 돼서 AuthorizationFIlter 를 사용하라고 해서 @Bean 으로 등록하려고 했습니다. @Bean public AuthorizationFilter authorizationFilter() throws Exception { AuthorizationFilter filter = new AuthorizationFilter(authorizationManager(authenticationConfiguration)); filter.set } 여기서 setSeucirtyMetadataSource 같은 메서드가 없어서 어떻게 해야할지 잘 모르겠습니다...
-
미해결스프링 시큐리티
Ajax 로그인 질문 있습니다
Ajax 로그인 시도 시강사님과 다른 방식으로 응답이 오는데정상적으로 작동한 것이 맞는지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA와 OOP
JPA 공부하면서 느끼는 점이 엔티티 자체 또는 엔티티 간의 협력관계를 잘못 구성하면 쿼리도 점점 이상해져 간다고 생각합니다. 이에 OOP에 대한 이해가 정말 중요하다는 생각이 드는데, 맞나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
[코드리뷰 요청]2중 포문 안썼는데도 시간초과 발생하는 이유가 뭘까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이중 포문 사용하면 O(N제곱) 나올 것 같아서 조건문에서 ++해주는 방법으로 사용했는데도 시간초과가 나오는 이유가 뭘까요? import java.util.Scanner; // 이중 포문을 피해서 로직을 만들었는데도 시간초과 발생 public class Main { public int solution(int n, int m, int[] arr) { int answer = 0; int start = 0; int sum = arr[start]; for (int i = start+1; i < n; i++) { sum += arr[i]; if (sum == m) { answer++; start ++; i = start; sum = arr[start]; } if (i == n-1) { start ++; // 1 i = start; //2 sum = arr[start]; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } System.out.println(T.solution(n,m,arr)); } }
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
말해주신대로 코드를 수정한뒤 다시 git clone 했는데요
혹시 swap 설정은 clone 할떄 마다 해줘야하나요:?? 엄청느려져서요!이런식으로 코드를 수정하였는데 엄청 속도가 느려져서 다음 url 로 접속이 안되네요 !
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
application.yml 설정하는 곳에러입니다
제 뭐가문제일까요? 제 mysql은 docker에 깔려있습니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
외래키 지정
연관관계의 주인을 외래키의 위치와 관련해서 정한다고 하셨는데, 이 외래키의 위치도 테이블 설계할 때, Member 테이블에 OrderId 방식으로 할지, Order 테이블에 MemberId로 할지는 자주 조회되는 형태를 기준으로 외래키 위치를 정하면 될까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@ManyToMany 대체 방법
실전에서는 @ManyToMany를 사용하지 않아서, 테이블의 N:M 관계는 중간 테이블을 이용해서 1:N, N:1로 매핑하는 것을 권장한다고 하셨는데, 중간 테이블을 이용하여 1:N, N:1로 매핑하는 걸 권장한다고 말이, @jointable 만들지 말고, 예를 들어 OrderItem 같은 엔티티와 테이블을 만드는 방법을 말씀하시는건가요?
-
미해결자바 코딩테스트 - it 대기업 유제
'ch' 배열을 boolean이 아닌 int로 지정하는 부분에 대해 궁금한 점이 있습니다.
각 학생별 교환 여부만 확인하기위해 선언한 배열이라면, boolean 타입으로도 충분히 판별이 가능할 것 같은데, int 배열로 지정한 부분에 대해 궁금한 점이 있습니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
배포후 사이트에 접속은 되는데 이후 과정이 안됩니다.
위험한 컨텐츠라그런지 localhost로 바뀌어버립니다.어떻게 하면 이 사이트의 서비스를 이용할 수 있을까요? 다 허용으로 바꾸었는데도 그럽니다 ㅠㅠ ++보니까 제가 url에 일일이 넣어주면 이동이 되는데 아니면 local host 로 변경이 됩니다 이유가 뭘까요> ㅠㅠ
-
미해결실습으로 배우는 선착순 이벤트 시스템
예제 프로젝트 상에서의 Kafka 사용시 궁금한점
강의 잘 듣고 있습니다. 질문사항이 두개 있습니다.1.4강의 [문제점] 영상에서 쿠폰생성 10000개 요청으로 인해 mysql이 1분에 100개의 insert가 가능하다고 가정할 시 '주문생성/회원가입요청이 타임아웃 또는 10분뒤에 실행' 된다고 하셨는데요.예제로 사용하신 Kafka 사용 예제에서는 Consumer 프로젝트도 어차피 API프로젝트와 같은 DB를 바라보고 있으므로, 어차피 Kafka를 사용하여도 '주문생성/회원가입요청이 타임아웃 또는 10분뒤에 실행'되지 않나요? 왜 여쭤보냐면, 강의 내에서 Kafka 미사용시 주문생성/회원가입요청의 타임아웃 및 10분뒤 실행에 대한 해결책을 Kafka로 사용하셔서 문의드립니다.2.5강의 [Consumer 사용하기] 영상을 보면 API 프로젝트 Consumer 프로젝트가 별개로 존재합니다.그러므로 API프로젝트의 테스트 케이스가 종료되어도 Consumer 프로젝트는 이미 Kafka로 100개의 데이터가 스트림으로 들어오는 상태이므로, 테스트케이스가 종료되어도(즉, API프로젝트가 종료되어도) Cunsumer 프로젝트는 종료가 되지 않은 상태이므로 100개의 쿠폰이 DB에 생성이 되어야 하는게 아닌지요?왜 여쭤보냐면, 강의 내에서는 API프로젝트가 종료되면 Consumer 프로젝트도 작업이 멈추는 현상이 있어서 문의드립니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
dis 배열 없이 풀어봤습니다
import java.io.*; import java.util.*; class Point { int x; int y; Point(int x, int y) { this.x = x; this.y = y; } } public class Main { static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, -1, 0, 1}; static int[][] board = new int[8][8]; public static void BFS(int x, int y) { int L = 0; Queue<Point> Q = new LinkedList<>(); Q.offer(new Point(x,y)); while(!Q.isEmpty()) { int len = Q.size(); for(int i=0; i<len; i++) { Point tmp = Q.poll(); for(int j=0; j<4; j++) { int nx = tmp.x + dx[j]; int ny = tmp.y + dy[j]; if (nx >= 1 && nx <= 7 && ny >= 1 && ny <= 7 && board[nx][ny] == 0) { board[nx][ny] = L+1; Q.offer(new Point(nx, ny)); } } } L++; } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); for(int i=1; i<=7; i++) { StringTokenizer st = new StringTokenizer(br.readLine()); for(int j=1; j<=7; j++) { board[i][j] = Integer.parseInt(st.nextToken()); } } BFS(1,1); if(board[7][7] == 0) System.out.println(-1); else System.out.println(board[7][7]); } }dis 배열없이 레벨과 board 배열만으로 풀었는데, 채점 결과 맞긴했는데 이렇게 짜도 될까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
tmp.legnth() > 0 공집합일때 출력 안하기 위해..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. tmp.legnth가 0일 경우 공집합이라서0보다 클 경우에만 tmp를 출력하는걸로 하셨는데,이 코드가 잘 이해가 안됩니다. 우선 tmp.legnth가 0일 경우 공집합이라는 것도 잘 모르겠어요.. 혹시 조금 더 쉽게 설명해주실 수 있을까요 ㅠㅠ if (tmp.length()> 0) System.out.println(tmp);
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
error: cannot find symbol @Entity ^ symbol: class Entity
애플리케이션을 처음 실행하고 여러 파일에서 위 제목과 같은 오류가 납니다. 한 파일이 아니라 여러 파일에 걸쳐가며 저렇게 발생하는데 어떻게 해결해야 하나요?