PARTITION BY PARTITION BY 절에 ORDER BY 를 사용하면 누적 합계를 표시한다. 예시 아래와 같은 테이블이 있다고 해보자. 사원번호 이름 부서코드 급여 101 Alice mkt 3000 ...
[SQLD] 정규화, 비정규화, 정규형(1~5)
정규화 개념 데이터의 중복을 줄이고 무결성을 지키기 위해 사용하는 데이터베이스 구성 방법. 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 의미. 무결성의 종류는 4가지가 있는데, 여기서는 자세히 다루지 않음. 장점 데이터를 작고 관리하기 쉽게 나누어 데이터 중복을 제거. 단...
[Java] orElse 와 orElseGet 의 차이
개요 Optional 객체의 메서드인 orElse 와 orElseGet 은 매개변수로 메서드를 전달했을 때 다른 방식으로 작동한다. 결론부터 말하면 아래와 같다. orElse: null 여부와 상관없이 메서드 실행 orElseGet: null 일 때만 메서드 실행 Optional 객체의 값이 있는 경우에는 어떻게 동작하는지 살펴보자....
[Spring] 공통 Response 클래스 구현
작업 환경 OS: MacOS Java: 17.0.6 Spring Boot: 3.2.3 Gradle: 8.5 개요 백엔드에서 프론트엔드로 response 를 보내줄 때 공통된 형식으로 보내주고 싶었다. 예를 들어, 닉네임을 변경하는 API POST /member 는 기존에 아래와 같은 데이터를 response body 에 담아 ...
프로그래머스 Level 0 - 평행 (Java)
프로그래머스 - Level0 평행 문제 설명 문제 설명 생략 🙋♂️나의 풀이 🤔문제 접근 점을 각각 a, b, c, d 이라 하고, 각 점을 이어서 직선 2개를 만들 수 있는 경우의 수는 총 3가지이다. (a - b) 와 (c - d) (a - c) 와 (b - d) (a - d) 와 ...
[Spring] Spring Rest Docs 적용 및 Github Pages 자동 배포
개요 테스트 코드가 통과해야만 API 명세서를 생성해주는 Spring Rest Docs 를 로컬에서 적용하고, 생성된 API 명세서 결과 파일(html)을 Github Actions 을 이용해서 Github Pages 로 정적 배포하는 과정을 정리했다. 테스트 코드를 한번도 작성해본 경험이 없어서 테스트 코드에 대한 개념도 없고, Spring Re...
프로그래머스 Level 1 - 가장 많이 받은 선물 (Java)
프로그래머스 - Level1 가장 많이 받은 선물 문제 설명 문제 설명 생략 🙋♂️나의 풀이 🤔문제 접근 서로 주고 받은 선물의 개수와 선물 지수를 구하기 위해 아래와 같은 형식으로 데이터를 정리했다. { "giver1": { "receiver1": 2, // giver1 -> rece...
프로그래머스 Level 1 - [PCCP 기출문제] 1번 / 붕대 감기 (Java)
프로그래머스 - Level1 [PCCP 기출문제] 1번 / 붕대 감기 문제 설명 문제 설명 생략 🙋♂️나의 풀이 🤔문제 접근 attacks 2중 배열의 맨 마지막 원소에는 마지막으로 공격하는 시간에 대한 정보를 얻을 수 있다. 반복문을 이용해서 1초부터 마지막 공격 시간까지 현재 시간을 1초씩 증가시킨다. ...
프로그래머스 Level 1 - [PCCE 기출문제] 9번 / 이웃한 칸 (Java)
프로그래머스 - Level1 [PCCE 기출문제] 9번 / 이웃한 칸 문제 설명 문제 설명 생략 🙋♂️나의 풀이 🤔문제 접근 n * n 정사각형 보드판에서 주어진 좌표의 상, 하, 좌, 우에 적힌 색깔을 확인해야 한다. 현재 좌표(w, h)를 기준으로 상, 하, 좌, 우의 위치를 찾기 위해 directions in...
프로그래머스 Level 1 - [PCCE 기출문제] 10번 / 데이터 분석 (Java)
프로그래머스 - Level1 [PCCE 기출문제] 10번 / 데이터 분석 문제 설명 문제 설명 생략 🙋♂️나의 풀이 🤔문제 접근 data 2중 배열을 순회한다. 데이터를 뽑아낼 기준인 ext 에 해당하는 값이 val_ext 보다 작은 배열을 찾는다. 정렬을 기준으로 하는 값이 되는 sort_by ...