-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: 지도 탭 api 연결 #247
feat: 지도 탭 api 연결 #247
Conversation
앗 ㅠㅠ 또 썸네일 오타났네 고치겠습니당 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다~~
posts = request.videos | ||
index = request.index | ||
presenter?.presentPlaybackScene() | ||
func fetchPosts() -> Task<[MapModels.Post], Never> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
보니까 받는 데서는 결과를 쓰지 않는 모양인 것 같은데 그냥 반환 성공하면 true리턴?이 낫지 않나요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
추후에 Task 리턴을 들어내야하긴 하지만..?
테스트하는 입장에서 생각해보면 빈배열보다는 지웅님 말씀처럼 불리언 타입이 나을 것 같네용..
이참에 그냥 없애버릴까요..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test를 위해 Bool을 쓰긴 하는거니까요... 먼가 애매애매하군요.. 고민이 필요해 보입니다..!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
멘토님 말씀처럼 정답이 없다고 하셔가지고
-> 박터지는 싸움의 현장(어떻게 Task 블록으로만 감싸진 메서드를 테스트할 것인가)
논의가 필요할 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 개인적으로 멘토님이 처음 말씀해주신 의견에 동의하긴 합니다 !
어쨌든 테스트로 인해서 프로덕트 코드가 변경되어야한다는 점이 최대 단점같아서요. 여러분 생각도 궁금하네용
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 추후 리팩토링 할 떄 의제로 남겨놓을게요 ADR ADR...
destination.parentView = .other | ||
destination.index = source.index | ||
destination.index = source.postPlayStartIndex | ||
destination.posts = source.posts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지난번 얘기한 대로 datapass 메서드로 분리되었으면 좋겠습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저희 datapass 메소드 분리하나요? 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
엇 저희 지난번에 요 내용 토대로 분리하기로 합의한 게 아니었나요...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
합의요? 따로 의사결정을 한 기억은 없는데.. 일단 알겠습니다~ 나중에 저도 반영하도록 할게요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
datapass 분리 (inout 사용) vs 그냥 참조해서 변경 두가지 의견이 있었던걸로 기억합니다 !!
둘중에 어떤 방법으로 할지 정확히 정하진 않은 것 같은데 (기억이 가물가물..ㅎ) 지금 정하면 좋을 듯 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
처음 Clean Swift의 Router의 의도가 데이터 전달 과 네비게이팅 분리라는 관점에서 저는 datapass분리도 괜찮다고 생각해요~ inout을 쓰면 순수함수를 잘 못지키는 것 같아 별로 쓰고 싶지 않았을 뿐, Clean Swift의 의도에 따라가려면 datapass가 더 적합한것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이전에 단순 참조해서 변경한 코드들이 있어서, 저도 datapass 메소드 분리하는 방향으로 수정해보겠습니다 :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 이전에 https://clean-swift.com/pass-data-backward-more-elegantly-without-using-delegation/
요 내용 유경님께서 공유해주셨을때, 이견이 없으셔서 전 이렇게 하기로 합의한 것으로 받아들였었습니다...!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 저거는 메소드 보다는 상위 뷰컨트롤러 찾아서 passing하는 방법을 보고 공유했던거라 ㅋㅋㅋㅋ 밑에 메소드를 제대로 안봤었네용
그치만 datapass 메소드를 분리하는 방법이 의도가 명확해서 그렇게 해도 좋을 것 같습니다!
let posts = try await data.concurrentMap { postDTO -> Models.Post in | ||
let thumbnailImageData = try await self.provider.request(url: postDTO.board.videoThumbnailURL) | ||
return .init(member: postDTO.member.toDomain(), | ||
board: postDTO.board.toDomain(), | ||
tags: postDTO.tag, | ||
thumbnailImageData: thumbnailImageData) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우선 Model내에 선언해주신것 좋은 것 같습니다.
저도 처음엔 TaskGroup을 몰라서 concurrentMap으로 하긴 했는데, TaskGroup으로 만드는게 장기적으로 더 좋을 것 같습니다.
리팩토링 할 때 함께 의논해봐요. 아니면 도메인 모델쪽에 따로 빼서 선언해주셔도 좋을 것 같습니다.
명명은 ThumbnailLoadedPost
...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
모델은 우선 인환님이 추천해주신 ThumbnailLoadedPost
로 선언해두고 나머지 interactor들도 ThumbnailLoadedPost
사용하는 것으로 변경되면 그때 Post로 리네임해도 되겠네요 좋습니다 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
또 서버에 문의해본 결과 post의 배열이 지금 따로 유의미하게 정렬되어서 오진 않아서,
말씀하신대로 TaskGroup
으로 충분히 개선해볼 수 있을 것 같습니다 !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다. 오타? 만 수정하심 될 것 같슴다!!!
🧑🚀 PR 요약
해당 pr에서 작업한 내역을 적어주세요.
어노테이션 선택 → 해당 영상으로 스크롤
RPReplay_Final1701972326.MP4
영상 스크롤 → 어노테이션 포커싱
RPReplay_Final1701972434.MP4
썸네일 concurrent하게 다운로드
Linked Issue
close #226