본문 바로가기

분류 전체보기

(63)
02. SQL 활용 01. 서브쿼리(Subquery) 01) 메인 쿼리와 서브 쿼리 SQL에서 메인 쿼리(Main Query)와 서브쿼리(Subquery)는 데이터를 검색하고 조작할 때 자주 사용되는 개념입니다. 이들은 쿼리 내에서의 역할과 위치에 따라 구분됩니다. (1) 메인 쿼리 (Main Query) 메인 쿼리는 SQL 문에서 가장 바깥쪽에 위치하는 쿼리입니다. 데이터베이스에서 데이터를 직접 검색, 삽입, 업데이트 또는 삭제하는 데 사용됩니다. 메인 쿼리의 결과는 직접적으로 사용자에게 반환되거나, 다른 연산의 기초가 됩니다. (2) 서브쿼리 (Subquery) 서브쿼리는 메인 쿼리 내부에 포함되어 있는 쿼리로, 다른 쿼리의 일부로 실행됩니다. 서브쿼리는 일반적으로 메인 쿼리의 WHERE 절, FROM 절, SELECT..
02. 서블릿 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술에 대해 공부하고, 정리한 내용입니다. 01. Hello, 서블릿 서블릿은 자바를 사용하여 웹 프로그래밍을 할 때 클라이언트의 요청에 동적으로 반응하고, 그 결과를 반환하는 자바 프로그램입니다. 스프링 부트는 내장된 톰캣 서버를 포함하여 서블릿 기반의 웹 애플리케이션을 쉽게 구축할 수 있는 환경을 제공합니다. 그렇다면 스프링 부트 환경에서 서블릿을 등록하고 사용하는 실습을 진행하고자 합니다. 스프링 부트에서 서블릿을 활용하려면, 먼저 @ServletComponentScan 어노테이션을 사용하여 스프링 부트가 서블릿을 자동으로 찾아 등록하도록 설정합니다. 이 어노테이션은 스프링 부트 애플리케이션의 메인..
01. 웹 애플리케이션 이해 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술에 대해 공부하고, 정리한 내용입니다. 01. 웹서버, 웹 애플리케이션 서버 1) HTTP 통신 규약: HTTP는 웹상에서 데이터를 교환하기 위한 기본적인 규약입니다. 클라이언트와 서버 간의 모든 통신은 이 프로토콜을 통해 이루어집니다. 전송 가능 데이터: 텍스트, HTML 문서, 이미지, 음성 파일, 영상, JSON, XML 등 다양한 형태의 데이터를 전송할 수 있습니다. 이는 웹의 다양한 사용 사례를 가능하게 합니다. 서버 간 통신: 서버 간에 데이터를 주고받을 때도 대부분 HTTP를 사용합니다. 이는 HTTP의 범용성과 편의성 때문입니다. 2) 웹 서버 HTTP 기반 동작: 클라이언트의 HTTP..
01. SQL 기본 01. 관계형 데이터베이스 01) 관계형 데이터베이스 (1) 관계형 데이터베이스의 등장 이론적 기반 제공: 1970년, E.F. Codd가 IBM에서 "A Relational Model of Data for Large Shared Data Banks"를 발표하면서 관계형 데이터베이스 모델의 이론적 기반이 제공되었습니다. 데이터의 논리적 구조화: 관계형 모델은 데이터를 테이블로 구조화하여, 데이터 간의 관계를 논리적으로 표현할 수 있게 했습니다. 이는 데이터 관리와 질의 처리를 효율적으로 만들었습니다. SQL의 개발: 구조화된 질의 언어(SQL)의 등장으로 데이터 검색, 삽입, 수정, 삭제 등의 작업을 표준화된 방법으로 수행할 수 있게 되었습니다. 데이터 무결성 및 보안 강화: 관계형 데이터베이스는 데이터..
09. 빈 스코프 (작성 중!) 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 핵심 원리 - 기본편에 대해 공부하고, 정리한 내용입니다. 01. 빈 스코프란? 1) 빈 스코프 스프링에서 빈이라는 용어는 특정한 객체를 지칭합니다. 이 객체는 스프링 컨테이너의 관리를 받아, 스프링 컨테이너가 생명 주기를 관리하고, 의존성 주입을 처리합니다. 이러한 빈의 생명 주기에 대한 범위를 스코프라고 부릅니다. 그래서 빈 스코프라는 말은 결국 '빈이 존재할 수 있는 범위'를 의미합니다. (1) 싱글톤 스코프 우리는 보통 스프링 빈이 스프링 컨테이너가 시작되면서 생성되고, 스프링 컨테이너가 종료될 때까지 유지된다고 배웁니다. 이는 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문입니다. 싱글톤 스코프란, 스프링 컨테이너의 시작과 종..
02. 데이터 모델과 SQL 01. 정규화 01) 정규화 정규화는 데이터베이스 설계의 핵심 과정 중 하나로, 데이터의 중복을 최소화하고 데이터 무결성을 유지하기 위해 데이터를 구조화하는 방법입니다. 정규화 과정을 통해 논리적 데이터 모델링이 이루어지며, 이는 데이터베이스의 효율적인 운영을 보장하는 데 중요한 역할을 합니다. 정규화의 주요 개념과 목적을 구체적으로 정리해 보겠습니다. 데이터 중복 최소화: 중복된 데이터를 제거함으로써 저장 공간을 효율적으로 사용할 수 있습니다. 데이터 중복은 불필요한 데이터 공간의 낭비를 초래하고, 데이터의 불일치 문제를 발생시킬 수 있습니다. 데이터 무결성 유지: 데이터베이스 내의 데이터가 정확하고 일관되게 유지되도록 합니다. 정규화를 통해 데이터 간의 관계를 명확하게 정의함으로써, 데이터의 추가, ..
06. AOP 💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대해 공부하고, 정리한 내용입니다. 1) AOP가 필요한 상황 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 특정 기능을 애플리케이션의 여러 부분에 걸쳐 적용할 때 매우 유용한 프로그래밍 패러다임입니다. 특히, 모든 메소드의 호출 시간을 측정하거나, 특정 작업(예: 회원 가입, 회원 조회 등)에 대한 성능 모니터링과 같은 공통 관심 사항을 처리할 때 AOP가 필요한 상황이 발생합니다. (1) 모든 메소드의 호출 시간 측정 예를 들어, 애플리케이션의 성능을 분석하고자 할 때 모든 메소드의 실행 시간을 측정하고 싶다고 가정해봅시다. 이 작업..
SpringMVC의 HttpMessageConverter 뜯어보기 보호되어 있는 글입니다.