묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
Static boolean, Static void 호출
클래스에 static boolean canAutoReport = false; static void callServiceCenter() { System.out.println("서비스 센터(1588-0000)로 연결합니다."); }이렇게 선언해두었는데 b1.canAutoReport 나 b1.callServiceCenter()이 안됩니다. BlackBox.canAutoReport랑 BlackBox.callServiceCenter() 는 되는데 뭐가 문제일까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
직접 스프링 빈 등록하기 관련 질문
자바 코드로 직접 스프링 빈 등록하기에서 SpringConfig 파일에 코드를 작성하시는 부분을 보다가 궁금한게 생겨서 질문합니다.스프링 컨테이너에 빈을 등록한다는 것은 등록하고자하는 클래스의 실제 객체, 즉 인스턴스를 하나 생성하여 관리한다는 것으로 이해했는데요. 그럼 @Bean annotation을 붙이는 것은 빈으로 등록하겠다는 것을 명시하는 것을 나타내는 것 같은데, 꼭 메서드 형식으로 작성을 해야하는 것인가요? 예를 들어, 강의에 적혀있던 메서드 대신@Bean public MemberService memberService = new MemberService();위와 같이 변수 형태로 선언하면 안되는 것인가요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계의 주인을 양쪽 모두 설정할 경우
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]일대다[1:N] 강의의 16분 29초 쯤에 연관관계의 주인이 양쪽에 모두 있으면 망한다라는 언급이 있으신데, 순서가 꼬이거나 예측이 안된다는게 구체적으로 어떤 의미인지 예시가 있을까요?정말 단순하게 생각하면 어쨋든 연관관계의 주인이 아닌 쪽에서 mappedby를 통해 읽기 전용으로 설정하지 않아도 Member에서 추가하나 Team에서 추가하나 반영될 수 있다면 오히려 좋지 않나 싶은 의구심이 들어서 질문드립니다감사합니다 :)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
컬렉션 필드에서 초기화 질문이 있습니다. (arraylist 기본 사이즈 문제)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]ArrayList는 기본 사이즈를 10으로 생성하고 이후 사이즈를 초과할 경우 2배로 늘린 후 기존의 값을 복사하는 것으로 알고 있습니다.만약 사용자의 orders 개수가 10개 이상이라면, 이것을 지속적으로 늘리는 연산이 필요할 것으로 생각됩니다.실무에서는 arraylist를 필드 초기화할 때, 이런한 것을 예상해서 넉넉한 사이즈로 초기화를 하는지, linkedlist로 초기화하여 불필요한 연산을 줄이는 지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
api/v1/members 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.400 에러가 뜨는데 어느 부분을 놓쳤을까요?@RequiredArgsConstructor @RestController public class MemberApiController { private final MemberService memberService; @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member) { Long id = memberService.join(member); return new CreateMemberResponse(id); } @Data static class CreateMemberResponse { private Long id; public CreateMemberResponse(Long id) { this.id = id; } } }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 1. 준영속 상태가 되면 영속성 컨텍스트의 1차 캐시에는 존재하지 않고 DB에만 존재하는 걸로 이해했는데 맞을까요? 2. @Entity 어노테이션을 붙여주면 엔티티 팩토리가 그 클래스를 관리하게 되는게 맞는지, 그렇다면 DB 연결을 안하고 먼저 @Entity 를 통해 테이블을 생성한 후, 마지막에 DB 연결을 해주어도 문제가 없는 것인지 궁금합니다. 3. H2 데이터베이스를 localhost 가 아닌 도메인 주소(?) 로 접속하면 다른 PC의 사용자들도 DB 관리를 같이 할 수 있는 건가요? 4. @ManyToOne 은 @JoinColumn 과 같이 쓰고, @OneToMany 는 MappedBy 랑 같이 쓴다고 이해해도 괜찮을까요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
아!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
아!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!package c6; import java.util.Scanner; public class _01_methood { /**메소드*/ public static void methood(int old, boolean birsthay) { if (birsthay == true) { any_old = old - 1; } else { any_old = old - 2; } System.out.println("내 이름은 xx이, " + old + "살이다. \n 만나이는 " + any_old + "살이다."); } public static void main(String[] args) { methood(11, false); } }java: cannot find symbol symbol: variable any_old location: class c6._01_methood
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
클래스 인식안됨 Truncated class file
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? y2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? yy3. 질문 잘하기 메뉴얼을 읽어보셨나요? y[질문 내용]여기에 질문 내용을 남겨주세요.Truncated class file 라는 에러가 뜹니다.하라는대로 다 하는중 이래도 안되네요 캐시도 삭제 그래도 같은 문제 발생 어떻게 해결해야하나요?? 진도가 1강에서 막혀버려서
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
DTO 설계와 상속 관계간의 생성메서드
안녕하세요. DTO의 설계에서 의존관계가 중요하다고 하셔서, 강의 코드를 개선하는 도중 제가 설계한 DTO의 의존관계가 맞는지 질문하고 싶습니다.또한 Item 도메인에 생성메서드를 정적메소드로 구현한 뒤 Item을 상속 받는 Album, Book, Movie에도 생성메서드를 정적메소드로 구현한다고 하면 제가 설계한 방식이 맞는지 궁금합니다. 서로 상속관계인데 의존성을 넣는 것이 바람직하지 않을까요??먼저 저는 수업 코드에서 Book만 다루는 걸 나중에 Item 종류별로 다루는 걸로 개선하고 싶어서 BookForm 대신 ItemForm으로 바꾼 점 참고 바랍니다.controller/ItemForm.classDTO 설계 관련 코드controller/ItemForm.class service/UpdateItemDto.class service/ItemService.classdomain/Item.classdomain/Book.class생성메서드 관련 코드domain/Item.classdomain/Book.classBook클래스의 생성 메서드 부분에서 저렇게 의존관계 없이 구현하는게 바람직한지 궁금합니다. 아니면 Item과 의존관계를 구현하는 것이 바람직한지 궁금하구요. 또는 상속관계에서 더 좋은 생성메서드를 만드는 방안이 있는지도 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 등록 시 오류
Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Sun Jan 22 16:28:49 KST 2023There was an unexpected error (type=Internal Server Error, status=500).org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: form near line 1, column 10 [select i form Item i]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: form near line 1, column 10 [select i form Item i]org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: form near line 1, column 10 [select i form Item i]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: form near line 1, column 10 [select i form Item i] 상품 등록화면에서 submit 버튼 누르면 이런 오류가 뜹니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요!
loanBook() 메소드를 보면 userLoanHistories에 값을 추가하기만 하는데 userLoanHistoryRepository에 값이 추가되어있습니다..이건 spring data jpa의 역할인 건가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
ManyToOne 양방향 매핑에 대한 질문입니다.
설명에서 사용하신 멤버와 팀관계에서 멤버N : 1팀이라고 하고 만약 팀A에 속한 사람을 조회하면멤버를 통해 조회하면 일일이 멤버객체에서 팀A인 사람을 골라서 조회되는 것으로 알고있는데, 만약 팀을 통해 조회하면, 팀A에있는 members를 가져오는데 어떻게 동작되는건가요?? 팀은 mappedBy로 설정해두었습니다.둘다 같은 동작이 이루어지나요??
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
숙제 코드 리뷰 부탁드립니다.
이전 문제와 비슷하게 graph 인접리스트를 이용하고, ch 배열을 사용해여 이미 방문한 곳을 체크했습니다.import java.util.*; import java.io.*; class Main { static int answer = 0; static ArrayList<ArrayList<Integer>> graph; static int n, m; static int[] dis, ch; public static void bfs(int v) { Queue<Integer> Q = new LinkedList<>(); Q.offer(v); int L = 0; while (!Q.isEmpty()) { int len = Q.size(); for (int i = 0; i < len; i++) { int cur = Q.poll(); dis[cur] = L; for (int nv : graph.get(cur)) { if (ch[nv] == 0) { ch[nv] = 1; Q.offer(nv); } } } L++; } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = null; st = new StringTokenizer(br.readLine()); n = Integer.parseInt(st.nextToken()); m = Integer.parseInt(st.nextToken()); graph = new ArrayList<>(); for (int i = 0; i <= n; i++) { graph.add(new ArrayList<>()); } for (int i = 0; i < m; i++) { st = new StringTokenizer(br.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); graph.get(a).add(b); } ch = new int[n + 1]; dis = new int[n + 1]; ch[1] = 1; bfs(1); for (int i = 2; i <= n; i++) { System.out.println(i + " : " + dis[i]); } } }
-
미해결스프링 시큐리티
강의 자료는 어디서 받나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오라클 DB연결 bean설정하는 방법 질문합니다.
강의를 듣다가 데이터베이스를 h2 말고 oracle로 사용하고싶어서 변경해봤는데 방법을 잘 모르겠습니다..단순하게 db 연결은 가능합니다. public class JdbcTest01 { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "이름", "비밀번호"); Class.forName("oracle.jdbc.driver.OracleDriver"); String sql = "select * from member"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); System.out.println(" == 쿼리문 처리 결과 =="); while (rs.next()) { System.out.println("Lprod_id : " + rs.getInt("id")); System.out.println("------------------------------"); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { } finally { if (rs!=null) { try { rs.close(); } catch (SQLException e2) { } } if (stmt!=null) { try { stmt.close(); } catch (SQLException e2) { } } if (conn!=null) { try { conn.close(); } catch (SQLException e2) { } } } } } 그런데.. 빈 설정하는 방법을 잘 모르는 것 같습니다 ㅠㅠ (.getConnection에 유저이름과 비밀번호는 제대로 설정했습니다!밑에만 바꿨어요!)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 = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "이름", "비밀번호"); 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 { // 5. 자원 반납 if (rs!=null) { try { rs.close(); } catch (SQLException e2) { // TODO: handle exception } } if (conn!=null) { try { conn.close(); } catch (SQLException e2) { // TODO: handle exception } } } }프로퍼티스spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.username=이름 spring.datasource.password=비밀번호 디펜던시스dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.oracle.ojdbc:ojdbc8:19.3.0.0' implementation 'com.oracle.database.jdbc:ojdbc6:11.2.0.4' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.projectlombok:lombok' implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' } @Configuration@Configuration public class SpringConfig { private DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean //스프링빈수동등록 public MemberService memberService() { return new MemberService((MemoryMemberRepository) memberRepository()); } @Bean public MemberRepository memberRepository() { //return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } } 어떤 부분을 추가하고 수정해야하는지 잘 모르겠습니다 ㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
선행 지식
스프링 강의 선행으로 요구되는 지식이 자바, 관계형 데이터베이스 기초라고 되어 있는데요자바랑 MySQL은 공부했습니다.그런데 JDBC나 JSP, 서블릿, 디자인 패턴 등에 대한 지식이나 웹 개발에 대한 지식은 모른 채로 로드맵 시작해도 상관없나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
mysql.server start 에러
M1 Macbook Pro입니다. brew로 mysql 설치 후 mysql.server start를 하면 아래 메시지가 반겨주네요. ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/Wons-MacBook-Pro.local.pid).어찌해야 될까요? 설 연휴에 죄송합니다^^
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
연산자 파트 질문
안녕하세요 연산자 첫 파트 강의를 듣고 있는데요밑에 (1) 식에서는 c를 30으로 한번 출력하고 다시 식을 줄 때c = a - b;로 바로 했는데(2)에서는 val = 10;을 다시 선언하고 한게 무슨 차이인지모르겠습니다.(2)에서 처음 val 이 11로 됐기 때문에 다시 val=10;으로 한거라면(1)에서도 c는 30이 됐으니까 다시 c를 0으로 해줘야 하는거 아닌지.. (1)int a = 20; int b = 10;int c;c = a + b;System.out.println(c); //30c = a - b;System.out.println(c); //10 (2)int val; val = 10; System.out.println(val); //10 System.out.println(++val); //11 System.out.println(val); //11 val = 10; System.out.println(val); System.out.println(val++); System.out.println(val);
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
allocationSize 관련하여 질문올립니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 잘모르겠습니다 ㅎㅎ..3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1. 데이터 삽입 순서 관련 질문서버가 여러 대 있다고 가정했을 때, 각 서버에 하단의 이미지처럼 메모리에 50개씩 값을 올려둘 경우, DB에 들어가는 데이터가 순차적으로 안들어가지 않나요?구체적으로 생각해보지는 않았지만, 순차적으로 데이터가 들어가지 않을 경우에 대한 이슈가 있지 않을까 싶어서 질문드립니다!2. 중간에 비어있는 구간 관련 질문위와 마찬가지로 서버가 여러 대 있고 각 서버마다 50개씩 메모리에 할당했다고 가정했을 때, 특정 서버가 죽게되면 죽은 서버의 메모리가 가지고있던 개수만큼의 공백이 생기지 않나요?(거의 그럴 일은 없겠지만) 서버가 시도때도없이 다운될 경우 아무리 Long 타입을 지정했음에도 수가 넘어가는 케이스가 생기지 않을까 싶습니다.
-
미해결스프링 시큐리티
SecurityResourceService.getResourceList() 관련질문
resourcesList.forEach(re -> { List<ConfigAttribute> configAttributeList = new ArrayList<>(); re.getRoleSet() .forEach(ro -> { configAttributeList.add(new SecurityConfig(ro.getRoleName())); result.put(new AntPathRequestMatcher(re.getResourceName()), configAttributeList); }); });가 아니라resourcesList.forEach(re -> { List<ConfigAttribute> configAttributeList = new ArrayList<>(); re.getRoleSet() .forEach(ro -> { configAttributeList.add(new SecurityConfig(ro.getRoleName())); }); result.put(new AntPathRequestMatcher(re.getResourceName()), configAttributeList); });이것이 강사님의 의도한바가 아니었을까 생각이 드는데제가 잘못 짚은걸까요?? 참고: 5) 웹 기반 인가처리 DB 연동 - FilterInvocationSecurityMetadataSource (2)