Java
API 공통 응답 형식 정하기
API 공통 응답 형식 정하기
2023.10.23들어가기 앞서 API는 web FrontEnd, IOS, Android 등 어떠한 클라이언트도 이용할 수 있는 상황이다. 응답에 대해서 유연하고, 클라이언트에게 필요한 데이터를 유연하게 변경할 수 있어야 한다. 이런 조건을 만족시키는 공통 응답 형식을 만들어보자. 조건 살펴보기 응답 형식에는 다양한 조건이 있을 수 있다. 임의의 로 조건을 설정하고 필요한 이유에 대해서 알아보자. 1. HttpStatus가 포함 클라이언트의 보낸 요청에 대한 서버의 응답 코드이다. 이것을 통해서 클라이언트 측에서는 성공대인 200, 클라이언트 오류인 400대 등을 알 수 있으므로 포함돼야 한다. 2. 응답 메시지 HttpStatus만으로는 모든 상태를 설명할 수 없다. 그래서 메시지를 통해서 명확한 요청의 상태를 전달한다..
Java Null 처리에 대한 여정
Java Null 처리에 대한 여정
2023.10.16개요 개발을 하다 보면, null인 데이터를 처리해야 할 때가 있다. 반환만 한다면, 문제없지만 데이터를 가공한다면, NullPointerException을 마주치게 될 것이다. 따라서 null일 수 있는 데이터 판별과 어떻게 처리해야 할 지에 대한 고민을 적어보려고 한다. 지극히 개인적인 생각이 많으므로 자유롭게 댓글 달아주셔도 됩니다. 예시 객체 @AllArgsConstructor(access = AccessLevel.PROTECTED) @Builder @Getter public class Member { private String name; private LocalDateTime serviceStartTime; private Integer age; } 고민의 시작 위의 객체 데이터를 반환할 때 아래..
백준 12919 [자바] java A와 B 2
백준 12919 [자바] java A와 B 2
2022.01.04문제 링크: https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net ▶ 문제 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈이는 간단한 게임을 만들기로 했다. 두 문자열 S와 T가 주어졌을 때, S를 T로 바꾸는 게임이다. 문자열을..
[백준] JAVA 21758번 꿀 따기
[백준] JAVA 21758번 꿀 따기
2022.01.02문제 링크: https://www.acmicpc.net/problem/21758 21758번: 꿀 따기 첫 번째 줄에 가능한 최대의 꿀의 양을 출력한다. www.acmicpc.net ▶ 문제 ▶ 해설 총 3 가지의 케이스로 분류할 수 있다. 1. 벌벌 ~~꿀, 꿀 ~~ 벌벌 -> 벌 두 마리가 붙어있고, 꿀이 끝에 있을 때 2. 벌 ~ 벌 ~~꿀, 꿀 ~~ 벌 ~ 벌 -> 벌이 붙어 있지 않고 꿀이 끝에 있을 때 3. 벌 ~ 꿀 ~ 벌 -> 벌과 벌 사이에 꿀이 있을 때 import java.util.*; import java.io.*; public class Main { static int n; static int[] arr; public static void main(String[] args) thr..
디자인 패턴 DAO Pattern 개념과 예제
디자인 패턴 DAO Pattern 개념과 예제
2022.01.01DAO Pattern이란? ▶ 업무와 DBMS를 분리하기 위해 사용됩니다. 업무와 데이터 2계층을 분리하고, 서로 그 상태를 동일하게 유지(persistence) 할 수 있습니다. 먼저 jdbc를 사용하기 위한 라이브러리를 추가하겠습니다. 아래 링크에서 다운로드 하시면 됩니다. https://github.com/xerial/sqlite-jdbc/releases Releases · xerial/sqlite-jdbc SQLite JDBC Driver. Contribute to xerial/sqlite-jdbc development by creating an account on GitHub. github.com 파일을 다운로드하고 import하기 편한 위치에 저장하시면 됩니다. 1. Libaries 추가 in..
디자인 패턴 (싱글톤 패턴) Singleton Pattern 개념과 예제
디자인 패턴 (싱글톤 패턴) Singleton Pattern 개념과 예제
2021.12.31Singleton Pattern이란? ▶클래스가 한 개의 인스턴스만을 만들 수 있도록 하고, 어디서나 생성된 인스턴스에 접근할 수 있도록 합니다. 여러가지 방법으로 Singleton Pattern을 제작하므로 클래스 다이어그램은 생략하겠습니다. SingletonCalculator는 singleton으로 설계되었으며 더하기 연산과 빼기 연산을 수행합니다. 1. static 메소드/ static 변수 public class SingletonCalculator { public static SingletonCalculator calculator = null; private SingletonCalculator() { } public SingletonCalculator getCalculator() { if (cal..