본문 바로가기

INT NUM

(164)
오일러 항등식(Euler's identity), 세상에서 가장 아름다운 수학 공식 오일러의 항등식은 e, 파이, 0, 1 및 i와 같은 가장 기본적인 수학 상수 중 일부를 관련시키는 수학에서 유명한 방정식입니다. 이 방정식은 수학에서 가장 중요하고 서로 무관해 보이는 수학 상수 5개를 하나의 우아한 표현으로 결합합니다. 또한 수학과 과학의 많은 영역에서 광범위한 영향을 미치고 있습니다. HTML 삽입 미리보기할 수 없는 소스 오일러의 항등식은 e, 파이, 0, 1 및 i와 같은 가장 기본적인 수학 상수 중 일부를 관련시키는 수학에서 유명한 방정식입니다. 이 방정식은 수학에서 가장 중요하고 서로 무관해 보이는 수학 상수 5개를 하나의 우아한 표현으로 결합합니다. 또한 수학과 과학의 많은 영역에서 광범위한 영향을 미치고 있습니다. 5개의 상수 - e, 파이, 0, 1, i 오일러의 항등식..
[AWS] S3 정적 호스팅을 CloudFront에 연결하기, https 설정, 가비아 도메인 연결 1. 가비아에서 구매한 도메인을 AWS Route53에 연결 AWS Route53에 구매한 도메인과 동일한 public hosting 영역을 생성 ex) exmple.kr NS 레코드 4개를 가비아에 등록 가비아 > 도메인 > 네임서버 1~4차 2. AWS Certificate Manager AWS ACM 콘솔에 들어가서 등록한 도메인 (example.kr, *.expamle.kr)에 대한 인증서 발급 이 때 리전은 꼭 us-east-1(버지니아 북부)로 해야 함!! 그래야 cloudfront에 인증서 적용 가능 DNS검증을 선택하고 대기하면 검증보류 > 검증 완료로 변경됨 3. CloudFront배포 설정 호스팅된 S3(example.kr.s3-website.ap-northeast-2.amazonaws..
Remove Invalid Parentheses | LeetCode 301 | Python3 🐍 📄 목차 제목: https://leetcode.com/problems/remove-invalid-parentheses/🐍 🤔 문제 : Remove Invalid Parentheses | LeetCode 301 문제: https://leetcode.com/problems/remove-invalid-parentheses/ 주어진 문자열에서 가장 긴 palindrome을 찾는 문제입니다. 💡 풀이 1. 구구절절.. iteration 주어진 s의 모든 substring에 대해서, valid parenthesis 여부를 확인하면서, 가장 긴 것들을 저장해서 반환해야 겠다. 그럼 TLE 가 날 것 같으니, (와 )의 갯수를 대조해서 더 많은걸 많은 갯수만큼 삭제한 substring먼저 확인하고.. 거기서 없으면 (..
[AWS] CDK 시작하기 & Argument of type 'this' is not assignable to parameter of type 'Construct' 이슈 해결 1. CDK Cli 설치 및 CDK bootstrap AWS CDK CLI를 설치하려면 먼저 Node Package Manager(NPM)가 설치되어 있어야 합니다. # npm으로 aws-cdk 설치 npm install -g aws-cdk # 성공적으로 설치 되었는지 확인 cdk --version # > 2.20.0 (build 738ef49) 배포하게 될 대개의 AWS CDK 스택들은 스택과 함께 배포되는 외부 파일(예: AWS Lambda 함수나 Docker 이미지) 등의 자산을 포함하고 있습니다. CDK는 이를 Amazon S3 버킷 또는 기타 컨테이너에 업로드하여 배포 중에 AWS CloudFormation에서 사용할 수 있게 합니다. 배포하려면 이러한 컨테이너가 AWS 계정 및 배포하려는 리전..
[AWS] 컨테이너 기반 Lambda 생성하기, Lambda에서 S3업로드 프로젝트 내에서 음성파일 분석을 위해 파이썬 Librosa 라이브러리를 활용해야 했는데요, 전체프로젝트를 서버리스로 구성할 계획이어서 이 부분도 람다로 추가해보았습니다. 일반적으로 람다에 외부 라이브러리를 활용하려면 Lambda layers를 이용하면 되지만, librosa는 패키지 사이즈가 커서 이 방법으로는 업로드가 어려웠습니다. EFS에 패키지를 설치하고 람다에 EFS를 마운트하는 방법도 있었지만 제가 시도해보니 잘 안되어서.. 람다 전체를 도커로 컨테이너화 해서 올리는 방법을 택했습니다. 01. 람다 핸들러 소스코드 작성 람다 핸들러 소스코드를 작성해줍니다. 아래 코드는 쿼리패러미터로 입력받은 url에 대해서 librosa의 split(묵음 구간 식별)를 수행하고 결과를 boto3라이브러리를 이용..
[AWS] Lamda + API Gateway 시작하기 | GET, Query String 전달, json.dumps 한글 깨짐 해결 람다 간단하대서 써볼려했더니.. 엄청 삽질했네요;; Lamda + API Gateway를 활용하여 간단한 API를 개발해보겠습니다. 1. API 규격 이번에 만들 api 는 GET/test 입니다. GET /test - queryString으로 first_name과 last_name이 있을 경우 : body에 hello {first_name} {last_name} 반환 - queryString이 비어있을 경우 : body에 hello anonymous 반환 2. Lambda 함수 생성 AWS Lambda > 함수생성 > 새로작성 test라는 이름의 함수를 하나 만들어 주었습니다. 새로 생성한 함수로 들어가서 코드 탭에서 코드를 원하는대로 편집합니다. 람다에서는, event 인자를 통해 request인자들..
Big-O 표기법 (1) 기본 원칙, 배열(ArrayList), 재귀함수, 이진트리(Binary Tree, BT)에서의 Big-O 알고리즘 문제를 풀다보면 big-O notation을 통해 시간복잡도, 공간복잡도를 계산하곤 합니다. 저는 대략적인 호출 수, for loop, 캐싱 등을 염두에 두고 계산하곤 했는데요, CTCI(Cracking the Code Interview)책을 읽다 보니 recursion, string, binary tree 등에서 보다 정확한 Big-O Notation에 대한 부분이 있어 정리해두려고 합니다. 01. big-O 표기법이란? big-O 표기법은 N에 따라 수행시간이 어떻게 변화하는지를 표현해주는 도구입니다. 두 big-O 표기법 중 어떤게 더 수행시간이 빠른지를 비교하는것이 아닙니다! 즉, big-o 표기로 더 크다고 해서 항상 더 느린 것은 아닙니다. 입력과 연산에 따라 O(N) 코드가 O(1)..
Longest Increasing Subsequence | LeetCode 810 | Python3 🐍 📄 목차 🤔 문제 : Longest Increasing Subsequence | LeetCode 810 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/111/dynamic-programming/810/ 주어진 리스트 내 가장 긴 increasing subsequence 의 길이를 찾는 문제입니다. subsequence 란 배열에서 몇개의 요소를 삭제해서 만들 수 있는 sequnce를 말합니다. (순서는 바꾸지 않습니다) 예를들어, [2, 1, 3]의 subsequence는 아래와 같습니다. [2, 1, 3], [2, 1], [2, 3], [1, 3], [2], [1], [3], [] increasing subs..