Computer Science
[Head First Design Patterns] 05 싱글톤 패턴
(본 강의 노트는 한빛 미디어의 [Head First Design Patterns]책을 기반으로 하고 있습니다) 05 싱글톤 패턴 Singleton Pattern 목적 한 클래스는 하나의 인스턴스만을 가짐을 보장하고 해당 인스턴스에 어디서나 접근할 수 있도록 함 자바에서 제공하는 Singleton Instance의 예 java.lang.Runtime.getRuntime() java.lang.Desktop.getDesktop() java.lang.System.getSecurityManager() 요소 설명 이름 싱글턴(Singleton) 문제 여러 객체가 생성되면 상태 관리가 어려움 해결방안 객체 생성자를 중앙 관리 결과 객체가 1개라서 일관된 상태 고전적 싱글턴 패턴 구현법 고전적 싱글턴 패턴 구현 방법..
[Head First Design Patterns] 04 팩토리 패턴
(본 강의 노트는 한빛 미디어의 [Head First Design Patterns]책을 기반으로 하고 있습니다) 04 팩토리 패턴 Factory Method Pattern 목적 Defining an interface for creating an object 객체 생성용 인터페이스 정의 단, 서브클래스가 어떤 클래스를 인스턴스화(객체 생성)할 지 결정할 수 있도록 함. 펙토리 메소드는 객체 생성을 서브 클래스에서 하도록 미룰 수 있게 해줌 Abstact Factory Pattern 목적 : 구체적인 클래스를 명시하지 않고 관련된 혹은 의존적인 객체들을 생성할 수 있는 인터페이스 제공 문제 객체를 생성하는 'new' 의 문제 : new는 인터페이스가 아니라 실제 클래스를 생성 OCP에 어긋남 : not cl..
[유닉스 시스템 프로그래밍] Ch06. 프로세스 생성과 실행
(본 강의 노트는 한빛 아카데미의 책을 기반으로 하고 있습니다) Ch06. 프로세스 생성과 실행 학습목표 프로세스를 생성하는 방법을 이해한다. 프로세스를 종료하는 방법을 이해한다. exec함수군으로 새로운 프로그램을 실행하는 방법을 이해한다. 프로세스를 동기화하는 방법을 이해한다. 목차 프로세스 생성 프로세스 종료함수 exec 함수군 활용 exec 함수군과 fork 함수 프로세스 동기화 01. 프로세스 생성 프로그램 실행 : system( ) 새로운 프로그램을 실행하는 가장 간단한 방법이나 비효율적이므로 남용하지 말 것 실행할 프로그램명을 인자로 지정 프로세스 생성 : fork( ) 새로운 프로세스를 생성 : 자식 프로세스(Cv hild Process) fork 함수를 호출한 프로세스 : 부모 프로세스(..
[유닉스 시스템 프로그래밍] Ch05. 프로세스 정보
(본 강의 노트는 한빛 아카데미의 책을 기반으로 하고 있습니다) Ch05. 프로세스 정보 학습목표 유닉스 시스템에서 프로세스가 무엇인지 이해한다. 함수를 사용해 프로세스의 속성을 검색할 수 있다. 프로세스의 실행시간을 측정할 수 있다. 환경변수를 설정하고 사용할 수 있다. 목차 프로세스의 정의 프로세스의 구조와 상태변화 프로세스 목록 보기 프로세스 식별 함수 프로세스 그룹 및 세션 프로세스 실행시간 측정 환경변수의 이해 환경변수의 사용 01. 프로세스의 정의 프로세스 : 실행중인 프로그램을 의미 프로세서 : 중앙처리장치 프로그램 : 사용자가 컴퓨터에 작업을 시키기 위한 명령어의 집합 고급언어로 작성한 프로그램을 기계어 프로그램으로 변환해야 실행 가능 02. 프로세스의 구조와 상태 변화 프로세스의 구조 :..
[유닉스 시스템 프로그래밍] Ch04. 시스템 정보
(본 강의 노트는 한빛 아카데미의 책을 기반으로 하고 있습니다) Ch04. 시스템 정보 학습목표 유닉스 시스템 정보를 검색하는 함수를 사용할 수 있다. 사용자 관련 정보를 함수를 이용해 검색할 수 있다. 시스템의 시간을 관리하는 함수를 사용할 수 있다 목차 유닉스 시스템 관련 정보 사용자 정보 검색 시간 관리 함수 01. 유닉스 시스템 관련 정보 시스템에 설치된 OS에 관한 정보 호스트명 정보 하드웨어 종류에 관한 정보 하드웨어에 따라 사용할 수 있는 자원의 최대 값 : 최대 프로세스 개수, 프로세스당 열 수 있는 최대 파일 개수, 메모리 페이지 크기 등 OS 기본 정보 검색 시스템에 설치된 OS에 대한 기본 정보 검색 시스템은 인텔 PC, 솔라리스 10 운영체제 설치, 호스트 명은 hanbit OS 정..
[유닉스 이론과 실습] ch06. 파일 접근 권한 관리하기
본 강의 노트는 한빛 미디어의 책을 기반으로 하고 있습니다) ch06. 파일 접근 권한 관리하기 학습목표 파일의 속성과 접근 권한의 개념을 이해한다 접근 권한을 변경하는 방법을 익힌다 접근 권한을 상속하고 초기에 설정하는 방법을 익힌다 목차 파일의 속성 파일의 접근 권한 기호를 이용한 파일 접근 권한 변경 숫자를 이용한 파일 접근 권한 변경 기본 접근 권한의 설정 01. 파일의 속성 다중 사용자 시스템의 특징 여러 사람이 하나의 시스템 사용 다른 사람이 내 파일을 읽거나 수정, 삭제 할 수 없도록 보안 필요 다른 사용자의 무단 접근으로부터 자신의 파일을 보호하는 기능으로 파일에 접근 권한을 부여하여 권한 만큼만 파일을 사용 파일의 속성 유닉스에서 파일을 관리하기 위해 저장하는 정보들 ls-l 명령으로 파..
[Programming Language Pragmatics] 01 Introduction
(해당 강의노트는Michael L. Scott의 [Programming Language Pragmatics : 4th edition] 책을 기반으로 작성되었습니다) 01 Introduction Table of Contents Introduction The art of Language Design The Programming Language Spectrum (pass) (pass) (pass) An Overview of Compilation 0. Introduction Programming in Old Days 초기 컴퓨터들은 monstrous 장치였음 monstrous: very bad, because too big Programmers were cheap Machine language로 프로그래밍 함 ..
[Head First Design Patterns] 01 디자인 패턴 소개
(본 강의 노트는 한빛 미디어의 책을 기반으로 하고 있습니다) 01 디자인 패턴 소개 디자인 패턴의 분류 GoF가 디자인 패턴을 23가지로 정리하고 세 가지로 크게 분류( bold 처리 한 부분이 앞으로 자세히 다룰 패턴) 생성 패턴 (Creation Patterns) 객체의 생성 과정과 연관된 패턴 추상 팩토리 (Abstaact Factory) 빌더 (Builder) 팩토리 메소드 (Factory Method) 프로토 타입 (Prototype) 싱글턴 (Singleton) 구조 패턴 (Structual Patterns) : 클래스나 객체의 합성/ 집약에 관련된 패턴 어댑터 (Adapter) 브리지 (Bridge) 컴포지트 (Composite) 데코레이터 (Decorator) 퍼사드 (Facade) 플라..