묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Practical Testing: 실용적인 테스트 가이드
이 경우, @BeforeEach에 fixture를 구성해도 될까요?
지금 OrderServiceTest 클래스의 createOrder(), createOrderWithStock(), ... 메서드들은 주문을 생성하기 위해서 given절에서 모두 동일하게 product1, 2, 3을 먼저 생성해주는 fixture가 있습니다. @Test void createOrder() { // given LocalDateTime registeredDateTime = LocalDateTime.now(); Product product1 = createProduct(HANDMADE, "001", 1000); Product product2 = createProduct(HANDMADE, "002", 3000); Product product3 = createProduct(HANDMADE, "003", 5000); productRepository.saveAll(List.of(product1, product2, product3)); OrderCreateServiceRequest request = OrderCreateServiceRequest.builder() .productNumbers(List.of("001", "002")) .build(); // when OrderResponse orderResponse = orderService.createOrder(request, registeredDateTime); // then assertThat(orderResponse.getId()).isNotNull(); assertThat(orderResponse) .extracting("registeredDateTime", "totalPrice") .contains(registeredDateTime, 4000); assertThat(orderResponse.getProducts()).hasSize(2) .extracting("productNumber", "price") .containsExactlyInAnyOrder( tuple("001", 1000), tuple("002", 3000) ); }product를 생성해주는 부분을 @BeforeEach로 빼내려고 하는데, 적절하다고 판단되시는지 궁금합니다. OrderServiceTest의 모든 메서드가 동일한 product를 생성하고는 있지만,각 테스트 메서드에서 "001"이라는 상품이 있는지는 @BeforeEach 메서드까지 스크롤을 왔다갔다하면서 확인해야될거라 생각합니다.(만약 없는 상품을 주문한다면 given절에서 예외가 발생하는 것이기 때문에, 이 부분은 당연히 있는 상품을 주문한다는 것을 보장하고 테스트 코드를 작성해야 할까요?) order에 관한 테스트이기 때문에, product에 대한 부분은 분리해도 될거라 생각하지만, 우빈님의 말씀대로 스크롤을 왔다갔다하면서 @BeforeEach의 메서드를 수시로 보는 것은 안좋다고 느껴져서.. product 생성에 대한 fixture를 분리괜찮다고 생각하시나요?
-
해결됨홍정모의 따라하며 배우는 C언어
문자열에 대해 질문있습니다.
안녕하세요. 궁금한 게 있어 질문드립니다.int main() { char str1[] = "String11"; char *str2 = "String22"; printf("%s %s\n", str1, str2); // String11 String22 printf("%p %p\n", str1, str2); // 0x16fc27078 0x1001dbf69 printf("%s\n", str2); // String22 printf("%c %p\n", *str2, str2); // S 0x1001dbf69 int arr1[] = {1, 2, 3}; int arr2[] = {4, 5, 6}; int *arrptr = arr2; // printf("%d %p\n", arr1, arr1); // 1876390008 0x16fd77078 printf("%d %p\n", *arr1, arr1); // 1 0x16f307078 printf("%d %p\n", *arrptr, arrptr); // 4 0x16f4eb068 int n = sizeof(arr1) / sizeof(int); for (int i = 0; i < n; i++) { printf("%d ", arr1[i]); } return 0; }int형 배열은 반복문을 통해 원소를 하나씩 꺼내어 출력해줘야 하는데, char str1[] = "String11" 에서 문자열 배열은 String11이라는 문자 하나하나가 모여서 문자열을 이루고 있음에도 불구하고 str1을 %s포맷으로 printf함수로 출력하면 왜 반복문을 사용하지 않아도 문자열이 그대로 나오나요?그리고 char *str2 = "String22" 에서도 char형 포인트 변수 str2에는 문자열 "String22"중에서 첫번째 문자인 'S'의 메모리 주소가 저장되어 있을 텐데 str2도 마찬가지로 'S'만 나오는 것도 아니고 왜 문자열 전체가 그대로 나오는건가요..?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
hostname 페이지 접속 실패
그랩님 안녕하세요 현재 depoly가 완료되었습니다.그런데 hostname페이지로 접속이 안되고 아래와 같이 실패하고있습니다.어떤부분이 문제인지 문의드립니다.git 링크: https://github.com/sunghankwon/grab-market-server 다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요.2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다!3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
로그인 유지 구현시 CSR vs SSR
매 요청마다 로그인 유지를 위한 요청을 보낸다고 할때(유저 정보를 받아오는 방식)useEffect를 이용해 CSR로 구현을하면 로그인 정보를 받아오기 전에는 초기상태가 없기 때문에`초기상태` -> `유저정보 들어있는 상태` 로 변경하는 과정에서 화면 CSS에 깜빡임이 발생합니다.이 현상이 저는 layout shift와 같다고 느껴서 해결을 하고 싶은데 실무에서는 보통 어떻게 해결하나요?초기로드에 SSR을 적용할지, 아니면 CSR 에서도 깜빡임을 없애는 방법이 있는지 궁금합니다.
-
미해결Flutter 초급 - Http통신, 상태관리
[네이티브연동 관련 질문]
kotlin MainActivity에 강의에서 알려주신대로 쳤는데 왜 오류가 날까요?근데 일단 실행은 문제가 없었습니다.
-
미해결데이터 분석 SQL Fundamentals
nw.orders 테이블의 값들이 비어있어요ㅠ
안녕하세요! 이제 막 강의를 시작하였습니다. 다름이 아니라 실습자료 다운 받고 강의대로 nw.orders 테이블 확인하고 있는데 값이 뜨지 않습니다ㅠㅠ 왜 이럴까요
-
미해결수학으로부터 인류를 자유롭게 하라(미적분학 Part.I) - 미분
미적분학 - 적분파트
혹시 적분파트는 언제쯤 강의가 오픈되는지 알 수 있을까요?또 선형대수학 강의 일정도 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
처음에 무한루프 부분에서 궁금한게 있어요!
처음에 무한루프 돌때 갑자기 궁금한게 생겨서요.Order -> MemberOrder -> address 위 엔티티들은 둘다 지연로딩인데실제 모든 Order를 조회 했을 때,'지연로딩'이니깐 실질적으로 Member 엔티티를 건드리지 않는 이상은 Member에는 프록시로 담기는 걸로 이해했습니다.그래서 Jackson이 프록시를 건드리지 못해 에러를 발생하는 걸로 이해했구요.근데 동영상에서 6분9초 때에, 포스트맨에서 결과값들이order, member 등등 엔티티들의 값들이 채워져서 보이는데, 지연로딩인데도 값들이 막 보이는게 이해가 안됩니다.정리하자면...모든 Order만 조회했는데, 지연로딩인데도 Member 등 연관된 엔티티들이 다 조회되는 게 이해가 안됩니다혹시 제가 놓친 부분이 있을까요? 지연로딩이 조금 헷갈리고 있는거 같습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링부트 검증 직접 처리 중 오류 발생시 컨트롤러 진입 전에 예외 발생
스프링 MVC 2편 중 섹션4. 검증의 '검증 직접 처리-개발' 강의의 28:50에서 김영한 강사님이 강의 자료를 보고 설명하시는데 다음과 같은 문구가 있는데요. '타입 오류는 스프링MVC에서 컨트롤러 진입도 전에 예외가 발생한다' 이 부분에서 질문이 있습니다. 일단 폼에서 값을 넘기면 post를 타고 해당 requestmapping이 된 url을 컨트롤러에서 발견을 하고 넘어온 값들을 해당 메서드에서 매핑된 VO를 찾아 값을 넣어주려는 것 아닌가요?일단 컨트롤러 진입 후 VO에 값을 매핑하는 것 같은데 진입도 전에 에러가 나는 건 어떻게 에러가 나타나는 건가요?일단 VO까지는 가야지 타입이 무엇인지 알 수 있고, VO는 컨트롤러에서 확인할 수 있지 않나요?답변 부탁드립니다!
-
해결됨모바일 웹 퍼블리싱 포트폴리오 with Figma
장바구니 파트 checkbox 질문
선생님.장바구니 밑에 표시해 둔 체크박스가 좀 이상해서 질문드립니다.첫번째 체크 박스와 두 번째 체크 박스의 크기가 상품명 글자수에 따라커졌다 작아졌다 불규칙하게 변하는데 이 부분이 좀 이상합니다.첫번째 아이템 상품명 글자수와 두번째 아이템 상품명 글자수를같게 입력하면 체크박스 크기가 일정하고 둘 중 하나라도상품명 글자수를 늘리거나 줄이면체크박스 사이즈가 작아졌다 커졌다 하는데 이 부분이 혹시display:flex; align-items: flex-start;와 관련이 있는 건가요? 확실히 잘 모르겠습니다.상품명 글자수에 상관없이 체크박스 크기가 변하지 않게 하려면 어떻게 해야 하는지궁금해서 질문드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
VS Studio가 Unity에 연결되지 않습니다.
예전에는 잘 되던 Unity에 연결이 실패합니다.VS 버전 : VS Studio 2022유니티 버전 : 2021.3.5f1오류코드 : 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다 + ip주소 제가 구글링 이후 시도한 방법으로는Edit > Preferences > External Tools > External Script Editor에서 VS Studio 2022가 맞는지 확인Regenerate project files로 .csproj 재생성방화벽이 허용하는 앱에서 VS 2022 허용 체크하기방화벽 끄고 연결시도하기유니티와 VS를 껐다 다시 켜기이렇게 시도해 보았지만 모두 효과가 없었습니다ㅠㅠ
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
GameObject에 작성한 PosInfo, Stat 프로퍼티에 궁금한 게 생겼습니다.
선생님께서 작성하신 GameObject.cs 코드에 이런 부분이 있었습니다. public ObjectInfo Info { get; set; } = new ObjectInfo(); public PositionInfo PosInfo { get; private set; } = new PositionInfo(); public StatInfo Stat { get; private set; } = new StatInfo(); public GameObject() { // 링크를 이어준다 Info.PosInfo = PosInfo; Info.StatInfo = Stat; } 근데 위 생성자에서 저 '링크'를 이어줬는데 그 후로Info.PosInfo = new PositionInfo();라는 코드를 부주의로 실행시킨다면 링크가 깨지지 않나요?그 후로는 PosInfo.PosX = 0;같은 걸 실행해도 PosInfo와 Info.PoInfo는 별개이니 게임오브젝트에 적용이 안 될 것 같은데이렇게 이해하고 있는데 이게 맞는지 궁금합니다.그리고 아래처럼 고친다면 이 링크 깨짐 문제가 해결되는지 궁금합니다. public ObjectInfo Info { get; set; } = new ObjectInfo() { // 이걸 안 하고 쓰면 크래시가 난다 PosInfo = new PositionInfo(), StatInfo = new StatInfo() }; public PositionInfo PosInfo { get { return Info.PosInfo; } set { Info.PosInfo = value; } } public StatInfo Stat { get { return Info.StatInfo; } set { Info.StatInfo = value; } }
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
로드 이후 gltf wireframe 속성 변경이 가능할까요?
수업 너무 재밌게 잘 들었습니다! 수업듣고 혼자 프로젝트 만들어보다 궁금증이 생겼는데요! gltf로 캐릭터 로드 후 특정 영역안에 들어갈 시 traverse를 이용해서 캐릭터 wireframe을 true로 바꾸고 싶은데요 이미 로드된 캐릭터는 wireframe을 변경할 수 없을까요..?
-
해결됨그림으로 쉽게 배우는 네트워크
ARP와 관련하여 질문있습니다.
ARP 프로토콜이 언제 발생하는지에 대해 질문드립니다. 질문 1 : 해당 그림에서 라우터 1과 라우터 2가 서로간의 맥주소를 모르고 있다면 여기에서도 ARP 프로토콜이 발생하나요?-> 빨간색으로 표시해두었습니다. 질문 2 : 해당 그림에서 라우터 2가 교수님 pc의 mac주소를 모르고있다면 ARP 프로토콜이 일어나나요?-> 녹색으로 표시해두었습니다. ARP가 언제 일어나는지 구체적으로 알고 싶어서 질문드립니다. 감사합니다~
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
jpa의 더티체킹 사용에 대해서
해당 강의에서 도메인 모델과 영속성 객체를 구분하는 리팩토링을 진행하셨는데요.리팩토링 이후 영속성 컨텍스트를 통한 더티체킹을 활용하지 않고, 대신 save 메서드를 매번 호출해 주시는 방법으로 변경하셨더라구요.도메인 모델과 영속성 객체의 의존성을 제거하기 위해서 더티체킹 기능도 사용하지 않는건가요?
-
미해결
포토샵 마스터 클래스 -만들면서 배우는 포토샵 입문 쿠폰 질문
안녕하세요, 해당 도서를 사고 혼자 책보고 하는데 어려움이 있어서 강의를 구입하고자 해요 책에는 70% 쿠폰을 준다고 하는데 쿠폰번호를 찾을 수가 없네요! 아니면 현재 강의가격 3만원대가 쿠폰 70%가 적용된 가격인지 궁금합니다 해당 도서의 쿠폰을 사용하는 방법을 알려주세요!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
orphanRemoval = true 질문
Order 클래스 list에 orphanRemoval=true 를 주고@OneToMany(mappedBy = "order", cascade = CascadeType.ALL , orphanRemoval=true) private List<OrderItem> orderItems = new ArrayList<>();order.getOrderItems.remove(0); 를 써주면 Order-OrderItem 간의 부모자식 관계가 제거되어서 삭제되는데 추가도 되는지 궁금합니다.주문 리스트 전체 변경을 진행하고 있습니다.Order 가 영속성 컨텍스트에 있을때추가될 Item들 findById로 영속성 컨텍스트로 불러온 다음 OrderItem으로 만든뒤 public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this); }order.addOrderItem(orderItem1);order.addOrderItem(orderItem2); 다음과 같이 써주면 db에 추가될 수 있나요???제 테스트 상에서는 데이터가 입력이 되어서 부모-관계가 없어지면 삭제되고 , 부모-관계를 연결시켜주면 추가된다고 생각해도 될까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 문제
npm run dev를 하니 'next'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.라고 뜨는데 어떻게 고치나요
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
참조 내용에서 조금 헷갈리는게 있습니다.
c2가 c1이 되는 부분을 풀어서 정의하면질문이 총 두가지입니다.c2와 같은건 참조값이라고 부르나요? 아니면 참조변수라고 부르나요?c2가 c1이 된다는건 c1이 참조하고있던 주소를 c2도 참조하게 된다는건가요? package nodocoding; import camera.Camera; public class _16_Reference { public static void main(String[] args) { // 참조 // 기본 자료형 (Primitive Data Types) : int, float, double, long, boolean, ... int[] i = new int[3]; System.out.println(i[0]); //0 double[] d = new double[3]; System.out.println(d[0]); //0.0 //참조 자료형 (Non-Primitive, Reference Data Types) : String, Camera, FactoryCam. Speedcam .. // 참조형은 따로 값을 정의 하지 않았을 때는 null 이다 // 참조 자료형은 대문자로 시작한다. String []s = new String[3]; System.out.println(s[0]); Camera[] c = new Camera[3]; System.out.println(c[0] == null); //////////// System.out.println("---------------"); int a = 10; int b = 20; b = a; System.out.println(a); // 10 System.out.println(b); // 10 b = 30; System.out.println(a); // 10 System.out.println(b); // 30 System.out.println("---------------"); Camera c1 = new Camera(); Camera c2 = new Camera(); c1.name = "카메라1"; c2.name = "카메라2"; System.out.println(c1.name); System.out.println(c2.name); c2 = c1; System.out.println(c1.name); System.out.println(c2.name);1 c2.name = "고장난 카메라"; System.out.println(c1.name); System.out.println(c2.name); changeName(c2); System.out.println(c1.name); System.out.println(c2.name); c2 = null; // 풍선을 놓은 꼴 //System.out.println(c2.name);//에러 c2 = new Camera(); c2.name = "새로생긴 카메라"; System.out.println(c2.name); } private static void changeName(Camera camera) { camera.name = "잘못된 카메라"; } }
-
미해결한 입 크기로 잘라먹는 타입스크립트(TypeScript)
promise 관련 질문 있습니다.
const promise = new Promise(function (resolve, reject) { setTimeout(() => { reject("실패"); }, 500); }); promise.then(function (res) { console.log(res); }); promise.catch(function (err) { ① console.log(err); }); // 실패 참고 문헌에는 이게 실패를 콘솔에 출력한다고 되어 있는데 실제로는 에러가 뜹니다. code: 'ERR_UNHANDLED_REJECTION'혹시 왜 그런건지 알 수 있나요?찾아보니 try catch 구문을 써야 한다는데..