-
Notifications
You must be signed in to change notification settings - Fork 80
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
[Team01 - iOS] 첫 PR #35
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.
안녕하세요! 리뷰를 맡은 롤로입니다.
꽤나 장기인 3주 프로젝트 시작하시느라 고생 많으셨습니다👏🏻👏🏻👏🏻
말씀해주신 대로 아직 리뷰할 코드가 그렇게 많지는 않네요ㅎㅎ
그렇다고 마음 급하게 먹지 마시고, 아직 시간이 많이 남은만큼 차근히 진행해나가시면 좋겠습니다!
이번에 적용해주신 SnapKit은 잘 써주고 계신 것 같아요ㅎㅎ
구조 흐름을 파악하는데 시간이 오래걸려 구현을 많이 하지 못했습니다
고 써주셨는데요,
3주동안 어떤 방식으로 진행하려고 생각 중이신지 코멘트 남겨주시면 좋겠습니다!
에어비앤비 미션은 구성요소가 아주 많다고 생각이 되는데요,
어떤 것을 학습하고 싶으신지 목표는 어떤 것인지 편하게 말씀해주세요!
layout() | ||
} | ||
|
||
@available(*, unavailable) |
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.
여기 @available
의 의미는 뭘까요?👀
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.
이번에 View를 전부 코드로 작성하려고 합니다!
xib를 사용하지 않을거라 required init?(coder: NSCoder)
을 실수로 호출했을 때, 안전성을 위해 Runtime Error가 아닌 Compile Error가 발생하도록 명시해준 코드입니다!
static let grey1 = UIColor(red: 51 / 255, green: 51 / 255, blue: 51 / 255, alpha: 1) | ||
static let grey2 = UIColor(red: 79 / 255, green: 79 / 255, blue: 79 / 255, alpha: 1) | ||
static let grey3 = UIColor(red: 130 / 255, green: 130 / 255, blue: 130 / 255, alpha: 1) | ||
static let grey4 = UIColor(red: 189 / 255, green: 189 / 255, blue: 189 / 255, alpha: 1) | ||
static let grey5 = UIColor(red: 244 / 255, green: 244 / 255, blue: 244 / 255, alpha: 1) | ||
static let grey6 = UIColor(red: 245 / 255, green: 245 / 255, blue: 247 / 255, alpha: 1) | ||
static let primary = UIColor(red: 232 / 255, green: 76 / 255, blue: 96 / 255, alpha: 1) | ||
static let secondary = UIColor(red: 17 / 255, green: 137 / 255, blue: 23 / 255, alpha: 1) |
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.
색상을 쓰기 편하게 정의하셨군요👍
let newSize = CGRect(x: 0, y: 0, width: 90, height: 28) | ||
UIGraphicsBeginImageContext(CGSize(width: 90, height: 28)) | ||
imageView.image?.draw(in: newSize) | ||
let newImage = UIGraphicsGetImageFromCurrentImageContext()?.withRenderingMode(.alwaysOriginal) | ||
UIGraphicsEndImageContext() |
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.
사이즈 조정 방식이 꽤나 복잡하네요!
content mode로는 원하는 모습이 나오지 않으셨던 걸까요?
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.
넵 content mode
로는 안되더라구요ㅠㅠㅠ
더 좋은 방법이 있나 찾아보겠습니다 ㅎㅎ
// Created by Jihee hwang on 2022/05/24. | ||
// | ||
|
||
import XCTest |
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.
테스트를 아직 구현하지 않았다면 추후 테스트 하실 때에 XCTest를 포함하는 것도 괜찮습니다.
반드시 처음부터 가지고 시작해야하지 않아요ㅎㅎ
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의 제목으로는 이번엔 어떤 작업을 했는지, 어떤 문제를 해결했는지 구체적으로 적어주시면 더 좋습니다 :) |
이번 3주간은 지난 프로젝트에서 경험했으나, 아직도 어렵다 느끼는 것들을 혼자 해결해보면서 톺아보는 시간을 갖으려 합니다! 에어비앤비 미션에서 학습하고 싶은 건 크게 3가지 입니다.
이번 프로젝트에서 |
좋습니다!! 적당한 목표를 세우신 것 같아요 :) |
[BE] 숙소 도메인 MockAPI 기능 구현
[Android][히데] fix : 첫번째주 두번째 PR 리뷰 반영
[Backend] - feat: [#35] 지역 목록 조회 기능 구현
[Backend] refactor [35] QLRM 관련 코드 주석 처리 및 nativeQuery 대신 JPQL 사용코드로 변경
* [Refactor] 캘린더 우측 클릭시 렌더링 리팩토링 (#30) * refactor: transitionEnd를 활용하여 캘린더 캐러셀 로직 리팩토링, 캘린더 보이는 개수 변수화하여 자동화 * feat: 다음 달력 조회시 년도 넘어가면 년도 최신화, 캐러셀 버튼 디바운스 적용 * feat: 양방향 슬라이더 구현 (#35) * [Refactor] 캘린더 좌측 클릭시 렌더링 및 리팩토링 (#34) * Refactor: 초기렌더링 에러 수정 및 years,months 데이터 통합 getNextMonthsNyears() -> getMonthsWithYear() years, month -> calendarHeaderDate * Feat: 좌측 버튼 캐러셀 로직 구현 * Refactor: 달을 기준으로 년도를 생성하는 함수 분리 - getMonthsWithYear() * Refactor: 좌우로직을 하나의 상태와 함수로 관리 * Refactor: Calendar모달에서 캐러셀 분리 * Refactor: 초기값 부모컴포넌트로 위임 * Chore: styled-component에 ts적용 * Fix: styled-components type에러 수정 * [Design & Refactor] 가격 차트 디자인 요소 추가 & Multi input Ranger 분리 (#39) * Refactor: 슬라이더와 차트 로직 분리 * Refactor: 차트에서 멀티레인저 분리 * Design: 양방향 레인저 input태그 겹치는 방식으로 변경 * Refactor: MultiRangerSlider컴포넌트 input태그 속성처럼 변경 * Feat: PriceInfo컴포넌트 - 가격범위 - 평균 1박 요금 * Design: 가격 차트 디자인 * Design: multiranger 위치 조정 * Fix: 차트 버그 수정 - max가 0으로 됬을 때 평균 값 함수 에러 - thumb위치 조정 * Chore: 콘솔 제거 * Feat: date picker 기본 로직 구현 (#38) * [Feat] 캘린더, date picker 스타일 적용 및 리팩토링 (#42) * Feat: date picker mouseover, click시 스타일 변경 구현 * Feat: 체크인을 설정하고 다른 달력으로 이동시 mouseover 스타일이 적용되지 않도록구현 * Feat: 한 달 내의 이전달 혹은 다음 달 범위의 날짜 스타일 및 이벤트 비활성화 * Fix: 달력 범위 벗어나면 클릭하여 설정한 체크아웃까지의 범위 스타일 해제되는 오류 해결 * Feat: 년도와 여러 달을 지나쳐 체크아웃을 설정해도 체크인 체크아웃 사이의 모든 날짜가 스타일 적용되도록 구현 * [Refactor & Feat] SearchBox 폴더 생성 및 모달 컴포넌트 수정 (#43) * Refactor: 차트 모달 분리 * Design: 모달 분리에 따른 스타일 조정 * Rename: 캘린더, 차트 컴포넌트 각각 모달안으로 이동 * Feat: useScrollLock 적용 * Feat: Modal context 세팅 * Chore: types 분리 파일 제거 * Refactor: windowModal -> modal컴포넌트로 변경 * Feat: SeachBox 컴포넌트 생성 및 차트와 달력 컴포넌트 이동 * Refactor: Modal 컴포넌트와 context 분리 * Feat: SearchBox 심플 스타일 * Refactor: 모달 default 위치 중앙으로 조정 * Feat: CreatePotal로 dom 만들 때 id를 props로 전달받기 * Feat: potal을 닫을 때 dom 제거 * Feat: WithModal hoc 생성 * Refactor: SearchBox 하위 영역 Area로 구분 * Feat: Modal customSTyle 관리 * Feat: 캘린더 모달 위치 조정 Co-authored-by: HongJungKim(이든) <58525009+HongJungKim-dev@users.noreply.github.com>
안녕하세요 롤로! Jee 입니다!
아직 프로젝트를 세팅하고, 구조 흐름을 파악하는데 시간이 오래걸려 구현을 많이 하지 못했습니다😢
또, 이번 프로젝트에 SnapKit, SwiftLint 적용하여 가독성을 높이고자 합니다!
그럼 3주간 잘 부탁드립니다 :) 🙏
작업 내용
고민과 해결
프로젝트의 양이 방대하기도 하고, 혼자 작업하다보니 구조 파악에 시간이 많이 소요되었습니다.
어디부터 어떻게 작업을 해야할지 차분히 생각해보았고, 손으로 흐름을 그려가며 이해했습니다.
홈에 NavigationBar를 구현하고 그 안에 SearchView를 넣었으나, TabBar를 구현하면서 지금의 구조를 전부 변경해야겠다는 생각이 들었습니다.
현재 TabBar를 구현중이고, 다음 PR에 지금의 구조가 아닌 TabBarController에 NavigationBar를 구현한 상태로 수정하겠습니다!