BACKEND 68

02. 개발에 앞서 알면 좋은 기초 지식 - REST API

REST API REST API는 대중적으로 가장 ㅁ낳이 사용되는 애플리케이션 인터페이스입니다. 이 인터페이스를 통해 클라이언트는 서버에 접근하고 자원을 조작할 수 있습니다. REST란? REST란 Representational State Transfer의 약자로, 월드 와이 웹과 같은 분산 하이퍼미디어 시스템 아키텍처의 한 형식입니다. 주고 받는 자원에 이름을 규정하고 URI에 명시해 HTTP 메서드를 통해 해당 자원의 상태를 주고 받는 것을 의미합니다. REST API란? API는 Application Prgramming Interface의 약자로, 애플리케이션에서 제공하는 인터페이스를 의미합니다. API를 통해 서버 또는 프로그램 사이를 연결할 수 있습니다. REST API란 REST 아키텍처를 따..

BACKEND/SPRING 2023.07.22

02. 개발에 앞서 알면 좋은 기초 지식 - 레이어드 아키텍처 및 디자인 패턴

레이어드 아키텍처(Layered Architecture) 레이어드 아키텍처(Layered Architecture)는 소프트웨어 시스템을 여러 개의 레이어(layer)로 분리하여 구축하는 아키텍처 패턴입니다. 각 레이어는 특정한 역할과 책임을 갖고 있으며, 서로 상위 레이어에서 하위 레이어로만 직접적으로 의존합니다. 이러한 분리된 레이어들은 시스템의 구조를 유연하고 관리하기 쉽게 만들어줍니다. 즉, 애플리케이션의 컴포넌트를 유사 관심사 기준으로 레이어로 묶어 수평적으로 구성한 구조이며 어떻게 설계한냐에 따라 용어와 계층의 수가 달라집니다. 프레젠테이션 레이어(Presentation Layer) 사용자와 시스템 사이의 상호작용을 처리하는 레이어입니다. 사용자 인터페이스(UI)를 담당하며, 클라이언트 요청을 ..

BACKEND/SPRING 2023.07.22

02. 개발에 앞서 알면 좋은 기초 지식 - 서버간 통신 및 스프링 동작 방식

애플리케이션이 어떻게 동작하는지, 왜 이렇게 구성되는지 생각하며 실습하기 위한 배경 지식을 알아봅시다. 서버 간 통신 단일 서비스 아키텍처와 마이크로서비스 아키텍처는 둘 다 소프트웨어 시스템을 구축하는 방법에 대한 접근 방식을 나타내는 용어입니다. 단일 서비스 아키텍처 (Monolithic Architecture) 단일 서비스 아키텍처는 하나의 큰 애플리케이션으로 구성되는 전통적인 아키텍처입니다. 모든 기능과 로직이 단일 애플리케이션 내에 포함되어 있으며, 모놀리식(모노리딕) 애플리케이션으로도 불립니다. 주로 모노리딕 애플리케이션은 단일 코드 베이스로 구성되며, 코드의 모든 부분이 하나로 통합됩니다. 애플리케이션의 규모가 커지면 코드 베이스가 점점 복잡해지고 유지보수가 어려워질 수 있습니다. 마이크로서비..

BACKEND/SPRING 2023.07.22

01. 스프링 부트란? - 스프링 프레임워크 vs. 스프링 부트

스프링 부트 공식문서를 보면 다음과 같은 내용이 안내되어 있습니다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration. 스프링 부트를 이용하면 단독으로 실행 가능한 상용 수준의 스프링 기반 애플리케이션을 쉽게 만들 수 있습니다..

BACKEND/SPRING 2023.07.22

01. 스프링 부트란? - 스프링 프레임워크

스프링 프레임워크(Spring Framework) 스프링 프레임워크는 자바 기반의 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능을 제공합니다. 스프링은 목적에 따라 다양한 프로젝트를 제공하며 그 중 하나가 스프링 부트 입니다. 또한 자바에서 가장 많이 사용하는 프레임워크로 국내 전자정부 표준 프레임워크의 기반 기술로 채택되어 공공기관 웹 서비스를 개발할 때도 사용됩니다. 스프링의 핵심가치는 "애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것" 엔터프라이즈급 개발 : 기업 환경을 대상으로 하는, 대규모 데이터를 처리하는 환경을 대상으로 하는 개발 프레임워크 : 소프트웨어 개발을 위한 기반 구조나 틀을 제공하는 도구나 환경..

BACKEND/SPRING 2023.07.21

객체지향 프로그래밍과 SOLID 원칙 그리고 Spring

시작하며. 스프링을 본격적으로 공부하기 전에 스프링이 도입 된 배경과 이와 관련된 객체지향 프로그래밍부터 차근차근 정리해보려 합니다. 객체지향 프로그래밍을 하는 이유? 대규모 서비스 개발 그리고 기능 개선과 같은 소프트웨어 개발 작업은 지속해서 변화하고 수정할 수 있어야 합니다. 이를 위해 코드의 재사용성, 유지보수성, 확장성, 가독성 등을 향상시키고 복잡한 시스템 개발을 보다 구조적이고 효율적으로 관리할 수 있는 방법이 필요합니다. 이런 부분을 해소하기 위해 다양한 프로그래밍 패러다임이 시대적으로 제시되었으며 보다 적합한 대중적인 방법 중 하나가 바로 객체지향 프로그래밍입니다. 객체지향과 객체지향 프로그래밍 객체지향(Object-Oriented)은 소프트웨어 개발 패러다임으로, 현실 세계의 개념과 구조..

BACKEND/SPRING 2023.07.11

SQL 튜토리얼 - IN, BETWEEN, Aliases 이해하기

IN. IN 키워드는 주어진 값 목록과 일치하는 값을 검색하는데 사용 IN 절은 SELECT 문의 WHERE 절과 함께 사용 SELECT column1, column2, ... FROM table_name WHERE column_name IN (value1, value2, ...) -- "독일", "프랑스" 또는 "영국"에 있는 모든 고객을 선택 SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK'); BETWEEN. BETWEEN 예약어는 주어진 범위 내에 있는 값을 검색하는 데 사용 BETWEEN은 SELECT 문의 WHERE 절과 함께 사용 SELECT column_name(s) FROM table_name WHERE column_..

BACKEND/DATABASE 2023.06.21

SQL 튜토리얼 - WILDCARD 이해하기

Wildcard Characters. 와일드카드는 특정 패턴에 일치하는 문자열을 검색하는 데 사용되는 특수 문자 와일드카드 문자들은 LIKE 절과 함께 SELECT, UPDATE, DELETE 등의 SQL 문에서 사용 %: 0개 이상의 문자와 일치합니다. 어떤 문자열이든 사용 가능 예) WHERE name LIKE 'J%'는 'J'로 시작하는 모든 이름과 일치 -- ber 로 시작하는 도시 SELECT * FROM Customers WHERE City LIKE 'ber%'; -- se로 끝나는 도시 SELECT * FROM Customers WHERE City LIKE '%se'; -- 이름에서 ni를 포함하는 고객 SELECT * FROM Customers WHERE ContactName LIKE '%..

BACKEND/DATABASE 2023.06.20

SQL 튜토리얼 - Min, Max, Count, Avg, Sum, Like 이해하기

MIN. "MIN"은 지정된 테이블의 특정 열에서 최소값을 검색하는 데 사용되는 함수 SELECT MIN(열이름) FROM 테이블이름; -- 전체 상품 SELECT * FROM Products; -- 최소값 SELECT MIN(Price) AS SmallestPrice FROM Products; MAX. 특정 테이블의 열에서 최대값을 검색하는 데 사용 SELECT MAX(column_name) FROM table_name; SELECT MAX(Price) AS LargestPrice FROM Products; COUNT. 지정된 열의 행 수를 계산합니다. 조건에는 특정 필터링 조건을 포함 SELECT COUNT(column_name) FROM table_name WHERE condition; SELECT..

BACKEND/DATABASE 2023.06.19

SQL 튜토리얼 - UPDATE, DELETE 이해하기

UPDATE. 테이블의 기존 데이터를 수정 또는 업데이트하는 데 사용됩니다. UPDATE 문은 테이블에서 특정 조건을 충족하는 행을 선택하고, 해당 행의 열 값을 변경합니다. UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 위의 쿼리에서 table_name은 데이터를 수정할 테이블의 이름입니다. SET 절은 수정할 열과 새로운 값을 지정합니다. WHERE 절은 업데이트할 행을 선택하기 위한 조건을 지정합니다. UPDATE 시 WHERE 명령어를 꼭 사용해 전체 데이터가 바뀌지 않게 주의하자. -- 업데이트 전 조회 SELECT * FROM Customers WHERE CustomerID=1; UPDATE Cust..

BACKEND/DATABASE 2023.06.16