본문 바로가기

전체 글

(336)
Spring Boot - Bean 을 찾지 못하는 에러(Consider defining a bean of type) Autowired로 의존성을 주입했는데 Bean에서 찾을 수 없다는 뜻이다. 의존성을 회복시켜야하는데 일단 내가 스프링 초보이기도하고 구글링을 하다보니 찾은 방법을 기록한다. @EnableJpaRepositories(basePackages = {"bean에서 찾지 못하는 패키지의 위치"}) main 클래스에서 위와 같은 어노테이션을 추가하면 된다. 위 어노테이션은 JPArepository들을 활성화시켜준다. https://parkadd.tistory.com/106 [Spring Data JPA] JpaRepository를 상속받기만 하면 빈으로 등록된다? Spring Data Jpa를 사용하면서 우리가 사용하는 Repository 인터페이스는 아래와 같습니다. import org.springframewo..
Spring Boot - 연관관계 ex) 아래 창이 메인 페이지라고 해보자 게시글1 게시글2 게시글3 게시글4 [이전 페이지] /[ 다음페이지] -> 여기서 게시글을 클릭하면 게시글을 상세보기될 것이고 이전페이지, 다음페이지는 페이지가 넘어갈 것이다. 블로그라고 가정하면 게시글에 작성자: 제목: 내용: ----- 댓글: 이런식으로 구성될 것이다. 그렇다면 작성자 => User 테이블, 제목/내용 => Boad 테이블 , 댓글 => Reply 테이블을 가져온다. 여기서 만약 select * from Board where Id = 1; id가 1인 board 를 가져와라 라 하면 Java -------------------- JPA --------------------- DB Board(Id = 1) -> Join문을 날린다 user + b..
Spring Boot - JSP 사용설정 JSP란 Java Server Page 의 약자이다. HTML과 JAVA를 혼용하여 서버에서 동작하며 필요한 기능을 수행하고 수행된 데이터를 웹페이지와 함께 클라이언트로 보내준다. Spring은 기본적으로 데이터는 물론 파일 리턴까지 가능하지만 JSP파일 리턴은 본래 지원하지 않는다. 만약 RestController 였다면 저 " "안의 그대로 리턴했겠지만 컨트롤러 이기 때문에 html파일이 리턴된다. 이건 아무 문제가 없다. 기본적으로 컨트롤러에서 리턴이라하면 src/main/resorces/static/~ 이 안에서 찾아 파일을 리턴한다. 그런데 static 에서 눈치챌 수 있는데 여기는 정적 파일들만 들어갈 수 있다. HTML, 사진, TXT 등은 정적파일이다. Compile이 필요치 않다. 그러나..
Spring boot - lombok 라이브러리, builder Lombok 라이브러리에는 아주 유용한 기능들을 가지고 있다. 이클립스를 사용해 STS를 사용하는 사람들은 따로 설치를 해줘야 하지만 인텔리제이를 사용하는 사람들은 pom.xml에 추가만 해놓으면 된다. 1. @Data 이걸 보면 원래 자바 유저들은 "getter setter도 없는 그냥 빈 클래스군" 하겠지만 저 위의 @Data 는 getter setter가 숨겨져있는 것이다. 보다시피 getId를 사용할 수 있다. 2. @NoArgConstructor 이름부터 알 수 있듯이 인수가 없는 생성자가 생성된다. 3. @Builder 원래 원래 이 클래스를 생성하고 싶을 땐 id, username, password, email 모두 적어줘야한다. 만약 id를 빼고 생성하고 싶다면 오버로딩을 통해 하나의 생성..
백준 2293번 동전 1 (C++) 다이나믹 프로그래밍 문제는 정말 어려운 것 같다. 일단 모든 문제를 거의 O(N)으로 처리해야하는 엄청난 부담감과 아이디어.. 어쨌든 이 문제는 제한시간 0.5초로 매우 빡빡하다. 먼저 생각해볼 수 있는 DP 갱신은 두가지가 있다. 주어진 예제를 들면 3 10 1 2 5 먼저 DP[N] 에서 주어진 동전들로 N을 만들 수 있는 경우의 수를 저장하는 방법이 있을 것이다. DP[1] = 1 DP[2] = 2 DP[3] = 2 . . . DP[10] = 10 이 방법이 가능하다면 O(N)의 방법으로 해결이된다. 그러나 이 방법은 완벽한 점화식을 찾아낼 수 없었다. 왜냐하면 계속해서 입력값이 달라지기 때문이다. 그러니 이 방법은 틀렸다. 두번째 DP 갱신은 DP[N] 에서 N까지의 동전을 사용했을 때 몇번의 방..
백준 14499번 주사위 굴리기 (C++) 맞왜틀 때문에 정말 고생한 문제.. 사람들이 x,y 어쩌구 하는데 난 그게 문제가 아니었고 (그게 무슨 소리인지도 모르겠더라) 문제를 해석하는게 가장 중요했다. 1. 주사위가 기본적으로 어떻게 세팅되어있는지 확인해야한다. 2. 타일과 닿아있는 부분이 바뀌는데 출력은 주사위 윗부분임을 주의해야한다. 3. 주사위를 보드 바깥으로 보내면 반드시 아무 작업도 이루어지지 않아야한다. 난 3번을 그냥 출력만 안나오게 짰다가 맞왜틀의 늪에 빠져서 몇시간을 낭비했다 ㅠㅠ 가장 중요한 로직은 주사위를 동서남북으로 돌릴때 어떻게 돌려줘야할지가 문제이다. 다른 사람들은 모르겠지만 나는 전개도를 4x4 로 구성해 전개도를 계속 갱신해주었다. 이런식으로 주사위의 전개도를 갱신한다. 위는 예로 북쪽으로 이동했을 시이고 동서남북 ..
백준 11054 가장 긴 바이토닉 부분 수열 (C++) 부분 수열 시리즈 3번째이다. https://tigerfrom2.tistory.com/33 먼저 이 문제를 풀고 왜 dp를 쓰는지 알고 오는 것이 좋다. 백준 11053 가장 긴 증가하는 수열(C++) 처음 봤을 땐 "엥? 이거그냥 중복하면 받지말고 나중에 벡터 사이즈 넣으면 끝인데?" 라고 생각했다. 그런데 정답률이 낮아서 의아했다. 그리고 당연히 그런 문제가 아니었다. 이 문제의 가장 중 tigerfrom2.tistory.com 매우 비슷한 문제이지만 dp의 갱신 조건이 더 까다로워졌다. 위 문제는 증가하기만 하면 +1로 갱신이 편리했지만 바이토닉 수열은 따질 것이많다. 우선 바이토닉 수열이 무엇인지 알아야한다. 바이토닉은 증가하다가 감소하는 수열이다. 여기서 순증가나 순감소 수열도 바이토닉 수열에 ..
프로그래머스 - 짝지어 제거하기(C++) 문제 설명 처럼 2개 짝짓고 제거하면 시간초과로 풀 수 없다. 첫 풀이는 다음과 같았다. 먼저 abcc 이런식으로 a, b가 홀수개이면 절대 문장은 제거되지 않는다. 그렇기 때문에 먼저 원소들의 개수를 세는 작업을 했고 이 작업을 통과하였을 때 제거 연산을 해봤다. 그러나 별짓을 다 해도 저 3개의 효율 테스트를 통과할 수가 없었다... 결국 아이디어를 구하기 위해 질문하기를 보았는데 답은 "스택" 이었다. 최대 크기가 100만일 때 부터 알아봤어야하는데 나는 아직 멀었다. 85점까진 받았기 때문에 코테나 대회였다면 바로 넘겼을 문제이기는 하다. 스택을 사용한다. ex) dcaabbcd 가 들어왔을 때 1. d를 꺼내 c와 비교한다. 둘은 다르다! 그러므로 꺼낸 d를 또다른 서브 스택에 넣어둔다 . 현재..