Skip to main content

2022년 04월

2022-04-12#

Note App 만들기 3회차#

서버리스 스택-3

작업 내용#

  • 코드 리팩토링
    • DynamoDB요청에 필요한 기능들 리팩토링
import AWS from 'aws-sdk';
import { DocumentClient } from 'aws-sdk/clients/dynamodb';
const client:DocumentClient = new AWS.DynamoDB.DocumentClient();
export default {
get: (params: DocumentClient.GetItemInput) => client.get(params).promise(),
put: (params: DocumentClient.PutItemInput) => client.put(params).promise(),
query: (params: DocumentClient.QueryInput) => client.query(params).promise(),
update: (params: DocumentClient.UpdateItemInput) => client.update(params).promise(),
delete: (params: DocumentClient.DeleteItemInput) => client.delete(params).promise(),
};
  • handler 함수를 공통으로 사용하기 위한 리팩토링
import { APIGatewayProxyResult, Callback, Context, Handler } from "aws-lambda";
export default function handler(lambda: Handler) {
return async function (event: any, context: Context, callback: Callback): Promise<APIGatewayProxyResult> {
let body, statusCode;
try {
// 람다 실행
body = await lambda(event, context, callback);
statusCode = 200;
} catch (e: any) {
// 에러 처리
console.error(e);
body = { error: e.message };
statusCode = 500;
}
return {
// HTTP 응답
statusCode,
body: JSON.stringify(body)
};
};
}
  • 메모장 기능 추가
    • 메모 조회 기능 추가
    • 메모 목록 조회 기능 추가
    • 메모 수정 기능 추가
    • 메모 삭제 기능 추가

후기#

1~2회차 보다 분량이 많이 늘어났지만 기능 추가하는 부분은 전부 비슷해서 작업 시간은 비슷했던 거 같다. 현재 postmen으로 해당 기능을 테스트하는데 실제 XMLHttpRequest 객체를 이용해 실제 요청을 보내 테스트해 보는 것도 좋을 거 같다.

2022-04-19#

Note App 만들기 4회차#

서버리스 스택-4

작업 내용#

  • AWS Cognito 리소스 생성
  • API에 인증관련 구성
  • API관련 인증 테스트

후기#

코드 양은 적었지만 내용은 제일 어려웠다.
터미널을 통해 명령어를 날렸을 때 명령어가 정상적으로 반영이 되었는지 확인하는 과정이 있으면 더 좋을 거 같다.

2022-04-26#

Note App 만들기 5회차#

서버리스 메모앱-1

작업 내용#

Frontend 기본 세팅

  • React Project 생성
  • React 17 버전으로 다운그레이드
  • 환경변수 설정
  • Favicon 설정
  • 글꼴 설정
  • 부트스트랩 설정

후기#

다운그레이드...