[간단출결체크 웹 만들기-01] 구상과 기획

NIB·2024년 11월 20일

[개발일지]

목록 보기
2/3

내게 11개월째 이어오고 있는 취미 생활이 있다. 힙합 댄스 배우기!
11개월째 꾸준히 같은 선생님께 힙합 댄스를 배우고 있는데 모든 면에서 만족스럽지만
문제가 있다면 선생님이... 엑셀을 잘 못다루신다.
그래서 출석체크 하는데 거의 한세월이 걸림

난 선생님도 좋아하고 선생님의 춤도 좋아하고 선생님이 알려주는 힙합 댄스도 좋아하니까
선생님이 불편하다고 느끼는 사항들을 최대한 개선해드리고 싶었어요.

그래서 생각해낸게 바로 간단출결체크 웹페이지 개발이다.

이 구상에서 가장 먼저 생각해낸 것은 "코로나 전자출입명부"이다.
전 국민이 가는 가게 마다 출입 기록을 작성했던 그 때의 기억을 떠올리며 아주 간단하게 개발을 진행해 보려고 한다.

(1)사이트의 구상

사이트 구상의 경우 아주 간단하게 작성했다.
기획서를 작성하기 전 대략의 필요한 기능 정리를 하는 식으로 진행하였다.

(2)DB 설계

DB 설계 시 MYSQL의 장점을 최대한 살려보고자 하였다.

  • DATETIME과 TIMESTAMP의 차이
  • TIMESTAMP는 1970-01-01 00:00:01 ~ 2038-01-19 08:44:07 까지의 데이터만 지원한다.
  • DATETIME의 경우 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 사이의 데이터를 지원한다.
  • (MYSQL 5.6.4 버전 이상 기준) TIMESTAMP의 경우 4 BYTE + 3BYTE의 크기를 필요로 하며 DATETIME의 경우 5BYTE +3BYTE 크기를 필요로 한다
  • TIMESTAMP 타입을 갖는 쿼리는 캐시로 저장되지만 DATETIME 타입을 갖는 쿼리는 캐시로 저장되지 않는다.

간단 출결 체크 웹의 경우 TIMESTAMP의 범위를 넘어갈 일이 없기 때문에 메모리 크기와 캐시등 비용 이슈를 고려해 TIMESTAMP의 데이터 타입을 체택하였다.

확인 필요한 사항

양도 가능한 클래스인 경우 양도로 출석체크 시 양도받은 사람의 명도 적어야 하는지?
추가로 사이트가 거대해질 경우를 대비해 클래스 강사님의 이름도 정리해 두는 컬럼 작성할 것

0개의 댓글