지금까지의 설명은 기술의 발전 과정을 설명해주신것이니 실무에서나 개인 프로젝트 할때는 JDBC템플릿을 이용하면 지금까지 설명해주신 부분이 모두 해결이 자동으로 되니 에러 변환이나 커넥션 가져오고 반환하는 등 모든 과정을 고민하지 않아도 되는것인거죠 ? 그리고 멤버서비스v3_4테스트부터 오류가 발생하여 Jdbc템플릿을 이용하는 방법 테스트에까지 오류가 해결이 안됩니다. 기존에 질문글에 구글드라이브 링크를 올렸는데 해결 부탁드립니다 ㅠ
안녕하세요, 강의 잘 보고 있습니다. 코드 수정 후에 rerun 할때마다 너무 불편한데, 혹시 rerun 안해도 localhost: 8080이 켜져있는 상태에서 자동으로 화면이 변경되는걸 볼 수 있을까요? 예를 들어서 리액트 같은경우는 싱글페이지의 장점을 가지고 있어서 코드 수정 후 저장만 하면 바로 바로 변경되는걸 볼 수 있는데 인텔리제이에서도 비슷한 내용이 있나 싶어서 문의드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 공부를 하다가 갑자기 궁금해져서 질문 드립니다 MemberListControllerV3 클래스와 MemberSaveControllerV3에서 mv객체의 Model의 키를 각각 "members"와 "member"로 설정한 이유가 있나요? 이전의 버전도 계속 그런 방식으로 설정을 하더라구요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요? 프로젝션 쿼리에 new 명령어 관련 헷갈리는 부분이 있어서 질문 드립니다! try{ Member member = new Member(); member.setUsername("member1"); member.setAge(10); em.persist(member); em.flush(); em.clear(); List<MemberDTO> result = em.createQuery("SELECT new jpql.MemberDTO(m.username, m.age) FROM Member m", MemberDTO.class) .getResultList(); MemberDTO memberDTO = result.get(0); System.out.println("memberDTO = " + memberDTO.getAge()); System.out.println("memberDTO = " + memberDTO.getUsername()); tx.commit(); } 위와 같은 쿼리를 실행하게 되면 상위에서 생성한 member 객체에 있는 값을 result 로 복사하고 result 값을 memberDTO List의 인덱스 0으로 들어 간 값을 조회하라는 뜻이 맞는건가요..? 수업듣다가 제가 이해한게 맞는지 헷갈려서 질문 드립니다.. 답변 부탁드립니다!! 감사합니다.
private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } /** * 회원 가입 */ public Long join(Member member) { // 같은 이름이 있는 중복 회원X validateDuplicateMember(member);// 중복 회원 검증 memberRepository.save(member); return member.getId(); } MemberRepository는 인터페이스인데, 아래 join에서 memberRepository.save (member)을 어떻게 사용하는 건가요? 인터페이스는 객체를 만들지 못하고 구현체를 만들어야하는데 그러면 필드에서 MemberRepository의 구현체인 MemoryMemberRepository를 받아야 되는게 아닌가 했습니다. 이해가 잘 되지않아서 질문드립니다ㅠㅠ
안녕하세요! 강의 너무 잘 듣고 있는 수강생입니다. 이전 동기화와 CPU의 관계 강의에서는 CPU가 두 개 이상의 명령어를 처리하면 원자성이 보장이 안된다고 설명을 하셨는데, SpinLock & Busy Waiting 강의에서 test_and_set(int *lock) 메서드는 CPU 하드웨어 계층에서 원자성이 보장된다는 게 이해가 잘 가지를 않습니다. test_and_set(int *lock) 이 메서드는 하나의 명령어만 처리하는 건가요??
[질문 내용] 자바스크립트 인라인 each 작성시 정상적인 문법에도 불구하고 인텔리제이에서 에러 표시가 뜹니다. 서버 실행후 페이지 소스를 보면 작동이 아예 안되는것 같습니다. 인터넷 검색으로 해결법을 찾아보려고 했지만 관련된 오류가 하나도 없어서 질문 올려봅니다...ㅠㅠㅠ
[질문 내용] 여기에 질문 내용을 남겨주세요. service 에서 repository 호출 시 final 쓰는 이유 좀 설명해주세요 ㅠ 그리고 this의 의미가 setName(String name){.....} 에서 매개변수로 넘어온 (String name)을 지칭하는 것인가요??
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
안녕하세요. 강의를 듣다가 해외에서 프로시저를 사용하는 부분에서 궁금한점이 들어서 질문을 남깁니다. 해외의 경우 웹 애플리케이션을 개발할때 전부 프로시저로 개발하거나 비중이 높은 사이트나 회사도 있나요? (범용적으로 유지보수와 가독성을 위해서 적절히 섞어서 사용한다고 알고 있습니다.) 만약 프로시저 비중이 높거나 전체를 개발 된 사이트가 있다면 혹시 어떻게 생각하는지 들을 수 있을까요? (저는 별로라고 생각합니다!)
환경: Mac OS, Spring Boot 3.2.5, Java 17 강의, 문서 코드 그대로 작성했습니다. 10:10부터 설명해주시는 폼데이터 GET 요청 시, WhiteLabel 페이지가 출력이 됩니다. 반환하는 뷰 이름과 뷰 파일 이름이 매칭이 되지 않는지 확인했고, 무슨 문제인지 감이 잘 잡히지 않습니다. 확인 한 번만 부탁드리겠습니다! 감사합니다
1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용 들으면서 예시 프로그램 만들어 봤습니다. MemberDTO 에는 회원 가입시 비밀번호 확인 하는 부분이 없습니다. 이때, 비밀번호랑 비밀번호 확인란이랑 같은 것이 입력되었는지 확인하고 싶어서 이렇게 ModelAttribute로 member랑 mbrPwdConfirm을 넘겨 받아서 member의 pwd와 mbrPwdConfirm의 값이 같은지 비교했습니다. 그후 로그인 화면으로 리다이렉트 했는데, 이때, 이렇게 위에 mbrPwdConfirm부분이 쿼리로 나타납니다. singIn 함수에서 mbrPwdConfirm 부분을 제거 하고, request.getParameter("mbrPwdConfirm")을 하면 되긴합니다. 왜 전자의 방식은 안되고 후자의 방식은 되는 지 궁금합니다. 또한, 리다이렉트시 이 부분을 없애고 싶은데, 그러면 modelAttribute 부분을 없애야 하는데... 그러면 signIn함수에서 값을 사용을 못합니다....
[질문 내용] 해당 영상에서 unCheckedAppTest 클래스 내에서 SQLException을 RuntimeException으로 변환하는 부분을 static class로 생성해서 사용하고 있습니다. <첫 번째 질문> 이렇게 체크 예외를 런타임 예외로 바꿀 때 항상 static class로 생성해야 되는지 아니면 try { ~~ } catch(SQLException e) { throw RuntimeException(e); } 이렇게 사용해도 되는지 궁금합니다. <두 번째 질문> 체크 예외를 런타임 예외로 바꾸는 부분을 static class로 생성할 때 무조건 해당 체크 예외가 발생하는 클래스에다 생성해야 하는지도 궁금합니다.
findItems()에서 "itemA", "itemB"가 남아있다는 오류가 발생합니다. jdbc:h2:tcp://l ocalhost/~/testcase 로 접속해서 select 해 보면 데이타가 없는데, =jdbc:h2:tcp:// localhost/~/test 로 접속해서 select하면 "itemA", "itemB" 가 남아있습니다.(삭제하고 다시 실행해도....). TestDataInit을 실행하는거 같네요?? @Bean @Profile("local") public TestDataInit testDataInit(ItemRepository itemRepository) { return new TestDataInit(itemRepository); } 링크 :: https://drive.google.com/file/d/1HD2gxtYhL8B5fZ3KazZ148-4x66PPCuo/view?usp=sharing
Lombok의 @Data 가 @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode 를 만들어주는 애노테이션이라는 건 잘 압니다. 제 질문은 왜 스프링DB 2 :: 테스트 - 데이터 베이스 연동 테스트의 save에서 오류가 발생 했었는데, @Getter, @Setter를 @Data 로 바꾼 행위만으로 오류가 발생하지 않게 된 이유를 알려달라는 겁니다. @Getter, @Setter 만 설정하는게 잘 못 된거라면 그 이유가 뭐냐는 걸 문의한겁니다. https://www.inflearn.com/questions/1258907/%EC%8A%A4%ED%94%84%EB%A7%81db-2-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%97%B0%EB%8F%99-%EC%98%A4%EB%A5%98
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. ========================================= 헤매다가 해결했는데 다른 분들께 도움이 될 것같아서 커뮤니티에 남깁니다 ㅎ_ㅎ .gradle 폴더 내 6.8.2 파일 삭제(gradle 충돌 방지) gradle/wrapper/gradle-wrapper-.properties 수정 distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip build.gradle 파일 수정 plugins { id 'java' id 'org.springframework.boot' version '3.2.5' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } javax -> jakarta 수정 // import javax.annotation.PostConstruct; import jakarta.annotation.PostConstruct;