ALL Post 204

JPA 연관관계 매핑

다양한 연관관계 매핑 연관관계 매핑할 때 고려해야 할 세 가지가 있다. 다중성 먼저 연관이 있는 두 테이블의 관계를 파악해야 한다. 1:1관계인지 1:N관계인지, 다중성을 고려해야 한다. 방향 두 엔티티 중 한쪽만 참조하는 단방향인지, 양쪽 모두 참조하는 양방향인지 고려해야 한다. 연관관계 주인 단방향 관계라면 관계를 설정하는 쪽이 주인이 된다. 하지만 양방향이라면 관계의 주인을 정해야 한다. 보통 '다(N)'가 되는 쪽이 외래 키를 가지고 있기 때문에 연관관계의 주인이 된다. 다중성 연관관계가 가진 다중성 다대일(N:1) @ManyToOne 일대다(1:N) @OneToMany 일대일(1:1) OneToOne 다대다(N:N)@ManyToMany 다중성을 판단하기 어려울 때는 반대방향을 생각하면 된다. 일..

JPA 2020.11.14

자바 람다식(Java Lamda Expression)

github 람다식(LamdaExpression) 람다식은 익명 클래스와 동등한 기능을 하는 식(Expression)이다. 간단한 식만으로 익명 클래스의 거추장스러움을 벗어날 수 있다. 익명 클래스 new Object() { public void print(String msg) { System.out.println(msg); } } 람다식 msg -> System.out.println(msg);위 코드는 람다를 보여주기 위한 간단한 예시일 뿐, 실제로 저 print()를 호출할 수는 없다. 요점은 람다식을 이용하면 훨씬 간결해진다는 것이다. 람다식을 사용하기 위해서는 람다식과 동등한 추상메서드가 선언된 인터페이스가 필요하다. 여기서 '동등하다'는 것은 추상메서드와 람다식의 매개변수와 반환타..

Java 2020.10.29

배열에서 두 개 뽑아서 더하기

programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한� programmers.co.kr 직접 푼 코드 import java.util.*; class Solution { /** * 정수 배열 numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑은 다음, * 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return한다. * * Logic * 배열의 0번 인덱스부터 마지막 인덱스까지 반복하면서 * ..

알고리즘 2020.10.21

운영체제1

운영체제 Operating System 역할 1: 시스템 자원 관리자 Operating System 또는 OS라고 부른다. 시스템 자원(System Resource) = 컴퓨터 하드웨어 CPU, Memory I/O Devices(입출력 장치) 모니터, 마우스, 키보드, 네트워크 저장매체 : SSD, HDD 컴퓨터 하드웨어는 스스로 할 수 있는 일이 없다. 1. CPU : 각 프로그램이 얼마나 CPU를 사용할지 결정할 수 없다. 2. Memory : 각 프로그램이 어느 주소에 저장되어야 하는지, 어느 정도의 메모리 공간을 확보해야 하는지 메모리 자체가 결정할 수 없다. 3.저장매체(HDD, SSD) : 저장 매체 자체는 어디에 어떻게 저장할 지 결정할 수 없다. 4.I/O Devices : 마우스 자체가 ..

Study/운영체제 2020.10.18

Java - 단순 연결 리스트 구현하기

모든 코드는 github LinkedList LinkedList는 요소와 요소 간 연결link을 이용해서 List를 구현한다. 중요한 것은 연결은 무엇인가를 파악하는 것이다. 반대로 무엇이 연결이 아닌가, 를 생각해보는 것도 의미가 있을 것이다. ArrayList는 배열을 이용하므로 요소와 요소가 딱 붙어있다. 비유하자면 일렬로 줄 서 있다고 할 수 있다. LinkedList는 그렇지 않다. LinkedList의 요소들은 각각 어딘가에 흩어져 있고, 각 요소는 다음 요소가 어디 있는지에 대한 정보만 가지고 있다. ArrayList는 원하는 데이터가 몇 번 인덱스에 있는 줄만 알면 바로 접근할 수 있다. 반면 LinkedList는 첫 번째 요소에게 다음 요소의 위치를 묻고, 두 번째 요소에게 세 번째 요소..

자료구조 2020.10.17

선택정렬SelectionSort

선택정렬 SelectionSort 전체 코드 package com.algorithm; import java.util.Arrays; public class SelectionSort { /** * 배열 array와 array의 두 인덱스(i, j)를 매개변수로 받아서 * i번 인덱스와 j번 인덱스에 저장된 요소를 바꾸는 메소드 */ public static void swapElements(int[] array, int i, int j) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } /** * 배열 array와 start값을 매개변수로 받는다. * array[]의 start번째 인덱스부터 시작하여 마지막 인덱스까지 반복하면서 * 가장 작은 값이..

알고리즘 2020.10.08

알고리즘

? 상수시간constant time 실행 시간이 입력 크기에 의존하지 않으면 알고리즘은 상수 시간constant time을 따른다고 한다. 이를테면, n개의 배열에서 브래킷 연산([])을 사용하여 요소 중 하나에 접근할 때 이 연산은 배열의 크기와 관계 없이 같은 수의 동작을 한다. ? 선형linear 실행 시간이 입력 크기에 비례하면 알고리즘은 선형linear이라고 한다. 배열에 있는 요소를 더한다면 n개 요소에 접근하여 n-1번 더하기 연산을 해야 한다. 연산 요소(요소 접근과 더하기)의 총 횟수는 2n-1이고 n에 비례한다. ? 이차quadratic 실행시간이 n^2에 빌례하면 알고리즘은 이차quadratic라고 한다. 말하자면 리스트에 있는 어떤 요소가 두 번 이상 나타나는지를 알고 싶다고 하자...

알고리즘 2020.10.08

Ajax통신할 때 리턴타입이 void인 경우

{"readyState":4,"responseText":"","status":200,"statusText":"parsererror"} 간단한 게시판을 만드는데, 삭제 버튼 구현 중에, 자꾸 위와 같은 에러 메세지가 났다. 상태코드가 200인데 parse에러? 문제는 컨트롤러에 있었다. //삭제 api @DeleteMapping("/api/v1/posts/{id}") public void deletePost(@PathVariable Long id) { postsService.delete(id); //return id; } 이게 에러가 나던 코드다. 따로 리턴해 줄 필요가 없을 것 같아서 아무것도 반환하지 않았는데, 무언가를 반환해야만 제대로 처리되었다고 인식했다. 그래서 반환타입을 Long으로 바꾸고 파라..

ERROR!!!!!!! 2020.10.06

Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'local.server.port' in value "${local.server.port}"

ApiController테스트 중 에러가 발생했다. 테스트 코드는 이렇다. @Test public void posts_등록한다() throws Exception { //given String title = "title"; String content = "content"; PostsSaveRequestDto requestDto = PostsSaveRequestDto.builder() .title(title) .content(content) .author("author") .build(); String url = "http://localhost:" + port +"/api/v1/posts"; //when ResponseEntity responseEntity = restTemplate.postForEntity..

ERROR!!!!!!! 2020.10.06

nested exception is org.hibernate.exception.ConstraintViolationException

JPA 테스트 중 에러 Referential integrity constraint violation: "FKR1BMBLQIR7DALMH47NGWO7MCS: PUBLIC.REPLY FOREIGN KEY(BOARD_BNO) REFERENCES PUBLIC.BOARD(BNO) (75)"; SQL statement: insert into reply (board_bno, replyer, text) values (?, ?, ?) [23506-200]could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute ..

ERROR!!!!!!! 2020.10.02