묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
memberRepository 중 findByName 테스트 오류
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] service test하려다가 join에서 오류나서 repository부터 다시 test하는데 findByName()만 오류가 나네요.. 이리굴리고 저리굴려도 해결이 안됩니다. 왜일까요 ..? :( @Repository@RequiredArgsConstructorpublic class MemberRepository { private final EntityManager em; public void save(Member member) { em.persist(member); } public Member findOne(Long id) { return em.find(Member.class, id); } public List<Member> findAll() { return em.createQuery("select m from Member m", Member.class).getResultList(); } public List<Member> findByName(String name) { return em.createQuery("select m from Member m where m.name = :name", Member.class) .setParameter("name", name) .getResultList(); }} @Service@RequiredArgsConstructor@Transactionalpublic class MemberService { private final MemberRepository memberRepository; public Long join(Member member) { validateDuplicateMember(member); //회원이름 중복인지 검증 memberRepository.save(member); return member.getId(); } //회원이름 중복검사 public void validateDuplicateMember(Member member) { List<Member> findMember = memberRepository.findByName(member.getUsername()); if (findMember.size() > 0) { throw new IllegalStateException("중복된 이름이 있습니다."); } } @SpringBootTest@RunWith(SpringRunner.class)@Transactionalpublic class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Autowired EntityManager em; @Test @Rollback(false) public void join() { Member memberA = new Member(); memberA.setUsername("memberA"); memberRepository.save(memberA); List<Member> findMember = memberRepository.findAll();//통과 memberRepository.findByName(memberA.getUsername()); }} 오류코드 : org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: could not resolve property: name of: jpabook.jpashop.domain.Member [select m from jpabook.jpashop.domain.Member m where m.name = :name]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: name of: jpabook.jpashop.domain.Member [select m from jpabook.jpashop.domain.Member m where m.name = :name] ..생략.. at jpabook.jpashop.domain.Service.MemberServiceTest.join(MemberServiceTest.java:37) ..생략.. at jpabook.jpashop.domain.repository.MemberRepository.findByName(MemberRepository.java:58) ..생략.. 머리 다 뜯을 것 같아 시도 멈추고 질문올립니다 :(
-
해결됨플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
flex-wrap: wrap, flex-direction: column
안녕하세요 선생님 강의 2:53 에서 section 에다가 flex-wrap:wrap 으로 테블릿 버전 줄바꿈 해주셨는데 저는 flex-direction: column 으로 줄바꿈 했더니 .desc 에 height: 100% 주니까 컨텐츠만큼 줄어들더라구요 flex-direction: column 으로 줄바꿈 했을때 .desc 의 height 를 가득차게 하는 방법은 없을까요?
-
미해결vue.js 실전 프로젝트(트위터 클론)
computed 질문이 있습니다.
해당 강의에서 currentUser에 store.state.user를 받을때 computed로 받았는데 이유를 알고싶어 글 남깁니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
firebase SHA-1 질문
안녕하세요 강사님 망고어플 만들기의 데이터베이스에 북마크 정보 저장하기 강의에서 질문이 있습니다 강사님께서는 firebase 프로젝트를 만드실때, SHA-1을 따로 넣지 않으셨는데, 구글링해보면 다들 넣더라구요.. 혹시 굳이 안넣어도 되는건가요? 아님 넣으시는걸 추천하시나요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
안녕하세요. JPA 관련 질문이 있습니다.
안녕하세요. 강사님 강의 매우 잘 듣고 있습니다 ! 다름이 아니라 JPA 질문이 있는데 너무 뒤에서 질문을 남기는게 아닌가 싶습니다. 공부할 때 기본생성자가 필요하다고 배웠는데 다른 도메인 같은 경우는 AllArgsConstructor 랑 NoArgsConstructor 를 사용했는데, 이번 경우는 따로 안하셨더라구요.기본 생성자가 없을 경우 NoArgs 로 해서 PROTECTED 로 하거나 기본 생성자를 만드는 걸로 아는데. 따로 작성 안하신 이유가 있을까요..? 아니면 제가 잘못알고 있는건지 궁금합니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
db연결이 되지 않습니다
이클립스 자바 8버전, 메이븐으로 따라하고 있습니다. jdbcmemberrepository는 그대로 복붙하였습니다 springConfig도 내용 동일하나.. 안되어서 복붙해봤지만 여전히 안됩니다 ㅠㅠ 자꾸 새로운 객체에 생성되어서 객체에 저장되네요 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.4</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>hello</groupId> <artifactId>hello-spring</artifactId> <version>0.0.1-SNAPSHOT</version> <name>hello-spring</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.9</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <version>2.5.4</version> <scope>runtime</scope> </dependency> <!-- https://mvnrepository.com/artifact/com.h2database/h2 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.200</version> <scope>runtime</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/org.springframework.jdbc --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>2.5.4</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username=sa spring.datasource.driverClassName=org.h2.Driver ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ import hello.hellospring.repository.JdbcMemberRepository; //import hello.hellospring.repository.JdbcTemplateMemberRepository; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MEmoryMemberRepository; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class sprinfConfig { private final DataSource dataSource; public sprinfConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { // return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
TABLE_PER_CLASS 오류 해결 방법
// 혹시나 AUTO가 아닌 IDENTITY로 쓰고 계신 분들은 @GeneratedValue(strategy = GenerationType.IDENTITY) // TABLE로 변경해주면 정상적으로 동작합니다 ^^ @GeneratedValue(strategy = GenerationType.TABLE)
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
시험 막 치고 왔네요. @로 시작하는 명령어만 코드힌트 안나오는 경우
9월 2일 시험을 마치고 왔는데 역시 시험이라 긴장감에 멘탈이 흔들리더군요. 특히 @치고 난후 코드힌트가 안나와서요. 다른 건 예를 들어 fz 적고 탭키 누르면 바로 font-size 나왔어요. @charset이 안적혀서 직접 코딩했구요. 다른 건 특별히 에러가 나거나 하진 않았는데 그부분에서 제가 @charset:"utf-8";이라고 적은거 같아서 요. 그러고 다른 작업 코딩한다고 다시 확인을 못했는데 이것때문에 떨어지거나 하진 않겠죠? 시험은 대한투어가 나왔습니다.
-
미해결Vue로 Nodebird SNS 만들기
작동은 잘 되는데 이해가 안되는 부분이 있어 질문 드립니다.
안녕하세요 제로초님 해쉬태그 클릭 검색하면 해당 해쉬태그 나오는 것을 구현하다 햇갈리는 부분이 있어 질문 드립니다. 개시물의 사용자를 누르면 해당 사용자의 글만 뜨는것을 구현 할때는 router.get으로 try 안에 let where = { UserId: parseInt(req.params.id, 10), RetweetId: null, }; if (parseInt(req.query.lastId, 10)) { where[db.Sequelize.Op.lt] = parseInt(req.query.lastId, 10) } 이 let where 를 통해 라스트아이디가 없을 경우를 대비했는데 이번 해쉬태그 강의 에서는 let where = {} if (parseInt(req.query.lastId, 10)) { where = { id: { [db.Sequelize.Op.lt]: parseInt(req.query.lastId, 10), } } } let where를 이렇게 빈칸으로 두는 이유가 뭔지 궁금합니다ㅜ 근데 이렇게 해도 작동은 되는데 원래 저렇게 빈칸으로 두면 모든 게시물을 다 찾는거 아닌가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
queryParam이 없는 경우, 여러개 있는경우 (multivaluedMap 사용) 관련질문
수업에서 같은 키를 가진 쿼리 파라미터가 여러개인 경우 MultiValueMap을 쓰면 된다고 하셔서 적용해 봤는데요 같은 리소스에 대해 1. 파라미터가 없는 경우 2. 같은 파라미터가 여러개(1개이상)인 경우 Q1) 이 2가지를 적용하고자 하면 아래와 같이 하면될까요? Q2) @RequestParam(required=false) 설정 했음에도 쿼리 파라미터를 넣지 않으면 nullpoint에러가 떠, @Nullable을 추가하였는데 이 방법이 맞는건가요? --- Status 에 맞는 조건에 따라 결과 값을 출력해주고 싶은건데 a. 스테이터스가 없으면 전체 list 출력 b. 스테이터스가 있으면 해당하는 (ex> new, reserved) status에 해당하는 list 출력 ----- 같은 리소스에 대해 요청을 받는거라면 한 method내에 있는게 맞는 것 같아 이렇게 코딩하였는데 MultiValueMap을 사용하고 requestParam에 false를 주어 파라미터 가 없는 경우를 처리하려 했으나 정의한 status enum값에 없는 쿼리 파라미터를 넣었을 때 예외 처리 작업, jpa에서 in절 사용 에 넣어줄 파라미터 값으로 변환 작업 등 (이전에 jpa수업에서 질문하였을때, 순수 jpa로 연습하라하셔서 순수 jpa로 연습중) 으로 controller내에서 로직이 너무 길게 있는것 같아, 좋은 방법이 아닌것 같습니다. Q2) MultiValueMap외에 같은 파라미터를 여러개 받을수 있는 방법이 있을까요? Q3) url 경로는 contoller와 밀접한 거라 controller로직내에 작성하였는데 이런 경우면 service로직에 넣어주는게 맞을까요? 답변주시면 감사드리겠습니다. private final String[] STATUS_PARAMS = {"new", "complete", "reserve"};private final String GET_ALL_POST_PARAM_KEY = "status"; @ApiImplicitParams({ @ApiImplicitParam(name = "status", required = false ,dataTypeClass = String.class, paramType = "query"), @ApiImplicitParam(name = "status", required = false ,dataTypeClass = String.class, paramType = "query"), @ApiImplicitParam(name = "status", required = false ,dataTypeClass = String.class, paramType = "query")})@GetMapping()public GetAllPostResponseDto getAllPost( @ApiIgnore @RequestParam(required = false) @Nullable MultiValueMap<String, String> statuses, @ApiIgnore HttpSession session){ getSessionCheckedAccount(session); if (statuses.size() == 0){ List<Post> posts = postService.findAll(); return new GetAllPostResponseDto(posts); } boolean keyMatch = !statuses.keySet().stream().allMatch(GET_ALL_POST_PARAM_KEY::equals); boolean statusMatch = !Arrays.asList(STATUS_PARAMS).containsAll(statuses.get(GET_ALL_POST_PARAM_KEY)); if(keyMatch || statusMatch){ throw new IllegalArgumentException("잘못된 경로 입니다."); } List<PostStatus> postStatuses = statuses.get(GET_ALL_POST_PARAM_KEY) .stream().map(String::toUpperCase) .map(PostStatus::valueOf) .collect(toList()); List<Post> posts = postService.findAllByStatuses(postStatuses); return new GetAllPostResponseDto(posts);} public List<Post> findAllByStatuses(List<PostStatus> postStatuses){ return em.createQuery("select p from Post p" + " join fetch p.seller s" + " join fetch p.postCategory pc" + " join fetch pc.category c" + " where p.postStatus in (:statuses)", Post.class) .setParameter("statuses", postStatuses) .getResultList();}
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
선생님 06:45 구간 질문이 있습니다
users.push_back(User{i}); 부분에서 User{i} 이부분은 유니폼 초기화 해준것 맞나요??
-
미해결15일간의 빅데이터 파일럿 프로젝트
클라우데라 매니저 설치 관련 문의
버추어 박스에서 wget https://archive.cloudera.com/cm6/6.3.1/redhat6/yum/cloudera-manager.repo 하면 404가 뜨는데 어떻해야 할까요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
Oracle VirtualBox 에러 관련, 실행이 안됩니다. 어떻게 해야 할지 가이드 부탁합니다.
The virtual machine 'Server02' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005). More details may be available in 'D:\Server02\Logs\VBoxHardening.log'. 결과 코드: E_FAIL (0x80004005) 구성 요소: MachineWrap 인터페이스: IMachine {5047460a-265d-4538-b23e-ddba5fb84976}
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Products 테이블에 post 전송오류
NotNull Violation에러가 뜨는데요, 소스코드 비교해가며 확인했는데 왜 데이터가 안들어가는지 한참을 헤매도 해결을 못하겠어서 도움 구합니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Mini-batch GD와 역전파 시 Gradient 계산 횟수관계에 대한 질문입니다.
안녕하세요 선생님! 이제 선생님 강의만 듣게 되네요 ㅎㅎ 이번에도 좋은 기초 강의 감사인사 드립니다!(최근에 Object Detection 강의 업데이트한 부분도 너무나 감사드려요! 강의를 이렇게 유지보수 해주시는 분은 처음 뵌 것 같네요 :) ) 본론으로 들어가 질문 한 가지만 드릴게요! 강의 초반부에 (Batch) GD, SGD, Mini-batch GD 개념에 대해 소개하시면서 세 개의 구분하는 큰 특징이 Gradient를 한 번 계산할 때의 데이터 개수라고 알고 있습니다!(예를 들어, Gradient를 1번 계산할 때 데이터 1개를 이용하면 SGD, 모든 데이터를 이용하면 (Batch) GD 인 것 처럼요!) 그렇다면 역전파를 수행할 때 Gradient를 계산하게 되는데, SGD 같은 경우는 데이터 1개 니까 1개를 학습시키고 1번의 역전파를 수행하는 것은 직관적으로 이해가 갑니다! 그런데 데이터를 한꺼번에 집어넣은 (Batch) GD 또는 특정 몇 개만 입력시키는 Mini-batch GD같은 경우는 Gradient가 어떻게 계산되서 업데이트 되는지 잘 체감이 안되더라구요! 예를 한 가지 들어보겠습니다! SGD와 batch_size=32 인 GD를 사용할 때 3가지 케이스를 들어보겠습니다. 1. SGD를 사용한 경우, 데이터 1개의 순전파가 수행되고 역전파가 수행되면 w_old -> w_new 로 업데이트됩니다. 2. batch_size=32인 GD인 경우, 데이터 32개의 순전파 즉, 32번의 순전파가 모두 수행된 후 한 번의 역전파를 수행해서 w_old -> w_new로 한 번만 업데이트 되는 건가요? 아니면 데이터 32개 안에서도 하나씩 차례로 [1번째 데이터 순전파 수행 -> 1번째 역전파 수행 -> w_old 에서 w_new1로 업데이트] 그리고 [2번째 데이터 순전파 수행 -> 2번째 역전파 수행 -> w_new1 에서 w_new2로 업데이트] , ....(32번째까지 반복) ..... [32번째 데이터 순전파 수행 -> 32번째 역전파 수행 -> w_new31 에서 w_new32로 업데이트 후 batch_size=32 GD 수행 종료] 이런식으로 되나요? 결국, batch_size=32라고 해서 32개의 데이터가 동시에(한 번에) 학습되는 것이 아닌 어쨌건 32개 데이터라는 batch_size안에서도 차례차례로 32번의 순차적인 [순전파->역전파] 과정이 수행되는 것인가요? 혹여나 질문이 이해가 잘 안가신다면 답글 남겨주시면 제가 보충 질문설명 드리도록 하겠습니다!
-
미해결지금 당장 성과내기, 페이스북 퍼포먼스 마케팅 실습
스마트스토어 리타겟팅
스마트스토어를 운영하고 있는데 스토어방문자 나 장바구니 등 리타겟팅 하는 방법이 있나요 ? 검색을 해보니 막혀있다고 하는데 방법이 있다고 하더라구요. 어떤 사이트를 방문하니 아래 설명이 있었습니다. 1) 카페24나 아임웹 등의 솔루션에서 '빈페이지' 생성 2) 해당 빈페이지에 GA,GDN,GTM,FACEBOOK,KAKAO 등의 PIXEL 설치 3) 스마트스토어로 자동 리다이렉트 설정 4) 네이버에서 제공하는 nt 파라미터(UTM 유사)로 리다이렉트 URL로 설정 후 스마트스토어 내 통계 확인 5) 캠페인별 또는 타겟 및 컨텐츠, 제품별로 빈페이지를 생성하고 nt 파라미터 를 달리하여 셋팅 이런 설명이 있는데 이해가 안되서요.
-
미해결Vue.js 제대로 배워볼래?(Vue.js 프로젝트 투입 일주일 전)
미니 프로젝트 하고 있는 데 ..에러가 ㅠㅜ
[vue/no-parsing-error] Parsing error: x-invalid-end-tag. [vue/no-multiple-template-root] The template root requires exactly one element. [vue/no-parsing-error] Parsing error: x-invalid-end-tag. ㅠㅜ 인터넷에서 찾아서 vue.config.js module.exports = { lintOnSave: false } 해보고 .eslintrc.json // module.exports = { // "extends": "standard", // "rules": {"vue/no-parsing-error": [2, { "x-invalid-end-tag": false }], // "semi": ["error", "always"], // "quotes": ["error", "double"], // "presets": [ "es2015", "react" ], // "extends": ["airbnb-base", "prettier"] // } // }; 이거 저거 해봤는데 같습니다 , 선생님 도와주세요. eslint은 너무 어렵습니다, ㅠㅜㅜㅠ 사이트 봐도 어려워요 ㅠㅜㅠㅜ
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
모바일 화면구현-2 오류..문제 ㅠ
안녕하세요..! 모바일 개발 강의 보고있고 챕터가 모바일화면구현 -2 번 쪽에서 오류가 나는부분있어서 질문 올립니다..! 이번꺼는 오류가 왜 나는지를 모르겠네요..! 강의 내용에서 ngrok 사용 란 입력을 하고.. 복사해서 넘기면.. 저렇게 502코드 오류가 나오더라구요 코드를 추가한 모습입니다. 터미널 에러 내용입니다 안드로이드 시뮬레이션 오류 시뮬레이션에도 오류나는 내용을 구글링해도.. 원인을 모르겠네요..ㅜㅡㅜ 디버깅 누른다음에 페이지 모습입니다. 마지막으로.. expo 버전때문에 그런 문제가 있을까요..?? 확인 부탁드립니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
template/basic items.html 에서 호출시
nclick="location.href='addForm.html'" basic폴더에 addForm.html을 넣어두면 static 폴더에서 이동되었던거처럼 이동이 template경로에 있을때는 안되는건가요? template경로는 컨트롤러에서 반환해줄때만 접근이 가능하고 static은 정적소스로 그냥 접근이 가능하기때문인가요? boot는 안써봐서 부트내에서 경로에 대해서 어떻게 인식하고있는지 헷갈려요 ㅠ 설명해주시면 감사하겠습니다. 경로 인식에대해 참고자료가 있다면 링크로 주셔도 감사하겠습니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
로컬함수 main이 선언되었지만 사용되지 않았습니다 오류
1. 프로그램에는 진입점에 적합한 정적 'Main' 메서드가 포함되어 있지 않습니다 2.로컬함수 main이 선언되었지만 사용되지 않았습니다 이런 오류가 뜨는데 이유를 모르겠습니다