본문 바로가기
728x90

CS6

[Spring] 03. AOP(관점 지향 프로그래밍)과 PSA(서비스 추상화) 💡 먼저 이전 글을 읽고 오자!더보기   스프링 프레임워크는 객체 지향 프로그래밍의 장점을 극대화하기 위한 여러 기법을 도입하고 있다. 그 중에서도 AOP(Aspect-Oriented Programming)와 PSA(Portable Service Abstraction)**는 각각 코드의 재사용성을 높이고, 다양한 서비스와의 유연한 통합을 가능하게 하는 핵심 개념이다. 이러한 기법들은 개발자가 비즈니스 로직에 집중하면서도, 시스템의 유지보수성과 확장성을 높일 수 있도록 돕는다. ⓵   AOP(Aspect-Oriented Programming)   관점 지향 프로그래밍이라고 불리는 개념은, 공통 기능을 비즈니스 로직과 분리해주는 개념이다. 예를 들어, 로그 기록이나 보안 체크 같은 기능을 모든 메서드에 추.. 2025. 2. 20.
[HTTP - 2 ] URL 입력에서 웹 페이지 출력까지: HTTP 요청과 응답 과정 이해하기 ↘️ 관련 글 읽기[HTTP - 3 ] HTTP의 특징:쿠키(Cookie)와 세션(Session)의 차이점[HTTP - 1 ] HTTP란? : PUT과 PATCH의 역할과 차이점    📍주소창에 www.google.com 쳤을 때 나오기까지의 과정  1. URL 입력브라우저의 주소창에 www.google.com을 입력하면, 브라우저는 이 주소를 처리하기 시작한다.URL은 사용자가 원하는 웹 페이지를 요청하기 위한 출발점이다.2. DNS를 통해 서버의 IP 주소 찾기인터넷은 숫자(IP 주소)로 통신하지만, 사용자는 기억하기 쉬운 도메인 이름(예: www.google.com)을 사용한다.브라우저는 DNS 서버에 도메인 이름을 보내고, 해당 이름에 연결된 서버의 IP 주소를 받아온다.예: 142.250.19.. 2025. 2. 20.
[ DB - 3 ] 인덱싱(Indexing)이란? : 인덱싱을 하는 이유 💡 [DB] 이전 글 다시 보기[ DB - 2 ] 트랜잭션(Transaction): 데이터 무결성이란[ DB -1 ] 관계형 데이터베이스(RDB)와 NoSQL의 차이점 📍 인덱싱(Indexing)이란? 데이터베이스에서 검색 속도를 향상시키기 위해 특정 컬럼에 적용하는 기법이다.데이터를 효율적으로 조회할 수 있도록 추가적인 자료구조를 생성하여 테이블의 특정 열을 기반으로 빠르게 접근한다. 📍 인덱스의 특징주요 목적대규모 테이블에서 검색 속도를 높이기 위해 사용된다.특히, 자주 조회되는 컬럼(조건문, 정렬 등에 사용)에 인덱스를 적용한다.자료구조일반적으로 B-Tree 자료구조를 사용하여 구현된다.B+-Tree는 B-Tree의 변형으로 검색 성능이 더 빠르지만, 수정, 삭제 시 오버헤드가 더 크다. 사용.. 2025. 2. 20.
[ DB - 2 ] 트랜잭션(Transaction): 데이터 무결성이란 💡 [DB] 관련 글 다시 보기 [ DB - 3 ] 인덱싱(Indexing)이란? : 인덱싱을 하는 이유[ DB -1 ] 관계형 데이터베이스(RDB)와 NoSQL의 차이점 📍 DB가 백엔드 개발자에게 중요한 이유백엔드 개발자는 WAS(Web Application Server)와 DB(Database)의 상호작용을 이해하고, 성능 이슈 및 오류를 처리할 수 있어야 한다.WAS에서 발생하는 오류뿐만 아니라 DB의 응답성 저하 또한 시스템 성능에 영향을 미칠 수 있으므로, DB의 구조와 동작 원리를 이해하는 것이 중요하다.효율적인 데이터 처리와 관리, 최적화된 질의(Query) 작성 및 문제 상황의 원인 분석을 위해 DB 지식은 필수적이다. 📍 트랜잭션이란?트랜잭션(Transaction)이란 데이터베이스.. 2025. 2. 20.
[ DB -1 ] 관계형 데이터베이스(RDB)와 NoSQL의 차이점 💡 [DB] 관련 글 읽기 DB - 2 ] 트랜잭션(Transaction): 데이터 무결성이란[ DB - 3 ] 인덱싱(Indexing)이란? : 인덱싱을 하는 이유   1. 관계형 데이터베이스(RDB, Relational Database)데이터를 테이블(표) 형식으로 저장하는 데이터베이스.행(Row)과 열(Column)로 데이터를 관리하며, 데이터 간의 관계를 정의하고 연결.특징:정해진 스키마를 기반으로 데이터를 저장.데이터 중복을 최소화하기 위해 정규화를 사용.강력한 트랜잭션 처리(ACID 특성)로 데이터 무결성을 보장.2. NoSQL (Not Only SQL)테이블 형식이 아닌 다양한 방식으로 데이터를 저장하는 데이터베이스.정형화된 데이터뿐만 아니라 비정형 데이터(문서, JSON 등)를 저장 가능.. 2025. 2. 20.
[자료구조 - 1 ] 배열(Array)와 연결 리스트(Linked List) 차이점 배열(Array)와 연결 리스트(Linked List)는 각각의 메모리 구조, 시간 복잡도, 그리고 사용 상황에 따라 장단점이 있다.1. 메모리 구조Array데이터를 연속적으로 저장하며, 고정된 크기의 메모리 블록을 사용함.데이터가 연속적으로 저장되므로 즉시 접근(랜덤 접근)이 가능하여 O(1)의 접근 시간 복잡도를 가짐.메모리 낭비가 발생할 수 있음: 배열은 정해진 크기보다 작은 데이터를 저장해도 미리 할당된 메모리를 점유하기 때문.스택(Stack) 영역에서 할당되며 컴파일 시 크기가 정해짐.  Linked List데이터를 불연속적으로 저장하며, 각 노드가 데이터와 다음 노드의 주소를 저장하는 구조로 이루어짐.데이터 접근 시 순차 접근만 가능하여 특정 인덱스를 조회하려면 O(n)의 시간이 소요됨.필요한.. 2025. 2. 20.
728x90
반응형