묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스스로 구축하는 AWS 클라우드 인프라 - 기본편
질문
1분 5초 쯤에 나오는 alb DNS 네임으로 접속하거에서 DNS 이름치고 들어가면 로딩만 계속되고 더이상 진행이 안되는데... 인바운드 설정을 건드려야 할거같은데 아직 AWS에 적응이 완벽히 안되서 어디를 손봐야 할지 모르겠어요!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@MappedSuperclass와 TABLE_PER_CLASS
부모클래스를 abstract로 만들고 @Inheritance전략을 TABLE_PER_CLASS로 했을때와 부모클래스를 @MappedSuperclass했을 때의 차이를 모르겠습니다! 둘 다 부모는 조회 할 수 없고 부모의 속성을 자식이 내려받는다는 특징이 있다고 생각하는데 차이점은 어떤 것이 있을까요..?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Mockito 를 사용하여 테스트할 때, 테스트 요구사항의 반영 질문
이번 강의의 1분 30초 쯤, 현재 작성하는 테스트 방법이 그다지 좋은 방법은 아니다라는 말을 들었습니다. 그래서 좋은 테스트 방법은 무엇인지 찾아보게 되었고 돌아돌아 Mockito 같은 테스트 프레임워크를 알게되었습니다. 좋은건 일단 맛은 봐야하는 성격이라, 강의를 듣다말고 Mockito 를 사용하여 단위 테스트 하는 방법 알아보는 길로 한참 새버렸습니다 ㅎㅎㅎ Mockito 를 사용해서 OrderService 의 주문 성공에 대한 테스트 코드를 작성해보았습니다. 근데 영한 선생님이 강의에서 작성할 때의 assertEquals 이나 그런 요구사항들에 대해선 테스트를 못해서 제가 테스트 코드 작성을 잘못한건가 하는 생각이 들었습니다. 코드는 다음과 같이 간단하게 작성했습니다. @ExtendWith(MockitoExtension.class) class OrderServiceTest { @Mock MemberRepository memberRepository; @Mock ItemRepository itemRepository; @Mock OrderRepository orderRepository; @InjectMocks OrderService orderService; @Test @DisplayName("주문 성공") void order() { Member member = new Member( 1L, "irostub", new Address("seoul", "street", "10000"), new ArrayList<>()); Item item = new Book( 1L, "itemName", 15000, 2021, new ArrayList<>(), "5pg", "isbn5100"); //given given(memberRepository.findOne(anyLong())) .willReturn(member); given(itemRepository.findOne(anyLong())) .willReturn(item); //when orderService.order(1L, 1L, 100); //then ArgumentCaptor<Order> captor = ArgumentCaptor.forClass(Order.class); then(orderRepository).should(times(1)).save(captor.capture()); } } 코드는 위와 같습니다. 뭔가 많이 허전합니다. 강의에서 처럼 assertEqual()에 인자로 넣을 객체를 받아올 방법이 없어서 , orderRepository.save(...) 는 void를 반환하고 orderService.order(...) 은 Long 을 반환하지만 영속성 컨텍스트도 없으므로 null 을 반환합니다. 그래서 결국 테스트 한 것이라곤, Mock 을 통해 적당한 맴버, 상품을 정해놓고 orderService.order(...) 메서드를 실행중에 orderRepository.save(...) 을 잘 호출했는가? 뿐입니다. 이렇게 하는게 맞는걸까요..? (테스트에 대한 강의가 아님에도 이런 질문을 하는게 죄송스러울 따름입니다..ㅠㅠ 근데 어디다 물어볼 곳도 없어서 심란한 마음에 글을 씁니다)
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
포스트맨에서 html처럼뜹니다 ㅠ
선생님 포스트맨에서 이렇게 html구조처럼해서 뜨는데 어디가 잘못되었을까요 ? ㅠㅠㅠㅠ https://github.com/hyeongsan/boiler-plate
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트케이스 중 중복 회원 예외 코드 작성 에러
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
문자열을 나타내실때!
안녕하세요 선생님 ㅎㅎ 사소한 질문입니다! let pos = s.indexOf('k') 를 입력하실때 괄호( )안에 처음에 "k"로 입력하셨다가 'k'로 바꾸셨는데요. 이유가 따로 있으신걸까요? 문자열은 "" 또는 ''로 표현한다. 그리고 왠만하면 하나로 통일한다. 로 나름의 규칙을 혼자 세우고 있었는데 처음에 answer = ""; 로 먼저 적어놓았으니 이 이후로 부터 문자열을 나타내는 기호는 ""로 통일해야겠군! 이라는 생각을 했었거든요. 그런데 선생님께서 ""와 ''를 둘다 사용하시는 걸 보고 궁금증이 들었습니다! ""와 ''의 사용 기준(?)이 궁금합니다. 감사합니다 ㅎㅎ :)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
REST API 방식으로 이미지를 보여주는 방법
저장을 하는것은 구현을 하였는데, 사용자가 상품 이미지를 보고싶어 하면, 프론트엔드에서 먼저 서버에, 원하는 상품의 id 값으로 요청을 하면, 서버는 그 상품이 서버에 저장된 이름을 반환해주고, 프론트엔드에서 그 이미지를 가지고, 서버에 저장되어 있는 이미지를 보여주는 방식을 사용하면 될까요..?
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
테스팅 방법론에 관한 질문 드립니다
안녕하세요, 상석님! 정성이 담긴 강의 잘 듣고 있습니다. 다름이 아니라, 강의를 듣고 나서 TDD로 강의와 유사한 프로젝트를 시도중입니다. express보다 IoC가 강하게 적용된 Nest에서테스팅을 하려다 보니 복잡하기도 하고, 긴가민가한 부분들이 있어서아직 수업에서 다루지 않은 부분이지만 질문을 드리게 되었습니다. 제가 궁금한 부분은, 1. 상석님께서는 controller, service, repository 각각의 레이어에 대한 테스트코드를 모두 작성하시는 편인가요?만약 모두 작성한다면, controller -> service -> repository 순으로 테스트코드를 작성하시나요? 2. 고양이 프로젝트에서 response status code는 filter나 Interceptor에서 설정하는 것으로 알고 있습니다.그렇다면 이와 같은 경우에서 controller.spec.ts에서 status code나 json body에 대한 테스트 케이스는 만들지 않고,filter나 interceptor의 테스트 코드를 작성하고, 여기서 status code와 return되는 json body를 다루면 될까요? 3. 2번처럼 테스트를 진행하게 된ㄴ다면, controller.spec 에서는 argument가 service layer로 전달되는 것만을 테스트하면 되는 걸까요? 절대적인 내용이 아닌 것은 알지만, 상석님께서는 어떻게 처리하고 계신지 궁금해서 여쭤봅니다. 그래도 어느 정도 기준을 잡고 진행하면 더 수월하게 경험을 쌓을 수 있을 것 같아서요! 바쁘신 와중에 긴 글 읽어주셔서 감사합니다 :) 답변 기다리겠습니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
선생님 statusBar은 Invisible 시키거나 hide처리 가능할까요?
선생님 statusBar은 Invisible 시키거나 hide처리 가능할까요?
-
미해결Ethereum 실전! 초보자를 위한 Lottery Dapp 개발
안녕하세요 강의 정말 잘듣고있습니다.
잘 따라오고 있다가 오늘 이벤트가 발생하지 않은 오류가 나왔습니다. Contract: Lottery isMatch 1) should be BettingResult.Win when two characters match > No events were emitted 2) should be BettingResult.Fail when two characters match > No events were emitted 3) should be BettingResult.Draw when two characters match > No events were emitted 0 passing (229ms) 3 failing 1) Contract: Lottery isMatch should be BettingResult.Win when two characters match: AssertionError: expected <BN: 0> to equal 1 at Context.<anonymous> (test/Lottery.test.js:60:14) at processTicksAndRejections (node:internal/process/task_queues:96:5) 2) Contract: Lottery isMatch should be BettingResult.Fail when two characters match: AssertionError: expected <BN: 2> to equal 0 at Context.<anonymous> (test/Lottery.test.js:65:14) at processTicksAndRejections (node:internal/process/task_queues:96:5) 3) Contract: Lottery isMatch should be BettingResult.Draw when two characters match: AssertionError: expected <BN: 0> to equal 2 at Context.<anonymous> (test/Lottery.test.js:70:14) at processTicksAndRejections (node:internal/process/task_queues:96:5) 무슨 문제인지 찾을수가 없네요 ㅠㅠ
-
미해결홍정모의 따라하며 배우는 C++
질문드립니다.
아래의 그림처럼 빨간색 오류가 떴을 때에는, compiler가 오류난 것을 알려준다 라고 알면 될까요? 저런식으로 오류가 날때 "OOO이 오류가 난것을 알려준다" 라고 한다면 OOO은 무엇인가요? 강의와는 상관없는 내용이지만, 갑자기 궁금하여 질문드립니다.
-
미해결홍정모의 따라하며 배우는 C++
연습문제 질문입니다.
강사님의 의도가 이렇게 푸는 것이 맞는지 질문드립니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
동일 url 권한 처리
안녕하세요. 좋은 강의 감사합니다. 동일 url 로 접근하는데 권한마다 보여주는 화면이 다른 경우(예를 들면 관리자 페이지 버튼 유무 등)에는 프론트에서 user 정보를 가져와서 권한을 확인하고 특정 메뉴를 렌더링 할지 말지 결정하면 될까요?? 아니면 백에서 권한에 따른 처리를 해주는 것이 일반적인지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
REST API에서 검증헤더 사용이 궁금합니다.
안녕하세요. 항상 HTTP 공부를 해야지 생각하다가, 어떻게 접근해야하지 쉽지 않았는데. 영한님 강의 덕에 HTTP를 어떻게 써야할지 고민을 하게 되어, 너무너무 감사합니다.! 그리고 강의 너무 재밌습니다 :) 질문은, HTTP의 304를 통해서, 해당 응답이 변경되었는지, client-server 사이의 요청응답을 제어 할 수 있다고 이해가 됐는데요, server to server 끼리 REST API를 통해서 호출을 할 경우에도 검증 헤더를 통해서 네트워크 이익을 얻을 수 있을까요?? 이해를 좀더 하고 싶은 부분은.. 만약 서버응답이 변경이 없다는 304 를 내려주면, 클라이언트가 브라우저면 브라우저 캐시를 통해서 응답 바디와 동일한 데이터를 얻는데, 서버끼리 통신이면, 브라우저가 아니니깐... 브라우저 처럼 캐시를 제공하려면 로컬이던,리모트던 캐시를 붙여야 하는게 맞을까요.? 또 이런 경우엔, 요청/응답 하는 서버끼리 `검증 헤더를 사용하겠다` 라고 약속이 돼야 할텐데.. 한쪽 서버의 헤더 스펙이 변경되면 검증 로직을 사용할 수 없는 경우가 되어버리는것 같아서.. 변경에 취약한 것 같기도 하구요. 혹시 실무에서 서버끼리 통신할 때도 위와같은 검증 헤더를 사용하시는지, 사용한다면 어떻게 해결하는지 궁금합니닷..!
-
미해결비전공자를 위한 개발자 취업 개론
안녕하세요 ! 장고 백엔드 프론트엔드 분리 관련 질문입니다 !!
안녕하세요 ! 장고를 공부하다 계속 궁금했던게 있어서 질문을 드려요 ! 사실 장고를 공부하면서 항상 장고 템플릿 문법을 써서 프론트를 함께 개발했었습니다. 프론트와 백엔드를 분리해서 개발을 진행해보고 싶었지만 대부분 프론트엔드 프레임워크를 사용해서 프론트와 백엔드를 분리하는 흐름이였습니다. 그렇다면 프론트 vscode : html, css, javascript, ajax 백엔드 vscode : django 로 분리해서 화면이 렌더링되면 백엔드에 ajax로 get요청 등을 보내 화면에 뿌려질 데이터를 백엔드에서 JsonResponse등으로 보내어 개발하는 과정은 옳지 못한 개발과정일까요 ..? (아니면 분리를 위해서는 프론트엔드 프레임워크를 무조건 써야 하는 건가요,,?) 이렇게 프로젝트를 진행한 경험을 했어도 백엔드 api를 구축해봤다고 얘기를 해도 될지 그리고 이런 방향으로 프로젝트를 해보아도 문제가 없는지 궁금합니다..! 읽어주셔서 감사합니다 !
-
미해결Vue.js - Django 연동 웹 프로그래밍
장고 프론트엔드 백엔드 분리 관련 질문입니다 !
안녕하세요. 현재 해당 강의를 들으면 todolist 프로젝트를 진행해보고 있습니다. 그러다 문득 궁금했던게 생각이 났습니다.. 사실 장고를 공부하면서 항상 장고 템플릿 문법을 써서 프론트를 함께 개발했었습니다. 프론트와 백엔드를 분리해서 개발을 진행해보고 싶었지만 대부분 프론트엔드 프레임워크를 사용해서 프론트와 백엔드를 분리하는 흐름이였습니다. 그렇다면 프론트 vscode : html, css, javascript, ajax 백엔드 vscode : django 로 분리해서 화면이 렌더링되면 백엔드에 ajax로 get요청 등을 보내 화면에 뿌려질 데이터를 백엔드에서 JsonRespone등으로 보내어 개발하는 과정은 옳지 못한 개발과정일까요 ..? 아니면 분리를 하는 과정에는 프론트엔드 프레임워크가 꼭 필요한 걸까요 ...?? 이렇게 프로젝트를 진행한 경험을 했어도 백엔드 api를 구축해봤다고 얘기를 해도 될지 그리고 이런 방향으로 프로젝트를 해보아도 문제가 없는지 궁금합니다..!
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
xml형식으로 파일데이터 전송하기
안녕하세요 파일데이터를 전송하기위해 multipart로 변경하여 폼을 보내는 부분을 xml 로 설정하여 테스트하는데 오류가 납니다. java설정으로 할때는 잘동작하는데 오류를찾아봐도 잘 모르겠어서 여쭤봅니다. 현상은 빈값,값을 넣어서 제출하던 동일하게 아래와같이 나옵니다. servlet-context.xml web.xml ContentBean.java get,set메소드까지 설정하였습니다. write.jsp
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
기출문제 요청
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 혹시 기출문제 슬랙 말고 별도 요청 안되나요? 보안 때문에 메일에서 슬랙 관련 메일을 열 수가 없어서요.
-
미해결스프링 핵심 원리 - 기본편
순환참조 오류시에 생성자 주입 질문입니다!
안녕하세요 선생님! 스프링 레퍼런스에서는 순환참조 오류가 발생했을 때 권장하진 않지만 생성자 주입 대신 필드 주입이나 수정자 주입을 사용하라고 하더라구요. 필드 주입이나 수정자 주입이 순환참조 오류를 발생하지 않게끔 할 수 있는 이유가 무엇인지 알 수 있을까요? 그리고 이보다 더 근본적인 순환참조 오류 해결책이 있는지도 궁금합니다!
-
해결됨HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
웹 페이지에 로딩화면 적용하는 방법
안녕하세요 선생님 완성한 로딩화면을 다른 html파일에다가 어떻게 적용 시키는거에요?? 따로 강의가 있을까요?