일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Til
- 자바
- GIT
- 코딩문제
- css
- cs 공부)준비
- 정렬 알고리즘(sort algorithm)
- 코딩
- Spring
- 자료구조
- wil
- 이진 탐색(binary search)
- aop
- Java
- 회고
- 개발자 취업
- HTML
- 항해99
- 메서드
- 99클럽
- 코딩공부
- 코딩테스트 준비
- Grafana
- 프로그래머스
- 배열
- CS
- ArrayList
- github
- 면접(java
- Entity
- Today
- Total
목록프레임워크 (30)
hayu's 개발 일지
Access Token과 Refresh Token을 어디에 저장해야 할까?현재Access Token과 Refresh Token을 헤더에 담아 넘기고, LocalStorage에 저장하는 방식을 사용중이다.→ 이 방법이 보안에 취약하다는 글을 발견했다.토큰을 저장하기 위한 일반적으로 두가지 방식이 존재한다. 첫 번째는 LocalStorage 에 저장하는 방식이고, 두 번째는 Cookies에 저장하는 방식이다.대부분의 사람들은 쿠키에 저장하는 방식이 더 안전하다고 말한다.LocalStorage vs CookiesLocalStorage장점로컬 스토리지의 장점은 편리하다.LocalStorage에 저장된 access token은 Authorization Bearer ${access_token}과 같은 형식으로 HT..
"soft delete"와 "hard delete"는 데이터베이스에서 레코드를 삭제하는 두 가지 방법을 나타낸다.Soft delete소프트 삭제는 레코드를 실제로 삭제하지 않고, 대신에 삭제된 표시를 한 후에 그 레코드를 보존하는 방법이다. 이를 통해 데이터를 영구적으로 삭제하기 전에 복구할 수 있다. 일반적으로 소프트 삭제는 사용자가 실수로 데이터를 삭제했을 때 복구 가능하도록 하는 데 사용된다. 소프트 삭제는 데이터베이스의 특정 컬럼(예: "deleted_at")을 사용하여 삭제된 레코드를 식별한다. 삭제된 레코드를 쿼리할 때 이 컬럼을 체크하여 레코드가 삭제되었는지 확인할 수 있다.Hard delete하드 삭제는 레코드를 데이터베이스에서 완전히 제거하는 것을 의미한다. 이 작업은 삭제된 레코드를 복..
로그를 어디에 남길지 설정하기logback-spring.xml 에 파일 경로를 설정하는 코드를 추가한다. 시간관련 코드 작성(시간관련인지 확인 및 저장 / 보관 30일) ${FILE_LOG_PATTERN} ${LOG_PATH}/time-check/%d{yyyy-MM-dd}_%i.log 10MB 30 출력할 로그 레벨 기준과 사용할 appender 지정하기..

DTODTO(Data Transfer Object)는 데이터 전송 객체를 의미한다. 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체다.데이터를 전송하기 위해 사용하는 객체이기 때문에 순수하게 전달하고 싶은 데이터만 담겨있다.dto를 사용하지 않고, 엔티티로 사용하면?엔티티의 모든 속성이 외부에 노출된다. 예를 들어, UserEntity를 사용하면 민감한 정보가 외부에 노출될 수 있다.Model과 View가 강하게 결합되어, View의 요구사항 변화가 Model에 영향을 끼치기 쉽습니다.또한 UserEntity의 속성이 변경되면, View가 전달받을 JSON 및 프론트엔드 Js 코드에도 변경을 유발하기 때문에 상호간 강하게 결합됩니다.dto를 사용하면⇒ Model을..
즉시로딩 & 지연로딩즉시로딩과 지연로딩은 데이터베이스에서 데이터를 조회하는 방식 중에 하나로, 객체 간의 연관관계를 어떻게 로딩하고 관리할 것인지에 대한 개념이다.Fetch TypeFetch Type은 JPA가 하나의 엔티티를 조회할 때 연관관계에 있는 객체들을 어떻게 가져올 것인지를 나타내는 설정값이다.즉시 로딩(Eager Loading)엔티티를 조회할 때 자신과 연관되는 엔티티를 조인(join)을 통해 함께 조회하는 방식이다.→ 해당 엔디디와 연관된 모든 엔티티를 동시에 조회하는 방식예) A엔티티와 B엔티티가 연관되어 있을 때 A를 조회하면 B도 함께 조회된다. 이로 인해 객체 간의 관계를 필요한 시점에 바로 사용할 수 있다. 하지만 조인 등의 복잡한 쿼리가 생성될 수 있고, ..

AOPSpring AOP는 스프링 프레임워크에서 제공하는 기능 중 하나로 관점 지향 프로그래밍을 지원하는 기술이다.AOP는 로깅, 보안, 트랜잭션 관리 등과 같은 공통적인 관심사를 모듈화하여 코드 중복을 줄이고 유지 보수설을 향상하는데 도움을 준다.관점 지향 프로그래밍(Aspect-Oriented Programming, AOP) 이란?객체 지향 프로그래밍 패러다임을 보완하는 기술로 메서드나 객체의 기능을 핵심 관심사(Core Concern)와 공통 관심사(Cross-cutting-Concern)로 나누어 프로그래밍하는 것을 말한다.핵심 관심사를 각 객체가 가져야 할 본래의 기능이며, 공통 관심사는 여러 객체에서 공통적으로 사용되는 코드를 말한다. 관점 지향 프로그래밍의 정의는 핵심 관심사와 공통 관심사를..