전체 글 94

4. 블로그 서비스

api 구현 -> dynamodb, mysql, sqlite -> 저장소 -> 프엔 1. 서비스 소개 및 설계 2. 기본 api 구현: models.ts, handler.ts, storage.ts 3. dynamoDB 연동 : aws-sdk, crud, 로컬(serverless offline, 테스트, db) 1) 자원 선언 2) aws-sdk 라이브러리 추가 3) crud 4) 목록 구현 5) 로컬 환경 준비 6) serverless offline 7) 로컬 dynamoDB 준비 8) 로컬 테스트 9) 배포 및 테스트 10) 정리 4. mysql 연동: 방화벽, 라이브러리, crud, 테스트, 테이블 1) 자원 선언 2) 방화벽 설정 3) mysql 라이브러리 추가 4) 글에 대한 crud 구현 5) ..

3. 사진 최적화 서비스

1. 서비스 소개 및 설계 2. lambda에서 외부 프로세스 실행 준비 3. 첫번째 시스템 구현 : 인프라 선언 (s3, cloudfront, awscli, cloudformation, serverless) 1) s3, cloudfront 인프라 준비 2) awscli 도구로 인프라 설정 3) cloudformation으로 인프라 선언 4) serverless framework에 인프라 선언 통합 5) s3 bucket에 파일 업로드 6) 중복 업로드 막기 4. 두번째 시스템 구현 : public, private bucket 분리 5. 세번째 시스템 구현: s3 이벤트로 최적화 수행 6. 상용 서비스 고려 7. 모니터링 8. 비용 계산 1) s3 비용 2) cloudfront 비용 3) 서비스 비용 계..

2. Hello API

자바스크립트 -> 타입스크립트(웹팩 + 소스맵) -> api gateway, lambda, cloudwatch (한도 + 전략) -> 모니터링 (로그 : lambda, api gateway) -> 비용 계산 1. Hello API 자바스크립트 구현 2. Hello API 타입스크립트 구현 1) 템플릿 2) 타입스크립트 3) 웹팩 4) 소스맵 5) serverless.ts 3. 상용 서비스 고려 : 한도 + 전략 1) 서비스 한도 2) api gateway 한도 3) api gateway 통합 lambda의 한도 4) cloudwatch logs의 한도 5) 운영 전략 4. 모니터링 : 로그 1) lambda의 로그 확인 2) api gateway의 로그 확인 3) lambda의 지표 4) lambda의 ..

[패캠 네카라쿠배 2기] 2차 테스트 - 10일차 데이터구조8: 힙

대표적인 데이터 구조8: 힙 1. 힙 (Heap) 이란? 힙: 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 완전 이진 트리: 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 힙을 사용하는 이유 배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(n) 이 걸림 이에 반해, 힙에 데이터를 넣고, 최대값과 최소값을 찾으면, O(logn) 이 걸림 우선순위 큐(우선순위를 같이 지정해줘서 우선순위가 높은 애부터 추출)와 같이 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용됨 2. 힙 (Heap) 구조 힙은 최대값을 구하기 위한 구조 (최대 힙, Max Heap) 와, 최소값을 구하기 위한 구조 (최소 힙..

[패캠 네카라쿠배 2기] 2차 테스트 - 9일차 데이터 구조7 : 트리

대표적인 데이터 구조7: 트리 1. 트리 (Tree) 구조 트리: Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조 실제로 어디에 많이 사용되나? 트리 중 이진 트리 (Binary Tree) 형태의 구조로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨 이진 탐색 트리 O(log2N) 배열 O(n)보다 짧게 걸린다 2. 알아둘 용어 Node: 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 노드에 대한 Branch 정보 포함) Root Node: 트리 맨 위에 있는 노드 Level: 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된 노드의 깊이를 나타냄 Parent Node: 어떤 노드의 다음 레벨에 연결된 노드 (해당 노드의 상단에 있는) ..

[패캠 네카라쿠배 2기] 2차 테스트 - 8일차 데이터 구조6: 해쉬 테이블

대표적인 데이터 구조6: 해쉬 테이블 (Hash Table) 1. 해쉬 구조 cf. Hash : 이를 확장한 알고리즘들이 많은 ex. 블록체인 Hash Table: 키(Key)에 데이터(Value)를 저장하는 데이터 구조 배열에서는 원소를 검색할 때 하나하나 찾는다면 hash table은 바로 Trump를 구할 수 있다 Key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 획기적으로 빨라짐 파이썬 딕셔너리(Dictionary) 타입이 해쉬 테이블의 예: Key를 가지고 바로 데이터(Value)를 꺼냄 보통 배열로 미리 Hash Table 사이즈만큼 생성 후에 사용 (공간과 탐색 시간을 맞바꾸는 기법) // 해쉬테이블을 내부적으로 구현할 때는 배열로 만들 수 있다// 공간을 늘려서 충돌이 일어나지 않도..

[패캠 네카라쿠배 2기] 2차 테스트 - 8일차 알고리즘 복잡도 표현 방법

알고리즘 복잡도 표현 방법 1. 알고리즘 복잡도 계산이 필요한 이유 하나의 문제를 푸는 알고리즘은 다양할 수 있음 자료구조 중에 복잡도를 검토할 부분이 있어서 자료구조를 공부하는 지금 다룬다 정수의 절대값 구하기 1, -1 ->> 1 방법1: 정수값을 제곱한 값에 다시 루트를 씌우기 방법2: 정수가 음수인지 확인해서, 음수일 때만, -1을 곱하기 다양한 알고리즘 중 어느 알고리즘이 더 좋은지를 분석하기 위해, 복잡도를 정의하고 계산함 2. 알고리즘 복잡도 계산 항목 시간 복잡도: 알고리즘 실행 속도 // 요즘은 시간 복잡도를 많이 물어본다 공간 복잡도: 알고리즘이 사용하는 메모리 사이즈 가장 중요한 시간 복잡도를 꼭 이해하고 계산할 수 있어야 함 알고리즘 시간 복잡도의 주요 요소 반복문이 지배합니다. 생..

[자바스크립트 알고리즘] 기본문제 풀이

https://github.com/nicky0830/JS-Algorithm-Section1 nicky0830/JS-Algorithm-Section1 자바스크립트 알고리즘 강의 + 내 풀이 + 정답, 주석. Contribute to nicky0830/JS-Algorithm-Section1 development by creating an account on GitHub. github.com 1. 세 수 중 최솟값 2. 삼각형 판별하기 3. 연필 개수 (다스) 4. n까지 더하기 5. 배열 중 최솟값 구하기 6. 홀수 7. 10부제 + ForEach, (누적합)reduce, (새 배열)map, filter

JAVASCRIPT 2021.06.22