분류 전체보기 46

[PART5] 운영체제/시스템/보안 - TERMS 03

[ TERMS 03 ] CPU1. CPU(Central Processing Unit)의 정의 CPU는 컴퓨터의 두뇌이자 컴퓨터 프로그램 실행에 핵심적인 역할을 하는 장치다. 2. CPU는 어떻게 접하게 될까? 컴퓨터 구매과정에서 부품 항목 최상단에 'CPU'라는 항목이 있다. CPU는 컴퓨터의 전반적인 성능을 좌우하는 가장 중요한 부품이다. 3. CPU 알아보기> CPU의 구성요소ALU(Arithmetic Logic Unit) ALU는 CPU 내부에서 실제 연산을 담당하는 장치이다. 그 밖에 나머지 장치들은 연살할 때 도움을 준다. ALU가 처리하는 연산은 2가지 이다. 덧셈이나 뺄셈 같은 산술 연산과 AND나 OR 같은 논리 연산이다. 아주 복잡한 프로그램이라도 CPU 입장에서는 이 두 가지 형태의..

[PART5] 운영체제/시스템/보안 - TERMS 02

[ TERMS 02 ] 프로세스/스레드 1. 프로세스(Process)/스레드(Thread)의 정의 프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 스레드 : 프로세스 내에서 실행되는 여러 흐름의 단위 2. 프로세스/스레드는 어디서 접하게 될까? 컴퓨터의 작업관리자를 실행하면 무수히 많은 프로세스가 실행되고 있는 모습을 볼 수 있다. 컴퓨터 작업을 하는 동안 프로세스, 스레드와 항상 함께하고 있는 것이다. 빠르고 안정적인 프로그램을 만들기 위해서는 프로세스와 스레드가 효율적으로, 오류 없이 일을 처리해야한다. 따라서 개발자가 프로그래밍을 할 때는 자신의 코드가 프로세스 단위에서 실행되어야 하는지, 스레드 단위에서 실행되어야 하는지 구분하고 코드의 동작 방식을 정확히 이해할 필요가 있다..

[PART5] 운영체제/시스템/보안 - TERMS 01

[ TERMS 01 ] 운영체제 1. 운영체제(Operating System)의 정의 운영체제는 컴퓨터의 하드웨어를 제어하고 사용자가 컴퓨터를 사용할 수 있도록 중재 역할을 하는 프로그램이다. 대표적으로 마이크로소프트사에서 개발한 컴퓨터용 운영체제인 윈도우, 애플이 개발한 맥 전용 운영체제인 맥 OS, 커뮤니티 주체로 개발한 공개 운영체제인 리눅스, 대부분의 현대적 컴퓨터 운영체제의 원형인 유닉스(UNIX) 등이 있다.2. 운영체제는 어디서 접하게 될까? 컴퓨터를 켰을 때 바로 나오는 윈도우 화면이 운영체제이다. 운영체제는 주로 사용자와 컴퓨터 하드웨어 사이에서 중간 다리 역할을 한다. 컴퓨터를 사용하는 동안 계속 함께 하고 있습니다. 하드웨어는 크게 프로세서(CPU), 메모리(기억장치, RAM),..

[PART4] 클라우드/데브옵스 - TERMS 09

[ TERMS 09 ] 마이크로서비스1. 마이크로서비스(Microservice)의 정의 앱은 수많은 기능들의 집합이다. 이 기능들을 작은 서비스 단위로 분리한 것이 마이크로서비스이다. 마이크로서비스는 독립적으로 배치될 수 있고 단독 실행이 가능하다. 마이크로서비스마다 개발 언어가 달라도 상관없고, 데이터 베이스도 각각 자체적으로 보유하고 관리한다. 각 마이크로서비스는 REST API같은 인터페이스로 느슨하게 결합된다. 마이크로서비스 덕분에 앱의 배포 주기가 빨라졌다. 2. 마이크로서비스는 어디서 접하게 될까? 배달의 민족, 넷플릭스 등의 IT 서비스를 이용하고 있다면 이미 마이크로 서비스를 접하고 있는 것이다. 이 IT 서비스는 서버가 다운되어도 몇 시간씩 전체 서비스를 이용하지 못하는 문제가 발생하지..

[PART4] 클라우드/데브옵스 - TERMS 08

[ TERMS 08 ] 클라우드 서비스 모델1. 클라우드 서비스 모델(Cloud Service Models)의 정의 클라우드 컴퓨팅은 어떠한 서비스를 제공하는지에 따라 여러 모델이 존재한다. 대표적으로는 IaaS(Infrastructure as a Service), PaaS(Platfom as a Service), SaaS(Software as a Service)가 있다. 이 세 단어에 공통으로 붙어 있는 '-aaS'는 'As-a-service'의 약자로 클라우드 서비스를 가리킨다. 클라우드 서비스 사용자들의 니즈가 다양해짐에 따라 여러 종류의 모델이 생겨나고 있다. 2. 클라우드 서비스 모델은 어디서 접하게 될까? 클라우드는 인터넷상의 서버에 사진, 각종 파일과 문서를 저장하는 공간이다. 인터넷만 연..

[PART4] 클라우드/데브옵스 - TERMS 07

[ TERMS 07 ] CDN 1. CDN(Contents Delivery Network)의 정의 최근 네트워크가 많은 발전을 이룬 덕분에 언제 어디서든 정보를 교환할 수 있게 되었다. 현대의 우리는 네트워크 속에 살고 있다고 표현할 수 있다. 심지어 해외에서 만들어진 앱도 문제없이 사용이 가능하다. 만약 교환되는 정보가 대용량이라면 어떨까? 데이터를 언제 어시서든 지연 없이 처리하기 위해 등장한 것이 CDN 서비스이다. 2. CDN는 어디서 접하게 될까? 웹 또는 앱이 많은 사용자를 보유하고 있거나 전 세계 또는 먼 곳에 콘텐츠를 제공할 때 CDN을 이용한다. 온라인 동영상 스트리밍 서비스를 제공하는 넷플릭스는 CDN 기술을 활용해 전 세계 사람들에게 콘텐츠를 안정적으로 제공하고 있다. 또한 보안을..

[PART4] 클라우드/데브옵스 - TERMS 06

[ TERMS 06 ] CI / CD 1. CI(Continuous Integration) / CD(Continuous Deployment, Continuous Delivery)의 정의 CI와 CD는 지속적인 통합과 지속적인 배포로서 개발 생산성을 위해 자동화하는 과정을 말한다. 2. CI / CD는 어디서 접하게 될까?> Github 오픈 소스 프로젝트 CI가 사용되는 가장 대표적인 공간은 Github이다. Github는 소스코드들을 버전별로 관리하고 공유하는 공간이다. 이는 여러 소스코드가 개발되고, 이를이 하나로 합쳐진다는 의미이다. 특히 Github의 여러 오픈 소스 프로젝트는 회사 직원뿐만 아니라 다른 개발자들도 기여할 수 있기 때문에 CI 같은 통합 자동화가 이루어져야 한다. 위 이미지는 ..

[PART4] 클라우드/데브옵스 - TERMS 05

[ TERMS 05 ] 쿠버네티스1. 쿠버네티스(Kubernetes)의 정의 쿠버네티스는 구글에서 개발한 오픈 소스 기반의 컨테이너 오케스트레이션(Container Orchestration)이다. 'Kubernetes'는 그리스어로 '키잡이''를 뜻한다. 쿠버네티스는 현재 가장 널리 사용되고 있는 오케스트레이션 툴로서, '쿠베르네티스, K8s, 쿠베, 쿠버, 큐브' 등 여러 이름으로 불리고 있다. 2. 쿠버네티스는 어디에서 접하게 될까? 모놀리식(Monolithic)을 마이크로서비스로 나누거나 마이크로서비스 기반 시스템을 처음부터 구축할 때 수많은 서비스만큼 수많은 컨테이너가 생성된다. 이런 분산 시스템에서 정신없이 많은 컨테이넏릉르 능숙하게 관리하는 쿠버네티스를 만날 수 있다. 3. 쿠버네티스 알아..

[PART4] 클라우드/데브옵스 - TERMS 04

[ TERMS 04 ]  도커1. 도커(Docker)의 정의 도커는 컨테이너에서 다양한 서버의 자원들을 원하는 대로 묶어서 손쉽게 실행하고 배포하는 가상화 플랫폼이다.  2. 도커는 어디에서 접하게 될까? 도커는 엔지니어와 개발자들을 위해 사용된다. 예를 들어 A회사가 솔루션 프로그램을 개발하여 여러 회사에 납품하고 있을때 초창기에는 엔지니어가 솔류션에 3~4개의 소프트웨어를 설치해서 납품했다. 그런데 시간이 지날수록 솔루션이 업그레이드되고 지방까지 솔루션을 납품하는 일이 잦아졌다. 엔지니어는 매번 솔루션을 납품할 때마다 8개의 소프트웨어를 설치해야 하고, 납품하는 업체는 많아지는데 설치 시간은 길어진다. 이러한 상황에 도커를 활용한다. 도커는 컨테이너라는 독립된 공간에서 여러 개의 자원들을 원하는 대로..

[PART4] 클라우드/데브옵스 - TERMS 03

[ TERMS 03 ]  데브옵스 1. 데브옵스(DevOps)의 정의  DevOps : 개발(Development)과 운영(Operations)의 합성어 2. 데브옵스는 어디에서 접하게 될까? 클라우드로 인해 코드로 인프라 관리가 가능해 졌고, 운영의 많은 부분이 자동화 되었다. 데브옵스 엔지니어가 구축한 자동화 파이프라인을 통해 지속적인 통합, 배포, 테스팅, 모니터링을 접할 수 있다. 마이크로서비스 아키텍처(MicroService Architecture)에서도 데브옵스를 쉽게 접할 수 있다.  작은 서비스 단위로 구성된 마이크로서비스는 개발과 운영을 하나의 팀에 두고 유기적으로 협력한다. 3. 데브옵스 알아보기>  등장배경 요시바 류타로 외 3인은 변화된 소프트웨어 개발의 특징을 다음과 같이 정리했다..