전체 글
-
자바 ORM 표준 JPA 프로그래밍, 김영한카테고리 없음 2024. 10. 22. 13:21
모르는 프로그래밍 개념과궁금한 부분 추가 학습 3 영속성 관리detached 상태의 엔티티는 더이상 영속성 컨텍스트에 존재하지는 않지만, heap에 객체로 남아 있다.detached 상태의 엔티티는 merge()로 다시 영속성 컨텍스트에 병합되어 관리될 수 있다. (재사용 가능)Removed: 메모리에 남아 있을 수 있지만, 더 이상 유효하지 않으며, 곧 데이터베이스에서 삭제될 예정. 더 이상 사용되지 않아야 함. When do entities get detached and removed?Detached: 트랜잭션 종료, 명시적 detach() 호출, 영속성 컨텍스트 종료, 서비스 메서드 종료 시 발생.Removed: remove() 메서드를 호출할 때 발생.=> 대부분의 경우 그냥 detached임..
-
Spring 공식 문서 읽기 - Error Responses카테고리 없음 2024. 8. 26. 23:29
원문: https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-ann-rest-exceptions.htmlSpring Framework > Web on Servlet Stack > Spring Web MVC > Error ResponsesError ResponsesREST 서비스에 대한 흔한 requirement는 오류 응답 본문에 세부 정보를 포함시키는 것이다. 스프링 프레임워크는 " Problem Details for HTTP APIs"를 지원한다 (해당 표준은 RFC 9457로, RFC 7807를 대체했다).이 지원에 대한 주요 추상:ProblemDetail - RFC 9457 문제 세부 정보에 대한 representation. 간단한 ..
-
Spring 공식 문서 읽기 - Exceptions카테고리 없음 2024. 8. 26. 21:39
원문 : https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-servlet/exceptionhandlers.htmlSpring Framework > Web on Servlet Stack > Spring Web MVC > DispatcherServlet > Exceptions Exceptions요청 매핑 중에 예외가 발생하거나 요청 핸들러(예: @Controller)에서 예외가 발생하면, DispatcherServlet은 예외를 해결하고 alternative 처리를 제공하기 위해 -오류 응답이 전형적- HandlerExceptionResolver 빈의 묶음(chain)에 위임한다.HandlerExceptionResolver implementa..
-
Toy Project 기록카테고리 없음 2024. 8. 21. 14:57
일정8/5 ~ 8/18 2주 간5~7일: DB 논리 모델링, 물리 모델링, 더미 데이터 확인 작업, 컨벤션과 브랜치 전략 등에 관한 회의들7~11일: dto, dao, mapper(mybatis), dao test(Junit)12~16일: service, global util and exception, controller, controller test(Swagger)17~18일: code organizing and review, document work 스프링스프링 컨테이너는 자바 객체(Bean)의 생명 주기를 관리한다스프링 컨테이너의 구조ApplicationContext는 인터페이스의 형태이기 때문에 때문에, 다형성을 적용할 수 있다. 인터페이스를 통해 서로 다른 구현체들이 서로 다른..
-
DB 고민: PK, 정규화와 역정규화공부 2024. 7. 1. 00:31
정규화,역정규화 + DB 스키마테이블에서 키가 될 수 있는 조건들unique : 테이블 안에서 동일한 값이 없어야 함not null : Null값이 포함되면 안 됨최소성 : 키가 너무 많으면 성능이 저하된다불변성 : 다른 테이블에 참조될 수 있기 때문에 자주 변하는 것은 좋지 않다정규화1NF 컬럼이 하나의 값(원자값)을 갖도록 : 다중값을 가진 취미 컬럼을 여러 row로 펼치기2NF 완전 함수 종속적이도록 : 테이블의 주제는 단 한가지. PK가 모든 데이터 하위 집단에 대해 별도의 테이블을 생성해야 함. 복합PK의 부분이 다른 컬럼을 결정하지 않아야 함 (강좌이름 → 강의실이 학생 성적 테이블에 같이 존재하는 경우 강좌이름에 의존하는 컬럼을 분리)3NF 이행적 종속 없애기 : 기본 키에 변경이 있는 경우..
-
[JAVA] final공부 2024. 6. 22. 12:26
final final 지역변수 : 지역 내 값 변경 불가, 최초 한 번만 할당 가능final 매개변수 : 메서드 내 값을 변경 불가, 호출 시점의 값이 메서드 실행동안 유지됨final 필드 - 필드에서 초기화 : 모든 인스턴스가 같은 값, 상수(Constant)임, 메모리 낭비를 줄이기 위해 static 사용이 좋다 - 생성자에서 초기화 : 인스턴스 생성 이후 값 할당 불가 필드(클래스에 포함된 변수, cv iv)final 변수 - 기본형 변수 : 값 고정 - 참조형 변수 : 주소 고정, 참조값 변경 불가 참조대상의 값은 변경 가능
-
[JAVA] Thread Quiz공부 2024. 6. 20. 20:59
문제/** * Thread Quiz * 벡터는 동기화 된 콜렉션인데 왜 에러가 발생할까? 에러를 수정해보자! */public class VectorTest { private static Vector vector = new Vector(); public static void main(String[] args) { while (true) { for (int i = 0; i 20) ; } }} 풀이 문제 현상 : 없는 것을 remove()하거나 get()한다문제 원인 : size()와 get() 사이에 sleep()이 있기 때문에 그 시간에 remove()가 들어와버리는 문제Vector의 동기화는 메소드 단위로 되어 있기 때문에..
-
[JAVA]참조 유형의 4단계 / [운영체제] Locality of Reference공부 2024. 6. 19. 20:39
4 levels of object referencesStrong Soft Weak Phantom GC x GC o 아래로 갈 수록 참조가 약한 것으로, GC의 대상이 되기 쉽다 ↑ 참조의 강도가 높음강한 참조 Stong Reference기본GC되지 않음GC 원한다면 명시적 null 표시 필요약한 참조 Soft Reference메모리 부족 시 GC의 대상참조 지역성의 원리를 활용하기 위해 주로 cache에 사용됨. cache의 성능을 개선하며 메모리 누수 방지가 가능Weak reference해당 객체를 참조하는 strong ref.가 없는 경우 바로 GC의 대상캐시에 사용!여유 있어도 즉시 수거될 가능성이 높다Phantom Reference객..