분류 전체보기 216

HTTP 기초 두 번째 발표

1. ★ CRUD : 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말입니다. > CRUD와 HTTP 요청 메서드의 관계를 설명하기 전에, API에 대한 이해가 필요합니다. API : 클라이언트와 서버가 서로 다른 프로그램에서 요청과 응답을 주고받을 수 있게 만든 체계입니다. > 클라이언트의 요청이 잘 처리되려면 '정확한 곳'에 요청을 보내야 하고, '정확한 곳'의 주소는 서버 컴퓨터주소/** 형태로 되어 있습니다. CRUD 요청의 뜻 각 요청의 주소 Create 올려줘 컴퓨터주소/ timelinecreate Read 불러와줘 컴퓨터주소/timelineread Update 바꿔줘 컴퓨터주소/timel..

DNS 서버 과정

사용자가 웹 브라우저에서 도메인 이름을 입력합니다. 사용자 컴퓨터는 로컬 DNS 캐시를 확인합니다. 로컬 DNS 캐시에 도메인 이름이 캐싱되어 있다면, 사용자 컴퓨터는 해당 IP 주소를 가져와서 웹 페이지를 로드합니다. 만약 로컬 DNS 캐시에 도메인 이름이 없다면, 사용자 컴퓨터는 인터넷에 연결된 ISP(ISP는 인터넷 서비스 제공 업체)의 DNS 서버에 쿼리를 보냅니다. ISP의 DNS 서버는 쿼리를 받고, 먼저 자신의 로컬 DNS 캐시를 확인합니다. 캐시에 도메인 이름이 있으면 해당 IP 주소를 가져와서 사용자 컴퓨터에 반환합니다. ISP의 DNS 서버도 로컬 DNS 캐시에 해당 도메인 이름이 없으면, DNS 계층 구조에서 루트 DNS 서버를 쿼리합니다. 루트 DNS 서버는 도메인 이름의 최상위 도..

웹 서비스 첫 번째 발표

1. ★ public IP : 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(인터넷 서비스 공급자)가 제공하는 IP 주소입니다. 공용 IP 주소라고도 불리며 외부에 공개되어 있는 IP 주소입니다. ● 특성 public IP는 전 세계에서 유일한 IP주소를 갖습니다. public IP 주소가 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 PC로부터 접근이 가능합니다. 주의 : public IP를 사용하는 경우 보안 프로그램을 설치하여야 합니다. ● public IP 주소 대역 - 0.0.0.0 ~ 127.255.255.255 - 128.0.0.0 ~ 191.255.255.255 - 192.0.0.0 ~ 233.255.255.255 - 224.0.0.0 ~ 239.255.255.255 ★ priv..

웹 서비스 기초

클라이언트-서버 아키텍처 ★ OSI 7계층 ● API : 클라이언틍와 서버를 통신하게 도와주는 통신 규약(ex. 메뉴판) ★ URL과 URI URL(Uniform Resource Locator) : 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타냄 부분명칭설명 file://, http://, https:// scheme 통신 프로토콜 127.0.0.1, www.google.com hosts 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP :80, :443, :3000 port 웹 서버에 접속하기 위한 통로 /search, /Users/username/Desktop url-path 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일..

시스템 모니터링

● uname : 시스템과 커널의 정보 - a 옵션 : 커널 이름, 노드 이름 ,커널 릴리즈, 커널 버전, 프로세서, 하드웨어 플랫폼, 운영체제 정보를 알 수 있다. ● top : 운영체제 작업 내역 모니터링 - 현재 OS의 상태를 아래와 같이 출력, 상단부에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함 - 요약영역 : 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려줌, 대표적인 내용은 시간, 유저, 로드 애버리지(Load Average), 태스크(Tasks), CPU, 메모리(memory) 로드 레버리지 : CPU가 수행하는 작업의 양을 순서대로 1분, 5분, 15분 간격의 평균값으로 표시 테스크 : 현재 프로세스들의 상태, OS에 따라 Process라고..

서비스 관리

★ 데몬과 서비스 데몬 : 리눅스 환경에서 시스템이 초기화가 끝난 후, init 이라는 특별한 프로그램에 의해 자발적으로 백그라운드에서 실행 하는 프로그램을 의미 > 백그라운드에서 작동하는 프로세스 - 보통 syslogd, httpd 처럼 프로그램 이름 끝에 d가 붙음 데몬이 수행하는 작업 ● 하드웨어 장치 관리 ● 보조 기억장치와 디렉토리의 연결(마운트) ● 네트워크를 통한 프로세스간 통신(소켓) ● 애플리케이션 수준의 서비스 제공 ★ 대표적인 데몬의 예 : 웹 서버(httpd) - busybox : 각종 유틸리티를 담은 일종의 “스위스 군용 칼”과 같은 리눅스용 애플리케이션 # index.html라는 HTML 파일을 하나 만듭니다 $ echo "나의 첫 HTML 페이지" > index.html # 웹..

프로세스 관리

멀티 프로세스 : 애플리케이션 단위의 멀티 태스킹 멀리 스레드 : 애플리케이션 내부의 멀티 태스킹 ● 프로세스 실행 방식 포그라운드 : 터미널에서 작업할 때, 일반적으로 사용자가 명령을 입력하면 이를 해석하여 실행하고 결과를 화면에 출력 백그라운드 : 프로세스가 실행되는 동안 뒤에서 다른 프로세스가 실행, 터미널에서 여러 개의 프로세스를 동시에 실행 -명령어 : 멍령어 뒤에 &을 붙임, 터이널 세션 종료될 때 같이 프로그램 종료. - 앞에 nohup 명령어 쓰면 터미널 세션 종료되도 작업 종료될 때까지 프로세스 실행 ★ 프로세스 목록 확인 - ps : 현재 실행 중인 프로세스 목록 확인 ● PID : 프로세스 번호 ● TTY : 프로세스 실행된 터미널의 종류와 번호 ● TIME : 프로세스 실행 시간 ●..

관리자로서의 리눅스

● 접근 제어 ● 업무 자동화 ● 재난 대비 ● 애플리케이션 배포 및 관리(운영체제의 보안 패치, 런타임의 버전 관리도 포함) ● 모니터링 서버 자원의 여유, 로그 파일 수집/분석, 해커의 접근, 보안 취약점 포함 ● 내부 문서 관리 ● 접근 정책 결정 ● 클라우드 서비스의 요금 관리 ● 하드웨어 추가 1. 접근 제어의 기본 ● 리눅스의 표준 접근 제어 모델 -규칙 파일은 소유자가 있다. 그러나 소유했다고 모든 권한을 갖는 것은 아니다. 파일은 생성한 사람이 소유한다. 관리자만 할 수 있는 일이 있다 whoami : 사용자 확인 ● 홈 디렉토리 경로 : /home/name 루트 디렉토리 : / , uid : 0 사용자 디렉토리 : ~ ● 파일 및 디렉토리의 소유자(사용자) 및 그룹 /etc/passwd ..

출력 관련 명령어

1. 표준 스트림 ● 스트림 : 프로그램을 드나드는 데이터를 흐름으로 표현한 것 ★ 일반적으로 동작하는 프로그램은 실행 시, 세 개의 스트림이 열림. > 표준 스트림 - 1. 입력을 위한 스트림(Standard input, STDIN, 0) - 2. 출력을 위한 스트림(Standard Output, STDOUT, 1) - 3. 오류 메시지 출력을 위한 스트림(Standard Error, STDERR, 2) ★ 리눅스 의 /dev 디렉토리에 세 개의 표준 스트림을 파일 형태로 담고 있음 stdin(Standard Input) 표준 입력은 프로그램으로 들어가는 입력값의 데이터(보통은 문자열) 스트림. 리눅스 쉘은 표준 설정이 키보드임, 그러나 모든 프로그램이 입력을 요구하지 않으며, 예로는 비밀번호를 입력할..

패키지 매니저

패키지 - 여러 파일이 담겨있는 하나의 상자. ex) 알집, 반디집 - 패키지 구성 ● 프로그램 파일 ● 프로그램 설치 파일 ● 프로그램 설치 설명서 ● 프로그램에 대한 정보를 담은 파일 패키지 매니저 - 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구. ex) 앱 스토어 우분투 - apt ★ 주요 명령어 패키지 목록 갱신 : apt update(관리자 권한 필요) 업그레이드 가능한 패키지 목록을 출력 : apt list --upgradable(관리자 권한 필요) 전체 패키지 업그레이드 : apt upgrade(관리자 권한 필요) 특정 패키지만 업그레이드 : apt --only-upgrade install 패키지이름(관리자 권한 필요) 패키지 설치 : apt install 패키지이름(관리자 ..