소개
강의
전체 1수강평
- 배달앱은 어떻게 내 주변의 맛집을 찾을까?
게시글
질문&답변
2024.04.18
odm 관련
@Daniel Ryu@ky.kim(인프런은 멘션 기능이 없나보네요 ㅎㅎ)인프런 인턴님께서 답을 저보다 잘해주신 것 같은데 맞습니다! beanie 같은 odm 을 안 쓴 이유 -> 작성하는 코드량은 제 방식이 비교적 많을 것 같은데, 제 방식이 자유도가 더 높고, 한 repository 안에 모든 쿼리가 모이게 되어 응집성이 있다고 생각해요~ dataclass -> 성능때문에 그러하고, pydantic 을 배우는 부담을 조금 덜기 위해서 선택했습니다!저도 실전에서 http request dto, response dto 는 pydantic 을 애용한답니다~
- 0
- 3
- 296
질문&답변
2023.12.01
테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생합니다.
ㅎㅎ 다 해결되어서 다행입니다!어제 버스에서 급하게 내리느라고 이미지만 달랑 올렸었는데 ㅋㅋㅋ 요거 미해결로 바뀌어 버리니 답 안주셔도 괜찮습니다!강의 들으시면서 궁금한 점 있으시면 또 편하게 질문 주셔용 파이팅! 아 제가 달아도 미해결로 바뀌어 버리네요 으앗
- 3
- 3
- 1.5K
질문&답변
2023.11.29
테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생합니다.
혹시 시간이 괜찮으시다면 시간을 따로 잡아서 팀뷰어 원격으로 봐 볼까요? 저도 궁금하네요다음주 평일 이른 아침, 늦은 저녁 중에 괜찮은 시간 있으세요?
- 3
- 3
- 1.5K
질문&답변
2023.11.27
test.sh 파일 실행 후 에러 처리 방법
안녕하세요! 열심히 강의 들어주셔서 감사합니다 :) 스크린샷을 보면 venv 내부를 mypy 로 검사하고 있는 것 같습니다.(검사할 필요가 없는게 검사되고 있어요!) 해결 방법은 둘 중 하나를 선택하면 되는데요,1) venv 를 프로젝트 밖으로 꺼낸다.2) mypy 설정에서 venv 를 검사하지 않도록 omit 한다. 저는 1번 기준으로 설명을 드리겠습니다.(사진)pycharm 설정 > Project > Python Interpreter 로 들어가면 어떤 가상환경을 사용중인비 볼 수 있습니다./Caches/pypoetry/virtualenvs/랜덤 가상환경 문자열 안에 가상환경이 들어있는지 확인해주세요! a) 만약 프로젝트 내부에 가상환경이 있다면, 오른쪽의 Add Interpreter > Add local Interpreter > Poetry Environment 를 선택해서 가상환경을 새로 만든 후에, 기존의 가상환경은 삭제해주세요. b) 새로 가상환경을 만들어도 프로젝트 내부에 만들어진다면poetry config virtualenvs.in-project 를 입력해서 그 결과값이 null 인지 확인해주세요! 만약 null 이 아니라면poetry config --unset virtualenvs.in-project로 null 로 만들 수 있습니다. (사진)
- 0
- 1
- 385
질문&답변
2021.10.23
ManyToMany 를 OneToMany 로 풀었을 때
선생님 답변 감사합니다! 덕분에 고민이 해결되었습니다! 한가지 더 고민이 생겼는데용... # 상황 https://gist.github.com/aliwo/482b6ba636eb263d619ad50a42e7bd05 앞선 사례와 같이 User 와 Party 가 있고, 연관관계 테이블 party_user 가 있습니다. 연관관계 테이블의 row 인 PartyUser 를 삭제해도, party.getUsers() 를 했을 때 분명히 삭제가 되었어야 할 PartyUser 가 귀신 처럼 남아있습니다...! # 가설 몇가지 가설을 세워서 검증해 보았습니다... ## 가설 1: PartyUser 가 삭제되지 않았다. -> 삭제 된 것으로 확인됨! partyUserRepository.findAll() 의 결과가 빈 리스트인 것을 확인했습니다. ## 가설 2: data-jpa 의 repository 는 저마다의 transaction 을 갖는다. -> 사실이 아님! 아래와 같은 raw query 를 날려보니 connection_id 도 다 같았고, 트랜젝션도 하나였습니다. ``` @Query(value = "SELECT COUNT(1) as cnt, CONNECTION_ID() as connId FROM information_schema.innodb_trx WHERE trx_mysql_thread_id = CONNECTION_ID();", nativeQuery = true)Itime selectTrx(); ``` # 질문 분명히 PartyUser 는 삭제되었는데... 어째서 party.getUsers() 를 했을 때는 partyUser 가 남아있는 것인지 궁금합니다! (party 의 users 리스트에서 partyuser 를 직접 제거해야 한다는 것은 알고 있습니다! 하지만 이 party user 가 도대체 어떻게 남아 있을 수 있는 건지 궁금합니다~) (party.getUsers().removeIf(pu -> pu.getUser().getId().equals(target.getId()));)
- 0
- 3
- 720