1. 개요Oracle과 MySQL에서 페이징 처리 또는 데이터를 제한하여 조회할 때 사용하는 방법이 다름.DBMS사용하는 키워드설명OracleROWNUM 또는 ROW_NUMBER()데이터에 순차적인 행 번호를 부여하여 제한MySQLLIMIT특정 개수만큼 데이터 출력 (시작 위치 지정 가능)2. Oracle에서 ROWNUM 사용 기본 사용법SELECT * FROM employees WHERE ROWNUM 설명: ROWNUM을 사용하여 상위 10개 행만 가져오기.OWNUM과 ORDER BY 주의점SELECT *FROM employeesWHERE ROWNUM 오류 발생 가능: ROWNUM은 ORDER BY보다 먼저 적용됨.즉, 먼저 10개의 데이터를 선택한 후 정렬되므로 원하는 결과가 아닐 수 있음. 올바..
Spring MVC와 Spring Webflux의 차이점blocking / non-blockingSpring MVC 공식문서에 따르면, Spring Webflux 대부분의 구조 및 설정은 Spring MVC와 동일하다고 명시되어 있다.그러나 동시성 모델과 블로킹/쓰레드 기본 전략이 다르다.MVC에서는 애플리케이션이 스레드를 차단(blocking)할 수 있다는 가정 하에 큰 스레드풀을 가지고 있고,WebFlux에서는 스레드가 차단되지 않아(non-blocking) 적은 스레드풀을 사용하여 request들을 처리한다는 점이다. 더 자세히 살펴보자면 두 프레임워크의 차이는 다음과 같다.Spring MVC 어플리케이션은 Imperative logic(명령형 로직)이다.명령형 프로그래밍은 작성하기도, 이해하기도,..
R2DBC R2DBC 정의R2DBC (Reactive Relational Database Connectivity)는 이름 그대로 관계형 DB에서 reactive programming을 가능하게 해주는 데이터베이스 접근 API다.R2DBC의 등장 배경 그리고 장점R2DBC는 적은 스레드로 동시성을 처리하고 더 적은 하드웨어 리소스로 확장할 수 있는 논블로킹(non-blocking) 어플리케이션 스택이 필요해지면서 등장했다.기존에 많이 쓰이던 관계형 데이터베이스 접근 API는 주로 JDBC였다. 그러나 JDBC는 블로킹(blocking) API 였고, ThreadPool로 블로킹 동작을 절충하려고 해도 완전한 논블로킹 서비스를 구축할 수 없었다.또한 몇몇 NoSQL 드라이버가 자체 Reactive Datab..
메모리 캐시와 디스크 캐시는 컴퓨터 시스템에서 데이터를 더 빠르게 접근할 수 있도록 하는 두 가지 주요 캐시 기술입니다. 각 캐시의 장점, 단점, 그리고 사용되는 상황을 이해하면 효율적인 시스템 설계와 성능 최적화에 도움이 됩니다.메모리 캐시 (Memory Cache)정의: 메모리 캐시는 주로 RAM(Random Access Memory)에 저장되는 데이터로, CPU와 메모리 간의 데이터 전송 속도를 빠르게 하기 위해 사용됩니다.장점:속도: 메모리 캐시는 매우 빠릅니다. RAM의 접근 속도는 디스크보다 훨씬 빠르기 때문에 데이터에 빠르게 접근할 수 있습니다.낮은 지연 시간: 메모리에 저장된 데이터는 거의 즉각적으로 접근할 수 있어 지연 시간이 매우 낮습니다.단점:비용: RAM은 비싸기 때문에 대용량 데이..
사용자가 스크롤할 때 JavaScript 함수를 호출웹 페이지에서 사용자가 스크롤할 때 JavaScript 함수를 호출하려면 scroll 이벤트를 활용할 수 있습니다. scroll 이벤트는 사용자가 스크롤할 때마다 트리거되며, 이를 통해 특정 기능을 실행할 수 있습니다.아래는 스크롤 시 JavaScript 함수를 호출하는 간단한 예제입니다:기본 예제HTML 파일에 JavaScript를 포함합니다.window 객체의 scroll 이벤트에 이벤트 리스너를 추가하여 스크롤 시 특정 함수를 호출합니다. Scroll down the page 코드 설명HTML 구조:body 태그에 충분한 높이를 설정하여 페이지가 스크롤될 수 있도록 합니다.header 요소를 추가하여 스크롤할 때 배..
선행 필요 : [Spring] JPA와 ORMJDBC (Java Database Connectivity)JDBC는 Persistence Framework 중 하나이며 Java 애플리케이션에서 데이터베이스에 접근하기 위한 표준 API입니다. 가장 기본적인 데이터베이스 접근 방법으로, 많은 프레임워크들이 JDBC 위에 구축되어 있습니다.모든 주요 관계형 데이터베이스 관리 시스템은 JDBC 드라이버를 제공하며, 이를 통해 Java 애플리케이션에서 데이터베이스에 접근할 수 있습니다.특징:데이터베이스 독립적인 연결 인터페이스 제공저수준의 데이터베이스 작업 제어 가능높은 유연성예시:try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); ..
페이지 캐시 기능은 웹 브라우저가 웹 페이지를 더 빠르게 로드하기 위해 사용하는 기술입니다. 이 기능은 사용자가 이미 방문한 페이지의 일부 또는 전체를 저장하여, 페이지를 다시 방문할 때 저장된 데이터를 사용해 빠르게 로드합니다. 페이지 캐시에는 여러 종류가 있으며, 가장 중요한 두 가지는 일반 HTTP 캐시와 BFCache(Back-Forward Cache)입니다.HTTP 캐시HTTP 캐시는 브라우저가 서버에서 가져온 리소스(예: HTML, CSS, JavaScript, 이미지 등)를 저장하여 동일한 리소스에 대한 반복적인 네트워크 요청을 줄이는 데 사용됩니다. HTTP 캐시는 서버와 클라이언트 간의 데이터 전송을 줄여 페이지 로딩 시간을 개선합니다. HTTP 캐시는 웹 페이지의 리소스를 저장하여 이후..