---
# System prepended metadata

title: Untitled

---

## :smiley: 참여자

- S010 김승언 👑
- S015 류연수 👑
- S018 박재현 👑
- S065 홍동현 👑

<br>

## :file_cabinet: 과정

- 각자의 코드를 공유
- 구현 중 이슈에 대해 토론

<br>


## :open_book: 피어세션 의견
### Sigleton
 - 싱글턴을 쓰면 프로토콜 추상화를 하자 꼭! 테스트가 가능해진다.
 - 근데, 주입에 대해 많은 고민을 하게 됨... 그냥 사용을 최소화하는 방법을 생각하자
 - 
### 네트워크 레이어
 - API 요청, 응답에 대한 계층을 나누고 프로토콜로 추상화하여, 테스트 가능한 구조로 구현
 - 원하는 결과값을 반환하는 모의 객체를 만들어 주입해주는 방식으로 테스트

### Rechability
 - status 확인은 어디서? AppDelegate? SceneDelegate? 
 
### Cache
 - downLoadTask로 받아온 Data는 Temp에 저장해 두고 다운로드 완료가 되었다면 Temp에서 사라진다. 
 - NSCache는 메모리에 저장
 - FileManager를 사용해서 CachesDirectory에 저장(Disk)

### CollectionView 
 - collectionView cell delete시, 데이터 삭제 후 cell.deleteItems 
   (fade 애니매이션 후 reloadItem을 해주는 느낌으로 동작함)
 - compositional layout을 사용할 때 group의 count를 지정하는 것 말고 column의 개수를 화면 크기에 맞춰 자동으로 증가시키는 방법은 없을까? (flowlayout처럼)

### Navigation push / pop
 - pop(animated: false)과 push(animated: true)를 순서대로 호출하면 navigation이 사라져 push가 작동되지 않는다.

<br>

## :honeybee: 꿀팁

### 다크모드
시뮬레이터에서 아래 단축키를 누르면 `다크모드` <-> `라이트모드` 전환이 가능하다.
`Command`+ `Shift`+ `a`

### NumberFormatter

```swift
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
guard let result = numberFormatter.string(from: NSNumber(value: total)) else { return "0" }
```

### 맥북 터치바가 뜨끈뜨끈해지면 하리보를 올려 먹으면 맛있다.

**!주의, 너무 뜨거우면 하리보 사망**
