inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

manytoone testcode 작성

미해결

스프링 데이터 JPA

아래와 같이 간단한 entity를 생성한다고 했을때, 테스트코드에서는 한번에 조회가 되지만 실제 webcontroller에서 호출했을때는 member를 조회하고 team을 한번더 조회하게 됩니다. testcode에서 비슷하게 하려고 member객체를 json으로 출력하게 했는데도 똑똑하게 알아서 채워주고있는데요. 아래 코드를 보면 public class Member { @Id @GeneratedValue(strategy = GenerationType.AUTO) Long id; String name; @ManyToOne @JoinColumn Team team; } public class Team { @Id @GeneratedValue(strategy = GenerationType.AUTO) Long id; String name; } @Test public void select() throws JsonProcessingException { Team team = new Team(); team.setName("팀1"); Team saveTeam = teamRepo.save(team); Member member = new Member(); member.setName("학생1"); member.setTeam(saveTeam); memberRepo.save(member); Member member1 = new Member(); member1.setName("학생2"); member1.setTeam(saveTeam); memberRepo.save(member1); List<Member> all = memberRepo.findAll(); ObjectMapper mapper = new ObjectMapper(); String jsonInString = mapper.writeValueAsString(all); System.out.println(jsonInString); } wecontroller에서 List<Member>로 데이터 리턴시 n+1조회문제가 발생하는데요 ------- Hibernate: select member0_.id as id1_0_, member0_.name as name2_0_, member0_.team_id as team_id3_0_ from member member0_ Hibernate: select team0_.id as id1_1 0 , team0_.name as name2_1 0 from team team0 where team0 .id=? unittest에서는 Hibernate: select member0_.id as id1 0 , member0_.name as name2 0 , member0_.team_id as team_id3 0 from member member0_ [{"id":3,"name":"학생1","team":{"id":1,"name":"팀1"}},{"id":4,"name":"학생2","team":{"id":2,"name":"팀2"}}] team_name이 조회쿼리에도 없는데도 알아서 데이터를 불러와서 결과를 넣어주는 모습을 보이는데 @DataJpaTest에서 webcontroller 호출하는 것과 동일한 결과를 얻어보려면 어떤식으로 테스트를 해야할까요?.. controller test코드를 작성해야할까요?..

  • spring
  • java
  • JPA
안호민 댓글 1 좋아요 0 조회수 362

고민끝에 질문이있습니다!

미해결

블록체인 이더리움 부동산 댑(Dapp) 만들기 - 기본편

예전에 투표dapp에 관련하여 질문을 한 수강생입니다. 투표dapp을 구현하면서 이 강의와 마찬가지로 메타마스크와 가나슈를 사용하여 가나슈의 한계정이 각 후보자들에게 한표식 투표를 할수있게 만들어보았습니다. 여기서 문제는 저는 로그인기능을 만들어 회원가입을 하게되면 투표자들이 가나슈에 미리 10개의 계정에 에더가 담겨있는 것처럼 투표자들에게 에더를 투표할때 소비되는 에더만큼만 주어 소비하게하여 투표를 진행하게끔 하려고 해보았습니다. 하지만 제가 블록체인에 관하여 개념이 약간 부족한 탓인지 가나슈와 메타마스크를 이용해서 어떻게 로그인 기능을 만들어 블록체인을 활용한 투표기능을 만들어야 할지 감이 잡히지 않아 문의드립니다.. ㅠㅠ ㅠㅠ 투표자들이 다 메타마스크를 깔아야 하는것인가요??? ㅜ 조금이라도 도움을 주신다면 감사하겠습니다 ..

  • blockchain
  • dapp
  • Ethereum
동관 댓글 3 좋아요 0 조회수 261

프로젝트 로드 하면 서블릿.java 파일 이 빨갛게 에러문법이라고 나오는건 어떻게 하면 될까요

미해결

실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌

기존에 이클립스 workspace 에다가 강의실 에 잇는 프로젝트 파일을 복사 해놓고 import 해 보면 서블릿 파일이 에러 문법 다수 라고 나오는데용.. 신규로 project 만들어서 서블릿파일, html 파일 붙여넣으면 이상없구요. 아무래도 컴파일 경로가 잘못된거 같기도 하고 혹시 아세요? 첫 import 패키지 부터 에러 인거로 봐선 경로를 못찾음 인거 같아요

  • java
  • jsp
yong kwan kim 댓글 3 좋아요 7 조회수 407

비주얼스튜디오 코드 사용법

미해결

누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌

안녕하세요 강좌 보다 보니 state = { name: '', } 위 코드를 타이핑 하실때 콤마를 입력 후 엔터를 두번 치신거 같은데 { } 블럭을 빠저 나오더라구요 저건 뭘 설치 해야 되는건가요?

  • react
  • javascript
좀 해 댓글 0 좋아요 0 조회수 245

cut기능 사용 후 점선처리는 어떻게 하나요?

미해결

3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌

갈 곳을 잃은 점선이 다른기능 선택 후에도 남아있는데요..esc를 눌러도 사라지지 않아요

  • 3ds-max
Yunmi Kim 댓글 1 좋아요 0 조회수 370

vue-cli 3.0 버전에서는 어떻게 해야하나요?

미해결

트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술

❯ vue init webpack-simple Usage: init [options] <template> <app-name> generate a project from a remote template (legacy API, requires @vue/cli-init) Options: -c, --clone Use git clone when fetching remote template --offline Use cached template -h, --help output usage information Missing required argument <app-name>. 이런 메시지가 뜹니다.

  • javascript
  • vuejs
샤로 댓글 2 좋아요 1 조회수 460

scanf

미해결

C 프로그래밍 - 입문부터 게임 개발까지

궁금한게 printf 는 그냥 쓰는데 왜 scanf는 scanf_s를 쓰는건가요? 그리고 double d랑 char c, char str[256] 이런것들은 double a가능하고 char a 가능하고 char a[256] 이런게 가능한건가요? a이런건 어차피 변수이니깐 정해져있는지 않은거죠? int age , int add도요

  • c
파바배라던도 댓글 3 좋아요 2 조회수 316

int add = 3 + 7;

미해결

C 프로그래밍 - 입문부터 게임 개발까지

int add = 3 + 7; 이거는 필요한거 같지가 않습니다. 그렇게 생각한 이유는 영상에서 보다보니 printf("%d + %d = %dn", 3, 7, 3 + 7); 이렇게만 출력해도 계산이 되던데요 3 + 7 = 10 printf("%d + %d = %dn", 3, 7, 3 + 8); 이렇게한다면 3 + 7 = 11 그렇다면 printf("%d + %d = %dn", 3, 7, add); 아닌 이상 위에 int add = 3 + 7;은 필요없는거 아닌가요? 그리고 printf("%d + %d = %dn", 3, 7, 3 + 8); 여기서 3+8은 자동으로 계산 되는건가요? %d %d %d가 순서대로 3 7 3+8 이렇게 표현되는건 알겠는데 여기서 3 + 7 = 3 + 8이라 나타나지 않고 3 + 7 = 11 이라고 나타난다는것은 연산도 알아서 해주는건가요?

  • c
댓글 1 좋아요 0 조회수 188

자세한 설명좀 부탁드립니다;;

미해결

C 프로그래밍 - 입문부터 게임 개발까지

include는 왜 포함이되는지, int main(void)는 왜 포함이되는지, return 0;은 왜 포함이되는지 자세히좀 설명해주세요

  • c
한건희 댓글 1 좋아요 0 조회수 157

python이랑 다른가요??

미해결

C 프로그래밍 - 입문부터 게임 개발까지

and 이면 앞의 조건이 참인 경우 뒤에 조건까지 넘어가지않고 앞의 조건만 실행되는걸로 알고있고 or이면 앞의 조건이 false인경우 뒤로 넘어가지않고 바로 실행되는걸로 알고있는데 파이썬이랑 다른가요?

  • c
한건희 댓글 1 좋아요 0 조회수 149

SignOut을 누르면 다시 로그인 페이지로 진행이 되지 ㅇ낳습니다.

미해결

Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)

SignOut을 누르면 로그인 페이지로 포워딩 되지 않습니다. 될때가 있고 안될때가 있어요. 강의에 보여주신 것처럼 될 때가 있고 되지 않을 때가 있습니다.

  • ios
  • Flutter
  • android
맑은요정님 댓글 4 좋아요 0 조회수 381

스엥님 저는 빈을 재정의하면 그냥 값이 잘 출력 돼요!!

미해결

스프링 부트 개념과 활용

안녕하세요 스엥님 intellij 얼티밋으로 강의 잘 따라하고 있습니다. 지금 부트 2.1.3 버전을 사용 하고 있는데 빈을 재정의 했을 때 따로 설정을 안해줘도 재정의한 빈 값으로 출력이 잘 됩니다. resources/META-INF/spring.factories 파일도 잘 만들어두었습니다.

  • spring
  • java
  • spring-boot
빠른 게 댓글 1 좋아요 0 조회수 321

과제 질문

미해결

프로그래밍, 데이터 과학을 위한 파이썬 입문

'''# - - coding: utf-8 - - def main(): print("본 프로그램은 섭씨를 화씨로로 변환해주는 프로그램입니다") print("============================") ===Modify codes below================= def input_celsius_value(): print("변환하고 싶은 섭씨 온도를 입력해 주세요: ") celsius_value=float(input(("변환하고 싶은 섭씨 온도를 입력해 주세요: "))) return celsius_value def convert_celcius_fahrenheit(celsius_value): fahrenheit_value=((9/5)*celsius_value)+32 return fahrenheit_value def print_fahrenheit_value(celsius_value,fahrenheit_value): print("섭씨온도:", celsius_value) print("화씨온도", fahrenheit_value) ====================================== print("===========================") print("프로그램이 종료 되었습니다.") if name == ' main ': main() celsius_value=input_celsius_value() fahrenheit_value=convert_celcius_fahrenheit(celsius_value) print_fahrenheit_value(celsius_value, fahrenheit_value) 이렇게 해서 똑같은 결과를 얻었는데, 과제를 제출하면 2개 실패로 나와요. 아무리 봐도 문제를 못 찾겠어요. ''' C:\Users\Sue\workspace\python_mooc\lab_4>python fahrenheit_converter.py 본 프로그램은 섭씨를 화씨로로 변환해주는 프로그램입니다 변환하고 싶은 섭씨 온도를 입력해 주세요: 32.2 섭씨온도: 32.2 화씨온도 89.96000000000001 프로그램이 종료 되었습니다. C:UsersSueworkspacepython_mooclab_4>submit.bat adpl136472 ∙ Session token prefix: fbb58830aa ∙ In the legacy mode, all cases will run serially! ✔ [0] Session 0 is ready. Uploading files: 100%|████████████████| 6.90k/6.90k [00:00<00:00, 33.2kbytes/s, file=unit_test_fahrenheit_converter.py] ✔ [0] Uploading done. python-kernel: skipping build phase due to missing "setup.py" file ✔ Build finished. (exit code = 0) Generating result sheet... Test Case | Passed? | Feedback test_convert_celsius_fahrenheit | FAILED | Failed test_input_celsius_value | PASSED | Good Job test_main | FAILED | Failed test_print_fahrenheit_value | PASSED | Good Job Reading source file... Transferring results to server... Transfer completed. ✔ Execution finished. (exit code = 0) ✔ [0] Execution finished.

  • python
  • bigdata
WU XIUXIANG 댓글 0 좋아요 0 조회수 222

5_10강 숙제 질문입니다.

미해결

홍정모의 따라하며 배우는 C++

안녕하세요. 이번 숙제는 간단한것 같았는데 생각만큼 잘 안되서 한참 헤맸습니다. 이전 강의를 여러번 복습해서 겨우 숙제대로 코드를 짰는데요, 마음에 안드는 것이 있어서 질문글 남깁니다. 숫자 입력값 받고, 연산자 입력값 받고(연산자는 +,-,*,/) 다시 숫자 입력값을 받아서 값을 계산하는 프로그램을 짜는 것인데, 아래의 코드로는 실행이 됩니다만, 연산자 입력때 ++ 혹은 +-, -+ 등 연산자를 두개 이상 입력할 경우 먼저 입력한 연산자로 실행이 됩니다. 원래는 Invalid input, please try again 이 뜰꺼라고 생각했는데 나오지 않아서 당황했습니다. switch case로 만들어 보라고 하셔서 아래대로 했는데 뭔가 깔끔하지 않은 느낌도 들고 코딩은 했는데 찝찝한 느낌이 가시질 않네요. enum class도 사용해보고 싶었는데 잘 안되서 벽에 막힌 기분입니다. 어떻게 고칠 수 있을까요? #include <iostream> using namespace std; int getInt() { while (1) { cout << "Enter an integer number : "; int x; cin >> x; cin.ignore(32767, '\n'); if (cin.fail()) { cin.clear(); cout << "Invalid Number, please try again." << endl; } else { return x; } } } char getOperator() { while (1) { cout << "Enter an operator :"; char ch; cin >> ch; cin.ignore(32767, '\n'); switch (ch) { case '+': return ch; break; case '-': return ch; break; case '*': return ch; break; case '/': return ch; break; default: cout << "Invalid input, please try again" << endl; } } } void printCalc(int a, int b, char c) { switch (c) { case '+': cout << (a + b); break; case '-': cout << (a - b); break; case '*': cout << (a * b); break; case '/': cout << (a / b); break; } cout << endl; } int main() { int x = getInt(); char op = getOperator(); int y = getInt(); printCalc(x, y, op); return 0; }

  • C++
하가현 댓글 1 좋아요 1 조회수 288

Conditinal Operator 질문 있습니다.

미해결

홍정모의 따라하며 배우는 C++

안녕하세요 교수님. 항상 유익한 강의 감사합니다. 다름이 아니라 Conditional Operator의 결합성이 Right-to-Left 이던데 20분:55초 쯤에 나오는 예제를 보면 cout << ((t % 2 == 0) ? "even" : "odd") << endl; 저기서 어떻게 Right-to-Left가 가능한건지 잘 모르겠습니다. 저의 생각으론 (t%2==0)의 Condition을 먼저 검사한 다음 Condition이 true면 "even"을 false면 "odd"를 출력하는 것이라고 생각하는데 그러면 결합성이 Left-to-Right가 되어야 하지 않나요?? 어째서 Right-to-Left인 건가요?

  • C++
마이클피클 댓글 2 좋아요 2 조회수 193

select_one 관련 에러

미해결

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

from bs4 import BeautifulSoup import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') fp = open('food-list.html', encoding='utf-8') soup = BeautifulSoup(fp, 'html.parser') li = soup.select_one('li:nth-of-type(8)') print(li.string) 로 정확히 코딩 했는데도 none type 에러가 납니다. nth-of-type(5)로 했을 때 '동동주'가 나오는 것으로 봐서 전체 리스트 중 5번째가 아니라 두 번째(id가 ac-list)리스트에서 5번째를 가지고 오는 것 같습니다. 그래서 8번째에는 none이라고 뜨는게 아닐까요? 확인 부탁드립니다. 감사합니다.

  • python
  • 웹-크롤링
박성호 댓글 1 좋아요 0 조회수 213

인기 태그

인프런 TOP Writers

주간 인기글