전체 글
-
페이지네이션(Pagination)Note 2021. 8. 2. 13:46
많은 데이터를 한 화면에 전부 보여줄 수 없는 경우에 무한 스크롤, 페이지네이션이 사용된다. 페이지네이션이란 한정된 네트워크 자원을 효율적으로 활용하기 위해 결과값으로 리턴된 리소스를 `분할하여 전달`하는 것을 의미한다. 즉, 데이터베이스에 만 개의 아이템이 있을 때, 한 번에 만 개를 돌려주는 대신 0번부터 49번까지 50개씩 돌려주는 것을 의미한다. 여기서 다음 요청이 들어오면 50번부터 99번까지, 또 다음 요청이 들어오면 100번부터 149번까지 돌려준다. 이렇게 함으로써 네트워크의 낭비를 막고, 빠른 응답을 기대할 수 있게 된다. 오프셋 기반 페이지네이션(Offset-based Pagination) 전통적인 페이지네이션 방식인 오프셋 기반 페이지네이션은 offset : 데이터가 시작하는 위치(현..
-
무한 스크롤(Infinite Scroll)Note 2021. 7. 26. 20:45
많은 데이터를 한 화면에 전부 보여줄 수 없는 경우에 무한 스크롤, 페이지네이션이 사용된다. 무한 스크롤 - 한 페이지를 아래로 스크롤 하면 끝없이 새로운 화면을 보여준다. - 화면이 작은 모바일에 적합하다. 페이지네이션 - 콘텐츠를 여러 개의 페이지로 나누어 보여준다. - 상대적으로 PC에 적합하다. 무한 스크롤 무한 스크롤을 구현하는 방법은 여러 가지가 있겠지만 페이지 맨 마지막 요소에 도달하면 다음 데이터를 불러오는 방식이 있는데, scroll event와 IntersectionObserver을 사용하여 구현할 수 있다. scroll event scroll event는 보통 document에 스크롤 이벤트를 등록하고, 특정 지점(스크롤 최하단)을 관찰하며 엘리먼트가 위치에 도달했을 때 실행할 콜백함..
-
[프로그래머스] N개의 최소공배수Algorithm 2021. 5. 22. 17:10
https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 더보기 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 ..
-
[프로그래머스] 멀쩡한 사각형Algorithm 2021. 5. 19. 20:59
https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 더보기 문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 ..
-
UnhandledPromiseRejectionWarning: SequelizeConnectionError: Access denied for user 'root'@'localhost'Error 2021. 5. 15. 16:11
에러 서버가 갑자기 안 돌아가길래 확인해보니 에러가 발생하고 있었다... mysql -u root -p를 입력하니 비밀번호를 입력하라고 나왔다. 비밀번호를 설정했었나...? 생각나는 비밀번호를 죄다 입력해봤는데도 계속 안됐다. 해결 sudo mysql -u root // sudo를 사용해 root계정으로 mysql에 접속 mysql> USE mysql; mysql> SELECT User, Host, plugin FROM mysql.user; root의 plugin이 auth_socket으로 설정되어있는 것을 확인할 수 있다. 이 값을 mysql_native_password로 변경하면 로그인이 가능하다. mysql> update user set plugin='mysql_native_password' whe..