리눅스란?
- Linux는 오픈소스 운영체제(OS)다.
- 유닉스 기반으로 만들어졌으며, 무료 오픈소스다.
- 리누즈 토발즈가 미닉스(Minix)라는 운영체제가 불편해 GNU 프로젝트와 합작으로 리눅스를 만들게 되었다.
- 이 때, 유닉스는 비싼 운영체제라 많은 사람들이 유닉스 같은 무료 운영체제를 만들려고 했다고 한다.
- 그런다 리누즈 토발즈가 쓰던 BitKeeper가 유료화되어 대체할 프로그램으로 만든 것이 Git이라고 한다. 세상에
SSH (Secure SHell)
- 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜이다.
- 컴퓨터와 컴퓨터가 public Network를 통해 서로 통신할 때, 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜이다.
- 예) git push
SSH 작동 원리
Client와 Server가 각각의 키를 보유하고 있고, 이 키를 이용해 연결 상대를 인증하고, 안전하게 데이터를 주고 받는다.
- 중간에 누군가 가로채도, 암호화 되어있기 때문에 무슨 정보인지 알 수 없다.
- 대칭키 : 암복호화 키가 동일하며, 해당 키를 아는 사람만이 문서를 복호화 할 수 있다. 때문에 키를 교환하거나 할 때, 탈취당할 경우 문제가 발생할 수 있다.
- 비대칭키 : 대칭키 단점을 해결하기 위한 방식으로, 키가 공개되어있는 공개키는 모든 사람이 접근 가능하고, 각 사용자는 개인키를 가지고 있다. 공개키로 암호화하고, 복호화는 개인키로만 가능하다.
가상 머신 (Virtual Machine)
- 물리적 컴퓨터와 동일한 기능을 제공하는 소프트웨어 컴퓨터다.
- Hypervisor : 호스트 컴퓨터에서 다수의 운영체제를 동시에 운영하기 위한 논리적 플랫폼이다.
포트포워딩 (Port Forwarding)
- 공유기의 포트를 통해 이 공유기와 연결된 기기의 특정 포트에 진입할 수 있게 하는 기능이다.
- 호스트(Host) : 네트워크에 연결되어 있는 컴퓨터
- 게스트(Guest) : 하이퍼바이저로 인해 리소스 사용하는 머신
chmod
chmod [option] [mode] [file]
파일의 모드(mode)를 변경하는 명령어다.
- 파일의 읽기, 쓰기, 실행 권한을 파일 개별적으로 지정할 수 있도록 해, 잘못된 명령어 사용으로 인해 문제가 발생하는 것을 방지할 수 있다.
- r :파일에 저장된 데이터 읽기
- w : 파일에 데이터 쓰기
- x : 파일 실행
- d : dirctory
Node.js 크롤링
Axios
Node.js와 브라우저를 위한 Promise 기반의 HTTP 통신 라이브러리다.
비동기로 HTTP 통신을 가능하게 해주고, return을 Promise 객체로 해주기 때문에 response 데이터를 다루기 쉽다.
axios({
method: "GET",
url: url,
responseType: "type"
});
Promise
- Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다.
- 최종 결과를 반환하는 것이 아니고, 미래의 어떤 시점에 결과를 제공하겠다는 **‘약속’**을 반환한다.
- 다음 중 하나의 상태를 갖는다.
- 대기(pending): 이행하지도, 거부하지도 않은 초기 상
- 이행(fulfilled): 연산 성공적으로 완료
- 거부(rejected*)*: 연산 실패
GET
- 단순 데이터(페이지 요청, 지정된 요) 요청을 수행할 경우 사용하는 메서드다.
async와 await
const example = async () => {
return "hello";
}
example().then((data) => {
console.log(data);
});
async
- 함수의 앞에 붙어서 사용한다.
- async를 사용할 경우 항상 Promist 객체를 반환한다.
- 만약 Promise 값이 아니라면, Promise 형태로 값을 감싸 반환한다.
await
- async 함수 안에서만 사용할 수 있다.
- 함수 안에서 await를 만나면, Promise가 처리될 때까지 대기한다.
- await를 이용하면, 콜백 함수 처리 없이 비동기 처리를 할 수 있다.
참고자료
'boostcamp' 카테고리의 다른 글
Day06 학습 정리 (0) | 2023.07.18 |
---|---|
Day04 학습 정리 (0) | 2023.07.13 |
Day03 학습정리 (0) | 2023.07.12 |
Day01 학습정리 (0) | 2023.07.10 |
네이버 부스트캠프 웹 8기 (0) | 2023.07.07 |