Skip to content

리뷰 #1

@deerFried

Description

@deerFried
  1. 람다 함수 내부에 비동기 작업이 있을 경우 handler함수를 async function으로 선언해서 내부코드에 callback 사용이 없도록
  2. if(data.url.match(/https?:\/\//g) !== true){
  3. dynamoDb.put(params, (error) => {
    • 이미 있는 경우엔 stats 날라가면서 다 덮어 씌워지는데? 이런 경우엔 먼저 get으로 있는지 체크하고 있을 경우에 400번대 에러를 return
  4. https://github.com/junanhouse/urlshortener/blob/main/api/list.js
    • 지금은 상관없는데 나중에 이 기능에 100만개의 record가 생기게 된다면? 지금 구조대로면 한 번에 로딩돼서 시스템 부하가 일어남. 불러올 때 limit을 걸고 페이지네이션 기능을 구현하는 쪽으로 개선할 수 있겠음
  5. const params2 = {
    • 변수명 의미있게 짓기
  6. body: 'Invalid Value2!!',
    • ddb 내부에서 에러가 난거고 400대 에러가 아님. 따라서 에러메세지는 invalid value가 아니라 unknown error라던지 internal server error같은게 나야함
  7. dynamoDb.update(params2, function(err,data){
    • stats을 올리는 경우는 myurltable에서 알맞는 id로 데이터를 잘 가져왔을 경우임. 이 로직대로면 잘못된 값이 들어가거나 get이 실패하는 경우에도 update 구문이 실행됨. 따라서 get과 update의 순서를 바꿔주어야 함.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions