묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Next + React Query로 SNS 서비스 만들기
Post 컴포넌트가 표시되지 않고 User가 undefined로 받아와져요
PostRecommends에서 전달한 post를 Post 컴포넌트에서 받아 표시하면 User에서만 오류가 발생합니다.User에 대한 정보를 다 받아오는데 Post 컴포넌트에서는 아무것도 표시되지 않습니다.프로필 탭을 눌러 User.id 페이지로 이동하면 오류가 발생합니다.Cannot read properties of undefined (reading 'User')User에 옵셔널 체이닝을 붙여도 동일한 오류가 발생합니다.Post 코드 첨부합니다. import { Post as IPost } from "@/model/Post"; dayjs.locale("ko"); dayjs.extend(relativeTime); type Props = { noImage?: boolean; post: IPost; }; export default function Post({ noImage, post }: Props) { const target: IPost = post; if (Math.random() > 0.5 && !noImage) { target?.Images.push( { imageId: 1, link: faker.image.urlLoremFlickr() }, { imageId: 2, link: faker.image.urlLoremFlickr() }, { imageId: 3, link: faker.image.urlLoremFlickr() }, { imageId: 4, link: faker.image.urlLoremFlickr() } ); } return ( <PostArticle post={target}> <div className={style.postWrapper}> <div className={style.postUserSection}> <Link href={`/${target.User?.id}`} className={style.postUserImage}> <img src={target.User.image} alt={target.User.nickname} /> <div className={style.postShade} /> </Link> </div> <div className={style.postBody}> <div className={style.postMeta}> <Link href={`/${target.User.id}`}> <span className={style.postUserName}>{target.User.nickname}</span> <span className={style.postUserId}>@{target.User.id}</span> · </Link> <span className={style.postDate}> {dayjs(target.createdAt).fromNow(true)} </span> </div> <div>{target.content}</div> <div> <PostImages post={target} /> </div> <ActionButtons /> </div> </div> </PostArticle> ); }
-
해결됨스프링 핵심 원리 - 기본편
섹션 10. 빈 스코프 질문
public class PrototypeTest { @Test void PrototypeBeanTest() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class); System.out.println("find PrototypeBean1"); PrototypeBean prototypeBean1 = ac.getBean(PrototypeBean.class); System.out.println("find PrototypeBean2"); PrototypeBean prototypeBean2 = ac.getBean(PrototypeBean.class); System.out.println("prototypeBean1 = " + prototypeBean1); System.out.println("prototypeBean2 = " + prototypeBean2); assertThat(prototypeBean1).isNotSameAs(prototypeBean2); } static class PrototypeBean { @PostConstruct public void init() { System.out.println("PrototypeBean.init"); } @PreDestroy public void destroy() { System.out.println("PrototypeBean.destroy"); } } }결과prototypeBean1 = hello.core.scope.PrototypeTest$PrototypeBean@29caf222prototypeBean2 = hello.core.scope.PrototypeTest$PrototypeBean@29caf222 강의에서 프로토타입 스코프를 코드로 작성하고 실행하는 도중 깜빡하고 스코프 애노테이션을 넣는 걸 깜빡했습니다.그런데 prototypeBean1 과 prototypeBean2 의 참조값이 같게 나왔습니다.@Configuration을 적지 않았는데 왜 싱글톤이 적용이 된 건지 잘 이해가 가지 않습니다...
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
iframe에 입력하기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.아래와 같이 하니 프레임 전환 없이 본문 입력이 됩니다.이렇게 해도 되나요?다른 문제는 없을까요?# 내용 입력 iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") iframe.click() iframe.send_keys("안녕하세요.", Keys.ENTER)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 관련 질문 있습니다.
안녕하세요 강의 잘 듣고 있습니다!작업형2 관련 질문 세개 있습니다.Q1) 랜덤포레스트 하이퍼파라미터 조절 max_depth나 n_estimator(아래처럼 ) 분류가 아닌 회귀분석일때도 사용해도 되나요??Q2) 데이터개수가 너무 많으면 원핫인코딩보다 라벨인코더가 낫다고 하셨는데 개수가 많은 기준이 보통 어느 정도인지 궁금합니다! Q3) 검증데이터 분리 시에 test_size는 어느 정도가 적당한지 궁금합니다. 데이터가 적으면 0.1 ~ 0.15 아니면 0.2 정도로 해도 될까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
g++ 설치 문제
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================vivado는 잘 열리고요 ./build 명령어 입력 시, #include <string.h>에서 문제가 발생하는 것으로 보고 g랑 g++ 툴체인이 잘 깔려있나 확인했나 봤더니 g++ 버젼확인이 안되더군요 그래서 g++ 설치가 안되어있구나 구글링해보고 별 짓을 다 해보았는데 잘 안되네요혹시 도움 주실 수 있을까요?제 OS는 다음과 같습니다 당연히 apt-get update, upgrade 해보아도 별 소용이 없더군요 버젼을 높여야하는 wsl 우분투의 버젼을 높여야하는 걸까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 엔티티에 @Builder 적용하는 방법 질문있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이 코드에서 생성메서드를 @Builder 를 사용한 생성자로 교체하고 싶습니다. 유연한 생성을 통해 테스트 하기 편한 객체 생성을 위해서 더 좋다고 생각했기 때문입니다. 그런데 @Builder 생성자를 사용할때, 연관관계 편의 메서드를 어떻게 활용해야 할지 고민입니다. 다른 사람들의 코드를 보니, @Builder 생성자에서 @OneToMany 의 양방향 필드는 초기화 하지 않는 경우를 봤는데, 그러면 연관관계를 어떻게 설정하고, 또 왜 연관관계 편의 메서드를 초기화시에 사용하지 않는지 궁금합니다.
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
아이콘 컬러 배리어블 적용이 안되어 질문 드려요!
선생님 안녕하세요!버튼 컴포넌트 제작 강의를 보며 따라서 만들고 있는데요~아이콘 fill에 배리어블을 적용해도 아이콘 색상이 변하지 않는 문제가 있습니다~color/icon/interactive/inverse 색상을 선택해도 적용이 안되며, 다른 배리어블 색상을 적용해도 동일하게 적용이 안됩니다! 이름만 적용되고 색상은 변경이 안되는 상태입니다 ㅠㅠ(feather icon을 shape 면으로 병합한 형태로 정리하였고, Vector로 동일하게 이름도 적용했습니다. 아이콘 컬러 배리어블 색상도 등록한 상태입니다.아이콘을 면으로 정리할 때 유니온과 아웃라인이 안되는 경우, 커뮤니티에 공유해주신 Convert SVG Strokes to Fills 웹 사이트를 이용했습니다! )feather icon 외에 다른 아이콘 컴포넌트로 테스트 해보니 배리어블 색상이 적용됩니다.해결 방법이 있을까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
테스트할 때 Auditing 없이 원하는 날짜를 설정할 수 잇을까요?
공부삼아서 과제 프로젝트에 테스트를 도입하다가 궁금한 게 잇어서 질문드립니다. 거래내역 조회를 구현할 때 2024-05-30 같은 거래가 발생할 날짜는 auditing, @CreatedAt 통해 저장된 createdAt에서 가져오도록 구현했습니다. (디자인과 달리, 최근 거래일수록 위로 오도록 변경되었습니다) 구현이 끝난 뒤, 테스트할 때 createAt을 임의로 변경하기 위해 BaseEntity의 private를 protected, 그리고 createdAt을 변경하는 메서드를 추가햇습니다. (이게 맞는 접근인지는 잘 모르겟네요... 할 때에도 이렇게 해도 되나? 라는 의문이 계속 들엇습니다...)@DisplayName("유저의 계좌 내역을 불러올 수 있다.") @Test void getUserStatements() { // given (6/5 18:00) LocalDateTime now = LocalDateTime.of(2024, 6, 5, 18, 0, 0); User u1 = User.of("test1", "id1", "pw"); User u2 = User.of("test2", "id2", "pw"); List<User> users = userRepository.saveAll(List.of(u1, u2)); User loginUser = users.get(0); User notLoginUser = users.get(1); Account a1 = Account.of("111-222-3333", 1000, loginUser); Account a2 = Account.of("111-222-3334", 2000, notLoginUser); List<Account> accounts = accountRepository.saveAll(List.of(a1, a2)); Account loginUserAccount = accounts.get(0); Account notLoginUserAccount = accounts.get(1); // 자신 계좌로 입금 (조회 대상), 6/5 발생 Statement s1 = createStatementForTest(loginUserAccount, loginUserAccount, 100, DEPOSIT); // 자신 계좌에서 출금 (조회 대상), 6/6 발생 Statement s2 = createStatementForTest(loginUserAccount, loginUserAccount, 200, WITHDRAW); // 자신 계좌에서 타 계좌로 이체 (조회 대상), 6/7 발생 Statement s3 = createStatementForTest(loginUserAccount, notLoginUserAccount, 300, TRANSFER); // 타 계좌에서 자신 계좌로 이체 (조회 대상), 6/8 발생 Statement s4 = createStatementForTest(notLoginUserAccount, loginUserAccount, 400, TRANSFER); // 타 계좌에서 타 계좌로 출금 (조회 대상 X), 6/9 발생 Statement s5 = createStatementForTest(notLoginUserAccount, notLoginUserAccount, 50000, WITHDRAW); statementRepository.saveAll(List.of(s1, s2, s3, s4, s5)); // when StatementResponse userStatement = statementService.getUserStatements(loginUser); // then assertThat(userStatement.getStatementInfos()).as("거래 이력을 조회할 수 있다.").hasSize(4) .extracting("amount", "type") .containsExactly( tuple(400, "이체"), tuple(-300, "이체"), tuple(-200, "출금"), tuple(100, "입금") ); assertThat(userStatement.getBalance()).as("계좌 잔액을 조회할 수 있다.").isEqualTo(1000); }(위 테스트 코드는 시간 설정 및 검증 코드를 제거한 테스트입니다.) 위 메서드와 plusDays() 통해 시간 설정 후, extracting에 "date" (createdAt에 yyyy-MM-dd를 적용시켜 String 형태로 저장) 를 추가해서 확인했을 때에는 의도한 대로 2024-06-08, 2024-06-07, 2024-06-06, 2024-06-05가 아닌, 전부 테스트를 실행한 시간으로(2024-06-05) 나오는 걸 확인했습니다. 일단은 date를 검증하는 로직을 빼고 테스트를 통과시켰고, postman에서 입금/출금/이체 등 실시 후 조회했을 때에도 의도한 대로 최근 거래가 위로 오도록, 날짜 형식도 의도한 대로 나온 것도 볼 수 있었습니다. 하지만 이 date를 postman이 아닌, auditing 없이 임의로 날짜를 설정한 후 테스트해 확인해보고 싶은데, 이 경우에는 어떻게 하면 될까요? auditing 잇는 상태로도 가능하다면 알려주시면 감사하겟습니다! 아래는 BaseEntity와 거래 내역을 저장하는 Statement Entity 코드입니다@Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public abstract class BaseEntity{ @CreatedDate private LocalDateTime createdDate; }import jakarta.persistence.*; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import java.time.LocalDate; import java.time.LocalDateTime; import static jakarta.persistence.EnumType.*; @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Statement extends BaseEntity{ @Id @GeneratedValue(strategy= GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="from_account") private Account from; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="to_account") private Account to; private int amount; @Enumerated(STRING) private TransactionType type; @Builder private Statement(Account from, Account to, int amount, transactionType type) { this.from = from; this.to = to; this.amount = amount; this.type = type; } public static Statement of(Account from, Account to, int amount, transactionType type){ return Statement.builder() .from(from) .to(to) .amount(amount) .type(type) .build(); } } 긴 글 읽어주셔서 감사합니다~
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
5.1 제약 데이터 수집 오류 해결
안녕하세요, 섹션 10의 [5/6] 강의 실습을 진행하는데 result의 column이 다른 경우가 있어서 후에 concat을 하는 과정에 에러가 발생합니다. 이런 경우 어떻게 해결할 수 있나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사_작업형1-1 질문
선생님, 강의 내용a = a[:int(len(a)/2)]cond = a['target'] == 0a = a[cond]print(int(a['proline'].mean()))에서a = a[:int(len(a)/2)]a = a['target'] == 0 <-- cond 대신 aa = a[a] <-- cond 대신 aprint(int(a['proline'].mean()))로 실행해보았습니다. 데이터 프레임 값을 새로 갱신해 저장하는데, 'proline'에서 오류가 나는 이유가 궁금합니다. 새로운 조건명(con)을 넣어야만 실행되는지 궁금합니다.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
reverse proxy 할 때, nginx.conf와 dockerfile에 관하여 질문이 있습니다.
색션 11 reverse proxy 관련 문의 드릴 것이 있습니다.reverse proxy 위하여 nginx.conf 파일에서 어떤 port로 요청이 오면 어떤 container 로 연결할지 설정해주고 있습니다. 가령 아래 코드는 8080 포트로 연결이 오면 docker-nginx로 포워딩하여 nginx라는 container의 80 포트로 연결을 합니다.upstream docker-nginx {server nginx:80}listen 8080 location /{proxy_pass http://docker-nginx} 즉 위와 같이 nginx.confd에는 외부 포트와 container간의 연결이 정의되어 있는데요.. docker-compose 파일을 보면 port라는 key로 proxy 서버의 포트 연결을 또 정의 합니다. ports: -"8080:8080" -"8081:8081" 즉 nginx.conf에서 외부 포트와 container간의 연결을 설정하면 docker-compose 파일에서 port 연결 명령은 필요 없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2
영상으로 4:53초에 나오는 코드입니다. 선생님이 작성하셨을 때는 되는데 제가 작성해서 칼럼 별 유니크 값을 보려고 하니 오류가 뜨네요. 혹시 파이썬 버전의 문제일까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링과 스프링부트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 듣다가 api 예외 처리도 스프링 부트가 제공하는 기본 오류 방식을 사용할 수 있다고 말씀하셨는데요그럼 그 전에 사용했던 서블릿 방식은 스프링의 방식인가요?스프링과 스프링 부트의 차이점이 정확히 무엇인가요.??지금 방식들이 스프링 방식과 스프링 부트 방식들이 같이 혼합되어서 설명하고 있는 건가요?갑자기 헷갈려서 질문드립니다.
-
미해결SignalR + ASP.NET Core [+MAUI +WPF +JWT]
unity에서는 signalR을 사용 할 수 있는 방법이 있을까요?
혹시 unity에서는 signalR을 사용 할 수 있는 방법이 있을까요?unity에 maui를 붙이는 건 힘들 거 같습니다.
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
API Timeout 발생하면서 연결 오류 발생
안녕하세요. 강사님.어느날 서버에 접속해보니 api timeout이 발생하면서 node / pod 등 조회가 안되고 있습니다. E0605 17:20:35.425038 3424 memcache.go:265] couldn't get current server API group list: Get "https://192.168.37.169:6443/api?timeout=32s": dial tcp 192.168.37.169:6443: connect: connection refusedE0605 17:20:35.425350 3424 memcache.go:265] couldn't get current server API group list: Get "https://192.168.37.169:6443/api?timeout=32s": dial tcp 192.168.37.169:6443: connect: connection refusedE0605 17:20:35.426888 3424 memcache.go:265] couldn't get current server API group list: Get "https://192.168.37.169:6443/api?timeout=32s": dial tcp 192.168.37.169:6443: connect: connection refusedE0605 17:20:35.428316 3424 memcache.go:265] couldn't get current server API group list: Get "https://192.168.37.169:6443/api?timeout=32s": dial tcp 192.168.37.169:6443: connect: connection refusedE0605 17:20:35.429744 3424 memcache.go:265] couldn't get current server API group list: Get "https://192.168.37.169:6443/api?timeout=32s": dial tcp 192.168.37.169:6443: connect: connection refused 위와 같이 api timeout이 발생하면서 연결 거부가 발생하여서구글링하여보니 /etc/kubernetes/admin.conf를 $HOME/.kube/config에 복사하여 해결한 사례를 보고 똑같이 하였으나 증상이 동일합니다.혹시 이런 상황에서 어떤쪽을 확인해보면 좋을까요?(kubelet쪽도 확인하여보았지만 정상 running 상태였습니다.)
-
미해결김영한의 실전 자바 - 중급 2편
Deque에서 Queue인지 Stack인지는 데이터를 추가 할 때 결정되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예제를 따라하면서 호기심에deque.push(1); deque.push(2); deque.push(3); System.out.println("deque.pop() = " + deque.poll()); System.out.println("deque.pop() = " + deque.poll()); System.out.println("deque.pop() = " + deque.poll());pop을 -> poll로 바꿔봤는데 결과값이 똑같이 나오고그 반대로 offer / pop 으로 해도 마찬가지더라구요!Deque<Integer> deque = new ArrayDeque<>();혹시 이 Deque가 queue / stack 둘 다 지원하기 때문에데이터를 추가 할 때 자료구조가 결정되는게 맞는건가요?
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의 교안 요청
안녕하세요 강의 유익하게 잘 들었습니다. 강의교안 요청드립니다.juaram0305@naver.com감사합니다.
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
생성자함수에 대해서 이해하고싶습니다..!
constructor() 에 대해서 클래스를 인스턴스화 했을때 자동으로 호출되는 생성자라고 말씀하셨는데,비전공자라서 그런지 이 문장 자체가 이해가 잘 안돼요..ㅠㅠ 인스턴스화라는게 어떤 의미 인지, 왜 자동으로 호출되는지 클래스의 특성인지..?? 등..변수선언 및 할당은 꼭 생성자 함수 내에서만 해야하는건지에 대해서 궁금합니다..!
-
해결됨QGIS 지도 시각화 A to Z (벡터/기초편)
QGIS 관련 질문드립니다
항상 구체적인 답변 주셔서 감사드립니다.폴리곤데이터와 버퍼의 교차영역을 생성했습니다. 그리고 $area 면적컬럼을 생성했구요. 이 데이터안에는 동일한 ID를 갖는 데이터들이 들어 있는데 동일한 ID를 갖는 데이터들끼리 면적을 합칠 방법이 있을까요?ID로 그룹지어서 면적합계를 구하고 싶은데 QGIS에서 이런 기능이 있는지 궁금합니다. join attributes by location(summary)로는 되지 않았습니다(잘못된 계산값이 나옵니다)
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
EC2 스프링부트 배포하기에서 빌드가 안됩니다.
ec2-spring-boot-sample를 clone 받아 빌드를 실행했는데 78%에서 진행이 안되네요. 말씀주신 다른 명령어로 실행해보니 디펜던시에 문제가 있는 것 같기도 합니다 ㅜㅜ