전체 글 145

쿠버네티스

용어 정리 1. 쿠버네티스 : 컨테이너 런타임을 오케스트레이션 하는 도구 2. 오케스트레이션 : 여러 서버에 걸친 컨테이너 및 사용하는 환경설정을 관리하는 행위 3. 컨테이너 런타임 : 컨테이너를 다루는 도구. 이 도구들 중 가장 유명한 것이 도커 4. 컨테이너 : 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술 애플리케이션 배포 환경의 변화 1. 전통적 배포(Traditional Deployment) 개념 : 물리적인 컴퓨터 한 대 + 하나의 OS. 가장 오래되고 단순한 방식으로, 단일 목적 시스템이라면 문제가 없다. 문제 : 한 대의 컴퓨터에서 모든 것을 처리하려 하면 프로그램끼리 간섭이 발생하거나, 특정 프로그램 성능 저하/중단이 유발될 수 있다. 2. 가상화 배포(Virtualiz..

CS 2023.03.13

DevOps

정의 Development + Operations 개발 업무와 관리 업무의 두 역할 사이에서 커뮤니케이션, 협업, 통합을 강조하는 개념. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있다. 개발팀과 운영팀이 병합되어 전체 애플리케이션 수명 주기에 걸쳐 작업하고 광범위한 기술을 개발한다. DevOps 팀 전체가 보안을 중점으로 두는 경우에는 DevSecOps라고 불린다. 등장 배경 기존에는 폭포수 모델 방법론을 사용. 폭포수(Waterfall) 모델 방법론은 순차적인 소프트웨어 개발 프로세스로, 한 단계 한 단계를 완전히 확정시키면서 진행해나가야 한다. 하지만 이렇게 각 단계를 완벽히 마무리하고 다음 단계로 넘어가는 방식에는 현실적으로 어려움이 ..

CS 2023.03.07

클라우드 기반 기술

1. 가상화 기술 운영체제, 서버, 스토리지, 네트워크 및 기타 물리적 시스템을 논리적으로 가상화된 버전으로 생성하는 것. 가상화를 사용하면 자원 할당이 유연해서 신속한 프로비저닝과 탄력성, 유연성을 뒷받침한다. 또한 하드웨어 리소스와 상호 작용할 때의 유연성이 높아진다. 웹의 애플리케이션을 사용하듯이 하드웨어 인프라를 관리/유지하며 사용할 수 있다. IaaS 모델에서는 컴퓨팅 자원(서버, OS, 스토리지, 네트워크) 가상화가 핵심이 된다. 2. 웹 서비스 기술 - SOAP 기반 웹 서비스 SOAP는 Simple Object Access Protocol의 약자. 분산되어 있는 콘텐츠를 추상적인 서비스 형태로 개방하여 표준화된 형태로 공유하는 기술. 웹 서비스 내의 모든 데이터는 XML이라는 마크업 언어로..

CS 2023.02.23

클라우드 관련 용어 정리

1. AWS(Amazon Web Services) - 아마존 웹 서비스. 현재 클라우드 컴퓨팅 분야 세계 1위 2. IaaS(Infrastructure as a Service) - 서비스로 제공되는 인프라스트럭쳐. 사용자가 인프라 만들 수 있게 함. 3. PaaS(Platform as a Service) - 서비스로 제공되는 플랫폼. 사용자가 플랫폼 만들 수 있게 함. 4. APaaS(Application Platform as a Service) - 서비스로 제공되는 애플리케이션 플랫폼. 사용자가 애플리케이션을 실행하거나 개발할 수 있게 함. 5. SaaS(Software as a Service) - 서비스로 제공되는 소프트웨어. 사용자가 소프트웨어 만들 수 있게 함. 6. SDN(Software Def..

CS 2023.02.17

클라우드의 분류

1. 제공 방식에 따른 분류 1) 퍼블릭 클라우드 일반 사람들이 사용할 수 있도록 만든 B2C형 클라우드 인프라/플랫폼. 인프라/플랫폼의 소유권은 서비스 제공자에게 있다. 2) 프라이빗 클라우드 특정 조직 내에서만 운영되고 접근 가능한 B2B형 클라우드 인프라/플랫폼. 사내망에서 구현되며 on-site거나 off-site로 구축된다. 3) 하이브리드 클라우드 다양한 업체의 퍼블릭 또는 프라이빗 클라우드가 조합된 클라우드 인프라/플랫폼. 표준 인터페이스와 프로토콜을 통해 이식성 뛰어난 애플리케이션을 배치한다. 4) 커뮤니티 클라우드 여러 조직으로 형성된 연합 혹은 커뮤니티의 공유된 접근을 지원하는 클라우드 인프라/플랫폼. 2. 서비스 모델에 따른 분류 1) IaaS 인프라 수준의 클라우드 서비스. 고객이 ..

CS 2023.02.10

클라우드의 정의

◎ 정의 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요시 바로 제공(on-demand availability)하는 것을 말한다. 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터 베이스, 서버, 스토리지, 애플리케이션, 서비스, 인텔리전스)에 대해 어디서나 접근할 수 있는, 주문형 접근(on-demand availability of computer system resources)을 가능케 하는 모델이다. (출처 : 위키피디아) 즉, 일상생활에서 전기나 수도와 같은 공공 서비스를 쓰듯이 컴퓨팅 자원을 필요할 때, 원하는 만큼 사용자에게 제공하는 서비스이다. ◎ 장단점 장점 단점 데이터를 신뢰성 높은 서버에 보관함으로써 ..

CS 2023.02.07

백준 4470 - 줄번호

문제 https://www.acmicpc.net/problem/4470 4470번: 줄번호 텍스트에서 줄을 입력받은 뒤, 줄 번호를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 브론즈 4 문제지만 배울 게 있었다. 1. 화이트 스페이스 scanf("%[^\n]s",str); 를 입력하면 \n이 나올 때까지 입력받게 되어, 공백을 포함한 문자열을 입력받을 수 있다. 2. 버퍼 비우기 scanf로 입력을 받으면 버퍼가 비워지지 않아서 개행문자가 그대로 남는 등의 잘못된 입력을 받게 되는 경우가 있으므로 getchar();를 추가하여 해결할 수 있다. 코드 #include using namespace std; int main() { int n; scanf("%d",&n); for(int ..

백준 17608 - 막대기(C++)

문제 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 풀이 오른쪽에서 봤을 때, 몇 개의 막대기가 보이는지 맞추는 문제이다. 현재 가장 긴 막대기의 길이를 계속 업데이트해 가면서 막대기들을 하나하나 비교해 가면 된다. stack을 이용하여 풀이할 수 있는 문제이다. stack에는 가장 늦게 들어온 수가 맨 위에 존재하게 되므로 오른쪽부터 고려할 수 있게 된다. 스택의 맨 위에 있는 수가 가장 긴 막대기의 길이보다 길다면 결과값을 증가시킨다. 코드 #..

백준 9933 - 민균이의 비밀번호(C++)

문제 https://www.acmicpc.net/problem/9933 9933번: 민균이의 비밀번호 첫째 줄에 단어의 수 N (2 ≤ N ≤ 100)이 주어진다. 다음 N개 줄에는 파일에 적혀있는 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있으며, 길이는 2보다 크고 14보다 작은 www.acmicpc.net 풀이 입력되는 문자열 중에서 특정 문자열이 반전된 문자열이 포함되었는지를 확인해야 하는 문제이다. 즉, 입력된 문자열 중 abc가 있고, cba도 있다면 이 문자열의 길이인 3과 가운데 글자인 b를 출력하면 된다. 특정 문자열이 존재하는지 아닌지를 확인하기 위해 set을 사용했다. 먼저 문자열들을 입력받아서 set에 계속 저장한다. 문자열을 입력받아서 반전 시킨 후, 그 ..