본문 바로가기

Team Project64

TIL(30) 21-10-29 : 서버리스 백엔드로 게시판 API 만들기 💫 Facts ✅ Lambda와 (+VPC + NAT + SecretsManager + Proxy + S3 +RDS) 연동해서 인프라 구성하기 NAT 게이트웨이를 이용해 외부 인터넷 연결 ✅ Lambda를 이용해 실제 API 만들기 ✅ API를 사용한 게시판 만들기 💫 Findings ✔️ Lambda와 (+VPC + NAT + SecretsManager + Proxy + S3 +RDS) 연동 Lambda 함수에서 RDS 연결은 Dateproxy를 사용하도록 권장해서 Lambda에 VPC 추가를 한다. Lambda 함수에 VPC를 연동하면 외부통신이 되지 않는다. 외부통신을 하기 위해서 지정한 서브넷에 NAT 게이트웨이를 설정한다. 🤔 인프라 구성할 때, VPC와 NAT까지 설정까지하는 이유는 무엇일까?.. 2021. 10. 29.
TIL(29) 21-10-28 : 서버리스 백엔드 💫 Facts ✅ EC2로 구성된 기존 아키텍처의 문제점 이해 ✅ 서버리스에 대한 개념 이해 ✅ Lambda와 (+ VPC + SecretsManager + RDS) 연동해서 인프라 구성 💫 Findings ✔️ Cloud란 물리적인 컴퓨터를 사용하지 않아도, 을 통해 를 사용하는 것 ✔️ EC2로 구성된 기존 아키텍처의 문제점 EC2 만으로 백엔드 인프라를 구성해도 관계가 없지만 좀 더 유연한 인프라를 구성하는 데는 분명히 한계가 있다. 왜냐하면, EC2 인스턴스로 백엔드를 구성하면 EC2를 직접 관리해 줘야 한다. 만약 운영하고 있는 서비스에 갑자기 트래픽이 몰린다면? 🤯 EC2를 추가해서 부하를 분산 시켜 줘야한다. 운영 중인 서비스에서는 대응이 힘들 것이다. 😭 확장의 유연성을 위해 어떻게 하면 .. 2021. 10. 28.
TIL(28) 21-10-27 : 서버리스 프론트엔드 Facts ✅ NGINX를 이용해 프론트 페이지 관리 ✅ HTTPS를 사용하기 위해 인증서 설치 ✅ S3 정적웹호스팅 기능을 사용하여 서버리스로 프론트엔드 페이지를 관리 ✅ CloudFront와 Certification Manager를 사용하여 HTTPS를 인스턴스 없이 생성 ✅ WAF를 이용하여 좀 더 보안을 강화 ✅ Route53을 이용하여 DNS를 이전 2021. 10. 28.
TIL(27) 21-10-25 : Brute Force, DP, Greedy Facts ✅ 완전탐색 2문제 ✅ DP 1문제 ✅ Greedy 1문제 Findings Fibonacci 공식을 Recursive와 Dynamic Programming으로 구현시 차이점 Recursive f(n) = f(n-1) + f(n-2) f(1) = 1 f(2) = 1 def fibonacci(N): if N == 1 or N == 2: return 1 return fibonacci(N-2) * fibonacci(N-1) Dynamic Programming f(n) = f(n-1) + f(n-2) f(1) = 1 f(2) = 1 계산이 중복되므로, 계산 값을 자료구조에 저장하여, 두번 이상 벌어지는 로직에 대해 그 값을 쓰게 한다. def factorial(N): dp = [0 for i in ra.. 2021. 10. 28.
TIL(26) 21-10-22 : 탐색(힙, 그래프, DFS, BFS) Facts ✅ 힙 2문제 ✅ DFS/BFS 3문제 Findings BST의 평균의 시간이 걸리는 케이스와 최악의 시간이 걸리는 케이스 ✔️ Binary Search Tree 아래의 조건들을 다 만족하는 트리를 말한다. 이진각 노드가 2개 이하의 자식 노드를 갖는 트리 노드가 왼쪽 자식 노드를 가진다면 그 노드가 가지는 값은 그 부모 노드가 가지는 값보다 작다. 노드의 오른쪽 자식 노드를 가진다면 그 노드가 가지는 값은 그 부모 노드가 가지는 값보다 크다. 평균의 시간 복잡도는 O(logN) 최악의 시간 복잡도는 O(N)이다. 그 이유는 Binary Search Tree의 시간복잡도는 O(height)이기 때문이다. 평균의 시간 복잡도는 O(logN)이지만, 이는 트리가 균형잡혀있을 때의 평균 시간복잡이다.. 2021. 10. 23.
TIL(25) 21-10-21 : 자료구조 (스택, 큐, 해쉬) Facts ✅ 스택 3문제 ✅ 큐 1문제 ✅ 해쉬 3문제 Findings 1️⃣ 스택 스택은 넣은 순서를 쌓아두고 있기 때문에 순서가 필요한 경우에 사용한다. 스택은 파이썬의 list 를 이용해서 스택으로 사용한다. stack = [] # 빈 스택 초기화 stack.append(4) # 스택 push(4) stack.append(3) # 스택 push(3) top = stack.pop() # 스택 pop print(top) # 3! 2️⃣ 큐 큐는 순서대로 처리되어야 하는 경우에 사용한다. Ex) 주문이 들어왔을 때 먼저 들어온 순서대로 처리해야 할 때, 혹은 먼저 해야 하는 일들을 저장하고 싶을 때 큐를 사용한다. 3️⃣ 해쉬 테이블 ✔️ What? F(key) → HashCode → Index → V.. 2021. 10. 21.