inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

페이지 144 코드 문의

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

def create_engine(dsn: str): return create_async_engine( dsn, echo=True, # SQLAlchemy가 실행하는 SQL을 콘솔에 출력하도록 함 ) def create_session(async_engine: AsyncEngine | None = None): if async_engine is None: async_engine = create_engine() 위 코드중 마지막줄 async_engine = create_engine() 여기에 dsn 인자가 없어서 오류 나지 않나요?

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
댓글 3 좋아요 0 조회수 91

책과 github 코드가 다릅니다 p130

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

책에서는 128p if TYPE_CHECKING: from appserver.apps.calendar.models import Calendar 이렇게 appserver 부터 시작하니다 130페이지 하단에 보면 https://gilbut.co/c/25069573YP 커밋 참조하라고 되어있는데요 깃헙에서는 if TYPE_CHECKING: from apps.calendar.models import Calendar 여기는 apps부터 시작합니다. 초보에게는 이런거 하나하나가 어렵네요 어떤게 맞는 건지 궁금합니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
가후 댓글 2 좋아요 0 조회수 68

120페이지 코드 질문드립니다.

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

120 페이지 코드 보면 created_at 코드가 class OAuthAccount 코드하고 들여 쓰기 레벨이 같은데 맞는건가요?

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
가후 댓글 2 좋아요 0 조회수 79

테스팅과 학습법의 관계 (?)

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

"6장: 테스팅 이해하기와 단위 테스트 연습하기" 강의 초반에 "테스팅을 잘하는 방법이 유용한 학습법과 맞닿아 있다" 고 하셨는데, 왜 그런지 궁금해서 글 남깁니다. 테스팅을 잘하는것과 학습이 어떻게 맞닿아 있는 것일까요. 강사님의 의견을 공유해주시면 감사하겠습니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
ayo 댓글 2 좋아요 0 조회수 84

commit과 flush 관련

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

질문이 조금 많아서 죄송합니다. 다음 테스트 코드에서 commit()과 flush()의 위치가 이상해보였습니다. async def test_user_detail_for_real_user(client: TestClient, db_session: AsyncSession): user = User( username="test", password="test", email="test@example.com", display_name="test", is_host=True, ) db_session.add(user) await db_session.commit() await db_session.flush() commit()은 DB에 반영된 트랜잭션의 변경사항을 영속적으로 만들고 트랜잭션을 종료하는 코드로 이해하고 있고, flush()는 트랜잭션의 변경사항을 실제 DB에 SQL 구문을 통해 반영하는 것으로 알고 있습니다. 그래서 이 둘의 순서가 변경된 것이 아닌지 혹은 다른 의도가 있는 것인지 궁금합니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
kyo lee 댓글 3 좋아요 0 조회수 90

Annotated 대 인자 기본값 관련해서

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

default_deps에서 기본 값으로 Depends 함수가 반환하는 객체가 할당되는 것까지는 이해했는데, 해당 동작이 왜 의도하지 않은 동작 인 건지가 이해되지 않습니다. 오히려 아래 쪽이 기본값이 적용되니 더 편리해 보이기만해서 Annotated를 권장하는 이유가 와닿지 않더라구여. 이에 대해서 조금 더 구체적으로 알고 싶습니다. DbSeDep = Annotated[AsyncSession, Depends(use_session)] async def annotated_deps(session: DbSeDep): pass annotated_deps() async def default_deps(session: AsyncSession = Depends(use_session)): pass default_deps()

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
kyo lee 댓글 2 좋아요 0 조회수 60

import 경로 관련하여

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

5.4.3 Alembic 설정하기 부분에서 다음 문장이 잘 이해되지 않습니다. "우리는 그동안 appserver 디렉터리 안을 시작점(root)으로 해왔습니다. 그래서 프로젝트 내 다른 패키지에 접근하는 경로도 from appserver.apps.account 나 from appserver.apps.calendar 또는 from appserver.db import DSN 처럼 접근했었죠." appserver 디렉터리 안이 시작점이 아니고 release-your-project-with-fastapi가 시작점(루트)이 되어야 하는 것 아닌가요? fastapi-dev를 실행한 것이 appserver 디렉터리가 위치한 곳이니 루트는 현재 위치한 폴더(release-your-project-with-fastapi)이지 appserver가 아니지 않나? 라는 의문이 들었습니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
kyo lee 댓글 2 좋아요 0 조회수 78

사용자(User)의 정의에 대한 답변. & 토이 프로젝트 기획에 유용한 툴 질문

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

안녕하세요 :) 좋은 강의와 책 잘 보며 열심히 따라가고 있습니다! 이번 강의 중 언급하셨던 사용자에 대한 저만의 정의를 생각해봤습니다. 시스템, 서비스 혹은 제품을 이용하게 될 주체이자, 프로젝트 진행 시 직/간접적인 경험 등을 우선적으로 고려할 대상. 라고 생각합니다. 추가 질문으로 기획 시에 발생하는 아이디어나 문서 정리, 다이어그램 등 ERD, User flow 차트처럼 (1) 기록으로 남겨야 하는 것들은 어떤 게 있으며 , (2) 어느 툴을 사용하는 게 유용할까요? 손으로 쓰는 것이 편해서 종이에 펜으로 그리면서 설계한 적이 많았습니다. 그 뒤에 Figma나 스프레드 시트로 표현했구요. 하지만, 추후 프로젝트 README.md 에 넣을 것도 고려하면 설계 혹은 기획부터 차근차근 리소스를 쌓아가는 게 어떤 가 싶어서 여쭙습니다! 무언갈 그려야 한다면 Figma를 사용하긴 하지만, 파워포인트 수준으로 밖에 활용하지 못하고 있는 것 같습니다. 전반적인 실험이나 개발 기록은 Notion(GitHub과 별개)을 활용하는 편 입니다. JIRA를 협업 및 이슈 추적에 Confluence는 Docs 관리로 써보고는 싶었지만, 현업에서 배우는 게 아닌 개인이나 4-5인 팀에서 제대로 활용하기가 어렵더군요.. (1) 설계 시 기록으로 남겨야 하는 것들은 어떤 게 있을까요? (2) 어느 툴을 사용하는 게 유용할까요? 감사합니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
Zip-sa 댓글 1 좋아요 2 조회수 98

강의 소스 코드 압축 풀기 오류

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

강의 소스 코드를 다운로드 받아 압축 풀기를 하는데 99% 끝부분에서 특정 파일이 에러가 발생해 넘어가지지를 않습니다. 건너띄기로 100% 완료하기는 했지만 찜찜해서 문의 드립니다.

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
가넷스타 댓글 1 좋아요 0 조회수 107

service.port 패키지로 이동한 UserRepository가 infrastructure에 있는 UserEntity에 의존

미해결

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

16강 '외부 연동을 다루는 방법'의 04:15에 보면, service.port 패키지로 이동한 UserRepository가 infrastructure에 있는 UserEntity에 의존하고 있는 상태입니다. 아마 후속 강의에서 UserEntity에 대한 의존도 해소될 것으로 예상되지만, 여기에서도 언급은 해주시면 더 좋을 것 같습니다.

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
오명운 댓글 1 좋아요 0 조회수 81

테스트 코드

해결됨

제미니의 개발실무 - 커머스 백엔드 기본편

안녕하세요 좋은 강의 잘 들었습니다~! 강의를 모두 듣고 제공해주신 프로젝트를 쭉 확인하고 궁금한 점이 생겨서 문의를 남겨봅니다 저는 실무에서 도메인 모델과 엔티티 모델을 구분하지 않고 도메인 모델에 JPA관련 어노테이션을 모두 허용한 상태로 개발해왔습니다 물론 구분해서 개발해본적도 있었지만 컬럼 변경 등 다양한 변경사항에 대응할 때마다 도메인 모델과 엔티티모델을 둘 다 확인하고 변경해야하는 번거러움?이 생겼던거 같아서 클래스가 좀 지저분해지더라도 도메인 모델 하나로 개발하고 테스트 코드를 작성해왔었습니다 이번 강의에서 사용된 프로젝트의 경우 모듈과 패키지가 나눠져있어서 도메인 모델과 엔티티 모델이 분리되어있는듯 보이지만 제가 사용했던 구조와는 다른점이 있었습니다..! 도메인 모델은 강의에서 말씀하신 개념 과 격벽 그리고 행동에 대해 적절하게 표현하기위한 객체이지만 핵심 비즈니스 로직을 모두 포함하고 있는게 아니라 대부분 조회된 데이터를 개념에 맞게 변경하는 DTO? 역할을 하는것 같고 상태변경에 대한 로직은 엔티티에 구현하고 service 레이어에서 호출하는 방식으로 보여집니다 그렇지만 처음 보는 코드가 잘 읽힐정도로 충분히 설득력있는 구조라고 생각이 듭니다.. 다만 테스트 코드가 있어야만 그 설득력이 완벽해질것 같다는 생각이 들었습니다 그래서 해당 프로젝트 구조를 더 이해하고 학습하기위해 테스트 코드를 작성해보려고 합니다 만약 저라면 ~Entity에 작성되어있는 상태변경에 대한 테스트 코드와 ~Service, ~Handler, ~Manager 등에 작성된 로직에 대한 테스크 코드를 작성할 것 같은데 강사님은 이러한 구조에서 테스트 코드를 어디까지 작성하시는지 또는 어떻게 접근하시는지 궁금합니다~!

  • kotlin
  • spring-boot
  • 도메인
  • backend
  • 테스트
  • tdd
정승환 댓글 2 좋아요 1 조회수 154

강의오류문의

해결됨

[JSP부터 스프링부트까지]포기없는 SpringBoot로 가는길

8. DB에 요청하여 데이터 update와 delete하기 이강좌가 런닝타임이 1시간이 넘는다라 표기됬음에도16분정도 시청하면 화면이 검게 변하면서 재생이 검은화면만 계속나오는데 강좌오류인가요? 아니면 표기상 미스가 난건가요??? 내용상 뒷부분이 끊겼는지 궁금해지네요

  • java
  • jsp
  • tdd
  • spring-boot
  • jpa
pcdo.omco 댓글 2 좋아요 0 조회수 79

테스트 시나리오 유효하지 않은 경우는 언제 도출하나요?

미해결

Spring Boot TDD - 입문부터 실전까지 정확하게

테스트 시나리오 유효하지 않은 경우는 언제 도출하나요? 테스트 시나리오를 작성하기 전에 모든 경우의 수를 고려해서 작성해야할지 고민입니다. 제가 개발하는 도메인을 명확하게 잘 모르면 이걸 도출해내기가 쉽지도 않고 시간이 너무 소요되더라구요. 어느정도 limit 시간을 잡으시고 점진적으로 못찾은 부분을 도출하시는지 의견이 궁금합니다.

  • tdd
  • spring-boot
  • 아키텍처
  • junit
광주_5반_김민우 댓글 2 좋아요 1 조회수 134

커버리지는 어떻게 활용하시는지 궁금합니다.

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 좋은 강의 재밌게 수강하고 있습니다! 강의를 들으면서 의식적으로 테스트 코드를 작성하기 위해 노력하고 있습니다. 학습하다 보니 테스트 코드에 대한 부분을 정량적인 지표로 활용할 수 있는 커버리지라는 지표가 있다는 것을 알게 되었는데요. 제가 개발하는 부분은 도메인이 복잡한 프로젝트는 아니다 보니, 주로 Service Layer와 Presentation Layer 위주로 작성하게 되더라구요. queryDSL이나 native query를 이용해 복잡한 쿼리를 작성하게 되면, 가끔 Persistence Layer까지 작성하게 되는 것 같습니다. 그러다 보니, 도메인 패키지가 아닌 Config 등 global 패키지에 존재하는 코드나 Persistence Layer의 테스트 코드가 커버리지가 낮고, Persistence Layer의 커버리지도 낮아서 그런지 보통 프로젝트의 라인 커버리지가 60% 전후를 기록하고 있는 것 같습니다. 우빈님께서는 커버리지를 어떤 식으로 활용하시는지 궁금합니다! 커버리지 자체를 신경쓰기 보다는 말씀해주신 대로 미래를 위해 의미가 있는 테스트 코드를 작성하고 싶은데, 커버리지도 활용하는 방법이 있는지? 그리고 주로 어떤 레이어 위주로 테스트 코드를 작성하시는지 궁금합니다! 읽어주셔서 감사합니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
Seno 댓글 2 좋아요 0 조회수 210

테스트 클래스명 을 강의처럼 만드신 이유가 따로 있을까요?

미해결

Spring Boot TDD - 입문부터 실전까지 정확하게

보통 구현 클래스 뒤에 Test를 붙이면 Idea에서 자동 추적을 해줘서 Test로 빠르게 이동이 가능한데, POST_specs 같이 만드신 이유가 있을까요?

  • tdd
  • spring-boot
  • 아키텍처
  • junit
m3252 댓글 2 좋아요 1 조회수 168

테스트 문서화 질문입니다

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. BDD 설명하시면서 개발자가 아닌 사람이 봐도 이해할 수 있을 정도의 추상화 수준을 권장한다고 하셨는데요 작성한 테스트를 따로 문서화 하기도 하시는지 궁금합니다!

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
save 댓글 2 좋아요 0 조회수 146

단위테스트 질문이 있습니다

미해결

Practical Testing: 실용적인 테스트 가이드

학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요! 먼저 유사한 질문이 있었는지 검색해 보세요. 서로 예의를 지키며 존중하는 문화를 만들어가요. 단위테스트할때 항상 궁금했던 점이 단순한 CRUD도 테스트코드를 구현해주는 게 맞는걸까요? JPA 기능을 그대로 적는? 느낌이 나서 굳이 필요한 테스트코드인가 하는 생각이 항상 드는데 왜 구현했는지에 대한 시나리오를 @DisplayName 적곤 하지만 뭔가 불필요하다는 생각이 가끔 들기도 하는데 다 적는 게 맞는거겠죠??

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
woo93xna 댓글 2 좋아요 0 조회수 130

컨트롤러는 모킹을 한 이유가 궁금합니다.

미해결

Practical Testing: 실용적인 테스트 가이드

강사님은 Classicist 쪽에 속하셔서 Service를 테스트할 경우 Repo도 포함한다고 하셨었는데 Controller에서는 MockMvc를 활용하셔서 따로 테스트한 것으로 알고 있습니다. 컨트롤러 - 서비스, 레포지토리의 관계와 서비스 - 레포지토리의 관계에서 어떤 차이점 때문에 이렇게 구성하신 것인지 궁금합니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
jaljayo85 댓글 2 좋아요 0 조회수 129

Service 소형 테스트 질문

미해결

Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트

서비스를 소형 단위로 테스트하기 위해 Fake 클래스를 구현하는 실습을 진행하셨는데요. 테스트 코드는 결국 구현된 기능이 정상적으로 동작하는지 검증하기 위한 것이라고 생각하는데요~ 그런데 H2 DB를 직접 띄워 테스트하는 방식과 비교했을 때, Fake 객체를 활용한 방식은 구현 방식에 따라 실제 동작과의 괴리가 생길 수도 있을 것 같은데, 이런 접근이 실제로 효과적인 테스트 방법인지 궁금합니다!

  • spring
  • tdd
  • jpa
  • 소프트웨어-테스트
  • unittest
yhwjd 댓글 1 좋아요 0 조회수 111

현업에서도 현재와 같은 방식? 으로 TDD를 하는것이 일반적인가요??

미해결

Spring Boot TDD - 입문부터 실전까지 정확하게

강의를 들으며 제일 강조하시는게 "요구사항 충족" 이라고 생각했습니다. 처음부터 아키텍처를 정해놓지 않은 상태로 요구사항 충족을 목표로 달리는 형태로 설명해주셔서 TDD의 의미나 철학을 이해하는데 도움은 많이 됐습니다! 궁금한 것은 현업에서도 새로운 프로젝트를 시작할때 이와 같은 방식으로, 아키텍처를 특별히 정해놓지 않고 개발하는것이 일반적인가요? 테스트 표면을 통해 아키텍처를 유연하게 변경 가능하다고 하신 말씀도 이해를 했는데 서비스 기획 및 설계 단계에서 서비스의 성격/특성에 맞추어 아키텍처정도는 어느정도 정하고 가는것도 괜찮지 않을까 생각하여 여쭤봅니다!!

  • tdd
  • spring-boot
  • 아키텍처
  • junit
다익스트라 댓글 1 좋아요 1 조회수 165

인기 태그

인프런 TOP Writers

주간 인기글