2024/11/13 5

[Spring] Spring 웹 애플리케이션 계층 구조

Spring 웹 애플리케이션 계층 구조📌  계층 구조는 애플리케이션을 여러 층으로 나누어 각 계층의 책임을 분리하여 관리하는 구조입니다. 이렇게 계층화하면 유지보수성, 확장성, 테스트 용이성 등이 향상됩니다. 대표적인 계층 구조는 Controller, Service, Repository, Domain(또는 Entity) 계층으로 나누어져 있습니다.네트워크 계층 구조와는 다른 개념입니다만, 계층구조라는 점에선 같습니다. 1. Controller 계층 (Web Layer)책임: 클라이언트의 HTTP 요청을 받아서 적절한 비즈니스 로직( 실제 문제를 해결하는 코드 = 문제 해결책 )을 처리할 서비스 계층에 전달하고, 처리 결과를 반환하는 계층입니다.역할:클라이언트(웹 브라우저, 모바일 앱 등)로부터 들어오는..

[Spring] 스프링 웹 개발 기초

웹 개발 방식📌 스프링에서 웹 개발 기초는 크게 세 가지 방식으로 나뉩니다: 정적 콘텐츠 제공 방식, MVC와 템플릿 엔진 방식, 그리고 API 방식입니다. 각 방식이 웹 애플리케이션에서 데이터를 제공하는 데 사용되는 방법이 다릅니다.   정적 콘텐츠 제공 방식📌 정적 콘텐츠는 서버에서 변하지 않는 고정된 데이터를 제공하는 방식입니다.HTML, CSS, JavaScript 파일 등과 같은 리소스를 정적 파일로서 서버가 직접 제공하므로, 사용자 요청 시 서버에서 바로 해당 파일을 전달해 줍니다.이런 방식은 스프링에서는 주로 /static, /public 폴더에 파일을 넣어 제공할 수 있습니다. 정적 콘텐츠는 빠르게 응답할 수 있지만동적인 데이터 제공이나 로직 처리가 불가능하다는 한계가 있습니다. 주로 ..

[JAVA] 계산기를 만들어보자!

요구사항 정의 및 설계요구사항 정의어떤 계산기 기능이 필요한지 명확히 합니다.예를 들어, 기본적인 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈), 괄호 사용, 제곱근, 제곱 등.사용자 인터페이스 방식 결정 : 콘솔 기반인지, GUI(그래픽 사용자 인터페이스) 기반인지.예외 처리 : 0으로 나누기와 같은 오류를 어떻게 처리할지 결정합니다.설계클래스 다이어그램: 계산기에 필요한 클래스를 설계합니다. 예를 들어, Calculator, Operation, Parser 등이 될 수 있습니다.기능 분해: 주요 기능을 메소드로 분리합니다. 예를 들어, add(), subtract(), multiply(), divide(), evaluateExpression() 등.데이터 흐름 설계: 데이터가 클래스 간에 어떻게 흐를지를 결..

Project/JAVA 2024.11.13

[JAVA] NULL

NULL📌참조 변수가 아무 객체도 가리키지 않음을 나타내는 특수한 값입니다.특징:객체가 생성되지 않았거나, 특정 객체를 참조하지 않는 상태를 나타냅니다.참조 타입(객체 타입)에만 사용할 수 있습니다. (예: String, Integer, 사용자 정의 클래스 등)원시 타입(예: int, float)에는 사용할 수 없습니다.null 값의 변수로 메서드를 호출하려고 하면 **NullPointerException**이 발생합니다.빈 공간 (Empty String)의미: 길이가 0인 문자열로, 내용이 없는 문자열을 의미합니다.표현: 빈 문자열은 "" (따옴표만 있는 문자열)로 표현됩니다.특징:문자열 객체가 존재하지만, 내용이 없습니다.메모리에는 문자열 객체가 생성되며, 이는 null과 다릅니다.isEmpty()..

Back-End (Web)/JAVA 2024.11.13

[JAVA] 쓰레드 & 람다 함수 & 스트림

프로세스📌 운영체제로부터 자원을 할당받는 작업의 단위 프로세스 작업 단위프로세스는 “실행 중인 프로그램”을 의미합니다.예를 들어 우리가 Java 프로그램을 실행시키면 이 프로그램은 프로세스라는 이름으로 운영체제 위에서 실행됩니다.즉, OS 위에서 실행되는 모든 프로그램은 OS가 만들어준 프로세스에서 실행됩니다.카카오톡, 브라우저, JAVA 프로그램 모두 프로세스로 실행되며크롬 브라우저를 2개 띄우면 크롬 브라우저 프로세스도 2개가 띄워진 것입니다.   프로세스 구조 📌 OS가 프로그램 실행을 위한 프로세스를 할당해 줄 때 프로세스 안에 프로그램 Code와 Data 그리고 메모리 영역(Stack, Heap)을 함께 할당해 줍니다. Code는 Java main 메소드와 같은 코드를 말합니다.Data는 프..

Back-End (Web)/JAVA 2024.11.13