묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest 테스트 케이스 간섭 발생
안녕하세요. 감사히 영상을 보며 공부하고 있습니다.다름이 아니라 스프링 JdbcTemplate 적용 후 통합테스트를 진행해보는데,회원가입과 중복_회원_예외 테스트 메소드 개별 실행시 정상적으로 작동,클래스 테스트 실행시 중복_회원_예외 케이스 통과, 회원가입 케이스에서 에러가 발생하여 로그를 확인해보니,회원가입 테스트 실행 전, memberService.findMembers()를 통해 확인해본 결과, 중복_회원_예외 테스트케이스에서 put 하는 member 객체가 확인이 됩니다.Spring Boot와 JUnit 5를 사용하여 작성한 테스트 클래스의 경우, 테스트 메소드는 일반적으로 순차적으로 실행되지 않습니다. 대신, 각 테스트 메소드는 독립적으로 실행됩니다. 라고 확인이 되더라구요. 병렬적으로 실행되나, 컨텍스트가 분리되는것으로 보이는데, db는 같은걸 쓰다보니 에러가 발생하는게 아닐까 싶었습니다.그런데 영상에서는 통합테스트에서 이러한 에러가 발생하지 않는데, 어떤 차이때문일까요?*해당 코드 포함한 commit log link
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
안녕하세요, 제로초님 타입스크립트 axios 분석 강의보고 궁금한점이 있어서 질문드립니다
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c```export interface AxiosInstance extends Axios { <T = any, R = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>; <T = any, R = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>; defaults: Omit<AxiosDefaults, 'headers'> & { headers: HeadersDefaults & { [key: string]: AxiosHeaderValue } }; }```해당 axios 분석 영상을 보고 질문이있습니다,AxiosInstance 인터페이스에 익명함수 시그니처 형식으로 타입정의가 되어있는데요 나름 찾아본결과 이거는 다형성 관련해서 다중오버로딩할때 편하다라고는 생각은 했습니다,,,근데 제가 궁금한점은 제가 일반적으로 axios 기본기능만 쓰면 사실 extends해서 가져오니까요,굳이 안써도잘 동작 할거같아서 의문이 들었습니다,,제가 나름 생각한 써져있는 이유는 axios라이브러리를 이용해서 자체 확장을 할때 필요 한가라고도 생각이드는데요 막연히 생각이들고 예상이라 정확히 어떨때 쓸 의도로 둔건지 궁금해서 질문드립니다요약: AxiosInstance 에 익명함수 시그니처의 의도가 뭘까요 extends 해오는거라 없어도 될거같은데요 어떤상황에 대비해서 추가된 코드일까요?
-
해결됨재고시스템으로 알아보는 동시성이슈 해결방법
OptimisticFacade, LettuceLockStockFacade 에 대해 @Transactional 질문
강의 잘 듣고 있습니다.다름이 아니라 OptimisticFacade 클래스의 decrease 메서드는 트랜잭션을 붙히지 않으셨는데 이는 optimisticLockStockService.decrease가 실질적인 DB 와 통신하는 부분이기 때문에 optimisticLockStockService.decrease에서만 @Transactional을 적용시켜야 하기 때문인것인가요?? 또한, LettuceLockStockFacade의 경우 redisLockRepository에 접근하는 부분이 있는데, 레디스에 접근시에는 트랜잭션을 걸어주지 않아도 될까요?또한, 제가 알기로는 @Query를 사용하는 경우 @Transactional이 적용되지 않는다고 알고 있는데, 그렇다면 Pessimistic과 Optimistic 의 decrease 메서드의 경우 @Transactional이 없어도 괜찮은것 일까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 제로초님 이미지 업로드 관련 질문이 있습니다.
이미지 업로드를 위한 multer 강의까지 수강을 하였습니다.이미지 업로드를 할때 uploads 폴더에도 이미지가 잘 들어가고UPLOAD_IMAGES_SUCCESS도 잘 나오는 상황입니다.하지만 제로초님의 화면은 제거 버튼과 비록 깨지지만 이미지가 올라간 화면이 보이는데 저는 그 부분이 나오지 않아서 이 점이 궁금하여 질문 드립니다.import React, { useState } from "react"; import { Button, Card, Popover, Avatar, Image, List, Comment } from "antd"; import { RetweetOutlined, HeartOutlined, MessageOutlined, EllipsisOutlined, HeartTwoTone, } from "@ant-design/icons"; import { useCallback } from "react"; import { useSelector, useDispatch } from "react-redux"; import PropTypes from "prop-types"; import PostImages from "./PostImages"; import CommentForm from "./CommentForm"; import PostCardContent from "./PostCardContent"; import { REMOVE_POST_REQUEST, LIKE_POST_REQUEST, UNLIKE_POST_REQUEST, } from "../reducers/post"; import FollowButton from "./FollowButton"; const PostCard = ({ post }) => { //pages/index.js에서 mainPosts에서 하나씩 뜯어서 보내줌 const dispatch = useDispatch(); const [commentFormOpened, setCommentFormOpened] = useState(false); //댓글창 열지 말지 const onLike = useCallback(() => { dispatch({ type: LIKE_POST_REQUEST, data: post.id, }); }, []); //좋아요 const onUnlike = useCallback(() => { dispatch({ type: UNLIKE_POST_REQUEST, data: post.id, }); }, []); //좋아요 취소 const onToggleComment = useCallback(() => { setCommentFormOpened((prev) => !prev); }, []); //폼 버튼 한번 더 누르면 폼 닫기 const onRemovePost = useCallback(() => { return dispatch({ type: REMOVE_POST_REQUEST, data: post.id, }); }, [id]); const id = useSelector((state) => state.user.me?.id); const { removePostloading } = useSelector((state) => state.post); const liked = post.Likers.find((v) => v.id === id); //게시글 좋아요 누른 사람 중에 내가 있는지. return ( <div style={{ marginBottom: 20 }}> <Card cover={post.Images?.[0] && <PostImages images={post.Images} />} //이미지가 존재한다면 PostImages를 출력 actions={[ //카드 아래에 존재하는 것들 <RetweetOutlined key="retweet" />, liked ? ( <HeartTwoTone twoToneColor="red" onClick={onUnlike} /> ) : ( <HeartOutlined key="heart" onClick={onLike} /> ), <MessageOutlined onClick={onToggleComment} key="comment" />, <Popover //더보기 같은 역할 key="more" content={ <Button.Group> {id && post.User.id === id ? ( <> {/* 내가 쓴 글이면 수정, 삭제 */} <Button>수정</Button> <Button type="danger" onClick={onRemovePost} loading={removePostloading} > 삭제 </Button> </> ) : ( // 내가 쓴 글이 아니라면 <Button>신고</Button> )} </Button.Group> } > <EllipsisOutlined /> </Popover>, ]} extra={id && <FollowButton post={post} />} > <Card.Meta //프로필과 내용 등 avatar={<Avatar>{post.User.nickname[0]}</Avatar>} title={post.User.nickname} description={<PostCardContent postData={post.content} />} /> </Card> {commentFormOpened && ( //commentFormOpened가 true이면 열어라 <div> {/* 어떤 게시글에 댓글을 남기는지.. */} <CommentForm post={post} /> <List header={`${post.Comments.length}개의 댓글`} itemLayout="horizontal" dataSource={post.Comments} //데이터는 여기서 가져와서 renderItem={( item //이런식으로 출력한다 ) => ( <li> <Comment author={item.User.nickname} //댓글쓴사람 avatar={ <Avatar>{item.User.nickname[0]}</Avatar> //아바타 } content={item.content} /> </li> )} /> </div> )} </div> ); }; PostCard.PropTypes = { post: PropTypes.shape({ id: PropTypes.number, User: PropTypes.object, content: PropTypes.string, createdAt: PropTypes.string, Comment: PropTypes.arrayOf(PropTypes.object), Images: PropTypes.arrayOf(PropTypes.object), Likers: PropTypes.arrayOf(PropTypes.object), }).isRequired, }; export default PostCard;저의 PostCard 코드입니다 이 코드에서 cover={post.Images?.[0] && <PostImages images={post.Images} />}이 부분이 이미지들을 출력해주는 부분이 아닌가요?? 저의 화면에는 아래처럼 나오지 않습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선쉥님 df[~cond]말고 drop으로 데이터 삭제하는 법 있을까요?
작업형 1 모의고사 2에서 질문 10이하의 이상치 나이를 제거하기 위해서df=df.drop(cond1) 이렇게 하면 안되는 건가요ㅠㅠ...오류가 나더라구요 판린이 이상 질문 드립니다 수업시간엔 아래처럼 사용하셨씁니다!cond1=df['age']<=0df=df[~cond] 이렇게 사용하셧었는데요!! 제가 drop함수만 기억이 나더라구요!!ㅠㅠ 질문 2.df['age'] == round( df['age'], 0) 이 0의자리? 일의자리인가요?? 이 부분을 제가 모르는 것 같은데 설명 부탁 드립니다!! round가 반올림함수라고 알려주셨는데요. 그런데 36.3은 어떻게 거르나 싶더라구요.36.3의 경우에df['age'] == round( df['age'], 0) 이면...소수 첫째짜리에서 정수까지만 나오도록 돼있는데그러면 36.3은 못 거르는 게 아닌가 싶은데 걸러져있더라구용... 이게 어찌된 것인지 설명 부탁 드립니다!! -판린이 드림-
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
정적 팩토리 메서드에 static이 붙어야 하는 이유
안녕하세요. 강의 잘 보고 있습니다! 다른 분 질문에 궁금한 것이 해소되지 않아 질문드립니다.https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1&unitId=24297&category=questionDetail&q=30892&tab=community정적 팩토리 메소드 사용 이유중에 static 메모리에 올라가기때문에 새로운 객체를 생성하지 않는 장점이 있는 거라고 알고 있습니다. 이 예제의 경우 static을 빼도 JPA가 엔티티로 관리하면서 어차피 사용할 수 있는 부분아닌가요..? 라는 질문에서 강사님께서는 static을 빼보면 이해될 거라고 답변하셨습니다.제가 생각하기로는 정적 팩토리 메서드 안에서 생성자를 통해 인스턴스를 생성하는 것은 똑같아 보이고, 호출할 때 new가 아닌 Order.createOrder()로 호출하는 것 외에는 차이점을 못 느꼈습니다.조금 더 상세한 가르침을 주시면 감사하겠습니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test_size
선생님 안녕하세요!데이터분리를 하실때 test_size = random_state=이거 숫자 기준을 어떻게 설정해야하나요??
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
FIFO 설계 관련해서 질문이 있습니다.
안녕하세요.FIFO 설계쪽 실습 파트를 보면서 간단하게 질문이 있습니다.FIFO 내부 데이터를 0 으로 만들어주는 reset 이 필요할까요?생각해보면 Write 가 수행되지 않는 부분은 Read 가 수행이 되지 않아야 정상적인 FIFO 동작인데 굳이 Reset 이 필요할까 생각이 들어서요구글링을 해보면 리셋을 사용한 코드들도 있고 사용하지 않은 코드들도 있어서상황에 따라 Reset 이 존재하지 않는 FIFO 와 Reset 이 존재하는 FIFO 를 나누는 것인지, 그렇다면 해당 상황은 어떠한 상황인지 궁금합니다!(개인적으로는 FIFO 도 결국 F/F 들로 이루어지기 때문에 Reset 이 없는 F/F 을 사용하는 편이 Area 측면이나... Reset pin 의 load 측면이나... 더 이득이지 않을까 하는 생각이 들어서요!)
-
미해결따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01
[2D Pin Circle Game] 회전 질문
안녕하세요. 2D Pin Circle Game에서 회전시 유니티 에디터로 실행할 때는 정상적으로 보입니다.하지만 안드로이드에 연결해서 실행시에는 좀 흐리게 보입니다. 플레이 스토어 앱으로 예를 들면회전시 선명하게 보임Pin Circleaa회전시 흐리게 보임Pin Circle 테스트에 사용한 폰은갤럭시 S9안드로이드 10입니다. 검색해서 시도해봐도 개선이 되지 않아 질문드립니다.fixedUpdate 사용Time.deltaTime 대신 Time.smoothDeltaTime 사용 어떻게 개선할 수 있을까요? 감사합니다.
-
미해결코딩 입문자를 위한 파이썬 기초
로또 예상번호 만들기 질문
질문에 대한 답변은업무가 바쁘지 않으면, 보통 2~3일 내에 드립니다. 다만 이해하기 어려운 질문은 답변 드리기 어려우니,코드와 오류 메시지를 같이 첨부해 주시기 바랍니다. 해설하시면서 우선 이해를 못한 부분이 lotto_num에 대해서 따로 값을 넣으라 이런 이야기도 없으시고 주신 명령어는 lottonumber의 리스트는 비어있다. 이 내용인데 어떻게 해서 random_number의 값이 lotto_num 리스트에 들어갔는지 궁금하고 2. 처음에 for문을 이용하셨을 때 range함수를 이용하면 0~5번하는건데 이야기하셨을 때 몇번반복될지 모른다고 하셨는데 왜그렇게 이야기하셨는지 이해를 잘 못했습니다. range함수는 지정값 -1까지 반복하는게 아닌가요??import random lotto_num = [] #빈로또번호 리스트 생성 def getrandomnumber(): number = random.randint(1,45) return number for i in range(6): random_number = getRandomNumber() print(random_number) 설명 처음에 하실때 return부분 설명을 자세히 안하셨더라고요. 그래서 return 이부분을 이해를 못하는데 저값의 의미하는게 뭔가요??import random lotto_num = [] #빈로또번호 리스트 생성 def getrandomnumber(): number = random.randint(1,45) return number count = 0 while True : if count > 5: break radom_number = getrandomnumber() if radom_number not in lotto_num: lotto_num.append(radom_number) count = count + 1 print(lotto_num)
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Landing모션에서 곧바로 Loco모션의 달리기로 바로 바뀔 수 있는 이유
제가 점프 얼라이어스에 Landing도 체크 했기 때문에 landing 하자마자 점프를 하면 바로 점프 모션으로 바뀌게 되는 것은 이해가 되는데요. Landing모션이 시작되고 10퍼센트 이하 남은 시점에 Locomotion으로 바뀌게 설계를 했기 때문에, landing하자마자 이동하면 landing모션이 10%남은 시점 까진 Landing이 유지되다가 달리기 모션을 바뀔 줄 알았는데 Landing하자마자 이동을 하면 바로 Locomotion의 달리기 모션으로 전환 될 수 있는 이유를 알 수 있을까요..
-
미해결엑셀 시작하기 : EXCEL 입문 (Inflearn Original)
강의자료
-강의자료를 못 찾겟어요 ㅠㅠ 힝 헬프 미ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Runwith 어노테이션 오류.. Junit4
강의대로 테스트 클래스 작성중인데.. @RunWith 어노테이션 자동완성이 안되더라구요..? 그래서 코드 복붙 했는데도 저렇게 뜹니다..junit4로 강의랑 똑같이 설정해서 작성했는데 뭐가 문제일까요?
-
미해결
강의 일시 정지 / 연장 방법 문의
안녕하세요, 수강 중인 강의 만료 전, 일시 정지나 기한 연장 방법이 있을지 문의 드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
dtype 조회 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 다른 객체들은 id로 조회가 가능한데 dtype같은 경우는 조회를 어떻게 하는 건가요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
이미지 저장하기
이미지 저장하기 4~5분대에 코드도 오류 없고 실행도 잘 되는데 firebase storage에 이미지가 업로드 되지 않습니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
sort_values 값 저장
내림차순으로 정렬하고 값을 저장한줄 알았는데 계속 초기 값이 나옵니다ㅠㅠ 이 경우에는 저장이 안되는 걸까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 기출유형 질문
선생님 2회 기출유형 강의를 듣다가 헷갈리는 부분이 있어서 질문드립니다.df[:10]과 df.iloc[:10]이 어떻게 다른게 헷갈립니다ㅠㅠ 또한 df.iloc[4:7]이면 4부터 6까지 3개의 데이터 값을 가져오는 거이고 df.iloc[:10]이면 0-9까지 총 10개의 데이터의 값을 가져오는 건가요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
내 힘으로 LED회로 만들어서 제어하기 3 질문있습니다.
안녕하세요. 강사님 6:02초에서 말씀해주신 PB0_TEMP-SET-UP 에서PB0가 MCU 어느 핀 번호에 연결되느냐에서 대해서 설명해주셨는데,회로도상 확인 해보면 PB0는 MCU칩에서 확인 해보면 PB0는 18번 Pin에 연결되있는것 아닌가요?? 영상에서는 PB0가 PB6, 42번 Pin번호라고 말씀해주셔서 헷갈려서 재차 질문드립니다. 감사합니다.
-
미해결대세는 쿠버네티스 [초급~중급]
ingress 관련 질문 드립니다.
안녕하세요, 먼저 좋은 강의 감사합니다.Ingress-실습 강의를 보면서 진행하던 중 막히는 부분이 있어 질문 남깁니다. 저는 클라우드 환경에서 작업을 하고 있고, 인스턴스 목록은 다음과 같습니다.MS-worker-02 CentOS 7.9 10.2.0.67MS-worker-01 CentOS 7.9 10.2.0.102MS-master CentOS 7.9 10.2.0.72쿠버네티스 서비스는 다음과 같습니다.[centos@ms-master ~]$ kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.96.0.1 <none> 443/TCP 20hsvc-customer ClusterIP 10.97.122.176 <none> 8080/TCP 5h27msvc-order ClusterIP 10.96.220.47 <none> 8080/TCP 5h27msvc-shopping ClusterIP 10.106.190.227 <none> 8080/TCP 5h27m[centos@ms-master ~]$ kubectl get svc -n ingress-nginxNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEingress-nginx ClusterIP 10.105.252.136 10.2.0.72 80/TCP,443/TCP 43mingress-nginx-controller NodePort 10.99.180.38 <none> 80:31167/TCP,443:31190/TCP 5h42mingress-nginx-controller-admission ClusterIP 10.105.89.17 <none> 443/TCP 외부에서 ingress를 통해 서비스에 접근하려면 어떻게 해야하나요?제가 생각하기로는 ingress의 포트가 31167이라고 할 때 로드밸런서 포트, 인스턴스 포트를 (80, 31167)로 가지는 로드밸런서를 만들어주고, <로드밸런서 floating ip>/order 이런식으로 접근하면 결과가 나와야한다고 생각하는데 안돼서요...서비스를 NodePort 타입으로 만들어주고 로드밸런서를 서비스 자체에 붙이는 경우에는 잘 됩니다.인스턴스 내부에서 curl <인그레스 주소>:<ingress-controller의 노드 포트>/order처럼 했을 때도 결과가 잘 나오는 걸 봐서는 인그레스 자체는 잘 구성이 된 듯한데, 이를 외부로 어떻게 보낼 수 있을까요?인그레스 컨트롤러도 결국엔 서비스인데, 왜 안 되는지 모르겠습니다.혹은 인그레스 컨트롤러 자체를 load balancer 타입으로 만들어주는 게 맞는 것 같기도한데, 저는 클라우드 환경이긴 하지만 직접 노드를 구성하다보니 external IP가 자동으로 생기지는 않더라고요.외부에서 만든 로드밸런서의 ip나 이런 정보들을 load balancer 타입의 인그레스 컨트롤러 yaml 등에 설정을 직접 해줄 수가 있나요? 혹은 클라우드 환경이라하더라도 쿠버네티스를 직접 구축하는 경우 로드밸런서는 온프레미스 환경과 동일하게 MetalLB를 써야하는 걸까요?