[Spring, Spring Boot] @RequiredArgsConstructor란 ?
프로그래밍/Java2024. 4. 1. 00:03[Spring, Spring Boot] @RequiredArgsConstructor란 ?

@RequiredArgsConstructor란 ?Lombok으로 스프링에서 DI(의존성 주입)의 방법 중에 생성자 주입을 임의의 코드없이 자동으로 설정해주는 어노테이션입니다.@RequiredArgsConstructor는 초기화 되지 않은 final 필드나, @NonNull이 붙은 필드에 대해 생성자를 생성해줍니다 !새로운 필드를 추가할 때 다시 생성자를 만들어서 관리해야하는 번거로움을 없애줍니다.(@Autowired를 사용하지 않고 의존성 주입할 수 있습니다.) [@RequiredArgsConstructor 예시]@Controller@RequiredArgsConstructor@RequestMapping("/user")public class RequiredArgsConstructorControllerExa..

[Spring, Spring Boot] @Controller와 @RestController
프로그래밍/Java2024. 3. 31. 23:52[Spring, Spring Boot] @Controller와 @RestController

@Controller와 @RestController란?Spring과 Spring Boot에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다.Spring MVC의 컨트롤러인 @Controller와 Restful 웹서비스의 컨트롤러인 @RestController의 차이점은 HTTP Response Body가 생성되는 방식입니다.  @Controller란?전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 아래와 같은 과정을 통해 Spring MVC container는 Client의 요청으로 부터 View를 반환합니다. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.DispatcherSer..

[CS] 트랜잭션이란 ? (Spring/Spring Boot)
IT이론/데이터베이스2024. 3. 25. 23:53[CS] 트랜잭션이란 ? (Spring/Spring Boot)

트랜잭션(Transaction)이란: DB 상태를 변환 시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위입니다.쪼갤 수 없는 여러 작접들을 논리적으로 최소 단위로 묶은 것입니다. 트랜잭션의 예시 상황많은 블로그에서 보셨던 방식으로 접근해 보겠습니다 !온라인 쇼핑몰을 결제할 때, 두가지 작업을 거쳐야합니다.첫 번째 판매처에 돈을 송금하기, 두 번째 판매처에서 고객이 보낸 돈을 받기 두 작업을 한 트랜잭션이라고 할 경우 판매처에 돈을 보냈는데 판매처에서 고객이 보낸 돈을 받지 못하는 경우나, 고객이 돈을 보내지 않았는데 판매처에서 돈을 받는 경우가 생기면 안된다.모든 작업이 성공적으로 완료되어야 작업 결과를 적용(commit)하고, 트랜잭션에 속한 모든 작업 중에(1번이나 2번 둘 중) 하나라도 오류가..

[React] npm start, Proxy관련 오류
Error2024. 3. 21. 19:55[React] npm start, Proxy관련 오류

오류여느날과 같이 npm start를 입력하는 중....갑자기 아래와 같은 에러가 발생했습니다.....Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.options.allowedHosts[0] should be a non-empty string검색해보니 등록해놓은 Proxy 설정에 문제가 있다는 것을 알게되었습니다 !packge.js에 "proxy" : "http://localhost:8889"를 지우면 다시 작동된다는 것을 알게되었고, 삭제한 이후 다시 실행했더니 정상적으로 작동하였습니다 !그럼 Proxy 설정은 어디에서 해야되는지 찾아봤다 ! 해..

[IntelliJ].properties to .yml
설정2024. 3. 18. 23:59[IntelliJ].properties to .yml

application.properties파일로 작업을 하다 yaml 형태의 파일이 필요하여 찾아보니 IntelliJ 내부에서 아주 좋은 플러그인이 있어 공유하려고합니다 !Plugin 마켓에서 'Properties to YAML Converter' 라는 플러그인을 설치 후 IntelliJ를 재시작 해줍니다 !properties 파일을 마우스 우클릭하면 'Conver Properties to YAML' 이라는 메뉴를 선택하면 파일의 확장자가 properties에서 yml 확장자로 변경되고 내용도 yaml 형태로 변경됩니다 :)* 동일한 이름의 파일이 있을 경우 확장자 변경이 안되는 점 주의하셔요 !

[Java, 자바] 프로그래머스 타겟 넘버
알고리즘/프로그래머스2024. 3. 18. 13:20[Java, 자바] 프로그래머스 타겟 넘버

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/43165 # 난이도 : LV2 # 알고리즘 분류 : DFS, BFS 문제내용 제한사항 입출력 예 풀이방법 이번 문제는 numbers 배열의 모든 경우의 수를 구하는 문제입니다 ! 추가적인 조건으로 더하기와 빼기가 골고루 섞여야한다는 점 ! DFS를 진행하기 위해서 매개변수로 Level과 누적합, 배열과 target을 매개변수로 전달하였습니다. DFS를 호출할 때 L과 sum은 0을 초기값으로 전달해주고 DFS내부에서 다음 DFS로 호출할 때 L은 1을 더해주고, 더하기와 빼기가 모두 이루어져야하기 때문에 sum은 numbers[L] 값을 더한 값과 뺀 값을 따로 전달해주었습니다. L..

[Java, 자바] 프로그래머스 주식가격 문제
알고리즘/프로그래머스2024. 3. 18. 13:08[Java, 자바] 프로그래머스 주식가격 문제

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/42584 # 난이도 : LV2 문제내용 제한사항 입출력 예 풀이방법 이번 문제는 설명이 많이 이해하기 어려웠습니다....저 뿐만 아니라 많은 사람이 그렇게 느낀 것 같더라구요.... 이해하기 쉽게 잘 정리해 놓으신 분의 내용을 참고하여 풀이하였습니다. 간단하게 요약하자면 각 초의 주가를 기준으로 해당 초부터 n초 사이에 가격이 떨어지지 않는 시간을 구하는 문제이더라구요 ! 그래서 Queue를 활용하여 문제 풀이를 진행하였으며, target이라는 변수에 Q에 있는 주가를 poll한 뒤 Q에 남은 값을 활용하여 answer의 인덱스를 증가 시켜주었며, target가 Q의 주가보다 클 때..

[Java, 자바] 백준 7576번, 토마토
알고리즘/백준2024. 3. 15. 17:54[Java, 자바] 백준 7576번, 토마토

백준 7576번 👉🏻 https://www.acmicpc.net/problem/7576 # 난이도 : 골드5 # 알고리즘 분류 : 그래프 이론, 그래프 탐색, 너비 우선 탐색 문제내용 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자..

image