Flutter/study
-
모바일 환경에서 무한스크롤을 사용하는 이유가 뭘까? feat. cursor based pagination #1Flutter/study 2024. 2. 12. 12:03
유저에게 보여줘야할 데이터 목록이 많은 경우, 한번에 모든 데이터를 보여주는 것은 DB 조회비용도 많이 들 뿐더러서버 및 클라이언트에 부하를 일으켜 성능저하로 이어집니다. 그렇기때문에 대량의 데이터를 처리하는 대다수의 어플리케이션은 유저에게 많은 데이터를 리스트형태로 보여줄때, 필수적으로 pagination이라는 기법을 사용합니다. 이번에는 페이지네이션이 무엇인지, 그리고 실제로 제가 도입한 과정들을 정리하는 시간을 가져보겠습니다. ✓ Pagination이란? "목록화된 많은 데이터를 부분적(페이지 단위)으로 나눠서 불러오는 기술" 유튜브에는 엄청나게 많은 영상이 있습니다. 만약 유저가 유튜브 앱 또는 웹사이트를 열었을 때, 한 번에 모든 영상을 불러오려고 하면 어떤 일들이 벌어질까요? 서버입장에서 생..
-
JWT를 이용한 인증·인가 프로세스에대해 낱낱히 파헤쳐보자! feat. 토큰, 세션Flutter/study 2024. 2. 2. 13:42
로그인을 구현하면서 인증과 인가에 대한 부분은 개인적으로도 학습하고, 개발 팀원들과 많이 토론했던 부분입니다. 그때 얻은 인사이트와 학습한 내용을 토대로 정리해보겠습니다. ✓ 인증(Authentication), 인가(Authorization) 우리는 배달의 민족을 사용하거나 네이버에 로그인할 때 등 어떠한 서비스를 이용하기 위해선 로그인 절차를 꼭 거쳐야 합니다. 로그인은 결국 인증(Authentication)을 하기 위한 행위입니다. 그렇다면 인증은 무엇을 의미하는 걸까요? 📌 인증 (Authentication) 유저가 서비스에 자신의 신원을 확인하고 증명하는 과정 서비스의 중요한 데이터나 리소스를 보호하고 불법적인 액세스로부터 방어할 수 있다. 인증된 유저는 서비스를 이용할 때, 리소스 및 기능에 대..
-
[Flutter] '상태'관리는 어떻게 해야할까요? feat. sealed classFlutter/study 2024. 1. 24. 12:37
퍼블리싱만 하던 단계에선 상태관리가 무엇인지 신경 쓰지 않고 setState()를 남발하면서 만들었습니다. 하지만 api와 연동할 때쯤에 프로젝트가 난잡해져서 결국 눈물을 머금고 setState()를 걷어내다가 모든 UI를 갈아엎었던 뼈아픈 경험을 했죠. 이번에는 상태관리의 필요성을 몸으로 느꼈던 그때를 회상하며 글을 남겨보도록 하겠습니다. 모든 개발자들에게 클라이언트단이나 프론트를 처음 접하고 가장 재미를 느꼈던 부분을 하나 고르라고 한다면 인터페이스를 통해 실제로 조작되는 순간을 많이 꼽을 것 같습니다. 픽셀로 이루어진 화면이 내가 만져서 작동을 하는 모습을 보면 그만큼 신기한 게 없기때문이죠. 이처럼 간략하게 말하자면 상태관리는 사용자와 상호작용을 통해 데이터가 변경되는 과정을 관리하는 것을 의미합..