목록전체 글 (81)
Fairy ' s
클라이언트와 서버가 존재해야 앱이 정상적으로 가동될 수 있다. 리소스를 사용하는 앱 - 리소스가 존재하는 곳 : 클라이언트 - 서버 아키텍처 클라이언트 (손님) : 리소스를 사용하는 앱 웹 앱, 스마트폰/태블릿/데스크탑 앱 등 서버 (점원) : 리소스가 존재하는 곳 파일 서버, 웹 서버, 메일 서버, 데이터베이스 서버 등 + 데이터베이스 (창고) : 리소스를 저장하는 공간 ≫ 3티어 아키텍처 클라이언트, 서버 간 통신은 '요청'과 '응답'으로 구성된다. 프로토콜 : 통신 규약 / 같은 일을 하기 위해 '다양한 방법'이 존재할 수 있고, 각자의 프로토콜마다 지켜야 할 규약이 존재한다. OSI 7 Layers : 프로토콜 계층 별 종류 응용 계층 프로토콜 이름 설명 HTTP 웹에서 HTML, JSON등의 정..
uname : 시스템과 커널의 정보 확인 - '-a' 옵션을 사용하면 커널 이름, 노드 이름, 커널 릴리즈, 커널 버전, 프로세서, 하드웨어 플랫폼, 운영체제 정보를 알 수 있다. top : 운영체제 작업 내역 모니터링 / 현재 OS의 상태를 출력한다. - 요약 영역은 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려준다. - 요약 영역에 나타나는 대표적인 내용은 시간, 유저, 로드 애버리지(Load Average), 태스크(Tasks), CPU, 메모리(memory) 이다. 로드 애버리지 (Load Average) : CPU가 수행하는 작업의 양을 순서대로 1, 5, 15분 간격의 평균 값으로 표시 태스크 (Task) : 현재 프로세스의 상태를 나타내주는 영역, 'Process'라..
원격 리눅스 서버에 접속하는 실습을 해보았다. 원격 리눅스 서버 접속 실습 1. access_count.sh 1. *wget 명령을 통해 'student.pem' 이라는 파일을 다운로드 받는다. 2. 'student.pem'에 파일에 대한 읽기 권한을 부여하고, 원격 서버에 접속한다. # 2번 'student.pem' 에 대한 읽기 권한 부여 $ chmod 400 student.pem # 2번 원격 서버 접속 $ ssh -i "student.pem" seay0@3.34.229.232 # 접속 시 나타나는 화면 $ ssh -i "student.pem" seay0@3.34.229.232 Last login: Tue Mar 14 01:55:25 2023 from 210.103.96.166 __| __|_ ) ..
1. 프로세스 관리 2. 서비스 관리 3. 자동화 프로세스 관리 프로그램 : 사용자가 원하는 일을 처리 할 수 있도록 프로그래밍 언어를 사용하여 수행 절차를 표현해놓은 명령어들의 집합, 코드 / 정적인 파일 상태 프로세스 : 실행되고 있는 프로그램, 프로그램은 운영체제로부터 실행에 필요한 메모리를 할당 받아 코드를 실행한다. 하나의 프로그램은 여러개의 프로세스를 만들 수 있다. (다중 프로세스) 스레드 : 프로세스 안에서 코드가 실행되는 흐름 멀티 스레드 : 애플리케이션 내부의 멀티 태스킹 (멀티 프로세스 : 애플리케이션 단위) - 대용량 데이터의 처리시간을 줄이기 위해 데이터를 분할하여 병렬로 처리한다. - UI를 가지고 있는 애플리케이션에서 네트워크 통신을 하기 위해 사용할 수 있다. - 여러 클라이..
목차 1. 표준 스트림 / 파이프라인 / 리다이렉션 2. 출력 관련 명령어 3. 관리자로서의 리눅스 / 권한 표준 스트림 / 파이프라인 / 리다이렉션 표준 스트림 일반적으로 작동하는 프로그램은 실행 시, 세 개의 *스트림이 자동으로 열리고, 이를 표준 스트림이라고 한다. 리눅스의 /dev 디렉토리에서 아래의 형태로 세 개의 표준 스트림을 담고 있다. 입력을 위한 스트림 (표준 입력) : Standard Input, STDIN, 0 - 입력값의 데이터(보통은 문자열) 스트림. 표준 입력 설정이 키보드로 되어 있는데, 모든 프로그램이 입력을 요구하지 않으며, 대표적인 예로는 비밀번호를 입력할 때 표준 입력 스트림을 사용한다. 출력을 위한 스트림 (표준 출력) : Standard Output, STDOUT, ..
세계 상위 100만대 서버 중 96.3%는 리눅스에서 실행된다. 서버 시장에서 리눅스를 선택한 이유는 무엇일까 ? 리눅스 리눅스를 많이 사용하는 이유 - 오픈소스 : 제품을 별도의 비용 없이 사용할 수 있고, 공개 된 소스 코드들이 존재한다. - 보안성 : 오픈소스라고 하면 보안에 취약할 것이라고 생각할 수 있지만, 오히려 투명하게 공개되어 있기 때문에 다양한 취약점을 빠르게 파악할 수 있다. - 안정성 : *업 타임이 기타 OS보다 월등히 길다. 때문에 장시간 동안 안정적으로 작동하기 때문에 중요한 데이터 및 애플리케이션을 안전하게 보호할 수 있다. 따라서, 높은 가용성을 요구하는 서비스의 경우 리눅스의 사용이 적합하다. - 이식성 : 다양한 하드웨어와 소프트웨어 환경에서에서 작동이 가능하다. 따라서 ..
현대의 애플리케이션 배포는 웹 애플리케이션의 형태로 배포된다. 이는 서버(인터넷을 이용하는 모든 사람들에게 노출된 어떠한 컴퓨터)가 존재함을 의미한다. 웹 서비스에 접속하는 방법 사용자 관점 - URL을 웹 브라우저에 입력 ≫ 도메인을 IP 주소로 변환 ≫ 웹 서비스에 접속 서버 관점 - 사용자가 서버에 도달 ≫ 경로 (도메인 이름 이후에 등장하는 문자열) 처리 ≫ 웹 서버가 정해놓은 규칙(라우팅)에 따라 서버 내의 자원(HTML 페이지 또는 JSON과 같은 응답)을 사용자에게 제공 CI/CD 파이프라인 단계 - Deploy Plan → Code → Build → Test → Release → Deploy → Operate 한 대의 서버에서 HTML 페이지를 제공할 때 동시에 수 천명이 한 대의 서버에 ..
DevOps를 처음 접하며 1. 애플리케이션의 배포 웹 애플리케이션의 고전적인 배포 방법 : CD / DVD 같은 디스크, 인터넷을 통한 .exe / .msi 같은 설치 파일 (현재도 이용) PC 또는 스마트폰에 직접 설치하는 설치형 애플리케이션의 업그레이드 방법과, 브라우저를 통해 사용하는 웹 애플리케이션의 업그레이드 방법은 어떻게 다른가요? - 설치형 애플리케이션은 사용자가 직접 업데이트를 눌러야하고, 업데이트를 하지 않을 시 사용자에게 잘못된 내용이 표시될 수 있다. 웹 애플리케이션은 사용자가 새로고침을 누르면 수정된 내용이 자동으로 보여진다. 여러분이 직접 사용하고 있는 웹 애플리케이션은 어떤 것들이 있나요? - Gmail, Notion, Docs 등 웹 브라우저에서 어떤 인터넷 주소로 접속할 때..