본문 바로가기

공부 기록

(319)
[JPA] 6장 - 다양한 연관관계 매핑(2) - 일대일, 다대다 일대일 [1:1] 주 테이블에 외래 키 - 객체지향 개발자들이 선호하는 방식 단방향 @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private Strisng username; @OneToOne @JoinColumn(name = "LOCKER_ID") private Locker locker; ... } @Entity public class Locker { @Id @GeneratedValue @Column(name = "LOCKER_ID") private Long id; private String name; ... } 양방향 @Entity public class Member { @Id..
1장 데이터베이스와 NoSQL - 1. 데이터베이스 기본 https://youtu.be/p9ZL47M8Ygk?si=IDQCwTC2EDNQM079 - 데이터베이스 : 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체, 검색과 갱신의 효율화를 추구함 데이터베이스의 장점 - 데이터 중복 제거 - 권한 없는 접근을 제한 - 지속적인 저장 공간과 질의 처리 공간 제공 - 백업과 복구 지원 - 여러 사용자 인터페이스 제공 - 데이터 사이에 다양한 관계를 효율적으로 표현 - 데이터 무결성 보장 - 규칙을 사용하여 추론하고 수행 - 표준 정의 - 응용 프로그램 개발이 용이하고 요구사항이 변경될 때 대처가 쉬움
데드락(교착상태)은 프로그램에 치명적이죠 T^T 언제 발생하고 어떻게 해결하는지 살펴봅시다~! 간단한 자바 예제도 있어요~!! https://youtu.be/ESXCSNGFVto?si=2ueHZGkctbTEsUnK Deadlock(교착 상태) : 두 개 이상의 프로세스 혹은 스레드가 서로가 가진 리소스를 기다리는 상태 데드락을 만드는 네 가지 조건 1. Mutual exclusion : 리소스를 공유해서 사용할 수 없다. 2. Hold and wait : 프로세스가 이미 하나 이상의 리소스를 취득한(hold) 상태에서 다른 프로세스가 사용하고 있는 리소스를 추가로 기다린다.(wait) 3. No preemption : 리소스 반환은 오직 그 리소스를 취득한 프로세스만 할 수 있다. 4. Circular wait : 프로세스들이 순환 형태로 서로의 리소스를 기다린다. OS의 데드락 해결 방법 1. 데드락 방지 : 네 가지 조건 중..
[OS/공룡책] Chapter 3. 프로세스 - 연습 문제 1. 그림 3.30에 표시된 프로그램을 사용하여 LINE A에서 출력되는 내용을 설명하라. - 자식 프로세스가 값 복사본을 업데이트하므로 5를 출력한다. 제어가 부모 프로세스에 반환되면 값은 5로 유지된다. 2. 최초의 부모 프로세스를 포함하여 그림 3.31에 표시된 프로그램에 의해 몇 개의 프로세스가 생성되는가? - 8개의 프로세스가 생성된다. 3. Apple 모바일 iOS 운영 체제의 원래 버전은 병행 처리 기법을 제공하지 않았다. 병행 처리로 인해 운영체제에 추가되는 세 가지 주요 문제에 대해 논의하라. - CPU 스케줄러는 서로 다른 동시 프로세스를 인식해야 하며 동시 프로세스를 스케줄링하는 적절한 알고리즘을 선택해야 한다. / 동시 프로세스는 서로 통신해야 할 수도 있다. 그러므로 운영 체제는 ..
OS 프로세스의 상태가 어떻게 변하는지 아시나요?? 자바 스레드 상태도 알려 드립니다! 상태를 왜 알아야 할까요? ... https://youtu.be/_dzRW48NB9M?si=Ipzg08LmKbcaBALn java thread의 상태 종류 - NEW : 자바 스레드가 아직 시작하지 않은 상태 - RUNNABLE : 실행 중인 상태, 다른 리소스를 기다리는 상태도 포함 - BLOCKED : (critical section으로 들어가려고) 모니터 락을 얻기 위해 기다리는 상태 - WAITING : 다른 스레드를 기다리는 상태 - TIMED_WAITING : 제한 시간을 두고 다른 스레드를 기다리는 상태 - TERMINATED : 실행을 마치고 종료된 상태 java thread dump : 실행 중인 자바 프로세스의 현재 상태를 담은 스냅샷
관계형 데이터 모델링 - 7.2. 역정규화 소개 https://youtu.be/qx0m1YXGel4?si=dLWRrf4jqGQsR7tH - 정규화 => 쓰기의 편리함을 위해 읽기의 성능을 희생 => 항상 성능을 크게 떨어뜨리는 것은 아님
관계형 데이터 모델링 - 7.1. 물리적 데이터 모델링 https://youtu.be/vJNEVsnY8K4?si=1QEeFVrhqmJRh17k - 물리적 데이터 모델링 : 이상적인 표를 현실적인 표로 만드는 과정 - 역정규화 전에 고려할 만한 것 : index, application 영역에서의 캐시 등
[이펙티브 자바 3/E] 아이템18 - 상속보다는 컴포지션을 사용하라 - 이 장에서의 '상속'은 인터페이스 상속이 아닌 클래스가 다른 클래스를 확장하는 구현 상속을 말한다. - 메서드 호출과 달리 상속은 캡슐화를 깨뜨린다. - 구현 상속의 문제를 모두 피해 가는 묘안이 있다. 기존 클래스를 확장하는 대신, 새로운 클래스를 만들고 private 필드로 기존 클래스의 인스턴스를 참조하게 하자. 기존 클래스가 새로운 클래스의 구성요소로 쓰인다는 뜻에서 이러한 설계를 컴포지션(composition; 구성)이라 한다. - 새 클래스의 인스턴스 메서드들은 (private 필드로 참조하는) 기존 클래스의 대응하는 메서드를 호출해 그 결과를 반환한다. 이 방식을 전달이라 하며, 새 클래스의 메서드들을 전달 메서드라 부른다. => 새로운 클래스는 기존 클래스의 내부 구현 방식의 영향에서 ..