All Categories

· Java
1. 빌더 패턴 (Builder Pattern)객체 생성 시 단계별로 생성 가능하게 도와주는 디자인 패턴객체의 생성 과정을 분리함 ⇒ 다양한 구성요소를 조합하여 객체 생성ex) 이름, 나이, 학년, 과목, 학점 등을 가지는 Person 클래스 ⇒ 이름, 나이만 갖는 객체 / 이름, 나이, 학년만 갖는 객체 등주로 매개변수가 많은 생성자, 불변객체 등을 만들때 유용함 1-1. 빌더 패턴 예제Person.java@ToStringpublic class Person { private String name; private int age; private double grade; // 빌더 사용 생성자 public Person(PersonBuilder builder) { thi..
· Spring Boot
1. 로깅 (logging)애플리케이션의 동작, 오류, 이벤트 등을 기록하는 과정로깅으로 작성된 로그를 통해 개발자가 애플리케이션의 상태를 모니터링하고 문제 진단, 성능 분석 가능주요 목적 : 오류 해결, 보안 감사, 성능 개선 등 1-1. 로그 기록 장소콘솔파일이메일/문자 (SMTP/SMS)DB 1-2. 로깅 레벨패키지나 클래스 별로 로그에 남길 정보의 정도 설정 가능(스프링 부트의 로그 프레임워크인 LogBack 의 로그 레벨) TRACE DEBUG INFO WARN ERROR좌측일수록 상세한 수준 (다음 레벨의 내용 모두 포함) / 우측일수록 중요한 수준ex) DEBUG 로그 : INFO, WARN, ERROR 로그를 모두 포함TRACE : 개발 단계에서 사용, DEBUG 레벨보다 상세한 수준의 로..
· Spring Boot
1. 테스트1-1. TDD (Test Driven Development)테스트 주도 개발테스트 코드를 먼저 작성 → 작성한 테스트 코드를 통과하게끔 실제 코드 작성하는 개발 방법 TDD 주요 원칙테스트 실패 확인실제 코드를 구현하기 전 테스트 케이스를 작성함요구사항을 테스트로 변환함으로써 명확한 목표 설정 가능!테스트 통과 가능 최소 코드 작성테스트 통과에 꼭 필요한 최소한의 코드만 작성함YAGNI (You Aren’t Gonna Need It) 원칙 적용코드 개선 리펙토링테스트 통과한 최소 코드를 개선함중복 제거, 가독성 향상을 목표 ⇒ 설계가 개선되고 유지보수성이 증가함! 1-2. 테스트 유형1-2-1. 단위 테스트메서드, 클래스와 같이 개별 코드 단위를 검증하는 테스트격리된 환경에서 실행1-2-2...
· Spring Boot
1. Geocoder API 2.0open weather map 의 현재 날씨 정보 API를 사용하기 위해서는 요청에 위도, 경도를 포함해야 함내 주소 (혹은 날씨를 알고 싶어하는 주소)의 위도, 경도를 알기 위해 사용함 1-1. Geocoder API 사용 방법1-1-1. 회원가입https://www.vworld.kr/v4po_main.do 브이월드국가가 보유하고 있는 공개 가능한 공간정보를 모든 국민이 자유롭게 활용할 수 있도록 다양한 방법을 제공합니다.www.vworld.kr해당 사이트에 접속 후 회원가입 진행 1-1-2. api 인증키 발급상단의 메뉴바 클릭 오픈 API > 인증키발급 클릭 약관 동의 후 이용 정보 작성 (아래는 예시)서비스명 : 날씨 웹 서비스 예제 프로젝트서비스 분류 : 교육서..
· Spring Boot
1. Jpa Auditing 이란?엔티티에서 발생한 이벤트를 추적하고 기록함이벤트 : 생성(create), 수정(update), 삭제(delete) 등Spring Data JPA 에서 기본적으로 Auditing 정보를 추가하는 기능 제공함 2. Jpa Auditing 주요 기능@CreatedDate엔티티 생성 시간을 자동으로 기록함@CreatedDateprivate LocalDateTime createdAt;@LastModifiedDate엔티티 최종 수정 시간을 자동으로 기록함엔티티 생성 시 생성 시간이 저장됨@LastModifiedDateprivate LocalDateTime editedAt;@CreatedBy엔티티를 생성한 사용자 정보를 자동으로 기록함@CreatedByprivate User crea..
· Spring Boot
1. JpaRepository 란 ?Spring Data JPA 에서 제공하는 DB접근을 위한 인터페이스JPA 기반으로 DB와의 상호작용을 간편하게 해줌CRUD 작업을 수행하는 메서드를 기본 제공개발자가 직접 구현할 필요 x ! 2. JpaRepository 사용 방법2-1. 라이브러리 추가build.gradleimplementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2-2. Repository 작성JpaRepository를 상속받음JpaRepositoryimport org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends J..
· Spring Boot
0. 사전 지식0-1. HTTP웹 서비스 : 정보 요청, 응답 시 HTTP 사용마찬가지로 스프링도 HTTP 사용 → 데이터 송수신직접 작성이 아닌 스프링에서 제공하는 @ResponseBody, ReseponseEntity 사용해서 응답을 빠르고 쉽게 작성 가능 0-2. @ResponseBodyHTTP 요청의 body 에는 여러 데이터가 존재함이 body의 데이터를 직렬화 해주는 어노테이션직렬화 : 현재의 데이터를 네트워크에서 송/수신 가능하도록 변경하는 것 1. ResponseEntity스프링 프레임워크가 제공하는 클래스HttpEntity 클래스를 상속받음 (+ http 상태코드 포함)HttpEntity : headers와 body로 이루어짐⇒ 사용자의 Http Request에 대한 응답 데이터를 포함!..
· Spring Boot
1. 트랜잭션한 묶음으로 처리되어야 하는 작업 (SQL 명령문) 들의 집합커밋 (commit)“정상 종료”트랜잭션의 실행 결과를 DB에 최종 반영하는 것롤백 (rollback)트랜잭션의 실행 결과를 반영하지 않고 취소하여 원래 상태로 되돌리는 것⇒ 복수 사용자의 동시 접근성 제어, 장애 발생 시 안정적으로 데이터 복구하기 위해 필요!! 2. 트랜잭션의 ACID 특성Atomicity (원자성)트랜잭션 안의 작업을 모두 성공적으로 완료 or 모두 철회하여 무효화 해야 함   ⇒ 전부 혹은 전무 (All or Nothing) 실행 규칙 적용Consistency (일관성)DB가 트랜잭션 실행 전의 일관된 상태 → 트랜잭션 실행 후 또 다른 일관된 상태 로 전환되어야 함Isolation (고립성)여러 개의 트랜잭..
공대생안씨
'분류 전체보기' 카테고리의 글 목록