[Javs] Fluent Interface
1. Introduction 요즘 나오는 API들이 즐겨 사용하는 스타일이 있다. 아래 여러 예시를 보면서, 감을 잡아보자. Java 8에서 도입된 Stream API import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public clas...
1. Introduction 요즘 나오는 API들이 즐겨 사용하는 스타일이 있다. 아래 여러 예시를 보면서, 감을 잡아보자. Java 8에서 도입된 Stream API import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public clas...
1. 개요 컴퓨터가 작동하기 위해서 필요한것 CPU+Memory 이 두개만 있어도 진짜 작동함…! 메모리에 적당한 작업만 구성되어 있다면…! 옛날에는 천공카드가 이러한 역할을 했죠…! 그럼 작업을 다 한 천공카드는 어떻게 했을까? ...
1. 지역성 기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되는 성질 프로세스는 최근에 참조한 데이터와 코드를 다시 참조하는 경향성이 있다! 90/10 규칙 - 경험적 관찰에서 나온 것으로, “프로그램 코드의 10 %에서 실행 시간의 90 % 소비” 현재 프로세스의 ...
1. 물리 메모리의 한계 64비트 CPU의 물리 메모리 최대량: 16EB 실체 컴퓨터에 설치되는 물리 메모리: 8~32GB 왜? 비용 때문에 일부밖에 설치 못한다. 1.1. 도출되는 질문들 물리 메모리의 크기 한계에서 비롯된 2가지 질문 설치된 물리 메모리보다 큰 프로세스를 실...
1. 캐시 메모리 캐시는 CPU와 메모리 사이의 속도 차이를 줄이기 위한 고속 메모리 고속 메모리인 만큼 비싸고, 용량이 작으며 컴퓨터 성능에 영향을 미침 투명성 Transparency 프로그래머는 캐시를 조작할 수 있는 명령어가 없음 하드웨어 단에서 알아서 동작! ...
1. 트랜잭션(Transaction) Transaction(트랜잭션)이란 DBMS에서 사용되는 작업의 단위로, 원자성, 일관성, 고립성, 지속성이라는 성질을 가진다. DBMS는 트랜잭션이 이러한 성질을 유지할 수 있도록 지원하여, DB의 안정성과 무결성을 보장한다. DB에서 트랜잭션을 정의하는 이유 데이터베이스에서 데이터를...
1. 가상 메모리 사용 이유 프로그램을 실행하려면 정확한 주소가 필요하다. 메모리 주소가 1이라도 다르면 프로그램은 정상적으로 실행되지 않는다. 그런데 만약 개발자가 시스템 메모리 크기까지 고려하면서 프로그래밍을 개발해야 한다고 하자. 그러면 다음과 같은 문제점 및 제한점이 존재한다. 다중 프로그램시 주소 충돌 가능성 있음 특정 시스템에 ...
1. 정규화 이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 과정 이상현상이 있는 릴레이션은 이상현상을 일으키는 함수 종속성의 유형에 따라 등급을 구분 가능 릴레이션은 정규형 개념으로 구분하며, 정규형이 높을수록 이상현상은 줄어듦 이동수단과 릴레이션의 등급 구분 정규화 정도는 항상 제 4정규형을 만드는 것이 옳지는...
1. 함수 종속성 어떤 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 다음과 같이 표현한다. dependent: 속성 B는 속성 A에 종속한다 determine: 속성 A는 속성 B를 결정한다 이것을 $A → B$ 로 표기하며, A를 B의 결정자라고 한다. ...
1. Memory Allocation 운영체제가 새 프로세스를 실행시키기거나 실행 중인 프로세스가 메모리를 필요로 할 때, 물리 메모리를 할당해주어야 함 프로세스의 실행은 할당된 물리 메모리에서 이루어짐 프로세스의 코드(함수), Data, Heap, stack등 메모리는 어디에, 어떻게 할당해야 ...