All

@Component에 대해 (@Bean)
Spring 으로 개발을 할 때 @Bean과 @Component의 차이를 명확하게 알고 사용한 게 아니었다는 걸 알고정리를 하고자 오랜만에 글을 작성합니다.먼저 @Bean과 @Component의 차이를 다루고,@Component에 대한 Spring 공식문서를 읽으며 정리하고 마무리하겠습니다.두 애노테이션 모두 Spring Context에 해당 객체를 빈(Bean)으로 등록하기 위해 사용한다는 점은 공통점입니다.차이점은 1. 용도와 2. 제한이 있습니다.1. 용도개발자가 통제하지 못하는 외부 라이브러리를 가지고 와서 빈으로 등록하려고 할 때, @Bean을 사용할 수 있습니다.반면, 개발자가 직접 구현한 클래스를 빈으로 등록하려 할 때, @Component를 사용할 수 있습니다.결국,둘다 스프링의 의존성 주..

@RequestBody 붙였어??
준비 해당 포스팅의 제목이 이렇게 붙여진 이유는... 내가 그런 실수를 저질렀기 때문이다. ㅠㅠ 그래서 나의 바보짓을 공개적인 곳에 올리면서 제대로 기억할 겸 포스팅한다. @RequestBody 애노테이션은 한마디로 HttpRequestBody를 Java객체로 매핑해주는 애노테이션이다. 덕분에 API 요청으로 전송받은 JSON 데이터를 (우리가 따로 조작하지 않고도) 객체로 변환해서 받을 수 있게 된다. '@RequestBody'가 뭐지? 애노테이션 이름이 말해주는 그대로, 요청(Request)의 Body를 연결해주는 역할을 한다. 웹 요청의 body에는 json 형태로 데이터가 전달되는데, 컨트롤러 메서드의 매개변수 앞에 애노테이션 @RequestBody를 붙이면 해당 객체가 웹 요청의 body와 매핑..
![[MySQL, 윈도우] root 계정 비밀번호 재설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOLCGb%2FbtrGFGT6LRh%2FKEvHkVFZGEkTcRjqo8u55k%2Fimg.png)
[MySQL, 윈도우] root 계정 비밀번호 재설정
이번 포스팅에서는 윈도우에서 MySQL의 비밀번호 재설정하는 방법을 알아보겠습니다. 전체적인 순서는 아래와 같습니다. 1. MySQL 서비스 중지 2. 인증없이 접속할 수 있도록 재시작 (-skip-grant-tables 모드) 3. root 계정 접속 및 비밀 번호를 null로 설정 4. root로 비번 없이 접속 후 비밀번호 변경 (기존 모드 종료) 5. MySQL 서비스 시작 1. MySQL 서비스 중지 관리자 권한으로 명령 프롬프트(cmd)에 접속해야합니다. 아래 명령으로 작동 중인 서비스를 중지합니다. net stop MySQL80 2. 인증없이 접속할 수 있도록 재시작 (-skip-grant-tables 모드) 본인 PC에서 Data 경로를 확인해야합니다. 필자는 C:\\ProgramData\..
![[JPA] 쿼리 생성하는 메서드명의 keyword를 체크하자.](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7o3T5%2FbtrFTNGVeOD%2FajHbLbszuYQPc3EvxoJb60%2Fimg.png)
[JPA] 쿼리 생성하는 메서드명의 keyword를 체크하자.
에러 발생한 에러는 다음과 같습니다. Caused by: java.lang.IllegalStateException: Operator SIMPLE_PROPERTY on imageId requires a scalar argument, found class {클래스명} in method {메서드명}({메서드의 인자 path}). failed to creqte query ~~ 라고 하며 위와 같이 문제되는 메서드를 친절히 알려주는데, 해당 메서드가 쿼리를 만들어내지 못한다는 의미로 해석할 수 있습니다. 바로 아래 deleteAllByImageId() 메서드가 문제입니다. @Repository public interface ImageRepository extends JpaRepository { // 생략 void..
![[HackerRank] SQL 문제](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWmf2S%2FbtrIiLlu5gS%2FVkq2CWtnIM5zna7Kzrzuc0%2Fimg.jpg)
[HackerRank] SQL 문제
The STATION table is described as follows: 문제 1. weather-observation-station-3 link Query a list of CITY names from STATION for cities that have an even ID number. Print the results in any order, but exclude duplicates from the answer. where LAT_N is the northern latitude and LONG_W is the western longitude. 풀이 중복되지 않는 결과를 output하기 위해서는 SELECT 뒤에 DISTINCT를 붙입니다. SELECT DISTINCT CITY FROM STATION..
![[JAVA] baekjoon 2447 별 찍기-10](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJvFY2%2FbtrIfRz15J2%2FK2GfmMCoIfRko0YroyiR01%2Fimg.jpg)
[JAVA] baekjoon 2447 별 찍기-10
문제 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 이 문제는 재귀로 생각하는 것도 어려웠지만 공백과 별 찍는 것을 어떻게 채워나가야할지 규칙을 찾는 것이 힘들었다. 이해한 것을 기반으로 글을 작성해보려한다. 나의 풀이 입력으로 받는 N은 3의 거듭제곱(3, 9, 27, 81..)인데, 재귀적으로 패턴이 존재한다고 한다. 바로 아래와 같이 가운데 공간이 비어있는 패턴이다. *** * * *** 키워서 9X9인 크기로..