이이이이이
푸푸푸푸푸
시시시시시
보이나요 보이나요
네에~
# 오늘의 주제
네트워크가 정말정말 약한 곳에서 데이터의 표시를 어떻게 해줄 것인가.
아얀 - 우선 신호가 약해서 느릴 것 같다는 정도의 정보를 표시해 준다. 한페이지의 데이터를 모두 불러와 졌을때만 셀을 그린다. 하지만 일정 시간이 지나도 한페이지 데이터를 불러오는데 실패한 경우? 이미지를 제외한 셀을 그린다. 이미지만 그리는 앱인경우 어쩔수 없지.. 그냥 기다려
건디 - 인터넷이 느릴 시 알림을 보내고 라이트 모드로 전환할지 제안한다. 라이트 모드 시에는 저해상도를 우선지원한다.
와 이거 대박 - 인터넷이 느린 나라에서 초히트할만한, 인터넷 속도 측정 앱을 만든다.
솜 - 일단 와이파이 한 칸에서 당근 켰을 때는 얼마 안 가 네트워크 오류 뜸 ㅎㅎ
그래서 걍 생각해봤을 때 모든 셀의 데이터 (이미지 뿐만 아니라) 캐시로 구현해서 최대한 빠르게 구현을 해보고, 그래도 느리다 싶으면 1분 이상이 되었을 때 셀을 보여주는 목적에 따라 다른 페이지로 유도하던지 (예를 들어, 상품 판매 목적의 앱이라면 1주일동안 많이 판매된 페이지를 네트워크 연결된 데이터가 아닌 페이지를 만들어서 보여준다다던가? 이것도 안 뜨면 걍 쓰지마셈 ㅇㅇ)
애종 - 디스크 캐시와 페이징을 활용해 네트워킹을 최소화한다.
디스크 캐시를 쓴 이유 - 메모리 캐시 방식에 비해서는 느릴지라도 네트워크 통신을 통해 다운로드하는 것보다는 빠르기 때문에.
페이징을 하는 이유 - 셀을 만들어줄 때 이미지를 다운로드하기 때문에 보여지는 셀을 최소화 하는게 효율적
궁금한점 -
짜푸 - 한마디 요약. 데이터를 불러오는 것을 쓰레드 1개만 사용하고 Serial로 한다. 다 불러오고 난 후 클릭했을 때의 작업을 addTarget 한다.
느린 네트워크에서 여러개의 다운로드 문제.. 로딩되지 않았을 때의 클릭 문제..
다른 의견. 다운로드가 다 되었을 때 셀을 추가한다? (앱의 부하 증가)
prefatch datasource
셀을 조금더 빨리 그려서 사용자가 밑으로 다 스크롤 됬을때 기다리는 상황을 줄인다?
https://developer.apple.com/documentation/uikit/uitableviewdatasourceprefetching
799달러 프로 999달러
https://developer.apple.com/kr/support/app-store/
reloadData() // 줄이기 위함 + @
라이트모드 저해상도 페이지 (큰 셀?)
캐시.
무한스크롤은 불가

70
63억의 인구 // 7억의 인구
97%
