ssh를 이용하여 로그인하자

ssh ssh-keygen 으로 생성하기 $ ssh-keygen -t rsa -t rsa : rsa라는 암호화 방식으로 키를 생성한다.passphrase : 일종의 비공개키이다. (자동 로그인을 위해 생략) 키는 기본적으로 ~/.ssh 폴더에 id_rsa(private key)와 id_rsa.pub(public key)가 생성된다. 여기서 public key인 id_rsa.pub 파일을 접속하려는 서버의 ~/.ssh/authorized_keys에 입력하면 된다. 서버로 파일 전송 $ scp $HOME/.ssh/id_rsa.pub me@remotebox:id_rsa.pub remotebox에 id_r...

더보기

shell command

background mode로 켜놓고 안 보이게 하려면 $ SIGSTP (ctrl + z) $ bg $ disown -h [jobspec] SIGSTP : 프로세스 일시정지 (중단 아님) bg : background mode disown -h : -h 옵션을 사용하면 jobspec은 job list에서 삭제되지 않지만 쉘이 SIGHUP을 수신하여도 SIGHUP을 해당 작업에 보내지 않는다. bg는 작업을 백그라운드로 보내는 명령어이다. (명령어 마지막에 &를 붙여주면 같은 기능을 한다.) 이는 stdin을 block하고 job이 끝날 때까지 shell이 기다리지 않게 해준다. disow...

더보기

OS 프로세스 동기화

프로세스 동기화 Process Concurrency 뮤추얼 익스클루션 (mutual exclusion) : 한번에 한 프로세스씩 엑세스하는 성질 크리티컬 섹션 (critical section) : 프로그램 코드에서 다른 프로세스와 공유하는 메모리 영역을 접근하는 부분 - 크리티컬 섹션 프로블럼 (critical section problem) 스타베이션 (starvation) : 컴퓨터 자원을 요청했는데 오랫동안 배정되지 않아서 기다리는 것 데드락 (deadlock) : 영원히 스타베이션하는 경우 비지 웨이팅 (busy waiting) : 조건이 성립할 때까지 반복문을 실행하며 기다리는 방법 어토믹 오퍼레...

더보기

OS 프로세스와 쓰레드

프로세스 dispatcher 디스패처 스케줄러(scheduler)라는 함수를 의미하는 용어 cpu가 실행할 작업을 다른 프로세스로 변경하는 커널 함수 처리 도중 타임슬라이스가 끝나거나, 다른 이유로 context switch가 일어나야할 때, 디스패처를 호출한다.   system call Interrupt 처리 도중 context switch O X (반드시 단기간에 완료해야 함) context switch가 일어나는 위치 시스템 콜 실행 중 ...

더보기

OS 운영체제 특징 및 종류

운영체제 운영체제란 응용프로그램이 실행되는 과정에서 하드웨어들을 제어하여 응용프로그램을 실행시키고 실행 결과를 보일 수 있도록 컴퓨터 내부 동작을 관리하는 소프트웨어이다. 부팅 부팅이란 컴퓨터 전원을 넣은 후 사람이 컴퓨터를 사용할 수 있도록 준비하는 과정이다. 하드디스크에 저장된 운영체제를 읽어 메인 메모리로 옮기고 실행시키는 작업 운영체제의 특징 여러 프로그램을 같이 실행시키며 서로 충돌없이 실행되도록 프로그램 실행을 제어 컴퓨터 하드웨어와 프로그램 사이의 인터페이스라고도 할 수 있다. 컴퓨터에서 발생할 수 있는 각종 오류나 예외상황을 감지하고 상위 계층에게 보고 컴퓨터 자원의...

더보기

python 파일명 한번에 바꾸기

과제를 채점해야 하는데 파일명이 각자의 개성에 맞게 제출하여 일괄 처리가 힘들다. python을 이용하여 파일명을 한번에 바꿔보자. 학번_이름_개성만끽추가이름들(심지어 공백도 있음).확장자 형태로 되어있으므로 이를 학번_이름.확장자 로 바꿀 생각이다. # -*- encoding:utf-8 -*- import sys import re from os import rename, listdir, path # 현재 위치의 파일 목록 files = listdir() # 정규식 패턴 filename_p = r"^^[0-9]*_[^0-9a-zA-Z_]*" for name in files: # 파이썬 실행파일명과...

더보기

Mac 에서 Apache Tomcat 설치

설치 http://tomcat.apache.org/에서 core의 tar.gz를 다운받는다. 이 후, 터미널에서 아래 명령어를 입력하면 설치가 완료된다. sudo mkdir -p /usr/local sudo mv ~/Desktop/apache-tomcat-8.5.53 /usr/local sudo rm -f ~/Library/Tomcat sudo ln -s /usr/local/apache-tomcat-8.5.53 /Library/Tomcat sudo chown -R [맥 user id] /Library/Tomcat sudo chmod +x /Library/Tomcat/bin/*.sh 실...

더보기

수정중 --- 안 쓸 것 다 쓰는 todo-list

요즘 공부하는 ‘리액트’를 이용하여 todo-list를 만들어 볼게요 ! skills react redux react-router bootstrap4 typescript 고작 todo-list 만드는데 뭐 이렇게 거창하게 하냐구요 ? 거창하게 한번 해보고 싶기는 한데 거창하게 시작하면 끝을 못 볼 것 같거든요 … ! 사실 router는 어디에 써야하지 고민하다가 home을 만들기로 했답니다 ! 타입스크립트 기반의 리액트 앱 생성 create-react-app 을 사용하면 굉장히 쉽게 리액트 어플리케이션을 만들 수 있답니다. 우리는 타입스크립트를 이용할 것이기 때문에 뒤에 --typ...

더보기