본문 바로가기

분류 전체보기58

객체지향의 사실과 오해(조영호 儲書) 이 책을 읽기 전까지 나는 감히 객체지향에 대해서 오해를 하고 있었다고 확신한다. 이전까지 객체지향에서는 무조건 "클래스 클래스! 클래스..!" 라고 생각하며 클래스에만 집착하는 설계 방식을 고수하고 있었다. 하지만 이 책에서는 클래스는 단순히 객체지향을 설계하기 위한 도구일 뿐이라는 것을 알려준다. 사실, 중요한 것은 클래스라는 어떤 특이한 구현체가 아닌 객체 그 자체에 초점을 두어야 한다는 것이다. 이 책에서는 역할, 책임, 협력 세가지의 중요한 포인트를 짚어주며 각각의 포인트를 이해하기 쉬운 동화와 적절한 예시를 통해 책을 읽어가는 독자의 수준이 어느정도이든 간에 전달될 수 있도록 심혈을 기울여 지은 책이었다. 이 책은 전공저석이나 여타 다른 지식을 전달하기 위한 책에 비해 두껍지는 않으나, 모던 .. 2023. 2. 16.
rsync : 원격지간 파일 전송 기본적으로 Linux에서 파일전송을 위해서는 scp, rcp등을 사용한다. rsync는 scp와 rcp보다 빠르고 효율적으로 파일을 전송하는 알고리즘*을 적용한 유틸리티이다. * 변화가 있는 파일에 대한 송수신만을 수행 & 변경된 부분만을 전송(checksum이용), 파일을 압축하여 송수신하는 알고리즘 또한 rsync의 가장 많은 용도로는 백업용도가 있다. 리모트의 특정 폴더와 로컬의 특정 폴더를 마운트해두고 특정 폴더 내부의 파일에 변경점이 있다면, 변경된 파일에 대해서만 업로드/다운로드를 해주기 때문에 크론탭을 이용하여 rsync 배치를 만들어 두면 마운트한 폴더들 상의 주기적인 sync를 맞출 수 있을 뿐더러 백업용도로도 사용이 가능하게 된다. 명령어는 다음과 같다. $> rsync [options.. 2023. 2. 15.
Linux : vmstat, sar, top(os 상태조회) vmstat(Virtual Memory Statistics) vmstat 명령어를 통해 시스템이 동작하며 차지하는 프로세스, 메모리, 디스크사용량, io작업, cpu상태 등을 볼 수 있다. # interval (초)간격으로 count번 출력 $> vmstat [interval] [count] 위의 명령어로 vmstat 명령어를 수행하며 ctrl+c 를 이용해 루프를 빠져나올 수 있다. 왼쪽부터 출력하는 값에 대해 설명하자면 -- procs -- : 프로세스 r (run queue) : CPU 자원을 기다리는 실행 대기 중인 명령어의 수 → 이 수치가 높은 경우 cpu과부하가 일어나고 있다고 추측할 수 있음. b (blocked queue) : 메모리나 기타 I/O 등에 대한 자원을 기다리는 실행 대기 중.. 2023. 1. 27.
Linux : 파일 압축(gzip, xz, bzip2, tar, zip) # 압축하기 $> zip -P "비밀번호" 압축명 압축할파일 # 압축풀기 $> unzip 압축된파일 Linux기반의 OS에서는 보통 gzip을 이용하여 압축파일을 만들거나 압축을 해제한다. 특히나 레거시 시스템에서는 gz확장자로 압축된 것을 주로 확인할 수 있는데, 최근에는 xz나 bzip2를 이용하는 시스템들도 많아지는 추세라고 한다. gzip을 이용한 압축은 다음과 같은 명령어로 사용가능하다. $> gzip 압축을 풀기위해서는 -d 옵션을 주면 된다. $> gzip -d 참고로, gzip, xz, bzip2 셋 중에는 xz가 압축률이 제일 좋다. 그리고 여러개의 파일을 한개의 압축파일로 묶기 위해서는 tar를 이용한다. 다음과 같이 명령줄에 입력하면 된다. $> tar cvfz 이후에 tar파일내에 .. 2023. 1. 20.