일상을 개발하는, liveloper Jay
본문 바로가기

전체 글121

백준 10870_피보나치 수 5 [C++] 문제 풀이 이 문제는 기존에 피보나치에 대해 알고 있다면 쉽게 해결할 수 있는 문제입니다. 피보나치 수는 첫번째와 두번째는 0과 1로 시작하여, 그 이후의 n번째의 값은 n-2와 n-1의 합, 즉 (n-2) + (n-1) 이 됩니다. 이 문제에서는 n의 값을 입력하고, n번째의 값을 출력해주는 문제로, 배열을 하나 생성하여 arr[0]=0 , arr[1]=1, 그 이후의 값은 arr[n-2] + arr[n-1] 이 되고, 최종적으로 입력받은 값 n에 대한 arr[n]의 값을 출력하면 됩니다. 코드로 작성하면 아래와 같습니다. 소스코드 #include using namespace std; int Fibonacci(int a){ int value[21]={0,}; for (int i = 0; i > n; c.. 2022. 6. 26.
백준 1011_Fly to the Alpha Centauri [C++] 문제 풀이 이 문제는 문제를 이해하는데에는 큰 시간이 걸리지 않았던 것 같은데, 풀이를 하는 과정에서 반복문을 사용할 경우 시간이 초과되는 문제가 발생해서 애를 먹었던 문제입니다. 이 문제에서 처음 이동할 수 있는 거리는 -1,0,1 이나 실질적으로 -1과 0의 거리를 이동할 일이 없기 때문에 1만큼 이동하고, 그 다음은 0,1,2 의 거리를 이동할 수 있다는 뜻입니다. 그리고 도착 직전 마지막 이동거리는 1이 되어야 하므로, 마지막 이동 직전 거리는 1또는 2라는 것을 알 수 있습니다. 이런식으로 거리에 따른 이동 수를 나타내어 규칙을 알아보겠습니다. 총 이동거리(y-x) 이동거리 이동 수 1 1 1 2 11 2 3 111 3 4 121 3 5 1211 4 6 1221 4 7 12211 5 8 1222.. 2022. 6. 25.
DevOps 부트캠프 Final Project 회고 부트캠프의 마지막 프로젝트도 오늘을 마지막으로 끝났다. 이번 프로젝트는 기간도 길었던만큼 기존 프로젝트에 비해 더 많은 것을 해볼 수 있었던 것 같다. 그래서 이번 프로젝트를 통해 내가 어떤 일을 했으며, 그 과정에서 느낀 점들도 함께 정리해보려고 한다. 프로젝트 정리 이번 프로젝트에서는 사용자가 화물 운송 예약 및 조회 서비스를 구성해 보았으며, 구현한 내용은 다음과 같다. 소비자가 상,하차지 등 운송정보를 입력하면, 해당 플랫폼을 통해 요청이 드라이버에게 전달이 되는 서비스를 구현 예약에 관련된 기능을 수행하는 API 서버가 구현되어 있으며, 이는 ELB와 AutoScaling을 통해 가용성을 보장하고 확장을 용이하게 함. 예약 API 서버의 각 기능이 수행된 후, 분석 가능하게 하기위하여 Elast.. 2022. 6. 7.
[TIL] 2022.05.20 진행사항 1. 아키텍처 검토 전 질문사항을 정리하여 질문 후 피드백을 받았다. 2. EC2 내 filebeat 설치 후 로그를 수집하고, 해당 로그를 Opensearch로 운반 (진행중) - 자료 검색 아키텍처 검토 (질문/답변) Q1. 예약 정보에 대한 기능을 하는 API 서버(EC2)에 fliebeat를 설치 후 log 타입만 받아 Opensearch 엔드 포인트에 로그를 누적해도 되는가? -> OK Q2. 느슨한 결합을 위해 SNS를 굳이 사용해야 하는가? -> 지금이야 간단한 알림만을 전송, 그러나 나중에 토픽이 여러가지일 경우 구분해서 처리할 수 있도록 확장성을 고려 (+ 초기작동 Test 환경은 Node서버를 그냥 띄워 진행하지만, 그 이후 적어도 docker이용하거나 EKS 환경으로 작동하게.. 2022. 5. 20.
쿠버네티스(Kubernetes)란? + workload 쿠버네티스에 대해서 알아보기전에 먼저 컨테이너의 개념과 Docker에 대해 학습을 진행하시면 내용을 이해하는데 도움이 될 것입니다. https://liveloper-jay.tistory.com/90 Docker란?_ 컨테이너와 Docker Summary 우리가 어떠한 애플리케이션을 설치하고 실행을 하려고 한다면, 그냥 실행이 되는 것이 아니라 그에 맞는 환경이 기본적으로 구축이 되어 있을 경우에 정상적으로 실행이 됩니다. 그런데 liveloper-jay.tistory.com Kubernetes란? 쿠버네티스(kubernetes)는 오픈소스로 만들어진 컨테이너 오케스트레이션 도구로, 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등의 관리 기능을 제공합니다. 여기서 '그럼 그냥 Docker Com.. 2022. 4. 25.
IaC(Infrastructure as Code)란? _ Terraform Infrastructure as Code DevOps의 주요한 가치 중의 하나는 바로 자동화입니다. 코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다. 즉 코드로 클라우드 인프라의 생성/수정/삭제를 자동화 한다고 볼 수 있습니다. IaC를 사용하면 인프라 사양을 담은 구성 파일이 생성되기 때문에 구성을 편집하고 배포하기가 더 쉬워집니다. 또 이렇게 될 경우 구성에 대한 정보가 코드화 되어있기때문에 구성 변경 사항을 문서화하지않고, 임의로 변경되는 문제를 막을 수 있습니다. 이러한 IaC는 다음과 같은 특징 및 장점을 가집니다. 인프라를 만드는 과정이 자동화되므로, 오류 발생확률이 줄어들고 안전합니다. 코드로.. 2022. 4. 24.
DevOps 부트캠프 두번째 오프라인을 마치며... 두번째 오프라인이 3/30~4/5일까지 5일간(주말제외) 진행되었습니다. 오프라인이 끝나고 회고를 바로 작성했어야 했는데 오프라인이후에 찾아온 게으름 + 급격한 체력저하로 미루고 미루다가 이제서야 작성하게 됐습니다ㅠㅠ 잡담은 그만하고 오프라인간 느낀점에 대해서 간략히 작성해보겠습니다! 중간평가 오프라인 첫째날에는 프로젝트를 진행하지 않았고, 지금까지 학습한 내용에 대한 중간평가를 진행했다. 오전에는 코플릿 평가를 진행했고, 오후에는 개념적인 부분들에 대한 평가를 진행했다. 사실 시험치기 전날까지 '문제가 엄청 어렵지 않을까??' 라는 걱정도 많이 됐었는데, 풀어보니 '역시나....' 라는 생각이 들었다. 그래도 코플릿은 어렵지 않았고, 개념도 내가 어려웠던 건 다른 분들도 같이 어려웠던 것 같아 한편으로.. 2022. 4. 17.
API Gateway와 Lambda를 이용한 서버리스 애플리케이션 Summary API Gateway - Lambda - DynamoDB 아키텍처로 구성된 서버리스 애플리케이션을 만들고, DynamoDB에 레코드를 추가하는 간단한 람다 함수를 하나 만들고, API Gateway를 통해 이를 호출하고, API Gateway의 인증 기능을 이용해서 HTTP 요청에 특정 API Key를 사용하는 과정까지 진행해보겠습니다. API Gateway - Lambdb 배포 Lambda와 API Gateway 세팅을 한꺼번에 진행하기 위해 SAM을 이용하며, SAM에 대한 참고자료는 다음과 같습니다. https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-instal.. 2022. 4. 17.
마이크로서비스(MicroService)란? _MicroService와 Serverless MicroService와 Serverless가 무엇인지, 둘은 어떤 관계가 있는지를 알아보겠습니다. 모놀리식(Monolithic) 모놀리식은 기존에 많이 쓰이는 전형적인 ‘애플리케이션 구조’ 입니다. 모놀리식은 위의 사진과 같이 다양한 로직을 하나의 서비스로 구성하기 때문에 모든 로직들이 결합도와 의존성을 강하게 가집니다. 그렇기 때문데 각 로직들 간 호출이 빠르고, 시스템 메모리 및 리소스 사용이 좀 더 효율적으로 이루어진다는 장점을 가지게 됩니다. 하지만 로직들이 하나로 결합되어 있기 때문에, 이 중에서 특정 로직만 업데이트를 진행하고자 하는경우 업데이트 하고자하는 로직이 아니어도 영향을 받게됩니다. 그렇기 때문에 업데이트 시 고려해야 할 사항이 많아지게 된다는 단점도 존재합니다. 마이크로서비스(Mi.. 2022. 4. 6.