분류 전체보기 (49) 썸네일형 리스트형 Process http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1046323 해당 강의를 보고 개인적으로 정리를 하는 포스팅 입니다. 운영체제 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 www.kocw.net Process - program in execution 실행중인 프로그램 Process 의 문맥 (Context) - 프로세스의 진행상태 등 상태 정보 CPU 수행 상태를 나타내는 하드웨어 문맥 - Program Counter - 각종 register 프로세스의 주소공간 - Code, Data, Stack 프로세스 관련 커널 자료구조 - .. DynamicProxy & CGLib Spring 과 자바진영의 라이브러리들을 공부하다보면 DynamicPrxoy(이하 동적프록시) 와 CGLib 라는 단어가 자주 등장한다. 동적프록시 그리고 CGLib 를 이해해서 더욱 더 흡수력을 높여보자. 동적프록시를 알기 전에 우선 프록시를 알아야한다. Proxy 프록시는 전반적인 분야에서 다양한 의미로 쓰이지만, 하나의 공통적인 부분은 실제 오브젝트에 직접 접근을 하는 것이 아니라 요청을 한번 받아주는 오브젝트를 통하여 실제 오브젝트를 숨기고 보호하여 확장성을 얻는 역할을 한다. 동적프록시에서 말하는 프록시도 이 이념은 같다. Proxy Pattern 프록시 패턴이란, 위에서 기술한 프록시의 개념을 코드에서 구현하기 위한 디자인패턴이다. 데코레이터 패턴과 거의 유사하지만, GOF 에서는 둘을 목적에.. ThreadLocal - 쓰레드 내에서 변수를 공유하고 싶다면 ThreadLocal 쓰레드 단위로 로컬단위를 할당할 수 있는 기능. 로컬 변수는 특정 블럭 (메서드 나 loop 문 등) 내에서 생명주기를 다한다. 하지만 ThreadLocal 은 쓰레드와 생명주기를 함께하는 변수이다. 즉 특정 메서드에서 ThreadLocal 에 값을 저장했더라도, 메서드가 종료된다고 해서 그 값이 사라지는 것이 아니라 쓰레드가 종료될 때까지 해당 값을 호출할 수 있는것이다. 사용법 사용법은 간단하다. public class Main { public static void main(String[] args) { ThreadLocal threadLocal = new ThreadLocal(); // 값 저장 threadLocal.set("값") // 값 불러오기 threadLocal.get.. System Structure & Program Execution http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1046323 운영체제 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 www.kocw.net 해당 강의를 보고 개인적인 정리를 하는 포스팅입니다. I/O 디바이스 CPU 가 직접 명령을 내리지 않고, 디바이스에 붙어있는 Device Controller 가 해당 디바이스의 CPU 역할을 하며 메인 CPU 의 명령을 처리. Local Buffer 라는 I/O 처리를 맡는 각 디바이스별 작은 메모리 역할을 하는 녀석들 함께 존재함. 디바이스 컨트롤러 I/O 장치 유형을 관리하는 일종의 작은 .. 운영체제 Intro http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1046323 운영체제 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 www.kocw.net 해당 강의를 보고 개인적인 정리를 하는 포스팅입니다. 1강. 운영체제 공부를 시작하기 전, 기본적인 개념과 용어 정리 운영체제(OS) 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층. 좁은 의미로서는 커널만을 의미하기도 하고, 넓은 의미로서는 커널 뿐만 아니라 모든 주변 시스템 유틸리티를 포함한 용어 * 커널 : OS 중 항상 필요한 부분.. [DDD] Aggregate 어그리거트 Aggregate 란 비즈니스에서 밀접한 연관성이 있는 객체들의 군집입니다. DDD 의 모든 구성요소는 명확한 경계와 응집을 통하여 scalable 하고 loose coupled 된 설계를 하는데에 목적이 있습니다. 제가 이해한 Aggregate 는 비즈니스의 경계인 Bounded Context 안에 속하는 또 다른 경계. 바운디드 컨텍스트보다 조금 더 구체적인 개념이 되는 실제 객체의 경계라고 볼 수 있겠습니다. 바운디드 컨텍스트가 어플리케이션 기능단위의 경계라면, 어그리거트는 도메인 생명주기 단위의 더 작은 경계라고 생각됩니다. 에릭 에반스의 도메인 주도 설계에서는 Aggregate Pattern 을 제시하며 몇가지 룰을 따르면 어그리거트가 가지는 강력한 장점을 활용할 수 있다고 합니다. 해당 포스팅.. [DDD] BoundedContext 바운디드 컨텍스트 비즈니스에서는 여러 용어들이 존재합니다. 하지만 이러한 용어들은 용어는 같으나 다른 역할을 하는 경우, 그리고 같은 역할이지만 다른 용어로 불리는 경우가 있습니다. 예시를 들어봅시다. 판매 기능에서의 상품과 재고관리 기능에서의 상품이 있습니다. 이 두가지는 같을까요? 아마 판매 기능에서의 상품은 실재하는 물건이라기 보다는 어떤 무형적인 판매할 수 있는 카테고리일 것 입니다. 반면에, 재고관리 기능에서는 실제로 존재하는 물건이 몇개인지가 중요한 것이 됩니다. 이렇게, 같은 것으로 보임에도 비즈니스의 특성에 따라 완전히 다른것이 됩니다. 간단하게 말하면, 이런 것들을 명확히하여 설계에 반영하기 위하여 비즈니스의 경계를 분리한 것을 BoundedContext 바운디드 컨텍스트 라고 합니다. 용어 자체는 매우 .. Spring Bean LifeCycle 스프링 빈 생명주기 1. Spring Bean 라이프 사이클 스프링 빈은 다음과 같은 생명주기를 갖는다. 1. XML 설정 혹은 ComponetScan 을 통해 빈 정의를 스캔하여 등록 2. 등록된 빈들의 인스턴스 생성 3. 의존관계 주입 4. Aware Inteface 가 구현되어 있다면 Aware Interface 콜 [BeanNameAware -> BeanClassLoaderAware -> ApplicationContextAware] 5. 초기화 6. 소멸 여기서 포스팅으로 다룰만한 내용은 Aware Interface 와 초기화 소멸 단계인데, 생명주기에서 상세히 다룰 내용이 아닌 Aware Interfcae 는 다른 포스팅에서 작성하도록 하고 초기화와 소멸 단계에 대해 상세히 알아보자. 2. Bean Initiali.. 이전 1 ··· 3 4 5 6 7 다음