반응형

분류 전체보기 118

[AWS] 윈도우(Window)에서 EC2로 접속하기(XSHELL)

XSHELL을 이용한 접속 EC2 인스턴스를 생성했는데, 접속하는 법을 모르는 사람을 위해 글을 작성한다. EC2 인스턴스를 아직 만들지 않았다면, [AWS] 프리티어 계정으로 EC2 인스턴스 생성 이 글을 참고하자. [AWS] 프리티어 계정으로 EC2 인스턴스 생성 EC2 인스턴스 생성 프리티어 계정으로 가상화 컴퓨터인 EC2 인스턴스를 생성하는 법을 공유하려고 합니다. 준비물: AWS 프리티어로 가입된 계정 1. 로그인을 하고, AWS 상단에 ec2를 검색 후 접속합 skd03052.tistory.com Xshell은 실무에서 많이 사용하는 터미널 에뮬레이터다. Putty, ssh 보다 훨씬 직관적이여서 사용하기 편리하다는 장점이 있다. (한국 기업이 개발한 에뮬레이터이다. 국산 제품을 애용하자) 또..

DevOps/Cloud 2021.08.23

[AWS] 프리티어 계정으로 EC2 인스턴스 생성

EC2 인스턴스 생성 프리티어 계정으로 가상화 컴퓨터인 EC2 인스턴스를 생성하는 법을 공유하려고 합니다. 준비물: AWS 프리티어로 가입된 계정 1. 로그인을 하고, AWS 상단에 ec2를 검색 후 접속합니다. 2. 왼쪽에 있는 Instances 탭을 누르게 되면, 위와 같은 창이 뜨게 됩니다. 이후 Launch instances를 클릭합니다. 3. 최상단에 위치한 Amazon Linux Select 합니다. 상황에 따라서 Ubuntu를 사용하셔도 됩니다. (단, 프리티어를 선택하지 않으면 과금이 발생할 수 있습니다. 꼭 Free tier로 선택해주세요) 4. 인스턴스 Type을 결정하는 창입니다. Cpu의 개수, 메모리 용량을 설정할 수 있지만 프리티어를 사용할 것임으로 따로 건드리지 않고 Next:..

DevOps/Cloud 2021.08.23

[OOP] 좋은 객체 지향 설계의 5가지 원칙이란?(SOLID)

스프링을 공부하면서, 요즘 스프링을 공부하면서 어떻게 코드를 짜야 좀 더 객체지향적으로 짤 수 있을까? 라는 생각이 많이 들었다. 그러던 중 클린코드로 유명한 로버트 마틴(Robert C. Martin's)이 정의한 좋은 객체 지향 설계의 5가지 원칙을 알게 되었다. 5가지 원칙의 앞글자를 따서 SOLID라고 부른다. SOLID 5가지 원칙은 아래와 같다. 한 가지씩 차근차근 알아보자. SRP(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방-폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Interface Segregation Principle) : 인터페이스 분..

CS/OOP 2021.08.13

[DB] 인덱스(index)란?

데이터베이스를 공부하면서, 서버 개발자를 꿈꾸면서 데이터베이스를 깊게 공부해야겠다는 막연한 생각만 있을 뿐, 단순 쿼리만 짜는 게 전부였다. 이번 기회에 데이터베이스에 대해 심도 있게 공부하려고 한다. 인덱스란? Index를 번역하면 "색인"이라는 뜻을 가지고 있다. 색인은 아래와 같은 뜻을 갖고 있다. 1. 어떤 것을 뒤져서 찾아내거나 필요한 정보를 밝힘. -네이버 사전- 2. 책 속의 내용 중에서 중요한 단어나 항목, 인명 따위를 쉽게 찾아볼 수 있도록 일정한 순서에 따라 별도로 배열하여 놓은 목록. -네이버 사전- 3. 책 속에 다루어진 중요한 단어나 용어를 독자가 쉽게 찾을 수 있도록 페이지를 밝혀 벌여 놓은 것. 보통, 책의 맨 뒤 부분에 보이나 드물게 앞부분에 보이는 경우도 있음 -구글 사전-..

CS/DB 2021.08.02

도커란? 도커가 뭔데 ! (1)

도커를 공부하면서, 서버 개발자를 꿈꾸면서 도커와 쿠버네티스를 배워야 된다는 막연한 생각뿐이었고, 학부 시절에는 단순 내가 만든 nodejs 파일을 이미지로 변환해보는 게 전부였다. 하지만 구글링을 통해 코드를 따라 해서 이미지를 만들어봤을 뿐 도커에 대한 이해는 전혀 없었다. 도커를 왜 쓰는지. 도커의 동작 원리가 무엇인지 이해하지 못한다면 도커를 제대로 활용할 수 없다고 생각해. 도커에 대해 정리해보고자 한다. 도커란? 먼저, 도커를 공부하기 전에 도커의 정의를 살펴보자. Docker(도커)는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를..

DevOps/Docker 2021.07.27

클라우드 네이티브(Cloud Native)란 무엇인가 ?

■ 클라우드 네이티브 (Cloud Native) 클라우드 네이티브 : 클라우드 컴퓨팅 모델을 사용하는 것을 전제로 설계된 시스템과 서비스 CNCF(Cloud Native Computing Foundation)에서는 클라우드 네이티브를 아래와 같이 정의하고 있습니다. 공식 문서를 참조하여 클라우드 네이티브가 무엇인지 공부해봅시다! (CNCF : 2015년 리눅스 파운데이션 (Linux Foundation) 산하에 설립된 재단이자 클라우드 네이티브 오픈소스 기술들을 추진하고 관리하는 단체입니다. 또한 처음 Cloud Natvie라는 용어를 사용한 재단입니디. 구글이 CNCF에 쿠버네티스(kubernetes)를 기증한 걸로 유명하죠. 즉 클라우드 네이티브를 가장 잘 정의하고 있는 재단이라고 생각하면 될 것 같..

DevOps/Cloud 2021.07.26

[OS]Threads(스레드)

스레드란 프로세스의 실행 단위라고 할 수 있으며, 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 주소 공간이나 자원을 공유할 수 있다. 위의 그림과 같이 Code, data, files, registers, stack을 담고 있는 프로세스가 있다고 가정하자. 만약 사용자가 똑같은 프로그램 3개를 실행한다면, 아래의 그림과 같이 3개의 프로세스가 실행될 것이다. 그림을 보면 똑같은 프로그램을 바탕으로 실행한 프로세스임에도 불구하고, code, data, files 부분을 각각 갖고 있다. 이때 자원 낭비를 줄이고자 등장한 개념이 Threads(스레드)이다. code : 실행 중에 바뀌지 않기 때문에 1개만 존재하면 된다. data, files: 프로세스마다 다르기 하지만 자원 공유가 가능하..

CS/OS 2021.05.12

[OS]프로세스 간 통신(Interprocess Communication)

프로세스는 독립적(independet)이거나 협력적(cooperating)일 수도 있다. 프로세스가 협력적인 이유는 아래와 같다. 정보 공유(Information sharing) 계산 가속화(Computation speedup) 모듈성(Modularity) 편의성(Convenience) Cooperating processes는 데이터나 정보를 교환하기 위해 IPC 기법이 필요하다. IPC 기법 (크게 두 가지 있다( Shared memory Message passing Shared memory (공유 메모리) 통신을 하고자하는 두 프로세스가 일정한 메모리 영역을 공유함으로서 데이터를 주고 받는 기법 ex) A가 공유 메모리에 데이터를 쓰고, B가 공유 메모리에 있는 데이터를 읽는다면 데이터 공유가 가능함..

CS/OS 2021.04.30

[OS]프로세스 연산 (Operations on Processes ), 시스템 콜(System Call)

System Call fork( ), exec( ), wait( )와 같은 것들은 Process 생성과 제어를 위한 System call임. fork, exec는 새로운 Process 생성과 관련이 되어 있음 wait는 Process (Parent)가 만든 다른 Process(child)가 끝날 때까지 기다리는 명령어임. 프로세스 생성(Process Creation) 프로세스는 여러 개의 새로운 프로세스들을 생성할 수 있다. 생성한 프로세스를 부모 프로세스(parent process), 새로운 프로세스는 자식 프로세스라고 부른다. 또한 생긴 새로운 프로세스도 다시 프로세스를 생성할 수 있으며, 이러한 과정을 반복하면 프로세스 트리가 생성된다. 각 노드들은 프로세스 식별자(pid)를 사용하여 구분되며, 이..

CS/OS 2021.04.30

[OS]프로세스(Process)란?

프로세스 (Process) 프로세스란 실행 중인 프로그램을 의미한다. (프로그램 그 자체는 프로세스가 아님) 아래 사진은 프로세스가 메모리에 로드되어 있는 모습이다. 0 주소는 프로세스의 시작 위치 주소이고, max 표시는 프로세스의 마지막 주소를 의미한다. Text section : 프로그램의 명령들, 즉 코드들을 의미한다 + 코드가 실행 중이기 때문에 PC와 같은 프로세서 레지스터를 포함 Stack : 함수의 동작과 관련된 내용들이 저장되어 있음 ex) 함수의 복귀주소, 로컬 변수, 함수의 매개변수와 같이 임시적인 자료를 가지는 것들 Data : 전역 변수가 포함되어 있음 Heap : 동적으로 메모리가 할당 되었을 경우 사용됨 ex) C언어의 malloc 화살표 부분 : 프로세스의 영역이긴 하지만, ..

CS/OS 2021.04.29
반응형