[책 정리] 04. 더 많은 bash 쉘 명령 - 리눅스 커맨드라인 쉘 스크립트 바이블 프로그램 감시하기 * 프로세스 엿보기 -ps 명령은 시스템에서 실행되는 모든 프로그램에 대한 많은 정보를 보여준다.이 녀석은 어마어마하게 많은 옵션을 제공하므로 매우 복잡한 녀석이다.기본 ps 명령은 수많은 정보들을 보여주지 않는다.그리고 ps 명령은 현재 사용자에 속해 있으며 현재 터미널에서 실행시키고 있는 프로세스만을 보여준다.이 경우 bash shell 은 물론 ps 명령도 표시된다. 기본 출력은 PID, TTY(실행된 터미널), 프로세스가 사용한 CPU 시간이다. -리눅스 시스템에서 사용되는 GNU 의 ps 명령은 세 가지 유형의 커맨드라인 옵션을 지원한다.1. 대시가 붙는 유닉스 스타일 옵션2. 대시가 붙지 않는 BSD 스타일 옵션3. 이중 대시가 붙는 GNU 의 긴 옵션 ** 유닉스 스타일 옵.. 2020. 4. 23. [책 정리] 03. 기본 bash 쉘 명령 - 리눅스 커맨드라인 쉘 스크립트 바이블 쉘 시작하기 -/etc/passwd 파일에는 모든 시스템 사용자 계정의 목록이 각 사용자에 대한 몇 가지 기본 구성 정보와 함께 포함되어 있다. ex)christine:x:501:501:Christine Bresnahan:/home/christine:/bin/bash 각 항목은 일곱 개의 데이터 필드를 가지며, 각 필드는 콜론으로 구분된다.이 중 마지막 필드가 기본 쉘 프로그램을 지정한다.bash 쉘 대신 tcsh, dash 등을 설정할 수도 있다. 쉘 프롬프트 사용하기 bash 설명서와 상호작용하기 -man 명령으로 리눅스 시스템에 저장된 설명서 페이지에 접속할 수 있다.man 명령 다음 특정한 명령 이름을 입력하면 된다. -bash 쉘을 처음 사용하는 경우라면 man 페이지가 처음에는 큰 도움이 되지.. 2020. 4. 22. [책 정리] 02. 쉘에 접속하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 커맨드 라인에 도달하기 -그래픽 기반 데스크톱 이전에 유닉스 시스템과 상호작용할 수 있는 유일한 방법은 쉘이 제공하는 텍스트 커맨드라인 인터페이스(CLI, command line interface) 뿐이었다. * 콘솔 터미널 -CLI 에 도달하는 방법 중 하나는 리눅스 시스템을 그래픽 데스크톱 모드에서 텍스트 모드로 바꿔 놓는 것이다.리눅스 시스템이 시작되면 자동으로 여러 개의 가상 콘솔이 만들어진다.가상 콘솔은 리눅스 시스템 메모리에서 실행되는 터미널 세션이다. * 그래픽 터미널 -리눅스 그래픽 데스크톱 환경 안에서 터미널 에뮬레이션 패키지를 사용하는 것이다.터미널 에뮬레이션 패키지는 콘솔 터미널처럼 동작하지만 데스크톱의 그래픽 창 안에서 작동된다. 리눅스 콘솔 터미널을 통해 CLI 에 접속하기 -리눅.. 2020. 4. 21. [책 정리] 01-2. 리눅스 쉘 시작하기, 리눅스 배포판 - 리눅스 커맨드라인 쉘 스크립트 바이블 -완전한 리눅스 시스템 패키지를 배포판(distribution)이라고 한다.대부분의 배포판은 비즈니스 사용자, 멀티미디어 마니아, 소프트웨어 개발자, 일반 가정 사용자와 같은 특정한 사용자 집단에 맞춰져 있다.이런 맞춤형 배포판은 특정한 기능을 지원하는 데 필요한 소프트웨어 패키지를 포함하고 있다. -리눅스 배포판은 크게 세 가지 범주로 구분된다.1. 완전한 코어 리눅스 배포판2. 전문화된 배포판3. LiveCD 테스트 배포판 코어 리눅스 배포판 -코어 리눅스 배포판은 커널, 하나 또는 그 이상의 그래픽 테스크톱 환경, 사용할 수 있는 거의 모든 리눅스 앱들을 그 커널에 맞게 컴파일하여 포함하고 있다. 슬랙웨어(Slackware) : 최초의 리눅스 배포판 중 하나로 리눅스 광들에게 인기가 좋다.레드 햇(.. 2020. 4. 20. [책 정리] 01-1. 리눅스 쉘 시작하기, 리눅스란 무엇인가? - 리눅스 커맨드라인 쉘 스크립트 바이블 리눅스 커널 들여다보기 -커널은 네 가지 주요 기능에 대해 일차적인 책임이 있다. 시스템 메모리 관리 소프트웨어 프로그램 관리 하드웨어 관리 파일시스템 관리 * 시스템 메모리 관리 -물리적 메모리는 물론 가상 메모리도 만들고 관리한다.가상 메모리는 하드 디스크의 공간을 이용하며 이를 스왑 공간(Swap space)라고 한다.커널은 가상 메모리의 내용이 스왑 공간과 실제 물리적 메모리를 오가도록 옮기는 작업을 한다. -메모리의 장소는 페이지라고 하는 단위로 묶여 있다.커널은 물리적 메모리 또는 스왑 공간에 메모리의 각 페이지를 배치한다.커널은 어떤 페이지가 물리적 메모리에 있으며 어떤 페이지가 하드 디스크로 옮겨졌는지를 가리키는 메모리 페이지 테이블을 가지고 있다. -커널은 어떤 메모리 페이지가 사용되었는.. 2020. 4. 19. [책 정리] 14장. 컴포넌트 결합 - Clean Architecture ADP(Acyclic Dependecies Principle) : 의존성 비순환 원칙 - "컴포넌트 의존성 그래프에 순환(cycle)이 있어서는 안 된다." 개발자가 동일한 소스 파일을 수정하는 환경에서는 숙취 증후군(morning after syndrome)이 발생한다. 잘 작동하던 코드가 다음날 작동하지 않는 것이다. 이에 대한 해결책은 두 가지가 있다. 한 가지는 "주 단위 빌드(weekly build)"이며, 두 번째 해결책은 '의존성 비순환(Acyclic Dependencies Principle, ADP) 이다. * 주 단위 빌드 (Weekly Build) - 개발자 모두 코드를 개인적으로 복사하여 작업하며, 전체적인 기준에서 작업을 어떻게 통합할지는 걱정하지 않는다. 그런 후 금요일이 되면 변.. 2020. 4. 18. [책 정리] 13장. 컴포넌트 응집도 - Clean Architecture REP(Release/Reuse Equvalence Principle) : 재사용/릴리스 등가 원칙 - "재사용 단위는 릴리스 단위와 같다." 단일 컴포넌트는 응집성 높은 클래스와 모듈들로 구성되어야 함을 뜻한다. 컴포넌트를 구성하는 모든 모듈은 서로 공유하는 중요한 테마나 목적이 있어야 한다. - 하나의 컴포넌트로 묶인 클래스와 모듈은 반드시 함께 릴리스할 수 있어야 한다. 하나의 컴포넌트로 묶인 클래스와 모듈은 버전 번호가 같아야 하며, 동일한 릴리스로 추적 관리되고, 동일한 릴리스 문서에 포함되어야 한다. CCP(Common-Closure Principle) : 공통 폐쇄 원칙 - "동일한 이유로 동일한 시점에 변경되는 클래스를 같은 컴포넌트로 묶어라. 서로 다른 시점에 다른 이유로 변경되는 클래스.. 2020. 4. 17. [책 정리] 12장. 컴포넌트 - Clean Architecture - SOLID 원칙이 벽과 방에 벽돌을 배치하는 방법을 알려준다면, 컴포넌트 원칙은 빌딩에 방을 배치하는 방법을 설명해준다. 대규모 소프트웨어 시스템은 작은 컴포넌트들로 만들어진다. - 컴포넌트는 배포 단위다. 컴포넌트는 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위다. 자바의 경우 jar 파일이 컴포넌트다. 루비에서는 gem, 닷넷에서는 DLL 이다. 컴파일형 언어에서 컴포넌트는 바이너리 파일의 결합체다. 인터프리터형 언어의 경우는 소스 파일의 결합체다. - 컴포넌트가 마지막에 어떤 형태로 배포되든 잘 설계된 컴포넌트라면 반드시 독립적으로 배포 가능한, 따라서 독립적으로 개발 가능한 능력을 갖춰야 한다. 컴포넌트의 간략한 역사 재배치성 - 과거에는 고정된 메모리 위치에만 라이브러리를 로드할 수 .. 2020. 4. 16. [책 정리] 11장. DIP(Dependency Inversion Principle) : 의존성 역전 원칙 - Clean Architecture -의존성 역전 원칙(DIP)에서 말하는 유연성이 극대화된 시스템이란 소스 코드 의존성이 추상(abstraction)에 의존하며 구체(concrete)에는 의존하지 않는 시스템이다.자바와 같은 정적 타입 언어에서 이 말은 use, import, include 구문은 오직 인터페이스나 추상 클래스 같은 추상적인 선언만을 참조해야 한다는 뜻이다.구체적인 대상에는 절대로 의존해서는 안 된다. DIP 를 논할 때 운영체제나 플랫폼 같이 안전성이 보장된 환경에 대해서는 이를 무시하는 편이다.이들 환경에 대한 의존성은 용납하는데, 변경되지 않는다면 의존할 수 있다는 사실을 이미 알고 있기 때문이다. -우리가 의존하지 않도록 피하고자 하는 것은 바로 변동성이 큰(volatile) 구체적인 요소다.그리고 이 구체적인 요.. 2020. 4. 15. 반응형 이전 1 ··· 18 19 20 21 22 23 24 ··· 242 다음