본문 바로가기

분류 전체보기

(16)
Spring MissingServletRequestParameterException: Required String parameter '~~' is not present 오류 해결 org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter '~~' is not present 오류 해결 상황 api를 호출하면서 에러가 발생했다. @DeleteMapping(value = "/viewCategoryTemplate/{categoryNo}") public ApiResponseWrapper deleteTeam(@RequestParam(value = "teamNo") Long teamNo) { return teamService.deleteTeam(teamNo); } 똑같은 형태면서 POST로 호출하는 것은 잘 되었으나, DELETE로 호출하는 것은 에러가 났다. 인터넷을 찾아보니 넘..
제51회 SQLD 전공자 합격 후기 제 51회 SQLD 전공자 합격 후기 안녕하세요. 저는 컴퓨터 관련 학과를 주전공으로 졸업한 뒤, 백엔드 개발자로 인턴 3개월, 정규직 3개월 정도 일한 주니어 개발자입니다. SQLD을 따게 된 계기 백엔드 개발자로 짧지만 업무를 하면서 DB 쪽 직무도 재미있어 보였습니다. 그래서 나중에 기회가 된다면 SQLP를 따보자는 생각을 하게 되었고, 그러면 시간이 될 때 SQLD를 따두자는 결론이 나왔습니다. https://www.dataq.or.kr/www/board/view.do?bbsKey=eyJiYnNhdHRyU2VxIjoxLCJiYnNTZXEiOjU0MzI1MX0=&boardKind=notice 또한 내년 52회부터 시행되는 시험은 과목이 조금 바뀌어서 바뀌기 전에 미리 따는 게 낫겠다 싶었습니다. 이..
IntelliJ Cannot find symbol 에러, dependencies 빨간 줄 해결 IntelliJ Cannot find symbol 에러, dependencies 빨간 줄 해결 잘 돌아가던 프로젝트고, 안 돌아갈리가 없는데도 Cannot find symbol 에러가 뜨면서 Dependencies에 빨간 줄이 좍좍 가있는 경우가 있다. 이렇게... 이 화면은 intellij 우상단 maven -> 프로젝트명 -> Dependencies를 클릭했을 때의 화면이다. 이런 에러가 발생했을 때, 나의 경우는 모두 maven 프로젝트였다. gradle 프로젝트에서도 이 에러가 자주 발생하나 해결 방법은 통하지 않을 수도 있다... 내가 해결한 방법 intellij 우상단 Maven -> 프로젝트명 우클릭 -> Reload project 이 외에 인터넷에서 보이는 해결 방법은 아래와 같지만 나는 ..
Spring의 싱글톤 빈이 무상태여야 하는 이유 Spring의 싱글톤 빈이 무상태여야 하는 이유 자바의 메모리 구조 Method Area, Heap, Stack, PC Register, Native Method Stack이 있다 Method Area는 C에서의 코드(텍스트) 영역과 데이터 영역이 합쳐진 느낌?(내 생각) 클래서 정보, 전역 변수, static 변수의 정보가 저장된다 모든 스레드에 정보가 공유된다. Heap은 런타임 중 동적으로 할당되는 부분이며 가비지 컬렉터가 여기에 있는 사용하지 않는 값을 제거한다. 모든 스레드에 정보가 공유된다. Stack에는 지역변수가 저장된다. 스레드마다 각각 존재하기 때문에 스레드에 정보가 공유되지 않는다. 스프링으로 여러 요청이 동시에 들어오면? 톰캣은 스레드풀을 미리 만들어놓는다 그리고 요청이 들어올 때 ..
@RequestParam 사용법과 생략 @ReqeustParam 사용법 public String test(@RequestParam(value="name") String name) { ... } @RequestParam 사용법은 위와 같다. 파라미터로 받아올 키를 value로 지정해준다. 예를 들면 파라미터: ?name=kim 이렇게 요청이 오면 변수 name에는 kim이 들어간다. 여기에서 value를 생략할 수 있다. public String test(@RequestParam(value="name") String name) { ... } public String test(@RequestParam("name") String name) { ... } public String test(@RequestParam String name) { ... }..
org.apache.ibatis.executor.ExecutorException : No constructor found in ~ 에러 해결 상황 org.mybatis.spring.MyBatisSystemException:nested exception is org.apache.ibatis.executor.ExecutorException : No constructor found in ~ 해결 디폴트 생성자가 없어서 생기는 오류 @NoArgsConstructor를 클래스에 붙여주거나 직접 디폴트 생성자를 만들어주면 된다. public class Car { public Car() {} } 디폴트 생성자는 위처럼 만들어주면 되며 @NoArgsConstructor는 이 디폴트 생성자를 자동으로 만들어준다. 참고 https://doing7.tistory.com/8
assertThat() import가 안 될 때 해결 상황 IntelliJ에서 assertThat을 사용하려고 하는 상황. assertThat을 import를 시키기 위해 alt + enter 를 눌렀는데 내가 원하는 선택지가 나오지 않는다. 해결 assertThat에 ()를 붙여 assertThat()으로 작성한 뒤에 alt + enter를 누른다. mac은 option + enter 를 누르면 된다. 근데 나는 키보드 커서를 assertThat과 ()의 사이에 두고 단축키를 눌러야 저렇게 뜨더라...;; 참고 https://shinsunyoung.tistory.com/87
Java Collection, List, ArrayList Collection 등장 이유 배열은 선언과 동시에 배열의 크기가 초기화 되고 이후에 변경이 불가능하다. 배열은 같은 기본형 데이터 타입의 자료형만 저장할 수 있다. 배열에서 많이 사용하는 것(길이, 탐색 등)을 매번 구현해야 한다. 배열을 사용하며 많이 사용하는 자료구조(스택, 큐 등)을 매번 구현해야 한다. List 배열 대신 List를 사용하는 이유 배열 List 크기 고정으로 크기 할당 크기를 고정할 필요 없이 자동으로 늘어남 삽입/삭제 속도 느림, 많은 작업이 필요할 수 있음 빠름, 인덱스 값으로 삽입, 삭제 가능 메서드 자주 사용하는 것도 구현해야 함 자주 사용하는 것은 메소드로 사용 가능(길이, 탐색, 필터링 등) 저장 타입 기본형 데이터 타입의 자료형만 저장 가능 객체(Object) 저장 ..
Could not find org.projectlombok:lombok:.Required by: project : 에러 해결 Could not find org.projectlombok:lombok:. Required by: project : Possible solution: - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html 위 에러를 해결해보자 상황 dependencies { ... implementation 'org.projectlombok:lombok' } 해결 dependencies { ... implementation 'org.projectlombok:lombok:1.18.22' } 이렇게 버전을 추가해주면 해결된다. 참고..
Spring에서 Feign 사용하기 Feign Netflix에서 개발된 http client binder이다. interface, annotation 작성만 하면 되므로 비교적 간단하게 구현할 수 있다. 동기 방식으로 동작한다. 시작하기 dependency build.gradle implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' pom.xml org.springframework.cloud spring-cloud-starter-openfeign 2.1.3.RELEASE Application.java @SpringBootApplication @EnableFeignClients public class Application extends SpringBootServl..