본문 바로가기

전체 글151

[일지] Static 메서드로 생성하는 객체가 자동으로 save?? 요구 사항을 아래 처럼 정리 하였다. 가게는 카테고리 여러개를 가지고 있을 수 있다. 카테고리는 여러개의 가게를 가질 수 있다. 카테고리는 0개이상의 여러개의 자식을 가질수 있고 하나의 부모 혹은 부모를 가지지 않을 수 있다. 이를 그림으로 나타내면 이렇게 일대다 와 다대일로 풀어서 나타낼 수 있다. 개발 공부를 하던중 재밌는 사실을 하나 발견했는데 과정을 이야기 하겠다. Store와 Category를 연결하려는 작업을 하는데 자식 하나만 연결하면 자동으로 부모의 카테고리 까지 모두 포함시키는 함수를 작성하고자 했다. 위 처럼 카테고리와 가게를 넘기면 카테고리와 가게를 연결하는 categoryStore를 생성하는데 만약 category의 부모가 있다면 재귀로 호출하는 것이다. 만약 부모까지 적용해버리는 .. 2020. 9. 1.
[일지] TestRestTemplate 로 테스트 하면서 궁금했던 점(feat :NoSuchBeanDefinitionException) 테스트는 Junit5 에서 진행했고 @RunWith는 Junit5부터는 안써도 된다. 처음 궁금했던 건 아래의 테스트 코드는 오류가 난다는 것이다. 이 오류는 스택오버플로우 질문에서 해결했다. https://stackoverflow.com/questions/39213531/spring-boot-test-unable-to-inject-testresttemplate-and-mockmvc spring boot test unable to inject TestRestTemplate and MockMvc I am using spring boot 1.4.0.RELEASE. I am writing tests for my controller class. I get the following exception. org.sp.. 2020. 9. 1.
[JAVA] 2048(Easy) 삼성 기출 문제 (백준 12100) 전형적인 구현 문제 상하좌우를 그대로 구현했는데 다른 사람들 풀이 보니까 rotate 를 구현하고 방향 하나만 구현한 것이 많이 보였다.. 이렇게하면 확실히 코드 길이는 줄어 들듯 하다. 내 코드를 보면서 불필요한 부분들이 몇개 발견되었다. 먼저 나의 풀이를 소개한다. 만약 배열의 한줄만 생각한다고 가정하자. [2,2,0,4,4] 의 배열이 있을 때 오른쪽으로 이동하면 [0,0,0,4,8] 왼쪽으로 이동하면 [4,8,0,0,0] 이렇게 될 것이다. 왼쪽으로 이동할 때 어떻게 풀었는지 보자. 똑같은 크기의 0으로 가득차있는 배열 tmp = [0,0,0,0,0] 를 선언및 초기화한다. 그리고 비어있는 Deque 한개를 선언하고 boolean으로 ok =true를 선언하여 이전에 합쳐졌는지 안 합쳐졌는지 체크.. 2020. 9. 1.
백트래킹을 이용한 순열 in java static ArrayList nPkV2(int[] arr,int k){ ArrayList ret = new ArrayList(); boolean[] visited = new boolean[arr.length]; int[] resList = new int[k]; nPkdfsV2(ret,arr,resList,visited,k,0); return ret; } static void nPkdfsV2(ArrayList ret, int[] arr, int[] resList, boolean[] visited, int k,int idx){ if(k==idx){ List tmp = new ArrayList(); for(int i=0;i 2020. 8. 30.
[JAVA] 후보키 (kakao 2019 프로그래머스) 여기서 사용한 모든 기술은 아래 글에 기록하였다. https://onejunu.tistory.com/63 [JAVA] 비트 연산자를 이용하여 조합 & 부분집합 & 부분집합 여부파악 아래 배열을 계속 쓸 것이다. int[] arr = new int[]{1,2,3}; # 부분 집합 구하기 코드 생각 없이 그냥 부분 집합을 구한다고 하면 어떻게 구할까?? 1 2 3 1,2 1,3 2,3 1,2,3 그렇다면 비트 마스크로 한다면 아래. onejunu.tistory.com import java.util.*; class Solution{ static List ans = new ArrayList(); public int solution(String[][] relation) { int n = relation.lengt.. 2020. 8. 30.
[JAVA] 비트 연산자를 이용하여 조합 & 부분집합 & 부분집합 여부파악 아래 배열을 계속 쓸 것이다. int[] arr = new int[]{1,2,3}; # 부분 집합 구하기 코드 생각 없이 그냥 부분 집합을 구한다고 하면 어떻게 구할까?? 1 2 3 1,2 1,3 2,3 1,2,3 그렇다면 비트 마스크로 한다면 아래처럼 될 것이다. 100 010 001 110 101 011 111 1 = 선택함을 의미 0= 선택하지 않음을 의미 예를 들어, 위 처럼 "011" 이라면 arr 의 1은 선택하지 않고 2와 3을 선택함을 의미한다. 그래서 "001" 부터 "111" 까지 루프를 도는 코드는 아래와 같다. for(int i=1;i 2020. 8. 30.
[후기] 스프링 부트와 AWS로 혼자 구현하는 웹서비스 저자의 깃허브 주소: https://github.com/jojoldu/freelec-springboot2-webservice jojoldu/freelec-springboot2-webservice Contribute to jojoldu/freelec-springboot2-webservice development by creating an account on GitHub. github.com 개발의 큰 흐름을 파악하는데 큰 도움이 되었다. 물론 Spring Security 은 내부 구조는 어렵다... 책에서 얻을 수 있었던 지식들을 정리해본다. # 개발의 큰 흐름 파악 도메인과 레포지토리부터 개발 (Posts 도메인과 스프링 데이터 jpa 사용) api 개발 2-1. 도메인에 비즈니스 로직을 처리 2-2. .. 2020. 8. 29.
[일지] JPA Auditing 안먹는 이유는? 일반적으로 생성시간과 수정시간을 자동으로 등록하는데 이러한 설정이 먹히기 위해서는 Application이 실행되는 main 함수가 있는 클래스에 @EnableJpaAuditing 을 추가해줘야한다. 매번 까먹어서 적어둔다. 2020. 8. 25.
[일지] failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 혼자 구현하는 웹 서비스 책을 실습하면서 생긴 이슈다. h2 데이터 베이스를 in memory 방식으로 테스트 하려고 하던 도중 failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. url 속성이 명시 되어있지 않고 내장된 데이터소스 설정이 없다는 오류가 나온다. 설정할것도 없고 그냥 아래 한줄만 추가하면 된다고 했는데 무슨일 일까? 경로) src/main/resources/applications.properties 다시 build.gradle 파일을 살펴봤지만 잘못된 부분을 찾지 못했다. buildscript{ ext { springBootVersion.. 2020. 8. 25.