본문 바로가기

개발일지95

Filter, Interceptor, AOP란 Filter, Interceptor, AOP는 모두 소프트웨어에서 프로그램의 동작을 제어하기 위한 기법이다. Filter 웹 애플리케이션에서 HTTP 요청과 응답을 처리하기 위한 기법 Servlet 컨테이너에서 요청과 응답에 대한 처리를 가로채어 필터링하는 역할을 한다. Filter는 일종의 체인 형태로 구성되어 있어 여러 개의 Filter를 연속적으로 실행할 수 있다. 특징으로는, 요청과 응답의 전/후 처리 Filter는 클라이언트로부터 요청이 들어오기 전에 또는 응답이 클라이언트로 보내지기 전에 처리를 수행할 수 있습니다. 예를 들어, 인증, 인가, 로깅, 캐싱 등의 공통적인 처리를 필터로 분리하여 중복 코드를 방지하고 요청과 응답을 처리할 수 있다. 필터 체인 여러 개의 Filter를 연속적으로 실.. 2023. 4. 6.
병렬프로그래밍이란 하나의 작업을 여러 개의 작은 작업으로 분할하고, 이 작은 작업들을 동시에 실행하여 전체적으로 더 빠른 처리를 가능하게 하는 프로그래밍 기법 병렬프로그램은 멀티코어 프로세서가 등장하면서 매우 중요해졌다. 병렬 프로그래밍은 다양한 방법으로 구현할 수 있다. 그 중 가장 기본적인 방법은 프로세스(Process)와 스레드(Thread)를 사용하는 것입니다. 프로세스는 독립적인 메모리 공간을 갖고 실행되는 프로그램 단위이며, 스레드는 프로세스 내에서 실행되는 실행 단위이다. 스레드는 프로세스 내에서 메모리 공간을 공유하기 때문에, 스레드 간의 통신이 더욱 효율적으로 이루어진다. 데이터를 분할하여 병렬로 처리하기 때문에 큰 데이터를 처리할 때 빠른 속도를 보인다. 이 방식을 사용하면 대량의 데이터를 더 빠르게 처.. 2023. 4. 6.
RDB와 NoSQL 정규화, ACID / 다른 점 대규모 확장이 가능한 점 조인이 필요없다. RDB(Relational Database)와 NoSQL(Not only SQL)은 데이터 저장 및 관리 방식에서 차이가 있다. RDB는 관계형 데이터 모델을 사용하며, 데이터를 테이블 형태로 저장합니다. 반면 NoSQL은 관계형 데이터 모델을 사용하지 않으며, 키-값(Key-Value), 문서(Document), 그래프(Graph) 등의 형태로 데이터를 저장합니다. RDB는 SQL(Structured Query Language)을 사용하여 데이터에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행NoSQL 데이터베이스는 SQL이 아닌 특정 API를 통해 데이터에 접근 RDB는 데이터 일관성과 안정성을.. 2023. 4. 6.
오버로딩과 오버라이딩의 차이점 오버로딩(Overloading) 함수나 연산자 등의 이름을 동일하게 사용하면서 매개변수의 종류, 개수, 순서 등을 다르게 정의하는 것. 이는 프로그래머가 함수의 사용 방법을 좀 더 직관적으로 이해할 수 있도록 하며, 함수의 이름을 기억하고 호출하는 데 드는 어려움을 줄일 수 있다. 자바 컴파일러는 메소드를 호출할 때, 메소드의 이름과 전달하는 인자의 개수와 타입으로 어떤 메소드를 호출할지 결정하므로 같은 이름의 메소드라도 전달하는 인자의 개수와 타입에 따라 다른 메소드가 호출될 수 있다. public class Calculator { // int형 매개변수를 받는 함수 public int add(int a, int b) { return a + b; } // double형 매개변수를 받는 함수 public.. 2023. 4. 5.