inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

요청/응답 DTO 관련 문의

미해결

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

안녕하세요, dto 관련 문의드립니다. 요청/응답 DTO를 왜 static으로 만드나요? 이전 데이터가 유지되지 않나요?? 매번 객체를 만들면 안되나요? @Getter @Setter public static class AccountWithdrawReqDto { @NotNull @Digits(integer = 4, fraction = 4) private Long number; @NotNull @Digits(integer = 4, fraction = 4) private Long password; @NotNull private Long amount; @NotEmpty @Pattern(regexp = "^(WITHDRAW)$") private String transactionType; } //ATM -> 계좌 @Transactional public AccountWithdrawRespDto 계좌출금(AccountWithdrawReqDto accountWithdrawReqDto, Long userId) { //1. 0원 체크 if (accountWithdrawReqDto.getAmount() <= 0L) throw new CustomApiException("0원 이하의 금액을 출금할 수 없습니다."); //2. 출금 계좌 확인 Account withdrawAccountPS = accountRepository.findByNumber(accountWithdrawReqDto.getNumber()) .orElseThrow(() -> new CustomApiException("계좌를 찾을 수 없습니다.")); //3. 본인 확인 withdrawAccountPS.checkOwner(userId); //4. 패스워드 확인 withdrawAccountPS.checkPassword(accountWithdrawReqDto.getPassword()); //5. 출금계좌 잔액 확인 // withdrawAccountPS.checkBalance(accountWithdrawReqDto.getAmount()); //6. 출금 (잔액 확인이 누락되면 안되므로 출금 메소드에 녹인다!) withdrawAccountPS.withdraw(accountWithdrawReqDto.getAmount()); //7. 거래 내역 Transaction transaction = Transaction.builder() .withdrawAccount(withdrawAccountPS) .depositAccount(null) .withdrawAccountBalance(withdrawAccountPS.getBalance()) .depositAccountBalance(null) .amount(accountWithdrawReqDto.getAmount()) .sender(withdrawAccountPS.getNumber().toString()) .receiver("ATM") .transactionType(TransactionEnum.WITHDRAW) .build(); Transaction transactionPS = transactionRepository.save(transaction); return new AccountWithdrawRespDto(withdrawAccountPS, transactionPS); }

  • spring-boot
  • junit
  • 소프트웨어-테스트
최재량 댓글 2 좋아요 0 조회수 211

Docker Swarm과 Traefik을 활용한 MSA 아키텍처 설계 방식

미해결

쿠버네티스 대신 도커 SWARM 사용 방법 핵심 강의

안녕하세요. Docker Swarm 기반 마이크로서비스 아키텍처(MSA)를 구성 중입니다. 처음에는 Traefik 을 이용해 모든 내부 마이크로서비스 를 거치도록 (즉, serviceA가 serviceB를 호출할 때도 Traefik을 통해서만 통신) 운영하려고 했습니다. 그런데 그렇게 할 경우 아래와 같은 문제가 예상됩니다: 성능/오버헤드 모든 내부 트래픽이 Traefik을 중간에 두고 오가므로, 네트워크 홉이 추가됩니다. Keep-Alive 연결이 많아지고, Traefik이 병목이 될 가능성이 있음. 복잡한 설정 내부 수많은 서비스가 각각 Traefik의 라우터/서비스 규칙을 가져야 하므로 라벨 설정이 매우 복잡해질 수 있음. Path/Host 기반 라우팅 규칙도 내부 API 전부에 대해 관리해야 하므로 관리 부담 증가. 인증/인가가 불필요한 내부 통신 외부 노출이 전혀 필요 없는 내부 서비스 등까지도 Traefik을 거치는 것은 과도할 수 있음. 이러한 이유로, Traefik이 모든 트래픽을 일괄 처리 하는 대신, 내부 통신은 Docker Swarm 로드밸런싱 으로 처리하고, 외부 트래픽(HTTPS/도메인/인증서)은 Traefik 에 맡기는 구조로 변경하려고 합니다. 구체적으로는, Docker Swarm service 간에는 “user-service:8001” 식으로 연결 → Swarm 라운드 로빈 Keep-Alive나 오토스케일 시 컨테이너가 늘어나면 Swarm이 자동 분산 Traefik 오직 외부 접근이 필요한 Gateway나 public API에 대해서만 라벨(traefik.enable=true) 적용 HTTPS 인증서, Path/Host 라우팅, 미들웨어(인증/인가, IP 제한)를 외부 경계에서만 적용 내부적으로는 Swarm에 맡기고, Traefik은 외부→Gateway(혹은 외부→공개 서비스)만 처리 네트워크 분리 “public-net”: Traefik, Gateway 등 외부 노출이 필요한 서비스 “backend-net”: user-service 등 내부용 서비스만 존재, 외부와 직접 연결되지 않음 궁금한 점 위와 같은 구조(외부는 Traefik, 내부는 Swarm + 네트워크 분리) 가 흔히 권장되는 방식인가요? 내부 서비스까지 Traefik을 거치는 구조가 과연 득보다 실이 많을지 , 실제 운영 사례가 궁금합니다. 보안 측면 에서 “Traefik + Swarm ” 방식을 쓸 때 주의해야 할 점이나, 더 권장되는 패턴이 있으면 알려주세요! 감사합니다.

  • docker
  • ubuntu
  • docker-swarm
  • orchestration
  • cloud-computing
김진태 댓글 1 좋아요 0 조회수 200

빈 줄 만들지 않기에 대해 질문이 있습니다.

미해결

면접과 취업을 부르는 '퍼블리셔 개인 포트폴리오 홈페이지' 제작

안녕하세요. 항상 좋은 강의 감사합니다. 의미 없는 빈 줄 만들지 않기에 대해 궁금한 점이 있어 질문드립니다. 선생님께서는 html을 입력할 때 빈 줄을 만들지 말라고 하셨는데요. 실제로 제가 코딩웍스 선생님의 다른 강의를 들었을 때도 선생님께서는 줄바꿈을 거의 하지 않으시더라구요. 그런데 제가 다른 강사 분의 강의를 들었을 때 그 강사분께서 줄바꿈을 제대로 하는 게 중요하다 라고 강조하셨거든요. 예를 들면 section이 끝나고 새 section이 시작될 때 줄바꿈을 한다던가 하는 부분에서요. 코딩웍스 선생님의 다른 scss 강의를 들었는데, 그 강의에서 scss를 작성하실 때도 줄바꿈을 거의 하지 않으시더라구요. 그런데 제가 배웠던 다른 강사님의 강의에서는 줄바꿈을 꼭 해야한다. 제대로 하지 않으면 실무에서 욕먹는다.. 라는 말씀을 하셔서 질문을 드립니다. 이건 개인의 스타일 차이라고 보는 게 맞을까요? 아니면 그 강사분께서 잘못하고 있는 건가요? 배우는 입장에서 헷갈려서 질문 드립니다. 답변 부탁드립니다. 감사합니다.

khyejin08 댓글 2 좋아요 1 조회수 131

갑자기 생각한 질문입니다~

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 로컬에서 인텔리제이로 스프링부트를 작동하는 것도 JVM 위에서 작동하고 있다고 생각하면 될까요?

  • spring
  • 객체지향
ajdsasld 댓글 1 좋아요 0 조회수 103

Memberrepository 클리어할때

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 왜 새로운 객체(MemoryMemberRepository memberRepository = new MemoryMemberRepository();)를 써서 clear을 하죠?? 멤버서비스를 통해 join한 멤버리포지토리랑 새로만든 멤버리포지토리가 달라서 clear안되는 거 아닌가요?? 결과적으로 클리어 되기는 했어요

  • java
  • spring
  • mvc
  • spring-boot
댓글 2 좋아요 1 조회수 166

MemberRepositoryTest 실행시 오류가 발생합니다

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

https://drive.google.com/file/d/1xCfH-VjJWp4I252km26K5kFyBZNY3ZaS/view?usp=sharing junit4는 assertThat을 지원하지 않는다고 하여 junit5로 하고 실행하였더니 h2데이터베이스 연결문제가 발생하는 것 같습니다. h2는 정상적으로 설치하여 잘 작동됩니다. 어디가 문제일까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
sws6054 댓글 2 좋아요 0 조회수 447

st-link upgrade 질문

미해결

안녕하세요 강사님. 컴퓨터를 바꾸게 되면서 stlink를 연결했을 때 포트가 인식이 안되는 상황이 발생하였습니다. 해결방법을 찾아보니 stlink upgrade를 하면 된다고 하기에 cubeide에서 upgrade를 시도했습니다. (이전 컴퓨터 사용 시에도 이 방식으로 upgrade 한 후 포트가 인식되었음) 그러나 이번에는 첨부사진과 같은 메시지를 띄우면서 upgrade가 안됩니다. 해당 메세지에 대해서 좀 찾아보니 클론을 사용하면 발생하는 에러라고 하는데 클론이 무엇이며 해결방법이 무엇일까요?

규철 댓글 1 좋아요 0 조회수 53

연관관계의 관점

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원-주문 관계에서 하나의 회원은 여러 주문을 할수있어서 1:N이라 하셨는데 서버 관점에서 보면 여러 회원이 존재하기 때문에 N:M으로 설계해야 하지 않을까요?? 고객 한명당 트랜잭션 관점으로 설계를 해야하는건지 기준이 따로 있는지 궁금합니다..

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
큐펀치 댓글 1 좋아요 0 조회수 78

비주얼 스튜디오 파일

미해결

게임 개발자를 위한 3D 그래픽스, 쉐이더, OpenGL (1) - 3D 그래픽스, OpenGL, 콜백 함수, 컬러 이론

3:18의 파일들이 어디있는지 모르겠습니다. visual studio는 설치되어 있는데, 제가 이해하기로는 컴퓨터에 설치되어 있는 비주얼 스튜디오 파일 안에 저러한 폴더들이 있다는 것으로 이해했는데 폴더들이 보이질 않습니다. glfw 폴더들은 잘 다운로드받은 것 같고, 혹시나 해서 비주얼 스튜디오를 다시 다운받아보기도 했는데 해결되지 않네요. 사진은 파일 탐색기에서 비주얼 스튜디오를 검색하고 연 폴더들입니다.

  • OpenGL
  • glsl
  • fragment-shader
  • vertex-shader
  • computer-graphics
moonsk123 댓글 2 좋아요 0 조회수 249

Supabase CRUD 하기 또는 REST API화 하기 중 질문이 있습니다.

해결됨

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

안녕하세요! 좋은 강의 잘 들었습니다! 강의 중 내용에 관한 질문이 있어 여쭙니다. 현업에서 작은 사이드 프로젝트를 운영중인데 기존에는 Firebase를 사용하다가 SQL DB가 필요해 Supabase로 이전을 고려하다 강의를 듣게 되었습니다. 다름이 아니라 Supabase에서도 REST API 형태를 지원하는 것으로 알고 있는데 강의 내용을 보면, REST API 형태를 사용하는 것이 아닌, 직접 Supabase의 Database에 CRUD 하는 것으로 여겨집니다. 보안이나 코드의 유지 / 보수, 또는 프론트 개발자와 백엔드 개발자의 역할 분리 등 여러 측면을 고려하였을 때 REST API 형태가 아닌 프론트 코드 내에 직접 CRUD 코드가 구현된 이유가 무엇인지 궁금합니다.

  • react
  • 클론코딩
  • next.js
  • supabase
유재석 댓글 2 좋아요 1 조회수 304

FC LED 꺼짐

미해결

바닥부터 시작하는 STM32 드론 개발의 모든 것

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세 LED 챔터 디버깅중 fc에서 부저소리가 1분에 한번씩 두번 울리고 불이 꺼져있는 상태입니다 fc에 문제가 있는것인지 불이 켜져있어야 하는걸로 알고있는데 확인 부탁드립니다! (ST link 와 배터리 연결 되어있는 상태입니다)

  • iot
  • 드론-개발
김정수 댓글 2 좋아요 0 조회수 115

상품 주문 시스템 개발 문제 질문입니다

미해결

김영한의 실전 자바 - 기본편

여기서 sum에 +=가 아니라 =만 했을 때 마지막 인덱스의 총 결제 금액인 3000을 반환하던데 왜 그런 건지 모르겠습니다. 루프를 돌다 맨 마지막 인덱스의 값이 대입되어 그런 건가요?

  • java
  • 객체지향
mm4884 댓글 2 좋아요 0 조회수 158

jotai로 변경했을 때 코드

미해결

실무 중심! FE 입문자를 위한 React

Recoil과 비슷해 보이는 Jotai로 혼자 바꿔보고 있는 중입니다 ㅠㅠ 근데 이번 강의 코드는 어떻게 바꿔야 하는지 감이 안 와요....

  • react
  • redux
  • node.js
  • sass
  • swr
김가을 댓글 3 좋아요 0 조회수 465

desktop이 없어서..

미해결

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

OneDrive 의 바탕화면에 python class 를 추가하니 바탕화면에 폴더를 설치하기 까지 성공했는데요 ㅜㅜㅜ 화면에 보이는 것처럼 문제가 생겨서요 ,, 어떻게 해야하나요?

  • python
하연우 댓글 1 좋아요 0 조회수 167

백엔드 서버 세팅하기에서 error TS2339에러 입니다.

미해결

Next + React Query로 SNS 서비스 만들기

npm run start:dev 명령어를 실행을 할 시 아래처럼 타입 에러가 나오고 있는데, 어떻게 해결을 해야 할까요? ㅠㅠ error TS2339: Property 'where' does not exist on type 'string | number | bigint | boolean | [] | { [K in keyof A]: Exact<A[K], any>; }'. Property 'where' does not exist on type 'string'. 13 where: args.where, ~~~~~ src/prisma.extension.ts:25:23 - error TS2339: Property 'where' does not exist on type 'string | number | bigint | boolean | [] | { [K in keyof A]: Exact<A[K], any>; }'. Property 'where' does not exist on type 'string'. 25 where: args.where, ~~~~~

  • react
  • next.js
  • react-query
  • next-auth
  • msw
fl 댓글 1 좋아요 0 조회수 107

폰트 크기 단위에 대해 질문있습니다.

해결됨

핵심만 골라배우는 CSS3

안녕하세요 CSS강의 너무 잘 듣고 있습니다. 강의를 듣다가 폰트 크기 단위에 대해 궁금한점이 있습니다. rem은 html 태그의 폰트크기에 영향을 받아서 html이 16px 이고 p태그가 2rem이면 16px * 2rem = 32px이 된다라고 이해를 하는데 그렇다면 그냥 처음부터 32px이라고 작성하지 않고 2rem 이런식으로 사용하는 이유가 뭔지 궁금합니다.

  • HTML/CSS
부드러운 족제비 댓글 2 좋아요 0 조회수 127

RTK에서 draft, state 차이가 있나요?

미해결

[리뉴얼] React로 NodeBird SNS 만들기

강의 들으면서 제로초님 RTK GitHub 코드도 보고 있는데요. RTK는 immer가 내부적으로 사용되어 state를 써도 불변성을 자동으로 처리하는 걸로 알고 있습니다. 그런데 https://github.com/ZeroCho/react-nodebird/blob/master/toolkit/front/reducers/user.js 에선 리듀서 마다 state를 쓰는 곳이 있고 draft를 쓰는 곳이 있어서 질문합니다! 역할은 같지만 단지 코드를 명시적이고 의도를 나타내기 위해 구분해서 쓰는 것이라고 생각되는데 구분해서 쓰는 다른 이유가 있는지 궁금합니다.

  • react
  • redux
  • node.js
  • express
  • next.js
  • immer
  • rtk
힝구 댓글 2 좋아요 0 조회수 188

토폴로지 IP 입력 부분 에러 건

미해결

20년 경력자의 알기 쉬운 컴퓨터네트워크

- 학습 범위를 넘어서는 개인적인 문의나 기타 회사 정책 및 운영에 대한 문의는 답변하지 않습니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요~ 비전공자로서 네트워크 관심가지고 도전중입니다. 하기 건 초보 질문 드립니다. router0 번은 클럭 에러 안떳고 router 1번 클럭 설정 시 하기와 같은 문구에러 확인됩니다. Router(config-if)#exit Router(config)#int se0/1/1 Router(config-if)#ip add 201.201.201.2 255.255.255.0 Router(config-if)#clock rate 64000 This command applies only to DCE interfaces <- 이 부분 에러 어케 잡는지 궁금합니다.

  • 네트워크
  • 프로토콜
홍경호 댓글 2 좋아요 0 조회수 262

3-K 코드 질문있습니다

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하십니까 큰돌님. 3-K 질문들을 보니 대부분 시간 초과가 나는데 저 역시도 마찬가지입니다. 얼음 녹이기 -> 백조 이동 -> 백조끼리 만나면 종료. 위 같이 로직을 생각했습니다. 강의 보기 전에 작성했던 건데 http://boj.kr/94d4853fa89a44a7afbde319de126610 제 코드에서 불필요한 로직이 있는 건 확실한데 어딘지 정확하게는 모르겠는데 피드백 주시면 감사합니다. melting() 함수에서 얼음을 녹인 지점을 wTmp 에 저장하고, go() 함수 이후에 백조끼리 만나지 못했다면 wList=wTmp 를 통해 녹인 지점부터 반복을 하게 만들었습니다. "재귀적으로 영역을 탐색하는 거나 queue 등을 이용해 단계적으로 탐색해가는 것 이 2가지 모두 플러드필" 이라고 큰돌님 답변을 봤는데, 저도 플러드필을 사용한 건가요 ?? 모든 문제에서 그런 것은 아니지만 이 문제에서만큼은 dfs는 원하는 지점에 가기까지 불필요한 방문을 많이해서 bfs가 더 효율적이다 라고 받아들이면 되는 것이죠 ??

  • c++
  • 코딩-테스트
대기업목표 댓글 2 좋아요 0 조회수 152

인기 태그

인프런 TOP Writers

주간 인기글