본문 바로가기

Java116

[Spring] Spring 3계층 구조, 3-tier-Architecture Spring 3 계층Spring 3계층 구조는 Spring MVC 패턴에서 가장 대중적으로 활용되는 역할 분리 방법이다.아래와 같이 3-tier 방식으로 구성한다.Presentation Layer표현 계층, 화면 계층이라고도 한다. 이 계층은 웹에서 요청이 들어오는 것을 받아주는 계층이다.ㅇㅇController라는 Class를 만들어서 사용한다.@RestController@RequestMapping("/api/users")public class UserController{ @Autowired private UserService userService; @GetMapping("/{id}") public User getUser(@PathVariable ("id") Long id){ .. 2024. 11. 6.
[Spring] 관심사의 분리란? 관심사의 분리 파헤치기  홀로 요리, 홀 서빙, 주문 받기 등 가게에서 필요한 모든 일을 다하는 주방장이 있다고 치자.여기에서 관심사는 요리, 홀 서빙, 주문 받기가 될 수 있다.누군가는 이를 보고 비효율적이라고도 할 수 있다. 그렇다면 CS에서의 관심사의 정의가 무엇일까? 아래와 같다. 관심사(concern)컴퓨터 과학에서 관심사(concern)는 컴퓨터 프로그램의 코드에 영향을 미치는 특정한 정보 집합이다. 관심사는 데이터베이스 상호작용의 세세한 부분처럼 포괄적이거나, 기초적인 계산을 수행하는 등의 구체적인 경우일 수 있으며 이는 개발자, 그리고 논의되는 프로그램 간의 소통 수준에 따라 달라진다. 뭔가 추상적이긴 하다. 관심사의 분리에 알아보기 전에, OOP의 5대 설계 원칙중 하나인 SRP에 대해서.. 2024. 11. 5.
[백준 알고리즘 JAVA] 18870번 좌표 압축 https://www.acmicpc.net/problem/18870문제수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다.X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자.입력첫째 줄에 N이 주어진다.둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다.출력첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다.제한1 ≤ N ≤ 1,000,000-109 ≤ Xi ≤ 109 package week1;import java.util.*;public class.. 2024. 7. 16.
[백준 알고리즘 JAVA] 1541번 잃어버린 괄호 https://www.acmicpc.net/problem/1541     문제세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.입력첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다.출력첫째 줄에 정답을 출력한다. package week1;import j.. 2024. 7. 16.