[ Computer Science ]

[ Computer Science ]/Linux 리눅스

[리눅스] 프로세스, 상태 확인하기

프로세스 프로세스 = 실행 중인 프로그램 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. foreground process / background process foreground process 셸에서 프로세스 실행을 명령했을 때, 해당 프로세스가 종료되기 전까지 사용자가 다른 입력을 할 수 없는 프로세스를 말한다. 해당 프로세스의 실행시간이 오래 걸린다면, 프로세스 종료 전까지 사용자는 입력을 할 수 없다. [Ctrl] + c 명령어 : 실행중인 foreground process를 즉시 종료하는 명령어이다. 해당 프로세스는 완전히 종료된다. -> 작업이 실행 중에 ls 명령어를 입력해도 해당 작업이 모두 끝난 뒤에 동작한다. (sleep n)은 n초동안 아무것도..

[ Computer Science ]/Linux 리눅스

[리눅스] 리다이렉션과 파이프, grep 명령어

리눅스는 각각의 명령어가 가능한 작고 간단한 동작만 실행하고, 여러 가지 명령어를 조합하여 더 큰 동작을 실행하도록 한다. 즉, 각각의 작은 기능을 하는 명령어들의 조합으로 전체 시스템이 동작하도록 한다. 명령어들을 조합하는 두가지 방법인 리다이렉션과 파이프에 대해 알아보자. 표준 입출력(Standard Stream) 리눅스는 CLI(Command Line Interface)라는 명령어 기반 운영체제이다. 셸에 입력하는 command로 실행되는 운영체제 이기 때문에 가장 기본적인 명령어 입력, 출력, 오류 세가지의 스트림이 존재한다. 표준 입력 스트림(Standard Input Stream) - stdin 표준 출력 스트림(Standard Output Stream) - stdout 오류 출력 스트림(St..

[ Computer Science ]/Web & Network

[Web] URI, URL / URI 설계 원칙 RFC-3986

URI, URL / URI 설계 원칙 RFC-3986 URI : Uniform Resource Identifier 인터넷 상에서 특정 자원을 나타내는 주소 값. ( 유일한 값 ) URL : Uniform Resource Locator 인터넷 상에서의 특정 자원이 어디에 위치하는지 식별하는 주소 URL은 URI의 하위개념이다. URL 분석 scheme:// [userinfo@] host[:port][/path][?query][#fragment] ex ) https://www.google.com:443/search?q=hello&hl=ko 1. https:// scheme : 프로토콜 (어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙) 2. [userInfo@] [userInfo@] 는 거의 사용하지 않..

[ Computer Science ]/Linux 리눅스

[리눅스] 기본 명령어

유닉스 / 리눅스의 기본 구성 리눅스에서는 모든 것을 파일이라고 생각한다. 모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져 있다. 마우스, 키보드 같은 입출력 디바이스를 포함해 모든 디바이스 관련 기술도 파일같이 다루어진다. 셸(Shell) 셸은 사용자가 운영체제, 컴퓨터 하드웨어 등에 명령을 전달할 수 있게 해주는 인터페이스이다. 셸은 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 셸(껍데기)이라는 이름이 붙었다. 셸은 일반적으로 명령 줄과 그래픽 형의 두종류로 분류된다. 명령 줄 셸 : CLI(Command Line Interface) 그래픽 형 셸 : GUI (Graphic User Interface 사용자는 위와 같은 CLI 셸을 이용해서 리눅스 운영체제에 명령을 내..

[ Computer Science ]

[CS/디지털 논리 회로] 논리 게이트

논리회로 부울 대수(Boolean algebra)를 이용하여 1개 이상의 논리 입력을 받아, 1개의 논리 출력을 얻는 회로이다. 1과 0 (true, false)로 두 개의 입력을 받아서 그 결과로 하나의 1 또는 0의 출력을 반환한다. 이런 것을 논리 게이트라고 한다. 이러한 논리 게이트 여러 개를 조합하여 복잡한 연산도 할 수 있게 된다. 이런 논리 게이트는 어떤 것들이 있는지 알아보자. AND 게이트 AND 게이트는 두개의 입력이 모두 TRUE일 경우에만 출력이 TRUE가 나온다. 이외의 경우에는 모두 FALSE가 나온다. A 그리고(and) B가 모두 맞을때만 TRUE라고 생각하면 되겠다 OR 게이트 OR 게이트는 두개의 입력 중 하나만 TRUE여도 출력이 TRUE가 나온다. 반대로 생각하면, 두..

[ Computer Science ]/프로그래밍 이론

[ComputerScience / 디자인 패턴]싱글톤 패턴(singleton pattern)

싱글톤 패턴(singleton pattern) 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 전역변수를 사용하지 않고 객체를 하나만 생성하도록 하고, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴이다. 하나의 인스턴스만을 생성하여 클래스 내부에 private static으로 지정해 두고 getInstance 메서드로 모든 클라이언트에게 동일한 인스턴스를 반환한다. 어떠한 클래스가 유일하게 1개만 존재해야 할 때 사용한다. 하나의 자원을 서로 공유해야 할 때 주로 사용한다. 싱글톤 패턴을 사용하는 이유 객체를 생성할 때마다 메모리 영역을 할당받지 않기 때문에, 메모리낭비를 방지할 수 있다. 싱글톤으로 구현한 인스턴스는 '전역' 이므로, 다른 클래스의 인스턴스들이 데..

[ Computer Science ]/프로그래밍 이론

[프로그래밍 이론] 객체지향 4대 특성(캡슐화, 상속, 다형성, 추상화), 5 원칙(SOLID)

객체지향의 4대 특성 : 캡슐화, 상속, 다형성, 추상화1. 캡슐화 ( Encapsulation )객체의 속성(Variable)을 보호하기 위해 사용한다.객체와 객체간의 의사소통을 위해 필요한 정보만을 노출한다.실제 내부 구현 정보는 숨긴다.Method 설계자신이 가지고있는 속성에 대해서는 해당 상태를 변경하는 기능을 제공해야 한다.실물 객체가 가진 기능을 모두 제공해야 한다.각각의 Method는 서로 관련성이 있어야 한다.  ( getter - setter ) (add - delete ) 등Getter / Setter : 외부에서 내부 속성에 직접 접근하지 못하도록 사용CRUD Method : 데이터 처리를 위한 기본적인 CRUD  Method 제공Business Logic Method : 비즈니스 로..