728x90
반응형

전체 글 154

[클라우드] 쿠버네티스, 도커, 레이어

쿠버네티스 : 컴퓨터 클러스터에 어플리케이션을 배치하고 실행을 관리하는 운영 수준의 오픈소스 플랫폼 마스터 노드 모든 관리 작업의 시작점, 쿠버네티스 클러스터 메인 컴포넌트, 워커노드 제어 API Server : 쿠버네티스 컴포넌트 허브 역할, RESTful API 제공 Scheduler : 각 노드의 리소스 사용률 추적, 생성된 Pod 감시 및 노드가 미할당된 Pod가 실행되도록 Node 선택 워커 노드(슬레이브 노드) Pod가 실행되는 공간, 마스터 노드와 통신하는 에이전트, 도커 등의 컨테이너 런타임 실행 kubelet: 쿠버네티스 워커 노드 메인프로세스, 클러스터의 각 노드에서 실행되는 에이전트 kube-proxy: 네트워크 프록시와 로드 밸런서 핸들링, TCP 등 네트워크 라우팅 담당 Pod: ..

CS/Cloud 2023.02.02

[클라우드] Cloud Native Application, Devops 용어

MLOPS/Kubeflow 쿠버네티스용 머신러닝 툴킷 ‘쿠버플로우’를 통해 컨테이너 할당, 생성하는 역할 중 머신러닝 프로젝트의 모든 단계를 관리하도록 설계 Cloud Native Application Desktop application + Web application으로 클라우드 환경에서 실행되는 어플리케이션 프로그램 서비스 : 어플리케이션을 여러 개의 서로 독립적인 기능을 하는 서비스 구분 서비스들을 어떻게 구성하고 어떻게 연결하고 어떻게 관리하느냐가 관건 Microservices Application을 API를 통해 통신하는 작은 서비스의 집합으로 개발하는 아키텍처형 접근법 Devops 프로세스 자동화를 목표로 개발자와 운영자가 협업, 짧은 주기내 신뢰성 있는 소프트웨어 생성, 테스트, 릴리즈 할 ..

CS/Cloud 2023.02.02

[클라우드] App 종류, Cloudfoundry, kubernetes, PaaS BOSH

Native App Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램을 네이티브 앱 Hybrid App 네이티브 앱과 웹 앱의 기능을 결합한 것 Progessive Web App 사용자들에게 네이티브 앱의 느낌을 주면서도 웹 브라우저에서 바탕화면에 바로가기를 추가하여 특별한 다운로드와 인스톨 과정 없이 기본 앱처럼 사용할 수 있다 프로그레시브 웹 애플리케이션은 웹을 통해 전달되는 응용 소프트웨어의 일종으로, HTML, CSS, 자바스크립트를 포함한 일반 웹 기술들을 사용하여 만들어진다. PaaS-TA : 클라우드 인프라 환경 제어 & 앱 쉽게 개발하고 안정적 운영할 수 있도록 관리/지원하는 클라우드 플랫폼 Application Platform 기반인 PaaS-TA와 별..

CS/Cloud 2023.02.02

[클라우드] API, SOAP, REST, YAML

API : Application Programming Interface 어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구 SOAP vs REST 차이점 SOAP REST 유형 프로토콜 아키텍쳐 스타일 기능 기능 위주 : 구조화된 정보 전송 데이터 위조 : 데이터를 위해서 리소스에 접근 데이터 포맷 XML만 사용 일반 텍스트, html,xml,json등 다양 보안 WS-Security, SSL SSL, HTTPS REST (Representational State Transfer) 웹 서비스와 모바일 앱 경량화의 필요에 맞춘 아키텍처 원칙 세트이며 설계적 지침 HTTP 프로토콜을 기반으로 웹에 최적화 / 인간과 기계 모두 읽기 가능 / 구성요소간 통..

CS/Cloud 2023.02.02

[클라우드] 클라우드 컴퓨팅, IaaS, SaaS, PaaS, Microservices

클라우드 컴퓨팅 : 네트워크 기반의 컴퓨팅 기술 컴퓨팅 리소스를 데이터 센터에 대량으로 집적 -> 이용자가 요구하는 만큼 가상으로 분리하여 정보통신망을 통해 제공 사용량에 비례하여 비용 청구 IaaS (Infrastructure as a Service) - IT 전문가 PaaS (Platform as a Service) - S/W 개발자 SaaS (Software as a Service) - 최종 사용자 IaaS (Infrastructre as a Service) CPU나 하드웨어 등 컴퓨팅 리소스(자원)를 네트워크를 통해 서비스로 제공하는 모델 IaaS 가상화 유형 hypervisor : OS 환경을 통째로 가상화 함 장점 가상 서버마다 OS를 선택할 수 있음 가상 서버들이 완전 분리되어 있음 단점 가..

CS/Cloud 2023.02.02

[BOJ] 백준 2138 전구와 스위치 c++ (그리디)

문제 출처 : https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 풀이 이 문제는 아이디어가 잘 떠오르지 않는 문제였다.. 다른 여러 풀이를 참고했다. 현재 전구를 반복문을 돌린다. i 기준일때 i-1번째까지 정답과 일치하면 넘어간다. 이유는 i+1번째로 기준이 넘어가면 i-1은 더이상 영향을 받지 않기 때문이다. i-1번째가 일치하지 않는다면 스위치를 누른다.(뒤집기) 이 경우를 그냥 시작하는 경우 / 가장 처음에 뒤..

Tech/Algorithm 2023.01.30

[BOJ] 백준 1197 최소 스패닝 트리 c++ (크루스칼)

문제 출처 : https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 최소 스패닝 트리(최소 신장 트리) 우선 스패닝 트리는 그래프의 모든 정점을 잇고, 사이클이 없는 트리이다. 정점이 V개면 정점을 연결하는 간선은 V-1개이다. 최소 스패닝 트리는 간선의 가중치 합이 최소가 되는 스패닝 트리이다. 최소 스패닝 트리를 구하는 대표적인 알고리즘은 크루스칼(Kruskal), 프림(Prim) 알고리즘이 있다...

Tech/Algorithm 2023.01.29

[BOJ] 백준 11404 플로이드 c++ (플로이드-워셜)

문제 출처 : https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 플로이드 워셜 플로이드 워셜 알고리즘을 사용하는 문제이다! 다익스트라와 플로이드-워셜의 차이는 아래와 같다. 다익스트라 : 하나의 정점에서 다른 모든 정점의 최단거리 플로이드 : 모든 노드간 최단거리 플로이드 알고리즘의 프로세스는 아래와 같다. 인접 배열을 구한다. 1번노드를 중간 노드(거쳐가는 노드)로 설정해, 거쳐가는 경우의 비용이 더 작으면 배열을 갱신한다. n번노드까지 반복한..

Tech/Algorithm 2023.01.28

[BOJ] 백준 1062 가르침 c++ (백트래킹)

문제 출처 : https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 풀이 남극의 언어가 anta로 시작되고 tica로 끝난다 -> a c i n t는 필수로 가르쳐야 한다. 즉 K가 5 미만이라면 0을 출력하면 된다. a c i n t는 디폴트로 학습시킨다. 입력 단어에서 anta, tica를 빼고 저장해 시간을 줄일 수 있다. string str = ""; for(int i = 0; i > str; v.push_..

Tech/Algorithm 2023.01.27

[BOJ] 백준 1261 알고스팟 c++ (bfs)

문제 출처 :https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 풀이 bfs로 생각할 수 있으나 다익스트라 개념을 도입해 풀어야하는 문제이다. 벽을 부수는 최소 수를 저장하는 dist 배열을 선언해 조건에 달아주면 된다. 코드 #include #include #include #include using namespace std; int M, N; int arr[101][101]; vector dist(101, vector(101..

Tech/Algorithm 2023.01.24
728x90
반응형