본문 바로가기

전체 글

[회고]Final Project Day5 DAY5 💡 참고자료 https://www.npmjs.com/package/sqs-producer producer를 사용한 SQS에 메시지 게시하기 → 실패 https://github.com/Mason0920/project3-microservices-day1 EC2-SNS-SQS 구조! 프로젝트3때 경험있음 https://aws.amazon.com/ko/premiumsupport/knowledge-center/sns-sqs-subscriptions-notifications/ SQS에 SNS 액세스 정책주기 https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property SQS sendmessage 문법 EC2-SQS.. 더보기
[회고]Final Project Day4 하나의 EC2로 공동작업하기 이를 활용하여 EC2로 공동작업 할 수 있었다. Git 작업 git init git remote add [별칭] [원격 git 주소] git config --global user.email "you@example.com" git config --global user.name "Your Name" git checkout -b [로컬 브랜치이름] // 로컬생성 git add . (git status로 상태확인 가능) git commit git push --set-upstream [별칭] [원격 브랜치 이름] //만들고싶을때 git clone -b [원격의 브랜치 이름] --single-branch //있는거 가져오고싶을때 git push -u [별칭] [원격 브랜치이름] 하면 원.. 더보기
[회고]Final Project Day3 아키텍쳐 그리기 주어진 요구사항을 반영하여 진행할 프로젝트에 대한 아키텍쳐를 그렸다. 해당 아키텍쳐는 하루종일 완성한 4.0ver. 이다. 우리는 전날에 전달받은 요구사항의 목적을 구체화했고, 그것을 달성하기 위해 요구사항을 잘게 쪼개어 이해했다. 그 후 요구사항이 분명하지 않아서 더 설명이 필요하거나 구현에 어려움이 있을 것 같은 부분에 대한 질문 사항을 오전에 정리했다. 소비자가 예약을 진행할 때, 예약 정보를 RDS에 저장한다. // 어떤 형태로 데이터가 오는가 → 어떤 데이터가 오든 처리할 수 있어야 한다. // rds를 어디에 연결할 것인가 → ElastiCache와 연결한다. 드라이버가 예약을 인지할 수 있도록 해당 메시지를 알림 서버에 전달한다. // 어떻게 알림서버를 구성할 것인가 → 가용.. 더보기
[회고]Final Project Day2 요구사항 구체화 첫번째는, 요구사항의 목적을 확인하는 일입니다. 두번째는, 요구사항을 구체화하는 일입니다. 세번째는, 커다란 요구사항을 잘게 쪼개는 일입니다. 오늘은 요구사항의 목적을 확인하고자 한다. 우리팀이 선택한 시나리오의 요구사항은 다음과 같다. 소비자가 예약을 진행할 때, 예약 정보를 RDS에 저장하고, 이후 드라이버가 이를 인지할 수 있도록 해당 메시지를 알림 서버에 전달해야 합니다. 데이터 내구성을 보장하기 위해 RDS는 복제본이 만들어져야 하며, 빠른 예약 정보 검색을 위해 쿼리결과는 ElastiCache를 통해 캐싱이 되어야 합니다. 예약 내역이 담긴 메시지 누적은 Elasticsearch를 통해 제공됩니다. 데이터에 대한 고민 우리 팀은 데이터가 어떻게 생겼고, 어떤 정보를 RDS에 저.. 더보기
[정리]pre-project1 fastify로 서버 만들기 fastify generate . /* package.json dependencies "fastify": "^3.0.0", "@fastify/cors": "7.0.0", "@fastify/mysql": "3.0.0", "@fastify-autoload": "^4.0.1", "fastify-cli": "^2.15.0", "fastify-plugin": "^3.0.0", "@fastify-sensible": "^4.1.0" */ npm i // plugins/에 cors.js 추가, routes에 CRUD 추가 가능 npm run dev react-app으로 클라이언트 만들기 create-react-app . // REACT-APP-ENDPOINT 수정하기 npm run buil.. 더보기
[JS]재귀함수 예제3 Q3. 다차원 배열을 입력받아 1차원 배열로 변환하여 리턴해야 합니다. function flattenArr(arr) { if (arr.length === 0){return []} // 빈 배열 입력 처리 const head = arr[0] const tail = arr.slice(1) // head와 tail을 활용하여 arr를 재귀적으로 순회 if (Array.isArray(head)){ return flattenArr([...head, ...tail]) // 전개구문 } else { return [head].concat(flattenArr(tail)) // 재귀적으로 tail을 호출하며 최종적으로는 평평한 배열이 출력 } } arr를 반복문 사용하지않고 재귀호출로 순회할 수 있는 방법으로 head와 .. 더보기
[JS]재귀함수 예제2 Q1. 러시아 전통인형 마트료시카에 대한 정보를 담은 객체와 수를 입력받아 조건에 맞는 인형이 있는지 여부를 리턴해야 합니다. - 실패 function findMatryoshka(matryoshka, size) { if (matryoshka === null){return false} else if (matryoshka.size === size){return true} findMatryoshka(matryoshka.matryoshka, size) return false } 항상 빈 배열, 빈 객체와 같은 예외적인 경우를 먼저 처리해줘야 한다고 생각하여 null 값을 먼저 처리해줬다. 하지만 재귀적으로 함수가 실행되게 해야하므로, 오히려 걸리적거리는 옵션이다. 굳이 써줄 필요가 없었다. 위와 같이 그저 재귀.. 더보기
[JS]재귀함수 예제1 기본적인 재귀함수는 전에 풀어보았다. 오늘은 좀 더 복잡한 재귀함수 코플릿에 도전해본다! Q1. 선물 상자에 대한 정보를 담은 배열과 문자열을 입력받아 조건에 맞는 선물이 있는지 여부를 리턴해야 합니다. const giftBox = ['macbook', 'mugcup', ['eyephone', 'postcard'], 'money']; let output = unpackGiftbox(giftBox, 'iphone'); console.log(output); // --> false output = unpackGiftbox(giftBox, 'postcard'); console.log(output); // --> true - 실패 function unpackGiftbox(giftBox, wish) { if (gi.. 더보기