전체 글 51

『EC2』Cloud-init

Cloud-init란? Cloud-init는 클라우드 환경을 제공할때 사용되는 오픈소스 솔루션이다. 인스턴스 초기화를 위해서 업계 표준으로 사용되는 다중 배포 오픈소스 솔루션으로 AWS와 같은 Public Cloud에서 사용된다. OS(Image)가 부팅이 될때 제공된 메타데이터를 읽는다. 그리고 그 데이터값에 의거하여 시스템 초기화를 진행한다. Cloud-init의 동작방식 동작방식은 OS가 부팅이 될때 총 5가지 과정으로 이루어지게 된다. 1. Generator 2. Local 3. Network 4. Config 5. Final 인스턴스 재부팅시에는 /etc/cloud/cloud.cfg의 정보를 읽고 5단계를 걸친뒤에 모듈, 설정 정보를 실행하여 반영한다. 아래의 코드내용은 CentOS기준으로 확인..

AWS/EC2 2022.06.20

『Node.js』디스코드 급식알림 웹훅

개요 디스코드에 웹훅이라는 기능을 통해 일정 시간마다 AWS Lambda를 작동시켜 당일 급식을 조회하는 방법이다. 사전에 준비해야하는 것 Node.js AWS 계정 git 디스코드 위 4가지만 준비하면 된다. 다른 것들은 진행하며 다 알려준다. 시작 1. 디스코드 디스코드에서 원하는 서버를 정하거나 생성해 채널하나를 만든다. 난 이미 연결해서 웹후크가 2개라고 뜨지만 원래는 안뜬다. 원하는 방식대로 프로필을 꾸며준다. 이제 복사한 웹후크주소를 메모장에 옮겨적는다. 2. 코드 복사 및 수정 로컬에 아무 위치에 git clone을 하거나 아래 사진 처럼 다운해야한다. npm ci 그 뒤 학교관련한 코드를 입력해야 하는데. 여기서는 Ctrl+H하고 찾아서 전체를 바꾸는걸 추천 Your_School_Type라..

『Python』백준 2775

https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 백준 사이트는 여기이다. 문제와 예시 입출력은 다음과 같다. T = int(input()) # 입력받을 case 갯수 for a in range(T): # case 갯수만큼 시작 k = int(input()) # k라는 변수 즉 층이 몇층인지 입력받는다. n = int(input()) # n이라는 변수 즉 호가 몇호인지 입력받는다. people = [ i for i in range(1, n+1)] # 0층을 표시 for b in rang..

『EKS』EKS연결 및 간단하게 사용해보기

주의 본 내용은 AWS-EC2에 관한 기본적인 이해와 컨테이너 기술에 대한 간단한 기초이론이 있어야지 이해할 수있습니다. 개요 저번에는 간단하게 EKS Cluster를 생성하는 시간을 가졌었습니다. EKS를 생성할때는 시간은 오래 걸리지만 복잡한 작업없이 원하는 수의 노드를 생성이 가능하고 마스터 - 워커 노드에 관해서 크게 생각할 필요없이 바로 생성이 가능해서 간편하다는 장점이 있습니다. 그렇다면 우리는 이 EKS라는 것에 어떻게 명령을내려서 컨테이너들을 관리할 수있을까요? 바로 kubectl과 우리가 생성한 eks를 연결해주고 eksctl이라는 것을 이용해서 eks를 관리할 수있습니다. kubectl 명령도 여기서도 작동을 하죠! 왜? EKS가 연결되어있어서 kubernetes를 쓰는 것처럼 할 수있..

AWS/EKS 2022.02.13

『EKS』EKS 정의 및 간단한 구성방법

간단한 이론 우선 EKS를 한마디로 정의하자면 다음과 같다. " Amazon Web Service에서 지원하는 Kubernetes Service " EKS 말고도 구글의 GKE 에저의 AKS등등 퍼블릭 클라우드에서는 클라우드를 무조건 지원하는 추세이다. 그럴만도 하다. 컨테이너 기술 자체가 클라우드와 결합되면 큰 시너지를 내기 때문이다. EKS를 알기 위해선 원조인 쿠버네티스(Kubernetes)부터 간단히 설명이 필요하다. 우선 Kubernetes 줄여서 K8S(K와 S사이에 8글자라서 그렇다고 한다.)는 컨테이너들을 관리해주는 오케스트레이션(지휘자)서비스 이다. 즉 컨테이너들이 여러개가 있는 환경에서 여러가지 기능이 필요할때 사용할 수 있다. 이것을 AWS라는 퍼블릭클라우드에서 관리해주고 사용하기 쉽..

AWS/EKS 2022.02.12

『Python』파이썬을 공부할때 필요한 문법 리스트 - 1

개요 오늘 인프런에 있는 파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자 를 보면서 공부를 진행했다. 아직 전부 보진 못했고 다 보고 한번 더 작성해야겠다.. 그러면서 느낀 점과 동시에 어떤 문법을 공부해야하는지 적어보도록 하겠다. 기본 연산 연산의 경우 + , - , /, * , % 등등 여러가지가 있다. 이런 것도 해야하고 동시에 논리연산자인 or, and, not 등등도 하면 도움이 많이 된다. 이때 변수같은 것도 해두어야지 편하다. 지역변수, 전역 변수 등등 국룰 문법 국룰이라고 하면 for, while, if 등등이 있다. 이런 것을 먼저 끝내놓고 그 뒤에 다른 여러가지를 사용해보면 편하다. 이때부터 괜찮은 코드를 짤 수있다. 위 단계에서는 단순히 반복하려면 print를 찍어냈다면 여기..

『K8S』쿠버네티스 기본 이론

간단한 설명 kubernetes는 간단하게 말하자면 컨테이너들을 관리해주는 오케스트레이션입니다...! 다른 딥한 내용보다는 간단하게 이론 부분만 설명해보겠습니다. 간단한 구조 구조는 다음과 같다. 하나의 OS인 Node가 존재한다. 그리고 그 안에는 Deployment라고 하는 pods 즉 각각의 하나의 컨테이너를 AutoScaling해주는 것이 존재한다. 여기서 Deployment가 Pods를 생성하였는데 Pods가 죽거나 삭제될 경우 설정한 Replicas(원하는 파드갯수)에 따라서 다시 생성이 된다. 즉 Node(노드)는 하나의 작은 컴퓨터이다. deployment는 AutoScaling이며(원하는 이미지로 일정 갯수 생성) pod(파드)는 하나의 컨테이너이다. 정리 정리를 하자면 각각 크기의 순서..

DevOps/K8S 2022.01.19

『Python』백준 5335번: 화성수학 해설

https://www.acmicpc.net/problem/5355 5355번: 화성 수학 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산 www.acmicpc.net 아래는 참고한 코드이다..(사실 배낀거나 다름없지만) https://island-developer.tistory.com/94 문제 해석 문제를 해석 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산자이다. 따라서..

『Python』백준 2588

Olympiad > 한국정보올림피아드 > 한국정보올림피아드시․도지역본선 > 지역본선 2005 > 초등부 2번 의 문제라고 한다....요즘 초딩들 똑똑하다..내게는 너무 어려웠다...ㅠㅠㅠ 문제는 다음과 같다. 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 해설의 출처 사진 및 문제의 출처는 아래와 같다. https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 블로그 보고 풀었으니 블로..

『GO』 다시한번 떠올려 보자 - 1

주의 해당 글 내용은 다른 사이트에서 보고 Notion에 정리한 내용 및 코드이기 때문에 제게는 아무런 권한이 없고 원본을 만드신분께 감사함을 표시합니다..(너무 오래되서 어디서 봤는지를 모르겠네요.) https://github.com/High-PO/golang-study/blob/main/Remind/re1/re1.go 해당 주소로 들어가면 사용한 코드가 나오게 된다. go lang을 예젖에 기초문법만 잠깐 봤던 적이 있는데 그 당시 기억이 안나서 다시 찾아보던 와중 Notion에 내가 정리해둔게 있어서 그 부분을 보고 코드를 쳐봤다. 기본적인 구조 package main // 패키지 이름은 main이고 단 하나밖에 존재 할 수 없다. import "fmt" // 모듈 fmt 선언 func main()..