Skip to content
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

Merged
merged 10 commits into from
May 26, 2022
Merged

Conversation

Jeeehee
Copy link
Collaborator

@Jeeehee Jeeehee commented May 25, 2022

안녕하세요 롤로! Jee 입니다!

아직 프로젝트를 세팅하고, 구조 흐름을 파악하는데 시간이 오래걸려 구현을 많이 하지 못했습니다😢
또, 이번 프로젝트에 SnapKit, SwiftLint 적용하여 가독성을 높이고자 합니다!

그럼 3주간 잘 부탁드립니다 :) 🙏


작업 내용

  • Cocoa Pods로 SnapKit, SwiftLint 적용
  • Home View에 SerchBar 반영
  • HeroImage 구현

스크린샷 2022-05-25 오후 5 05 22


고민과 해결

  1. 프로젝트의 양이 방대하기도 하고, 혼자 작업하다보니 구조 파악에 시간이 많이 소요되었습니다.
    어디부터 어떻게 작업을 해야할지 차분히 생각해보았고, 손으로 흐름을 그려가며 이해했습니다.

  2. 홈에 NavigationBar를 구현하고 그 안에 SearchView를 넣었으나, TabBar를 구현하면서 지금의 구조를 전부 변경해야겠다는 생각이 들었습니다.
    현재 TabBar를 구현중이고, 다음 PR에 지금의 구조가 아닌 TabBarController에 NavigationBar를 구현한 상태로 수정하겠습니다!

@Jeeehee Jeeehee changed the title [iOS] Team01 - 첫 PR [iOS - Team01] 첫 PR May 25, 2022
@Jeeehee Jeeehee changed the title [iOS - Team01] 첫 PR [Team01 - iOS] 첫 PR May 25, 2022
@Jeeehee Jeeehee requested a review from eeeesong May 25, 2022 08:30
@Jeeehee Jeeehee self-assigned this May 25, 2022
@Jeeehee Jeeehee added the review-iOS Extra attention is needed label May 25, 2022
Copy link

@eeeesong eeeesong left a 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)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기 @available의 의미는 뭘까요?👀

Copy link
Collaborator Author

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가 발생하도록 명시해준 코드입니다!

Comment on lines +11 to +18
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)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

색상을 쓰기 편하게 정의하셨군요👍

Comment on lines +30 to +34
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()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

사이즈 조정 방식이 꽤나 복잡하네요!
content mode로는 원하는 모습이 나오지 않으셨던 걸까요?

Copy link
Collaborator Author

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트를 아직 구현하지 않았다면 추후 테스트 하실 때에 XCTest를 포함하는 것도 괜찮습니다.
반드시 처음부터 가지고 시작해야하지 않아요ㅎㅎ

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵넵 🙂

@eeeesong
Copy link

그리고 PR의 제목으로는 이번엔 어떤 작업을 했는지, 어떤 문제를 해결했는지 구체적으로 적어주시면 더 좋습니다 :)

@Jeeehee
Copy link
Collaborator Author

Jeeehee commented May 26, 2022

이번 3주간은 지난 프로젝트에서 경험했으나, 아직도 어렵다 느끼는 것들을 혼자 해결해보면서 톺아보는 시간을 갖으려 합니다!
그 예로, 서버와 API로 통신을 주고 받는걸 여러번 프로젝트에 적용했지만 아직도 머리속에 흐름이나 코드가 그려지지 않습니다.
더불어 혼자 설계-구현-리팩토링 의 순서를 경험해보고싶습니다!

에어비앤비 미션에서 학습하고 싶은 건 크게 3가지 입니다.

  1. 네트워크 통신
  2. 자동완성 기능
  3. Map 다루기

이번 프로젝트에서 조급해하지 않고 천천히, 구현을 많이 못하더라도 학습한 것을 온전히 슥듭하기가 목표입니다!

@eeeesong
Copy link

좋습니다!! 적당한 목표를 세우신 것 같아요 :)
말씀해주신 부분 참고해서 리뷰할게요👍 화이팅입니다!
이 PR은 머지하도록 할게요 :)

@eeeesong eeeesong merged commit bb778c5 into codesquad-members-2022:team01 May 26, 2022
sigridjineth pushed a commit that referenced this pull request May 30, 2022
[BE] 숙소 도메인 MockAPI 기능 구현
sabgilhun pushed a commit that referenced this pull request May 31, 2022
[Android][히데] fix : 첫번째주 두번째 PR 리뷰 반영
tmdgusya pushed a commit that referenced this pull request Jun 2, 2022
sabgilhun pushed a commit that referenced this pull request Jun 3, 2022
[feat] 2주차 수요일 피드백(33)
wooody92 pushed a commit that referenced this pull request Jun 5, 2022
feat: 숙소 리스트 N + 1 쿼리 제거
wooody92 pushed a commit that referenced this pull request Jun 5, 2022
[Backend] - feat: [#35] 지역 목록 조회 기능 구현
wooody92 pushed a commit that referenced this pull request Jun 9, 2022
[Backend] refactor [35] QLRM 관련 코드 주석 처리 및 nativeQuery 대신 JPQL 사용코드로 변경
kimyouknow added a commit that referenced this pull request Jun 12, 2022
* [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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review-iOS Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants