묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
N:1 조회에서 inner와 fetch의 차이
아래 질문들을 보니 1:N 조회 상황에서 (team에서 member join 상황)에서 inner join과 fetch inner join의 차이인거 같다는 생각이 들었는데요, (fetch join에서 lazy를 방지할 수 있다는) N:1 상황에서는 inner join을 사용했을때 lazy 없이 소위 한방 query가 나가고 inner join과 fetch join의 차이가 없는 것이 아닌가요? 혹시 두 join의 차이가 있다면 어떤 것이 있는지 질문 드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링통합테스트시.. IllegalStateException
h2 데이터에는 delete from member 로 데이터 다 삭제한 상태인데 package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.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;import java.util.ArrayList;import java.util.List;import static org.junit.jupiter.api.Assertions.assertThrows;@SpringBootTest@Transactionalclass MemberServiceIntegrationTest { //@SpringBootTest 스프링 컨테이너와 테스트를 연결해줌. //@Transactional test 함수 하나를 실행 후 commit까지 하지 않고 rollback을 시켜준다. 따라서 store.clear()같은 게 필요 없다. @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; /*@BeforeEach void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); 는 순수 java의 테스트여서 Spring 통합테스트에서는 @BeforeEach를 사용하지 않고 @Autowired를 통해 객체를 끌어다 쓴다. 단, 생성자를 만들어도 되지만 테스트는 객체를 다른데서 이어서 쓸 게 아니기 때문에 편하게 @Autowired만으로 써도 된다. 참고. 현재 MemberRepository는 new JdbcMemberRepository(dataSource); 로 등록되어 있다. }*/ @Test void join() { Member member = new Member(); member.setName("hi2"); Long savedId = memberService.join(member); Member savedMember = memberRepository.findById(savedId).get(); Assertions.assertThat(savedMember.getName()).isEqualTo(member.getName()); } @Test void validDuplicateMember() { Member member1 = new Member(); member1.setName("hi123"); Member member2 = new Member(); member2.setName("hi123"); memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); Assertions.assertThat(e.getMessage()).isEqualTo("이미존재하는 회원입니다"); } 를 실행하면 모든 함수에서 이미존재하는 회원이라고 뜹니다(다른 Test코드 포함) 2021-05-29 11:42:58.502 INFO 14008 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2021-05-29 11:42:58.785 INFO 14008 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2021-05-29 11:42:58.806 INFO 14008 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@45815ffc testClass \ 생략.. 2021-05-29 11:42:59.813 INFO 14008 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@45815ffc testClass = 생략.. ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]] java.lang.IllegalStateException: 이미존재하는회원입니다 at hello.hellospring.service.MemberService.lambda$validDuplicateMember$0(MemberService.java:24) at java.base/java.util.Optional.ifPresent(Optional.java:183) at hello.hellospring.service.MemberService.validDuplicateMember(MemberService.java:23) at hello.hellospring.service.MemberService.join(MemberService.java:17) at hello.hellospring.service.MemberServiceIntegrationTest.validDuplicateMember(MemberServiceIntegrationTest.java:48) <..생략..> at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) 이라고 나옵니다. 순수JDBC 테스트코드에선 정상작동하는데 이것저것해보다가 안돼서 질문남깁니다.. 죄송합니다 :( JDBC순수 test코드: package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import hello.hellospring.repository.MemoryMemberRepository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.AfterEach;import static org.junit.jupiter.api.Assertions.*;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import java.util.ArrayList;import java.util.List;import java.util.Optional;class MemberServiceTest { MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); } @AfterEach void afterEach() { memberRepository.clearStore(); } @Test void join() { Member member = new Member(); member.setName("hi"); Long savedId = memberService.join(member); Member savedMember = memberRepository.findById(savedId).get(); Assertions.assertThat(savedMember.getName()).isEqualTo(member.getName()); } @Test void validDuplicateMember() { Member member1 = new Member(); member1.setName("hi"); Member member2 = new Member(); member2.setName("hi"); memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); Assertions.assertThat(e.getMessage()).isEqualTo("이미존재하는회원입니다"); } MemberService 코드 : package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import java.util.List;import java.util.Optional;public class MemberService { MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } public Long join(Member member) { validDuplicateMember(member);//name중복확인 memberRepository.save(member); return member.getId(); } private void validDuplicateMember(Member member) { memberRepository.findByName(member.getName()).ifPresent(m -> { throw new IllegalStateException("이미존재하는회원입니다"); }); }
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
no nodes available to schedule pods 에러는 어떤 경우 발생하나요?
no nodes available to schedule pods 에러는 어떤 경우 발생하나요? nfs 구성 후 httpd 서비스를 올리는 과정에 pending 이 발생하여, describe 를 확인하였더니 Warning 메시지가 발생합니다. 아마 이 때문에 서비스가 정상적으로 올라오지 못하는 것 같습니다. 이런 경우 어떤 식으로 진행하는 것이 좋을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
split 코드 오류
import requests from bs4 import BeautifulSoup res = requests.get('https://davelee-fun.github.io/blog/crawl_test') soup = BeautifulSoup(res.content,'html.parser') section = soup.find('ul',id='dev_course_list') titles=section.find_all('li','course') for title in titles: print(title.get_text.split('[')) 안녕하세요~ 강의 잘 보고 있습니다. 상기와 같이 코드 입력시 AttributeError: 'function' object has no attribute 'split' 같은 오류가 발생합니다. 구글링 해보면 split 대상이 객체가 아니어서 그렇다는데... 잘 이해가 안되어 질문드립니다.어떤 문제일까요?!
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 강사님
강의보기전에 코드를 먼저 짜봤는데 강사님처럼 for문으로 하는게 더 좋은가요? import sys sys.stdin = open("input.txt","r") from collections import deque n, m = map(int, input().split()) cnt = 0 qList = list(range(1,n+1)) qList = deque(qList) while True: if len(qList)==1: break if cnt == m-1: qList.popleft() cnt = 0 else: qList.append(qList.popleft()) cnt += 1 print(qList[0])
-
미해결[딥러닝 전문가 과정 DL1101] 딥러닝을 위한 파이썬 레벨1
Slack 커뮤니티 가입 신청 관련 질문입니다
저는 깃허브 아이디로 인프런에 가입을 했습니다. 그러면 인프런에 가입된 아이디를 입력하는 칸에 제 깃허브 아이디를 쓰면 되나요? 초대 메일은 slack에 사용될 이메일 주소를 입력하는 칸에 쓴 메일로 오는 게 맞나요? 감사합니다
-
해결됨[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
06_JDBC를 MyBatis로 변경하기(1) 부분 에러
-06_JDBC를 MyBatis로 변경하기(1)듣고 실행하니 회원보기는 잘 되는데 insert가 안됩니다. db는 오라클을 사용하고 있어서 시퀀스부분을 오라클에 맞게 수정한다고 했는데 계속 에러가 나서요. 한번 검토 부탁드립니다.
-
미해결반응형 웹사이트 포트폴리오(App Official Landing Website)
블라게 이용방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. 유익한 강의 잘 듣고 있습니다. 선생님 질문이 하나 있습니다. 블라겟에서 점선으로 같은 tab부분을 이어주는 기능을 어떻게 사용하는지 알고 싶습니다. beautify 기능인것 같은데 사용을 못하고 있습니다. 좋은 기능을 사용하고 싶어서 글을 올립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Postman 으로 테스트 실행하는 법
매 강의때마다 코드 로직짜고나서 테스트 실행을 Postman 으로 하시는데 Postman 사용법을 하나도 모르겠습니다. 설치해놓고 따라하지를 못하고있네요 여기 초기화면에서 어떻게 뭘 설정해야 강사님처럼 테스트를 실행 할 수 있을까요?" 여기서도 인텔리제이 처럼 프로젝트를 하나 만들어야하는지 워크스페이스를 만들어야하는지 뭘 하라는건지 잘 모르겠습니다. 여기서 어디로 들어가야 합니까?
-
미해결홍정모의 따라하며 배우는 C언어
1차원을 2,3차원으로 사용하는 이유
1차원 동적할당 한 것을 2,3차원처럼 사용하는 이유가 뭔가요? 밑에 사진처럼 동적할당 2번하는것과 차이가 있나요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
페이지 스플릿에 관하여
안녕하세요 강의를 듣던 중 궁금한점이 생겨 질문드리게되었습니다. 페이지 스플릿에 관하여 구글링해본결과 SQL SERVER의 경우 한 페이지의 최대 크기가 8KB라고 하는데요 질문 1) 만약 한 행(값)이 6KB를 차지하는 경우 다음 행 값을 추가한다면(똑같이 6KB) 페이지 스플릿이 일어나는것이 맞나요? (6+6 > 8) 질문 2) 만약 페이지 스플릿이 일어난다면 나머지공간(2KB)은 낭비하게 되나요? (8-6 = 2) 질문 3) 페이지를 못채우고 남는 공간을 줄이는 방법이 존재하나요?
-
미해결
게임개발 종사자분들 관련 설문조사 부탁드려요 (기프트 쿠폰)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 안녕하세요? 저희는 인디애나 공과대학에서 박사 과정을 밟고 있는데요, 현재 게임 산업의 업무 상황에서 리더십 속성을 다루는 학문적 연구를 수행하고 있습니다. 이 연구를 위해 아래의 간단한 (5분) 설문 조사에 참여해 주실 게임 산업의 다양한 분들(베타 테스터, 프로그래머, 데이터 엔지니어, 그래픽 디자이너, 디지털 아티스트, QA 테스터, 인공 지능 AI 프로그래머, 프로젝트 매니저 등)을 찾기 위해 이렇게 글을 다시 올립니다. · 설문조사 참여 링크: https://www.psychdata.com/s.asp?SID=192649 · 설문조사가 종료된 후 추첨을 통하여 10분께 소정의 기프트 쿠폰을 드릴 예정입니다. (예시 - 스타벅스, 베스킨라빈스 등) · 모든 설문조사는 익명으로 유지됩니다. 다만 선정되신 10분께는 기입하신 이메일로 기프트 쿠폰을 발송 예정이니 기프트 쿠폰 선정에 참여를 원하시면 올바른 이메일을 기입 부탁드립니다. · 마지막 질문까지 모두 답변을 완료하신 분에 한해 선정 예정입니다. 한국 또는 미국 기반 업무 환경을 경험하신 분들께서 참여 가능하며 모든 참가자 분들은 연구 기간 동안 익명으로 유지됩니다. 부디 위 링크를 클릭하여 설문 조사(5분)에 참여를 부탁드립니다. 귀한 시간 내주셔서 감사드리며, 주변의 다른 게임 개발자 분들께도 참여를 부탁드려주시면 진심으로 감사하겠습니다! 게임개발 산업을 더 좋은 방향으로 바꾸기 위한 한걸음이 될겁니다! 감사합니다. - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기
진행상태바 구현 도중 갑자기 처음 시작화면에서 버튼을 누르면 테스트로 안넘어가네요..
삭제된 글입니다
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
[nodemon] app crashed - waiting for file changes before starting...
서버만 구현시 오류 없이 실행 완료하였는데 client를 만들고 실행하려고 하니 오류가 뜨네요 react는 오류 없이 작동하는데 server이 오류가 뜨는데 어떻게 해결해야할까요. "type": "module" 추가하였는데 동일하게 작동하네요.
-
해결됨비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
유료멘토링 국비학원 부트캠프 질문입니다.
안녕하세요 ! 올려주신 강의를 수강하고 많은 도움을 받았습니다 ㅎㅎ 다름이 아니라 제가 코딩교육을 받기 위해 이런저런 것들을 찾아봤지만 만족할만한 것을 딱 찾지 못해 고민입니다. 남궁성님 국비는 더 이상 진행되지 않는다고 하고 코드스쿼드 과정은 2022년 12월에 오픈 예정이라 수강이 불가능 한 상황입니다.(위코드, 코드스테이츠는 원하는 스텍이 아님.) 그래서 지금 생각하고 있는 것은 F-lab이라는 유료 멘토링 프로그램인데 아무래도 후기가 거의 없고 해당 깃허브에 올라온 포트폴리오가 어느 수준인지 가늠할 수 없어 망설여집니다. 혹시 이런 유료 멘토링 프로그램에 대해 어떻게 생각하시는지 다른 것을 추천한다면 어떤것이 좋을지 조언 부탁드립니다. (유료 멘토링 사이트는 http://intro.f-lab.kr 입니다.)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
12:20 Write와 Read의 보안성 질문
Write 함수 같은 경우에는, 우리가 컨트롤 자체를 잡고있어서 악의적 사용에 대한 걱정이 없지만, Read의 경우, 주의할 필요가 있다고 하신 말씀이 잘 이해가 안됐습니다 ㅠㅠ Write의 경우, 저희가 호출을 원할때만 호출을 하게 되서 그런건가요..?
-
미해결머신러닝 엔지니어 실무
후반부 강의 슬라이드 요청 드립니다~
실습 위주의 강의라서 너무 좋은것 같습니다 ^^ 이메일은 kdg_1016@naver.com 입니다~
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
무슨 원리로 두가지 알고리즘이 차이가 심한건가요?
무슨 원리로 두가지 알고리즘이 차이가 심한건가요? 마지막 SMOTE오버 샘플링 할 때 어떤 원리로 차이가 심한건지 알고 싶습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
질문이 있습니다.
안녕하세요. 질문이 있는데요 reducer와 saga의 역할이 각각 나뉘어져 있는것이 saga는 api와 통신하는 역할을 하고 parameter나 result 값을 reducer에게 전달해서 reducer에서 state를 변경한다고 알고 있으면 될까요? 두 가지 모두 dispatch를 사용하여 작동하니까 맨 처음에 왜 똑같은 기능을 하는게 2개나 있지?? 궁금했거든요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
static에 대한 질문
조금 막연한 질문인거 같아서 죄송한데 너무 궁금해서 여쭤봅니다. static이 약간 고유의 값을 가지는 그런 느낌이라는건 알겟는데 언제 어디서 사용해야 될지 감이 안옵니다.. utill파일에 있는 함수들은 전부 static이 붙었는데 ui_base같은 경우는 AddUIEvent만 static이 붙어있고 다른거에는 없는데 제가 혼자 만들때는 어떻게 감을 잡는게 맞을까요..?