묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ORDERS와 DELIVERY 관계에 대한 질의입니다.
안녕하세요. 강의 수강 도중 제가 이해를 잘하지 못하여 질문 남기게 되었습니다. 16:28~ 부분에서주문과 배송의 경우 일대일 단방향 관계라고 말씀하셨는데, 회원 엔티티 분석 이미지를 보았을 때Order 에서 delivery: Delivery,Delivery 에서 order: Order 이면단방향이 아니라 양방항 관계인 것 같은데 왜 단방향 관계인지 궁금합니다. ㅜ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입에서 insert 쿼리는 뜨는데 h2 db에 저장이 안됩니다.
yml 파일spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸 url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true format_sql: true defer-datasource-initialization: true logging: level: org.hibernate.SQL: debug # org.hibernate.type: traceMemberController 파일package jpaproject.jpashop.controller; import jpaproject.jpashop.domain.Address; import jpaproject.jpashop.domain.Member; import jpaproject.jpashop.service.MemberService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import javax.validation.Valid; @Controller @RequiredArgsConstructor public class MemberController { private final MemberService memberService; @GetMapping("/members/new") public String createForm(Model model){ model.addAttribute("memberForm",new MemberForm()); return "members/createMemberForm"; } @PostMapping("/members/new") public String create(@Valid MemberForm memberForm){ Address address = new Address(memberForm.getCity(), memberForm.getStreet(), memberForm.getZipcode()); Member member = new Member(); member.setName(memberForm.getName()); member.setAddress(address); memberService.join(member); return "redirect:/"; } }콘솔창h2 데이터베이스도저히 원인을 모르겠네요 도와주세요
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
초록색 주석문은 뭔가요 .. !
pdf 교안 보면 이런식으로 되어있는 초록색 주석문? 이 있던데그냥 인텔리제이에서는 // 나 /* */ 했을 때 회색으로만 표시되고 저렇게 초록색으로는 안 표시되더라구요 ... 저거는 뭔가요 ?생성 단축키도 알려주시면 감사하겠습니다 ...
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
join과 join fetch 의 차이 ..
OrderQueryRepository 에 findAllByDto_flat 보면다 join 으로 되어있는데 join과 join fetch (페치 조인)의 차이점은 뭔가요 ..?join도 lazy 로 되어있는거 한번에 끌고오는 건 비슷한 거 같은데 .. ㅜ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
[오타] 2-4. 피보나치 수열
안녕하세요, 김태원 강의자님!강의 잘 듣고 있습니다 :)채점 사이트에 오타가 있어 글을 남깁니다.환절기 건강 조심하시기 바랍니다 🙂☘️ [오타 내용]2-4. 피보나치 수열설명 1) '피보나키' 수열
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Failed to load ApplicationContext 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]package hellospring11.hellospring.service; import hellospring11.hellospring.repository.JdbcMemberRepository; import hellospring11.hellospring.repository.JdbcTemplateMemberRepository; import hellospring11.hellospring.repository.MemberRepository; import hellospring11.hellospring.repository.MemoryMemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import hellospring11.hellospring.service.MemberService; import javax.sql.DataSource; // 자바 코드로 스프링 빈 등록 // 실무에서는 이것 보다는 autowired를 사용 하는데 이방법은 리포지토리를 쉽게 변경을 할 계획이라서 일딴 이렇게 사용 @Configuration public class SpringConfig { private final DataSource dataSource; @Autowired public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ //return new MemoryMemberRepository(); //return new JdbcMemberRepository(dataSource); return new JdbcTemplateMemberRepository(dataSource); } }package hellospring11.hellospring.repository; import hellospring11.hellospring.domain.Member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.simple.SimpleJdbcInsert; import javax.sql.DataSource; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; public class JdbcTemplateMemberRepository implements MemberRepository{ private final JdbcTemplate jdbcTemplate; // 생성자가 하나면 오토와이어드 생량 가능 public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); } @Override public Member save(Member member) { SimpleJdbcInsert jdbcInsert = new SimpleJdbcInsert(jdbcTemplate); jdbcInsert.withTableName("member").usingGeneratedKeyColumns("id"); Map<String, Object> parameters = new HashMap<>(); parameters.put("name", member.getName()); Number key = jdbcInsert.executeAndReturnKey(new MapSqlParameterSource(parameters)); member.setId(key.longValue()); return member; } @Override public Optional<Member> findById(Long id) { List<Member> result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(), id); return result.stream().findAny(); } @Override public Optional<Member> findByName(String name) { List<Member> result = jdbcTemplate.query("select * from member where name = ?", memberRowMapper(), name); return result.stream().findAny(); } @Override public List<Member> findAll() { return jdbcTemplate.query("select * from member", memberRowMapper()); } // 람다 함수로 만듬 private RowMapper<Member> memberRowMapper(){ return (rs, rowNum) -> { Member member = new Member(); member.setId(rs.getLong("id")); member.setName((rs.getString("name"))); return member; }; } }MemberServiceIntegrationTest 테스트 파일에서 코드를 실행하는데 계속 오류가 나옵니다.@WebAppConfiguration, @ContextConfiguration() 어노테이션을 추가 해보았는데도 오류가 발생하고 데이터베이스 서버는 실행되어 있습니다.
-
미해결스프링 시큐리티 OAuth2
소셜로그인 + Jwt 인증 어떻게 하나요?
소셜로그인 성공 이후 JWT 인증하는 방법을 알고 싶어 강의를 수강했습니다.소셜로그인과 JWT 인증을 어떻게 같이 쓰는지 예시를 알려 주실 수 있나요실무에 바로 적용하고 싶은데 강의에서 보여 소셜로그인, JWT 인증 강의만으론 소셜로그인 성공 이후 어떻게 토큰을 발급해 react 또는 모바일 네이티브 앱의 사용자을 로그인, 회원가입시키는지 모르겠네요.샘플 코드를 첨부해주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
복합키 다 대 일 단방향 연관관계 @ManyToOne @Fetch 설정 방법 문의 드립니다.
강사님 안녕하세요 ~ 아래 질문은 먼저드린 질문과 다른 질문입니다.아래 첨부이미지 확인해주세요 저는 ComCorpUser.bizCd / teamCd 와ComBizTeam 에 있는 복합키의CombizTeamPK 의 속에 있는 bizCd / teamCd 와@ManyToOne @Fetch 애노페이션 연결 고리를 걸어서다대일 단방향 연관관계를 맺고 싶습니다.ComCorpUser 클래스의 java 파일을 어떻게 만들어야 할까요?강사님이 직접 1개의 클래스 java 파일을 만들어서보여 주실 수 있을까요?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
recurvie (fractal), GUI, Server
안녕하세요.공부를 하다보니 조금 더 욕심이 생기네요. 다음에 기회되신다면 recurvise, GUI-Fxml과 scene builder, Server 쪽 주제로 강의 해주시면 감사하겠습니다. 자바를 공부하다보면 위의 주제는 꼭 나오더라구요. 조만간 자바 완전체 기다해겠습니다.^^건승하세요.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
if문 - 부정연산자
안녕하세요.If문 부정연산자 관련하여 문의 드립니다. 아래 식에서 !(부정연산자)가 추가되어 false -> true 로 되는 것까지 이해하였습니다.그럼 if (hour < 14 && morningCoffee == true) 라는 식이 성립되는데if (hour < 14 && morningCoffee == false) 이 식과 어떻게 동일한지 이해가 되지 않습니다.. hour = 10;boolean morningCoffee = false; if (hour < 14 && !morningCoffee) sout("아이스 아메리카노 +1")
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
9분 05초 author이랑 isbn
author이랑 isbn이 null로 나와있는데 싱글테이블에서 Album이랑 Movie에 관련된 컬럼은 안나오고 딱 Book이랑만 관련된 author이랑 isbn 만 null로 표시됐는데 이건 JPA가 Book인 걸 알아서 그것만 표시해주는건가요 ?? 어떻게 author이랑 isbn만 표시해주게 되는건지 궁금합니다 ..
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
단순 선호도에 대한 궁금증 입니다!
6강을 듣고 있는데요...., down to 등등이 함수라고 하셨는데요.예를 들어 이렇게도 쓸 수도 있을것 같아요. IntRange(1, 3).step(3)자바를 오래 사용한 입장에서는 사실 함수로 직접 구현하는것이 조금 더 눈에 익숙하고, 왠지 모르게 심리적 안정감(?)을 주기도 하는데요.현업에서 코틀린을 사용할 때는 위처럼 함수를 직접 선언하는게 아닌 ..., step을 사용하는지 궁금합니다.
-
미해결자바 코딩테스트 - it 대기업 유제
실전 문제 질문 하나만 드립니다 ㅠ
강사님 안녕하세요, 제가 이번에 모 유니콘 기업에 코딩테스트를 보게 되었는데요.1반과 2반을 키순대로 나열하는데, 키순이 안맞는 곳만 상대방 반의 같은 index 위치의 학생과 교환이 가능합니다. 최소한 몇번 교환을 해야 만족하는지 구하는게 전부입니다. 너무 간단해 보여서 저는키순이 안맞는 위치를 체크한 후,같은 index 위치의 다른 반 애를 데려왔을때, 키순이 앞뒤로 안맞는지 체크, 안맞으면 안바꿈이런식으로만 했는데, 테스트 케이스 다 틀리네요 ㅠ얘는 그냥 구현일가요? 아니면 어떤 알고리즘이 있는걸가요?예제1)int[] height1 = {150, 170, 180, 180}; int[] height2 = {150, 160, 170, 190};답 : 횟수 1 (3번 인덱스 끼리만 교환) 예제2)int[] height1 = {130, 140}; int[] height2 = {130, 140};답 : 횟수 0
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 가입> 등록 후 회원목록 조회가 되지 않습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원가입 > 등록 후 회원목록 조회가 되지 않습니다. https://drive.google.com/file/d/1mo2EohoMsgKRpeusyQ-AXlygE1CSSJIV/view?usp=sharing코드 링크입니다. WhiteLabel Error Page 오류가 납니다.
-
미해결스프링 시큐리티 OAuth2
oauth2clinet api 사용 이유?
시큐리티 필터체인 구성 시 oauth2login api를 사용하면 되는데 굳이 oauth2client를 사용할 이유가 어떤것이 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 코드는 실행이 잘 되지만 실제 DB에는 올라가지 않아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 TEST코드가 실행은 잘 되지만 실제 DB에 올라가지 않는 문제가 있습니다. 도움을 받을 수 있을까 해서 올려봅니다.https://drive.google.com/file/d/1dLceWpDp71m9dsvZXlVEfKa1db8M885g/view?usp=sharing파일링크입니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이중 for문 런타임 에러 문제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.제가 이번 문제를 two pointers 알고리즘으로 풀기 이전이중 for문으로 구현을 했었는데요, 채점 사이트에서 돌려보니 시간 초과가 났습니다.제가 궁금한 점은,지난 문제에서는 4중 for문까지도 채점 사이트에서 정답이 떴었는왜 이번엔 이증 for문도 런타임 에러가 나는지 모르겠습니다.답변주시면 감사하겠습니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
수강 범위에 대한 질문입니다 ㅠㅠㅠ
안녕하세요 나도코딩님 오늘도 열심히 공부중인 학생입니다 ㅠㅠㅠ복수전공 과목 중 자바로 배우는 자료구조를 수강중인데 사전에 자바 공부도 없이 듣는 수업이라 도통 무슨 소린지 이해가 가질 않네요..그래서 현재 고급편 결제하고 섹션9 추상클래스 까지 들은 상태인데 뒤로 갈수록 내용이 어려워져서 복습한다고 속도가 너무 늦어지는 상태에요..자료구조 내용을 이해하려면 일단 어떤 파트를 필수적으로 빨리 들어야 하고 어떤 파트는 빼도 되는지 알려주실 수 있을까요??ㅜ 답변 주시는데 도움이 될 지 모르겠지만 교재 한 챕터에{자바 데이터 타입(기본타입, 참조타입), 제어문(조건문,반복문), 메소드(호출문,메인), try문}이렇게만 존재하긴 하는데 중간중간 책에는 없는 추상클래스, 입력문 같은 파트도 보여서 감이 안잡히네요..
-
미해결실전! 스프링 데이터 JPA
Setter, Merge, InvalidDataAccessApiUsageException Error
안녕하세요. Setter를 사용하고 싶지 않아서 아예 Setter를 사용하지 않는 방향으로 코드를 작성중입니다.Member1의 이름을 Member 1에서 Updated Member로 바꾸기 위해서 setUsername 함수를 사용하지 않고, 처음에 Member1의 아이디를 그대로 받는 생성자를 만들어서 이름 빼고 모두 똑같이 맞춰주고 Save를 하면 될 줄 알고 코드를 이렇게 작성했는데InvalidDataAccessApiUsageException:detached entity passed to persist라는 에러를 얻게 됬습니다.newMember1이라는 객체에 따로 뭘 하지도 않았는데 Detached 상태라고 해서 조금 의아해서 찾아봤는데 이미 영속성 컨텍스트에 id가 1인 Member1이 있는 상태에서 갑자기 쌩뚱맞게 똑같은 Identifier를 가진 NewMember를 Persist하려고 하니 생긴 오류인걸 알게 됬습니다.그래서 Setter없이 하는 방법은 정말 없을까 하다가 해당 글을 발견하게 되었고, 아래 스샷과 같이 Comment를 참고 해서, 해당 Oracle Reference에서 Merge라는 Method를 알게되었고(조금 밑으로 스크롤을 내려야합니다.) 현재 영속성 컨텍스트에 매개변수로 받은 Entity의 상태를 Merge한다는 내용이 제가 원래 하려던 생각과 맞는것 같아생각과 비슷한 것 같아 사용해 보았습니다.이렇게 Merge를 사용한 테스트코드에서는 테스트가 통과되고, 실제 DB에도 Member1의 이름이 Updated Member로 변경이 되었습니다. (Update Query도 실제로 실행되는것을 확인할 수 있었습니다.)JPA가 변경 감지를 통해서 Update를 해준다는것과 그게 정석이라고 말씀해 주셨고, 그렇게 JPA의 변경 감지를 사용하는게 상태를 마치 값변수처럼 직접 변경하는것 보다 좋을 것 같습니다.하지만 change~ 함수나 아래와 같이 다른 Setter를 대신하겠다고 만든 여러 함수들에서 이름만 set이 안들어갔지 결국 그 함수의 내용은 Setter랑 다를바가 없는데 이게 Setter를 사용하는것과 무슨 차이가 있는지 잘 모르겠습니다. Lombok의 @Setter를 사용해서 단지 모든 프로퍼티에 대해서 Setter를 만들어주지않고 개발자가 직접 지정한 부분만 Setter를 만들어 줄 수 있다는 측면에서는 차이가 있는것 같습니다.또한 제가 이렇게 Merge를 사용해서 Update를 하는게 확실히 다른 개발자 분들이 잘 사용하지 않은 방법인것 같긴합니다. 혹시 이렇게 Merge를 사용하는것에 대해서 어떠한 의견을 가지고 계신지 궁금합니다!감사합니다 :D
-
미해결실전! 스프링 데이터 JPA
Production에서의 p6spy의 보안문제는 생기지 않을까요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요. Production에서 p6spy의 사용에 대한 질문 드립니다. 성능을 고려해봐야한다고 말씀해주셨는데, 그것에 더해 p6spy에 의해 출력된 데이터가 만약 상당히 민감한 정보(비밀번호, 개인정보)를 출력하게 된다면 보안상 이슈도 고려를 해야하지 않을까라는 생각이 듭니다! 혹시 이 부분에 대해서 어떤 의견을 가지고 계신지 여쭤보고 싶습니다! 감사합니다 :D