목록분류 전체보기 (33)
COCOMO
블로킹과 논블로킹 개념 블로킹과 논블로킹은 컴퓨터 프로그래밍에서 입출력(IO) 작업을 다룰 때 사용되는 개념이다 블로킹 (Blocking) 블로킹은 입출력 작업을 수행하는 동안 해당 작업이 완료될 때까지 프로그램이 멈추는 것을 의미한다. 예를 들어, 파일을 읽거나 네트워크 소켓에서 데이터를 받는 작업을 수행할 때, 해당 작업이 완료될 때까지 대기하면서 다른 작업을 수행할 수 없다. 블로킹 방식은 단순하고 직관적이지만, 입출력 작업이 많거나 큰 데이터를 처리해야 할 때는 효율적이지 않다. 블로킹 입출력 예시 import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws IOExcep..

2023년 02월 18일 토요일 , 운이좋게도 기회가 생겨서 인프런과 원티드에서 주관하는 코프링 밋업에 다녀오게되었다. 매주 토요일 9시 아침마다 스터디를 진행하고 있어서, 역삼역에 미리 도착해서 근처 카페가서 스터디를 진행했다. 밋업은 1시에 시작이어서 얼추 스터디 끝나는 시간이 잘 맞아 떨어졌다. 도착하고 나서 체크인을 하고 몇가지 선물도 받았다. 첫시간에는 간단한 아이스 브레이킹 하는 시간을 갖었다. 참가자들과 조를 나누어 모인 다음에 몇가지 주제에 대해서 이야기를 나눴다. 하나의 개발언어 고수 VS 5개의 개발언어 중수 와 같은 주제로 서로의 철학과 관점에서 자유롭게 이야기했다. 두번째 시간에는 두들린CTO인 서동민님이 발표를 진행하셨다. 그리팅 서비스를 초기부터 지속적으로 개선하고 성장시켜온 전..

Kubernetes 기본 Object 파드(pod) 쿠버네티스에서 실행되는 최소 단위, 독립적인 공간과 ip를 가진다 네임스페이스 쿠버네티스 클러스터에서 사용되는 리소스들을 구분해서 관리하는 그룹 볼륨 파드가 사라지더라도 저장/보존이 가능한 비휘발성 저장 공간 서비스 파드는 유동적으로 생성 삭제 될 수 있기 때문에 접속 정보가 고정되지 않음. 이러한 파드에 안정적으로 접속 가능하도록 해주는 오브젝트 Kubernetes Scheduler Pod를 Node에 최적화하여 배치 아래 3가지 기준으로 Pod를 배치할 수 있다. 컴퓨팅 자원(cpu, mem) 기준으로 Pod 배치 Node Selector (or Node Affinity)를 활용한 pod 배치 Taint & Tolerance를 활용한 Pod 배치 N..

ETCD란? key-value 형태로 데이터가 저장되는 storage HA(high availability) 구조에 특화되어 있으며, 3, 5, 7개 단위로 구성 kubernetes의 모든 데이터는 여기에 저장 및 기록 ETCD(database) 는 타 데이터 베이스와 다르게 Watch 기능을 제공 Watch란? Server가 Watch하고 있는 데이터에 crud가 발생할 경우, DB가 Server에게 Notification을 제공 쿠버네티스 구조도 및 동작 원리 kubectl은 Server N 에 존재해야 하고, kubeconfig를 물고 있어야 한다 kubectl은 인증서를 읽어다가 API Server와 통신한다 마스터 컴포넌트는 api server, controller, scheduler , etc..
Ansible 개념 이해 기존에 동일한 환경의 리눅스를 수정하기 위해 쉘 스크립트에 패키지 설치, 수정된 파일등을 나열하고 스크립트를 실행하는것이 일반적이다. 하지만 데이터 센터 중심의 인프라 환경에서 클라우드 환경으로 변화하고 관리해야 할 서버의 숫자가 급격하게 증가하는 요즘, 동시에 많은 서버에 동일한 환경을 배포하는 상황이 발생했고 이는 쉘 스크립트로 불가능해졌다. 이를 해결하기 위해 나온것이 IaC(Infrastructure as a Code) 이며, 이 개념은 쉽게 말해 컴퓨터의 인프라 구성을 소프트웨어를 개발하는 것처럼 코드로 작성하는 것을 의미한다. Ansible 또한 IaC 개념이 도입되어 자동화 도구를 이용하여 인프라의 설정을 코드로 작성하고 이를 모든 서버에 배포함으로써 특정 환경을 동..

Docker Volume 개념 및 활용, Dockerfile 정복하기 용어정리 인스턴스 가상화 기술로 만들어낸 vm 또는 container 들을 지칭. 가상화 인스턴스 Volume 가상화 인스턴스와 연결하여 영구적으로 활용할 수 있는 저장공간 Snapshot 인스턴스 또는 volume 자체를 freezing 한 이미지 /bin/bash shell 스크립트를 의미 Shell Script linux 커널에게 작업 수행을 명령할 수 있는 프로그래밍 언어(from 고급언어 to 기계언어) ssh secure shell 의 줄임말, 원격 host에 접속하기 위해 사용되는 보안 프로토콜, 일반적으로 22번 port로 통신 docker volume 이란? 컨테이너의 container layer 는 격리된 컨테이너 환..

활용 용어 정리 application 구동 가능한 소프트웨어 daemon 시스템이 background에서 동작하는 형태 process 실행중인 프로그램을 의미하고, 메모리 할당이 이루어지고 그 안에서 동작하는 바이너리 코드 덩어리 Container Docker Daemon 위에서 동작하는 격리된 프로세스 Docker Architecture Docker Container 명령어 습득 docker 관련 명령어 docker version docker 엔진의 현재 버전 정보를 출력 docker images 내 pc 의 container image 리스트 출력 docker rmi 내 pc의 container image 삭제 docker search [ImageName] 외부 저장소로부터 이미지 검색 docker ..

리눅스 기본 명령어 파악 터미널 열기 alt + f2 키를 눌러서 우분투 대시로 terminal 검색 관리자 계정 접속 sudo su 명령어 입력 파일 이동 mv {파일명} {디렉토리명}/ 용어 개념 정리 WAN 원거리 통신망 여러개의 LAN이 모여 이루는 넓은 범위의 네트워크, 두 개 이상의 LAN이 넓은 지역에 걸쳐 연결된 형태 LAN 근거리 통신망 비교적 가까운 거리에 위치한 장치들이 특정 전송매체로 연결된 모임, 사무실 또는 건물간의 연결된 네트워크 IP 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서, 사용하는 특수한 번호. SubnetMask 서브 네트워크를 만들기 위해 AND 비트연산에 의해 씌우는 마스크. TCP/IP 프로토콜에서 IP 주소체계로 네트워크를 나누는 논리적인 ..