전체 글
[유닉스 이론과 실습] ch04. vi 사용법 익히기
(본 강의 노트는 한빛 미디어의 책을 기반으로 하고 있습니다) ch04. vi 사용법 익히기 학습목표 유닉스에서 사용하는 편집기의 종류를 알아본다 대표적인 화면 편집기인 vi의 사용 방법을 익힌다 vi의 환경 설정방법을 익힌다 목차 유닉스 편집기 vi의 사용법 01. 유닉스의 편집기 화면 편집기 vi vi editor는 리눅스 패밀리에서 가장 유명하고 classical한 텍스트 edit tool 대부분의 리눅스에서 사용 가능함 사용자 친화적인 환경이라서 적응되면 사용하기 편함 emacs 막강한 기능 제공, 설치해서 사용해야 함 모드형과 비모드형 모드형 명령모드에서 입력한 키는 명령으로, 입력모드에서 입력한 키는 데이터로 간주 모드를 바꾸기 위한 특수 키가 있음 비모드형 입력한 모든 키는 데이터로 간주 M..
Introduction UNIX
UNIX-0-Introduction Computing Era 1940~1970~2020 1940~1970 Turing Machine, ENIAC, machine language, assembly language IBM, Fortan, Algol, Cobol 1970 C, UNIX, OS 1970~2020 Sun OS MS-DOS Windows, Apple, GNU LINUX, Google SAMSUNG, iPhone UNIX Unix란? a family of multitasking(프로세서가 여러개), multiuser(late 1970s) computer OS that derives from the original AT&T(전신전화 회사) Unix 1970년대에 Bell Labs에서 Ken Thomps..
[Head First Design Patterns] 03 데코레이터 패턴
(본 강의 노트는 한빛 미디어의책을 기반으로 하고 있습니다) 03 데코레이터 패턴 Decorator Pattern 목적 객체에 추가적인 책임을 동적으로 부여함. 데코레이터는 서브클래싱(상속)을 사용하지 않아도 유연하고 융통성 있는 기능 확장을 가능하게 함 문제 조금씩 기능을 추가하기 위해 새로운 클래스를 생성하는 경우 상속으로 문제를 풀면 너무 많은 상속 관계가 발생할 수 있음 상속을 사용하지 않고 새로운 기능을 추가할 수 있는가? 디자인 패턴 요소 요소 설명 이름 데코레이터(Decorator) 문제 조금씩 다른 다양한 종류. 늘어날수록 확장 어려움 해결방안 상속을 사용하지 않고 연관으로 필요한 기능 추가. 실행시점 확장 Extension at runtime (not compile time) 결과 확장성..
[C++] 점프와 순간이동
programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈� programmers.co.kr c++ 코드 #include using namespace std; int solution(int n){ int tmp, ans; ans = 1;// 순간이동을 하기 위해서는 최초 1칸은 이동 while( n != 1){ tmp = 0; // 입력받은 길이가 홀수 일 경우 teleport후 jump 1번을 더 해줘야 하므로 비용 1 증가 if( n % ..
[C++] BOJ 1051. 숫자 정사각형
www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N*M크기의 직사각형이 있다. 각 칸은 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 www.acmicpc.net #include #include #include #include using namespace std; int n,m; int rec[51][51]; vector square; vector column; vector tmp_square; int check_square(int start_row, int start_column);// 인덱스 별 가장 큰 정사각형 사이즈를 리턴해주는 함수 int main(void)..
[쉬운 영어로 읽는 최신 전산 영어] 1 Introduction to Computer System(3)
(해당 강의노트는 한빛아카데미의 을 기반으로 작성되었습니다) 1장 파트 2 CH01) Introcudtion to Computer System Section 02 The Structure of Computer(2) Memory volatile memory 휘발성 메모리 데이터를 유지하기 위해서는 Power가 필요함 Random Access Memory(RAM) Vs. Sequencial Acess Memory : 최초의 메모리 장치는 천공카드임. 이는 순차적으로 메모리를 저장하는 방식이었음 Vs. Direct Access Memory : 데이터 헤드가 있어서 헤드의 위치에 따라 데이터를 읽을 수 있음, Sequencial Acess Memory보다 데이터 접근 속도가 빠름 RAM에 있는 데이터는 주소를 ..
[유닉스 시스템 프로그래밍] Ch02. 파일 입출력
(본 강의 노트는 한빛 아카데미의 책을 기반으로 하고 있습니다) Ch02. 파일 입출력 학습목표 유닉스에서 파일 입출력의 특징을 이해한다. 저수준 파일 입출력 함수를 사용할 수 있다 고수준 파일 입출력 함수를 사용할 수 있다 임시 파일을 생성해 파일 입출력을 할 수 있다 목차 1. 저수준 파일 입출력 2. 고수준 파일 입출력 3. 파일 기술자와 파일 포인터간 변환 4. 임시 파일 사용 01. 저수준 파일 입출력 파일 기술자 File Descriptor 파일을 설명해주는 인자 현재 열려있는 파일을 구분하는 정수값 저수준 파일 입출력에 열린 파일을 참조하는데 사용 파일 생성과 열고 닫기 파일 열기 : open( ) #include #include #include int open(const char *path..
[Head First Design Patterns] 02 옵저버 패턴
(본 강의 노트는 한빛 미디어의 책을 기반으로 하고 있습니다) 02 옵저버 패턴 옵저버 패턴이란? 목적 객체간 일대다 의존 관계를 정의함 한 개 객체 상태가 변화될 때, 그 객체와 의존 관계에 있는 모든 객체들이 자동으로 알림을 받고 상태를 갱신 옵저버 패턴은 일종의 푸쉬 서비스를 구현 뉴스 뉴스 사이트를 방문해서 매번 새로운 뉴스가 있는지 확인하는 것은 번거로움 구독 서비스를 신청 시, 새로운 뉴스가 있으면 알려주는 것이 편리함 호텔의 모닝콜 서비스 일어날 시간을 확인하기 위해 자다 깨다를 반복하는 것은 어려움 모닝콜을 원하는 시간에 받거나 알람을 맞추는 것이 바람직함 전화번호 프로그램 상황: 정보를 확인하기 위해 마우스로 화면의 버튼을 클릭하는 경우 버튼이 클릭되었는지 프로그램에서 계속 확인하는 것은..