묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
배포 후 빈페이지
배포했는데 화면에 아무것도 안 뜨고콘솔창에 아래와 같은 오류가 뜹니다.▶ ReferenceError: require is not defined 검색해보니 vite가 require를 지원하지 않아서 라는데,해결방법이 있을까요? (+)구글링 했더니 package.json에 아래 코드를 추가하면 된다는데, 이 방법도 아닌 것 같아요."type": "commonjs",
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Database not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-232] 90149/90149
test 랑 jpashop말고 다른 db를 만들어보려고 하는데,Database not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-232] 90149/90149이 에러가 뜨고 만들어지지 않는데 어떻게 해야 하나요? test 랑 jpashop접속은 되지만 새로운 db 생성이 안됩니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
콘솔에서 쿼리가 보이지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강사님처럼 콘솔에 INFO와 쿼리가 뜨지 않습니다.다른 분들 질문을 보니 yml 파일을 확인하라던데 yml 파일에 오타는 없는거 같은데.... 어느 부분을 수정해야할지 모르겠습니다 ㅠㅠ
-
미해결코로나맵 개발자와 함께하는 지도서비스 만들기 1
kakao is not defined 오류
kakao is not defined 오류가 나서kakao 개발자 서버에 들어가서 https://localhost:3000등록했는데도, 계속 오류가 나네요. F12 눌러서 Network 들어가보니Status Code 에 401 unauthorized 뜨는데..해결방법좀 알려주세요 ㅠjava script key/ rest api key 둘다 적용해봤는데도 안되네요혹시 웹등록하는데 시간이 좀 필요할까요
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
eslint 설정 후 오류가 납니다.
강의대로 eslint 설정한 후 { "extends" : [ "react-app" ] } npm run dev 하면 아래와 같은 에러가 납니다. VITE v6.0.3 ready in 354 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h + enter to show help오후 4:41:35 [vite] Internal server error:C:\Dev\fullstack-app\frontend\src\main.jsx 1:1 error Parsing error: The keyword 'import' is reserved✖ 1 problem (1 error, 0 warnings) Plugin: vite-plugin-eslint File: C:/Dev/fullstack-app/frontend/src/main.jsx at TransformPluginContext._formatError (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47158:41) at TransformPluginContext.error (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47153:16) at TransformPluginContext.transform (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite-plugin-eslint/dist/index.mjs:1:1989) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async EnvironmentPluginContainer.transform (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:47001:18) at async loadAndTransform (file:///C:/%EC%94%A8%EC%97%94%ED%8B%B0%ED%85%8C%ED%81%AC/Dev/fullstack-app/frontend/node_modules/vite/dist/node/chunks/dep-yUJfKD1i.js:40852:27)오후 4:41:35 [vite] Pre-transform error:C:\Dev\fullstack-app\frontend\src\main.jsx 1:1 error Parsing error: The keyword 'import' is reserved 파싱 오류 같은데 어느 설정파일을 수정해야 할까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
안녕하세요 jpa 공부하다가 궁금한 것이 있어서 여쭤봅니다채팅프로그램을 만들고 있는데간단하게 user table id, emailchattingroomid,user_id, room_number로 테이블이 구성되어있습니다사용자가 로그인해서 채팅방번호를 입력하면chattingroom만들어지는데 아무래도 id가 따로있다보니 chattingroom에 같은 user_id, room_number중복된 데이터가 생성됩니다 이같은 경우 생성전에 중복 쿼리를 생성해서 검증해야할지oracle에 merge into ~ update ~ insert를 createQuery로만들어서 구현을 해야하는지 궁금해서 여쭤봅니다 감사합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
lombok이 적용이안되는이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. getter,setter이 적용이안됩니다.1.enable 세팅해서 체크함2.스프링 프로젝트만들대 디펜전씨에 롬복추가함 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>3.플러그인 깔려있음 3가지 다 적용되어있는데 뭔 symbol?이런 에러뜨면서 롬복적용이안된데요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactional이고, Rollback 설정을 변경하지 않았음에도 Insert문이 실행되는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 다름이 아니라 테스트 코드를 작성하여 결과를 확인하고 있었는데 교수님의 설명과 달리 Insert문이 계속해서 출력되고 있는 것이 의문이라 여쭤봅니다. 저는 rollback을 false로 하거나 em.flush를 따로 호출해주지 않았음에도 Insert문이 출력되는 이유가 궁금합니다.참고로 저는 H2가 아니라 mysql 로컬 디비를 연결하여 개발 중인데 이 것이 사유가 되는걸까요? spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/testdb username: root password: /// jpa: hibernate: ddl-auto: update properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect format_sql: true logging: level: org.hibernate.SQL: DEBUG org.hibernate.type.descriptor.sql.BasicBinder: TRACE package jpabook.jpashop.service; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class MemberServiceTest { //테스트니까 이런식으로 해도 됨. @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exception { //~~걸 실행하면 ~~한 결과가 나와야 함, 검증해라 (given when then) //given Member member = new Member(); member.setName("kim"); //when Long savedId = memberService.join(member); //then assertEquals(member, memberRepository.findOne(savedId)); } @Test(expected = IllegalStateException.class) public void 중복_회원_예외() throws Exception { //given Member member1 = new Member(); member1.setName("kim1"); Member member2 = new Member(); member2.setName("kim1"); //when memberService.join(member1); memberService.join(member2); // try{ // memberService.join(member2); //예외가 발생 // }catch (IllegalStateException e){ // return; // } //then fail("예외가 발생하야 한다"); } }
-
미해결코로나맵 개발자와 함께하는 지도서비스 만들기 1
nodemon ./bin/www 입력 시 오류
PS C:\Users\jjoob\myfirstmap\myfirstmap> nodemon ./bin/www[nodemon] 3.1.7[nodemon] to restart at any time, enter rs[nodemon] watching path(s): .[nodemon] watching extensions: js,mjs,cjs,json[nodemon] starting node ./bin/wwwnode:internal/modules/cjs/loader:1252 throw err; ^Error: Cannot find module 'morgan'Require stack:- C:\Users\jjoob\myfirstmap\myfirstmap\app.js- C:\Users\jjoob\myfirstmap\myfirstmap\bin\www at Function._resolveFilename (node:internal/modules/cjs/loader:1249:15) at Function._load (node:internal/modules/cjs/loader:1075:27) at TracingChannel.traceSync (node:diagnostics_channel:315:14) at wrapModuleLoad (node:internal/modules/cjs/loader:218:24) at Module.require (node:internal/modules/cjs/loader:1340:12) at require (node:internal/modules/helpers:141:16) at Object.<anonymous> (C:\Users\jjoob\myfirstmap\myfirstmap\app.js:5:14) at Module._compile (node:internal/modules/cjs/loader:1546:14) at Object..js (node:internal/modules/cjs/loader:1689:10) at Module.load (node:internal/modules/cjs/loader:1318:32) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\jjoob\\myfirstmap\\myfirstmap\\app.js', 'C:\\Users\\jjoob\\myfirstmap\\myfirstmap\\bin\\www' ]}Node.js v22.11.0[nodemon] app crashed - waiting for file changes before starting...PS C:\Users\jjoob\myfirstmap\myfirstmap> 다 지우고 처음부터 다시 실행해봐도 계속 같은 오류이고localhost:3000 실행하면 흠… 이 페이지에 연결할 수 없습니다.localhost이(가) 연결을 거부했습니다. 이렇게 나오네요 ㅠ (nodemon ./bin/www 입력 시 오류)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
port 안 죽는 문제
>java -jar jpashop-0.0.1-SNAPSHOT.jar 하는 단계에서 계속 오류가 납니다...Web server failed to start. Port 8080 was already in use. 라고요...8080포트가 사용중이라는데 cmd 관리자권한으로 실행해서 8080의 pid 는 찾아도 taskkill 이 안돼요이렇게 뜨고 인터넷창에서 8080 접속하면 static 폴더 안에 있는 파일인 이 페이지가 떠요.... 왜이럴까요? 계속 해도 안되네요....
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
단축키 작동 안됨
단축키 설정을 했는데 tdd 도 안되고 sout 도 안되는 이유는 무엇일까요? 참고로 build.gradle 파일은 아래와 같습니다plugins { id 'java' id 'org.springframework.boot' version '3.4.0' id 'io.spring.dependency-management' version '1.1.6' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } testImplementation 'junit:junit:4.13.2' } tasks.withType(Test) { useJUnitPlatform() }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
junit 안됨
https://drive.google.com/file/d/1M-NYH5etfTZPV5kMZzuiOWaBjA7bR3XR/view?usp=sharing위는 제 프로젝트 파일입니다 강의 파일에 나와있는부분을 복붙해도 오류나고testImplementation("junit:junit:4.13.2")이렇게 해도 오류납니다.Assert 부터 안되는데 뭐가 잘못된걸까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
프로젝트 생성시 dependencies에 spring web starter 안뜸
dependencies에 spring web strater 검색해도 안뜨는데 어떡해야하나요??
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
일대 다 중간테이블
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 혹시 다대다의 경우는 중간테이블을 두어 푸는 것이 실무에서 필수적이라 했는데, 일대 다의 경우에도 비즈니스 로직 분리:중간 테이블을 통해 비즈니스 로직(보상 분배, 순위 계산 등)을 별도로 관리함으로써, 엔티티 간의 복잡성을 줄입니다.데이터의 독립적 관리:과거 랭킹 기록, 보상 내역 등 변경하지 않아야 할 데이터를 독립적으로 저장하고 관리할 수 있습니다. 이런 이유로 중간테이블을 두기도 하나요? 예를 들어 사용자와 랭크 관계가 일대 다인 상황에서(사용자는 한 랭크만 참가 가능) 과거 정보들을 저장하기 위해 중간테이블을 두고 거기에 전적 같은 정보를 저장하고자 하는데 이런 경우 일대 다임에도 중간테이블을 놔두어 관리해도 되나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
memberForm 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 저는 memberForm을 생성해서 뷰로 전송 -> 뷰에서 memberForm을 setter로 채움 -> 채운 memberForm을 post요청에 함께 전송으로 이해했습니다. 근데 create에서 받은 memberForm하고 createForm에서 받은 memberForm하고 다른 객체로 나옵니다.어디 부분이 잘못됐는지 알고싶습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
중복 회원 예외 테스트를 Junit5버전으로 맞게 수정된건지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Test public void 중복_회원_예외() throws Exception{ //given Member member1= new Member(); member1.setName("kim"); Member member2= new Member(); member2.setName("kim"); //when memberService.join(member1); //then assertThrows(IllegalStateException.class,()->{ memberService.join(member1); }); }중복 회원 예외 테스트에서 Junit5에선 @Test(expected)를 지원하지 않는 것 같아 assertThrows를 사용하는 방식으로 변경해야한다고 하여 변경했는데 올바른 방법인지 궁금합니다. (변경한 방식으로 테스트 케이스는 통과는 하였습니다.)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원 등폭폼, 상품등록폼 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.<form th:action="@{/items/new}" th:object="${form}" method="post"><form role="form" action="/members/new" th:object="${memberForm}" method="post">첫번째는 상품등록 폼의 action이 th태그로 사용된경우두번째는 회원등폭 폼의 action이 그냥 사용된경우입니다.상품,회원의 @getMapping createForm과 @postMapping create의 경로가 같기때문에(member/new, items/new) 저는 위의 2개의 form.html 에있는 action을 action=""으로 둘다 설정했는데 저렇게 따로 하는 이유가 있을까요 ? 제가 배운 기억으로는 경로가 같으면 action="" 이렇게 사용하면 처음 요청했던곳으로 다시 post요청한다고 알고있어서요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest 이게 왜 틀리죠?
package jpabook.jpashop.service; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; //@ExtendWith(SpringExtension.class) //@SpringBootTest에 이미 정의됨.(중복) @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입()throws Exception{ //given Member member=new Member(); member.setUsername("kim"); //when Long savedId = memberService.join(member); //then Assertions.assertThat(member).isEqualTo(memberRepository.findOne(savedId)); } }junit 5 버전이라 이렇게 고쳤는데도 테스트에 실패합니다. setUsername은 구버전 MemberRepository에서 오류가 나서 Member의 name을 username으로 바꿨습니다.test/resources/application.yml에spring: logging.level: org.hibernate.SQL:debug이것도 넣어줬는데 안됩니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
service에서 validate의 필요성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.db에 유니크 제약조건을 써서 동시성 접근에 대한 마지막 방어선을 만든다고 하셨는데, 굳이 service계층에 validateDuplicateMember을 두는 이유가 궁금합니다.그냥 db에 유니크 제약조건을두면 오류가 전파되지 않나요??db접근 횟수를 줄이기 위함이라면 validateDuplicateMember에서도 db에 접근을 하지 않나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Service의 findMembers와 findOne을 작성한 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 전 강의에서 Controller에서 Service, Repository 모두 호출이 가능하도록 설계를 할거라고 하셨는데, repository의 내용을 전파하기만 하는 findMembers와 findOne 메소드를 작성하신 이유가 궁금합니다.
주간 인기글
순위 정보를
불러오고 있어요