[TIL] 챌린지반 세션 2회차

한철희·2024년 4월 11일
0

TIL

목록 보기
29/57

오늘 보충학습 챌린지반 세션이 있었다.

  • 주제 : 과제 라이브 코딩 및 코드리뷰
    - MVC 사용
    - TableView loadMore 알아보기
    - Alamofire 사용법 알아보기

시작전 올려주신 오늘의 주제!
실제 수업에서는 전 시간에 내주신 깃허브 프로필 페이지 제작하는 것을
라이브코딩으로 설명해주시면서 몇몇 팁들을 알려주셨다.

그중에 메모해둔 것들이다

  • spm을 통한 방식은 그냥 깃헙 링크를 포함해도 된다!
  • api를 크롬창에서 확인하여 필요한 데이터 확인 -> 모델을 만들 때 도움이 된다!
  • http 메서드
    - Get, Post <- 무조건 알아야함
    - Get, Post <- 차이점에 대해서 알아두면 좋다
    - Put, Delete, Patch <- 이런것도 있는걸 알아두면 좋다
  • tableview.reloadData는 비효율적임 다른 방식은 추후 설명
  • 오토레이아웃 Priority Huggin vs Compression 알아보면 좋다
  • 셀의 섹션을 나눠서 테이블뷰 셀을 2개사용하여 만듦
  • loadMore함수로 페이징 처리

spm사용법

내가 전에 spm쓰는 법에 대해서 간략하게 작성한 글이 있는데
거기선 제작자가 만든 spm섹션에 있는 링크를 사용하라고 적었다
근데 오늘 라이브코딩에서 튜터님이 그냥 그페이지의 링크를 써도 된다고 하셨다
더 간편한 방법을 알게됨!


api데이터 확인?

이번에 Alamofire를 쓰면서 어떤 데이터를 가져오는지 찾아볼 때 좀 헤맸는데
api링크였나? 그것을 크롬창에 띄우면 실제로 어떤 변수에 어떤 데이터가 들어오는지 확인할 수 있다. 그것을 통해 데이터모델을 작성하는게 더 효율적인거같다
다음에 작성할때 해봐야지!


http 메서드

urlSession 파트에서 말씀해주신건데
GetPost는 무조건 알아야한다고 말씀하셨다! 그리고 둘의 차이점에 대해서도 알아두면 좋다고 하셨고, Put, Delete, Patch는 이러한 점이 있다~ 라는것을 알아두어야 한다고 했다. 이 메서드 관련해서는 한번 정리를 해봐야겠다


tableview.reloadData?

아 이 메서드를 사용하는것이 비효율적이라고 말씀하셨다
전 프로젝트 진행때도 같은 팀원분께 얘기를 들었던것같은데
시간상 자세히 설명은 못해주시고 넘어갔다
이 부분은 1:1 코드리뷰때 다시 여쭤보고 설명을 들어야겠다


Priority Huggin vs Compression

이건 오토레이아웃을 잡는 상황에서 나왔던 주제
양쪽 끝에 있는 레이블의 간격을 잡으니까 어떤 label의 크기를 조정할 것이냐?
라는 상황에서 나왔다 여기서 정해지는 우선순위에 따라서 어떤 label이 조정될것인지 정해지는것같다.


셀의 섹션을 나눠서 테이블뷰 셀을 2개사용

나의 경우는 UIViewUITableView 이 2개로 화면을 구성했다
UIView에 프로필이미지나 사용자 관련된 정보를 띄워주고
UITableView에 리포지토리 정보를 띄우도록 했다

반면에 튜터님은 셀을 2개로 나눠서 1개는 프로필 관련 정보를 나머지를 리포지토리 정보를 담아서 테이블뷰로 전체 화면을 구성하셨다.
신박해서 아마 리팩토링?이나 개인적으로 할때 시도해볼법 한거같다


loadMore함수로 페이징 처리

자신의 리포지토리 데이터를 다 불러오면 아마 셀이 몇개 없어서 금방 끝날것이다.
근데 여기서 loadMore라는 함수를 작성하여 다음 페이지도 넘어가는 작업을 하셨다
이것도 리팩토링때 해봐야겠다! 앞으로도 쓸일이 무조건 있을거같다

profile
초보 개발자 살아남기

0개의 댓글