목록DevOps (186)
devops
public IP와 Private IP의 차이점 Public IP 인터넷 상에서 사용할 수 있는 IP주소를 말한다. 전세계적으로 ICANN이라는 기관이 국가별로 사용할 IP대역을 관리하고 우리나라는 KISA에서 우리나라 내에서 사용할 주소를 관리하고 있다. 아무 IP 주소나 내PC에 지정한다고 인터넷이 되지 않으며, 할당 받은 주소를 설정해야만 인터넷에 접속이 가능하다. A 클래스는 네자리의 IP 주소 대역 중에서 두번째, 세번째, 네번째 주소를 마음대로 부여할 수 있는 최상의 클래스로 클래스 당 255 x 255 x 255 개의 주소를 가질 수 있다. B 클래스는 네자리의 IP 주소 대역 중에서 세번째, 네번째 주소를 마음대로 부여할 수 있는 클래스로 클래스 당 255 x 255 개의 주소를 가질 수 ..
클라이언트 - 서버 아키텍처 클라이언트(client)와 서버(server)는 요청과 응답을 주고 받는 관계다. 요청이 선행되고 그 후에 응답이 온다. 클라이언트(리소스를 사용하는 앱) - 서버(리소스를 전달해주는 앱) - 데이터베이스(리소스 저장 공간) 서버는 일반적으로 리소스를 전달하는 역할을 한다. 리소스를 저장하는 공간을 별도로 마련하는 데 이를 '데이터베이스'라고 한다. 이 구조를 3티어 아키텍처라고 한다. API(Application Programming Interface) 서버는 클라이언트에게 리소스를 활용할 수 있도록 인터페이스를 제공하는데 이를 API라고 한다. 주로 클아이언트와 서버는 서로 HTTP라는 프로토콜(통신 규약, 약속)을 이용하여 요청과 응답을 주고받는데, 주소(URL, URI..
런타임 프로그래밍 언어가 구현되는 환경으로 어떤 프로그램이 동작할 때, 프로그램이 동작하는 곳이다. 크롬, 사파리같은 웹브라우저를 말함. node.js는 javascripts의 새로운 런타임으로 javascripts가 브라우저가 아닌곳에서 실행할 수 있게 해준다. node.js 등장ㅈ 후에는 javascripts를 이용해 웹페이지, 서버 등 과같은 다른 프로그램을 만들 수 있게 되었다. // runnode.js const testFunction = function(arg){ console.log("Arg is : ", arg); } testFunction(20); 런타임은 프로그래밍 언어가 실행되는 환경, node.js는 Javascripts의 런타임이다. node.js는 다음과 같은 특징이 있다. - ..
리눅스 권한 리눅스 파일권한은 4개로 등분되어있다. 1번은 파일의 종류를 나타내는 것으로 Directory, Regular, Symbolic link 이 세 가지를 나타낸다. 2번은 User의 권한, 3번은 Group의 권한, 4번은 파일에 대한 모든 유저의 권한이다. 세부 권한은 위에 보이는 것처럼 rwx로 나타내는데 r은 read로 읽기, w는 write로 쓰기, x는 excute 실행이다. 위처럼 모든 파일과 디렉토리엔 저렇게 파일의 종류, 유저 혹은 그룹의 세부 권한이 나타난다. 권한을 변경하는 방법 파일 혹은 폴더의 읽기, 쓰기, 실행 권한을 변경하려면 chmod 명령어를 사용한다. 위 자료처럼, rwx를 3bit로 해석하여 숫자 3자리로 권한을 표시하는 Absolute Form과 +, - = ..
> wc access.log 줄, 단어, 바이트 >wc -l access.log 줄 >head -n 50 access.log | wc -l SED > head -n 5 access.log | sed 's/0000/9999/' | grep '9999' 앞 5줄에 0000을 9999로 바꾸지만 원본은 바뀌지않음. 파이프라인은 원본은 바뀌지않는다. 출력에만 바뀐다. > head -n 5 access.log | sed '3 s/0000/9999/' | grep 9999 세번째 라인만 바꿀 수 있음. > head -n 5 access.log | sed '1,3 s/0000/9999/' | grep 9999 1~3번째 라인까지만 9999로 바꿈. > head -n 2 access.log | cut -d " " -f..
표준스트림과 stdin, stdout, stderr 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉스 계열 운영 체제에서 컴퓨터 프로그램과 그 환경(일반적으로 단말기) 사이에 미리 연결된 입출력 통로를 가리킨다. 일반적으로 유닉스에서 동작하는 프로그램은 실행 시 세 개의 스트림이 자동으로 열린다. 이를 표준 스트림이라고 부른다. 하나는 입력을 위한 스트림(Standard input, STDIN, 0), 하나는 출력을 위한 스트림(Standard Output, STDOUT, 1), 하나는 오류 메시지를 출력하기 위한 스트림(Standard Error, STDERR, 2)이며, 이 세 개의 표준 스트림은 사용자의 터미널에 부착된다. 표준 입력 (stdin) 표준 입력은 프로그램으로 들어가는 데이터..
프로세스 확인 : ps 백그라운드 확인 : jobs 프로세스 죽이기 : kill 백그라운드 실행 : nohup & 백그라운드 로그 확인 : nohup.out TEST - cat app.js | head | tail -n 2 - head app.js > headResult.txt - cat rmResult.txt 있는것을 삭제하면 에러없음, 없는 것을 지우면 Error가 뜬다. 만약 Error를 기록하고 싶다면? - rm devops2nd.txt 2> rmResult.tx 2가 stder를 의미 그냥 >를 쓰면 stdout 이라고 볼 수 있음 -..
스레드(Thread) 하나의 스레드는 코드가 실행되는 하나의 흐름이기 때문에, 한 프로세스 내에 스레드가 두 개라면 코드가 실행되는 흐름이 두 개 생긴다는 의미 멀티 프로세스(Multi-Thread) 멀티 프로세스가 애플리케이션 단위의 멀티 태스킹이라면, 멀티 스레드는 애플리케이션 내부에서의 멀티 태스킹 백그라운드(background) 백그라운드 방식은 명령어 뒤에 &를 붙여서 실행하고, 다른 명령어를 추가적으로 입력. 작업시간이 오래 걸리는 작업인 경우 nohup 명령어를 이용하여 백그라운드로 실행하면 사용자의 터미널 세션이 종료되어도 작업이 종료될 때까지 프로세스를 실행 표준 스트림(Standard Stream) 프로그램을 드나드는 데이터를 흐름으로 표현한 단어 리다이렉션(Redirection) 리눅..
Dev와 Ops팀의 목표 차이 그리고 상충되는 부분? Dev(개발팀)의 목표 - 잦은 배포와 업데이트 - 어플리케이션을 통한 쉽게 빠른 리소스 제공 Ops(개발팀)의 목표 - 프로덕션앱(공식 버전)의 안정성 - 인프라 관리 - 모니터링 및 제어 개발팀은 사용자의 요구조건에 맞춰 잦은 '변화'를 지향해야하지만, 운영팀은 '안정'을 목표로 합니다. IT 서비스에 대해 프로세스, 도구의 차이, 그리고 서로 다른 목적 등으로 인해 개발팀과 운영팀 간에 충돌이 빈번히 발생하게 됩니다. 이러한 고민에서 데브옵스(DevOps)라는 개념이 출현하게 됩니다. 데브옵스(DevOps)는 개발자와 운영자의 소통, 협업 및 통합을 강조하는 문화, 방법론, 프로세스, 도구 모두를 의미합니다. 이렇게 데브옵스의 정의가 폭넓은 이유..
클라우드 전달 방식의 단점 1) 서버 다운타임 클라우드 서비스는 인터넷 연결에 완전히 의존하기 때문에 인터넷 연결이 중단되면 데이터나 파일에 액세스할 수 없다.(21.12.22 AWS 북부 버지니아 서버 9시간 다운 사태) 2) 보안 및 개인정보 리스크 클라우드 서버는 데이터가 효율적으로 관리되고 보호되도록 보안 시스템을 마련하지만 해킹의 위험이 있다. (미국 대형은행 캐피털원, 1억 600만 명의 개인정보 해킹 AWS...) 3) 불명확한 데이터 소유권 데이터 소유권에 대해 명확하지 않다고 느낄 수 있다 . 데이터가 클라우드 컴퓨팅 시스템에 업로드되면 소유권의 주체가 애매한 상황이 생긴다. 또한, 데이터 투명성은 회사는 데이터가 어떻게 처리되고 있는지 의심하고 데이터가 손상되고 있는지 궁금해할 수 있다..