20240605 데이터베이스는 어렵다

RingKim1·2024년 6월 6일

TIL

목록 보기
34/77

Today

1. project

- 게시글의 작성날짜가 오늘인지 확인 후 오늘이면 시간을 나타내는 기능
코드는 아래서 정리

- 팀원들과 supabase를 합치고 최종적으로 github를 통해 merge, 충돌 해결

2. 알고리즘 코드카타

사실 while문을 통해 푸는 내용인데 중간에 못 읽고 for문을 통해 어찌 저찌 해결
추후 다시 while문을 통해 해결하는 방법으로 풀어봐야겠다.

두 원소의 합이 가장 가까운 값 반환

function closestSum(nums, target) {
  // 유효성 검사 nums의 길이가 2개 미만이면 return "fail"

  // 임시 배열 선언(차이가 같을 수 있으므로 여러개의 값을 담기위해)
  // for문을 돌면서 nums에 배열에서 2개의 값의 합을 임시 배열로 담음
  // 배열을 순회하면서 target 가까운 요소를 구하기 위해 절댓값으로 가공
  // 그중 제일 작은값을 택하여 삼항연산자를 통해 다시 target을 더해주고 그 값이 있으면 return

  if (nums.length < 2) {
    return fail;
  }
  const tempArr = [];
  for (let i = 0; i < nums.length - 1; i++) {
    for (let j = i + 1; j < nums.length; j++) {
      if (target - (nums[i] + nums[j]) === 0) {
        continue;
      }
      tempArr.push(nums[i] + nums[j]);
    }
  }
  const absArr = tempArr.map((el) =>
    el <= 0 ? Math.abs(target + el) : Math.abs(target - el)
  );

  return tempArr.includes(target - Math.min(...absArr))
    ? target - Math.min(...absArr)
    : target + Math.min(...absArr);
}

Learn

게시글의 작성날짜가 오늘인지 확인 후 오늘이면 시간을 나타내는 기능

supabase에서 받아오는 자료는 Date.now()형태를 통해 저장했기 때문에 밀리세컨드 까지 나온다. 가공 시작.

  // date.now를 받아옴
  const timestamp_ms = post.date;

  // 밀리초 타임스탬프를 Date 객체로 변환
  const date = new Date(timestamp_ms);

  // 연, 월, 일을 추출
  const year = date.getUTCFullYear();
  const month = String(date.getUTCMonth() + 1).padStart(2, '0'); // 월은 0부터 시작하므로 1을 더합니다.
  const day = String(date.getUTCDate()).padStart(2, '0');
  const miniutes = date.getUTCMinutes() < 10 ? `0` + date.getUTCMinutes() : date.getUTCMinutes();
  const time = String(date.getUTCHours() + 9 + `:` + miniutes);

  // yyyy-mm-dd 형식으로 포맷팅
  const formattedDate = `${year}-${month}-${day}`;
  const formattedTime = `${time}`;

오늘을 yyyy-mm-dd 형식으로 포맷팅

// 오늘
  const today = new Date()
    .toLocaleDateString('ko-KR', {
      year: 'numeric',
      month: '2-digit',
      day: '2-digit'
    })
    .replace(/\./g, '')
    .replace(/\s/g, '-');

오늘인지 확인 후 맞는 데이터 형식 나타내기

<div>{today === formattedDate ? formattedTime : formattedDate}</div>

아직 supabase를 잘 다루지 못하고 있다.
관계형 데이터베이스라는 특성을 잘 살리지 못하고 현재는 저장되어 있는 데이터를 불러와서
가공하고 활용하는 것 까지만 하고 있는데

다음 프로젝트에서 다시한번 배울기회가 있을거라 생각하고 도전과제로 남겨두자


주절주절

오늘 하루는 무엇을 했는지 명확히 모르겠다.
오랜만에 친구 만나서 치킨이나 뜯으러 가야지

profile
커피는 콜드브루

0개의 댓글