2023.09.01.금.TIL

heeh·2023년 9월 1일

TIL

목록 보기
77/82
post-thumbnail

2023.09.01.금.TIL

  • 할 것
    • 11시 회의?
    • SA 작성 : 기능 구현 무엇을 어떻게 왜 사용했는지! → 레디스 맡아서 작성…!
      → 앞으로 어떻게 사용 할 것인지 예상이라도 써보기
    • 알람 기능 공부
    • 저녁시간(17시? 19시?)에 회의 SA 등 중간 제출 할 문서 작성
  • 환경 변수 추가
    • ACCESS_KEY
    • SECRET_KEY
    • BUCKET_NAME

S.A - Redis

Redis

  • Redis의 정의 Redis(레디스)는 "REmote DIctionary Server"의 약자로서, 오픈 소스 인메모리 데이터 스토어이자 키-값 형태의 NoSQL 데이터베이스입니다. Redis는 다음과 같은 주요 특징을 가지고 있습니다:
    1. 인메모리 데이터 스토어: Redis는 데이터를 메모리에 저장하므로 빠르게 읽고 쓸 수 있습니다. 이로 인해 데이터베이스 쿼리나 캐시 역할을 효과적으로 수행할 수 있습니다.

    2. 키-값 저장: Redis는 간단한 키(key)와 값을(value) 저장하는 데이터 구조를 사용합니다. 이 키-값 쌍은 문자열, 해시, 리스트, 셋, 정렬된 셋, 비트맵 등 다양한 데이터 타입으로 저장될 수 있습니다.

    3. 데이터 지속성: Redis는 디스크에 데이터를 지속적으로 저장하거나 스냅샷을 생성하여 데이터의 지속성을 보장합니다. 이를 통해 데이터 손실을 방지하고 데이터 복구가 가능합니다.

    4. 다양한 데이터 연산: Redis는 다양한 데이터 연산을 지원하며, 예를 들어 문자열 연산, 집합 연산, 리스트 연산, 해시 연산 등을 수행할 수 있습니다.

    5. Pub/Sub 메커니즘: Redis는 Publish/Subscribe 메커니즘을 지원하여 메시지 브로커로 활용할 수 있습니다. 이를 통해 실시간 이벤트 처리 및 데이터 스트리밍이 가능합니다.

    6. 클러스터링 지원: Redis는 클러스터링을 지원하여 데이터의 가용성과 확장성을 향상시킬 수 있습니다. 여러 노드에 데이터를 분산 저장할 수 있습니다.

    7. 트랜잭션 및 원자성: Redis는 트랜잭션을 지원하며, 여러 개의 연산을 하나의 트랜잭션으로 그룹화하여 원자성을 보장합니다.

    8. 다양한 클라이언트 라이브러리: Redis는 다양한 프로그래밍 언어를 지원하는 클라이언트 라이브러리를 제공하므로 다양한 환경에서 사용할 수 있습니다.

      Redis는 주로 캐싱, 세션 관리, 대기열 처리, 실시간 분석, 실시간 게임, 실시간 채팅, 지리 정보 서비스 등 다양한 응용 프로그램에서 활용되며, 높은 성능과 유연성을 제공합니다.

  • Redis를 사용할 수 있는 기능
    1. 캐싱(Caching):
      • Redis는 데이터를 빠르게 읽고 쓸 수 있는 인메모리 스토어로 사용되어 웹 애플리케이션과 데이터베이스 간의 쿼리 결과나 계산 결과를 캐시하는 데 사용됩니다. 이렇게 하면 데이터베이스 부하를 줄이고 응답 시간을 향상시킬 수 있습니다.
    2. 세션 스토어(Session Store):
      • 웹 애플리케이션에서 사용자 세션 데이터를 저장하는 데 Redis를 사용할 수 있습니다. 이를 통해 확장 가능하고 빠른 세션 관리가 가능합니다.
    3. 대기열(Queues):
      • Redis는 메시지 대기열을 구현하는 데 사용됩니다. 일반적으로 작업 큐 또는 이벤트 버스와 같은 시스템에서 이벤트 처리, 백그라운드 작업 처리 및 푸시 알림을 구현하는 데 활용됩니다.
    4. Pub/Sub(Publish/Subscribe):
      • Redis의 Pub/Sub 기능은 메시지 브로커로 사용됩니다. 이를 통해 실시간 데이터 스트림 처리 및 실시간 이벤트 푸시에 활용됩니다.
    5. 카운터 및 통계:
      • Redis는 카운터와 통계 데이터를 유지하고 업데이트하는 데 사용됩니다. 예를 들어, 웹사이트 방문자 수, API 호출 횟수, 댓글 수 등을 추적할 수 있습니다.
    6. 세션 캐싱 및 데이터 분석:
      • Redis는 세션 데이터를 캐싱하거나 실시간 데이터 분석을 수행하는 데 사용됩니다. 이를 통해 실시간 대시보드 및 분석 보고서를 생성할 수 있습니다.
    7. 지리 정보 및 위치 기반 서비스:
      • Redis의 지리 공간 인덱스 기능인 GeoSpatial 인덱스를 활용하여 위치 기반 서비스를 구현할 수 있습니다.
    8. 락(Locking):
      • 분산 시스템에서 뮤텍스 또는 세마포어로서 Redis를 사용하여 동시성을 관리하고 데이터 락을 제어할 수 있습니다.
    9. 레디스 스트림(Redis Streams):
      • 실시간 데이터 스트림 처리를 위해 Redis Streams를 사용할 수 있습니다. 로깅, 모니터링 및 이벤트 처리에 유용합니다.
    10. 실시간 게임 및 실시간 채팅:
      • Redis는 실시간 게임 서버 및 실시간 채팅 애플리케이션을 구현하는 데 사용됩니다.

Redis를 적용할 기능

  • 채팅
  • 알람
  • 회원 탈퇴

Redis를 사용하면 주의해야 할 점

  • Redis를 사용할 때 주의해야 할 몇 가지 중요한 점은 다음과 같습니다.
    1. 데이터 지속성 설정: Redis는 기본적으로 모든 데이터를 메모리에 저장하므로, 서버가 다운될 경우 데이터 손실이 발생할 수 있습니다. 따라서 데이터 지속성 설정을 신중하게 고려해야 합니다. 지속성을 위해 RDB 스냅샷 또는 AOF 로그 파일을 사용할 수 있습니다.
    2. 메모리 사용량 관리: Redis의 메모리 사용량을 모니터링하고 관리해야 합니다. 메모리가 부족하면 서버가 느려지거나 다운될 수 있습니다. LRU(Least Recently Used) 또는 최대 메모리 설정을 사용하여 메모리 사용량을 제어할 수 있습니다.
    3. 복제와 고가용성: 복제를 설정하여 데이터의 가용성을 높이고 장애 시 데이터 손실을 방지할 수 있습니다. 고가용성을 위해 Sentinel 또는 Redis Cluster를 고려할 수 있습니다.
    4. 보안: Redis는 기본적으로 인증을 사용하지 않으므로, 보안을 강화하기 위해 비밀번호 인증을 설정해야 합니다. 또한 외부에서의 액세스를 제한하기 위해 방화벽을 설정하거나 Redis를 가상 사설망(Virtual Private Network, VPN)에 배치할 수 있습니다.
    5. 클라이언트 오류 처리: Redis 서버가 다운되거나 연결이 끊길 수 있으므로 클라이언트 애플리케이션은 오류 처리와 재시도 로직을 구현해야 합니다.
    6. 주의 사항 없는 명령어 사용: Redis는 강력한 기능을 제공하며, 실수로 데이터를 삭제하거나 변경할 수 있으므로 주의해야 합니다. 특히 FLUSHALL과 같은 명령어를 사용할 때 주의가 필요합니다.
    7. 데이터 타입 선택: Redis는 다양한 데이터 타입을 제공하는데, 올바른 데이터 타입을 선택하고 데이터를 적절하게 구조화해야 합니다. 데이터 모델링을 신중하게 수행해야 합니다.
    8. 네트워크 지연: Redis를 원격 서버에 배치할 경우 네트워크 지연이 발생할 수 있으므로, 성능을 최적화하고 레이턴시를 관리하는 방법을 고려해야 합니다.
  • 데이터는 메모리에 저장되므로 데이터 지속성 설정과 주기적인 백업이 필요합니다. 데이터 모델링을 신중하게 고려하고 성능 및 상태와 메모리 사용량을 주기적으로 모니터링하여 성능 저하의 문제를 미리 예방해야 합니다. 보안 강화를 위해 클라이언트 오류 처리를 구현하여 안정적인 운영을 보장해야 합니다.

왜 그 기능에 Redis를 사용하려고 하나요?

  • Redis를 채팅 및 알람 서비스에 사용하는 이유는 다음과 같습니다.
    1. 실시간 푸시 알림:
      Redis는 Publish/Subscribe (Pub/Sub) 메커니즘을 지원하여 실시간 푸시 알림을 구현하는 데 매우 효과적입니다. 채팅 애플리케이션에서는 메시지를 즉시 수신하고 사용자에게 푸시할 수 있으며, 알람 서비스에서는 실시간 이벤트 및 알림을 사용자에게 전달할 수 있습니다.

    2. 낮은 대기 시간:
      Redis는 인메모리 데이터 스토어로 데이터를 빠르게 읽고 쓸 수 있습니다. 이는 채팅 및 알람 서비스에서 메시지를 신속하게 처리하고 전달하는 데 중요합니다. 사용자가 메시지를 보내거나 알림을 받을 때 대기 시간이 최소화됩니다.

    3. 스케일링 및 부하 분산:
      Redis는 클러스터링을 지원하므로 서비스의 확장성을 제공합니다. 사용자 수가 증가하면 Redis 인스턴스를 추가하고 데이터를 분산하여 부하를 분산시킬 수 있습니다. 이는 대규모 채팅 애플리케이션 및 알람 서비스에서 중요합니다.

    4. 메시지 큐 및 메시지 처리:
      Redis의 대기열(Queue) 기능을 활용하여 메시지 처리를 조절하고 메시지를 처리 대기열에 추가할 수 있습니다. 이를 통해 채팅 메시지를 순차적으로 처리하거나 알람을 예약된 시간에 전달할 수 있습니다.

    5. 메모리 최적화:
      Redis는 데이터를 메모리에 저장하므로 빠른 읽기 및 쓰기 속도를 제공하면서도 메모리를 효율적으로 관리합니다. 자주 액세스되는 데이터를 메모리에 보관하여 응답 시간을 최적화할 수 있습니다.

    6. 상태 관리:
      Redis를 사용하면 온라인 및 오프라인 상태를 추적하고 사용자의 상태 변경을 실시간으로 업데이트할 수 있습니다. 이는 채팅 애플리케이션에서 사용자의 온라인 상태를 표시하거나 알림을 받을 사용자를 관리하는 데 유용합니다.

      요약하면, Redis는 실시간 통신, 낮은 대기 시간, 확장성, 메모리 최적화 및 메시지 처리에 우수한 성능을 제공하여 채팅 및 알람 서비스에 적합한 선택지입니다. 이러한 이점들은 사용자 경험을 향상시키고 실시간 상호 작용을 지원하는 데 도움을 줍니다.

  • 채팅
    • Redis는 실시간 푸시 알림을 가능하게 하고 낮은 대기 시간을 제공하여 사용자 간에 빠른 상호 작용이 가능합니다. 또한 Redis 클러스터링은 대규모의 사용자가 동시에 지원할 수 있고, 메모리 최적화를 통해 빠른 데이터 액세스를 처리해줍니다.
  • 알람
    • 메시지 처리 및 상태 관리를 지원하여 사용자의 상태를 확인 할 수 있습니다. 작업을 처리하는 성능의 속도가 빠르기 때문에 사용자들끼리 원활하게 소통하고 실시간 서비스를 이용할 수 있습니다.
  • 회원 탈퇴
    • 데이터를 빠르게 저장하고 검색할 수 있는 인메모리 데이터 스토어이기 때문에 회원 탈퇴 정보를 신속하게 처리할 수 있습니다. 또한 Redis의 만료 기능을 활용하여 탈퇴한 회원 정보를 30일 동안 저장하고, 이후에 자동으로 삭제할 수 있어 복구 가능한 시스템을 쉽게 구현할 수 있습니다.
  • Redis를 사용해서 생긴 장점
  • Redis를 사용하면서 어려웠던 점

17시 회의

다음 주도 챙겨야 할 것!

  • ApiResponseDto의 Controller 반환 메세지를 통일 → 완료
    • 문장으로 할 수 밖에 없는 것은 문장!
    • 성공, 실패 등 깔끔하게 나갈 수 있는 메세지는 정리!
  • ApiResponseDto의 Controller 반환 실패 시 메세지 처리 구현 하기
  • 새로 추가 한 기능들로 인한 오류는 팀장님이 해결해보신다고…!
    • 비밀번호 기능 리팩토링
    • S3 이미지 기능
    • 페이징 처리 + 검색기능
    • 테스트코드 구현 및 api 리팩토링
  • 테스트코드에 대한 설명 및 회의
  • 패키지 정리 → 일단 완료
    • 도메인으로 정리 할지? → No!
    • 깔끔하게 정리 정도만!

19시 회의

문서 작업

  • 포스트맨 정리
  • 로그인 하면 Body에 JWT, Refresh 토큰이 넘어오게 변경!
    → 전체 복사
    → 토큰을 붙여 넣어야 하는 Request의 Headers - Bulk Edit!
  • 토요일 까지 해야 하는 것!
    • 각자 본인이 진행했던 부분의 기술 의사 결정을 서술 → 완료
      → 왜 그 기술, 기능을 선택했는지? (ex 페이징 처리, Redis)
      - S.A - Redis를 노션 S.A의 공부한 내용에 넣기
    • 각자 본인이 진행했던 부분을 S.A - API 명세서에 채워주기 → 완료
      • 댓글+댓글 좋아요, 팔로우
  • 9.4(월) 중간 발표 - 19시

기술 문제 16

💡 OSI 7계층에 대해 설명해주세요.

OSI(Open Systems Interconnection) 7계층 모델

트워크 프로토콜과 통신 시스템의 작동을 이해하고 설명하기 위한 표준 모델입니다. 이 모델은 7개의 서로 다른 계층으로 나누어져 있으며, 각 계층은 특정 기능과 역할을 수행합니다.

  1. 물리 계층 (Physical Layer):
    • 물리적인 연결과 전송 매체를 다룹니다.
    • 비트 단위의 데이터를 전송하고, 전기적, 광학적, 기계적인 특성을 다룹니다.
  2. 데이터 링크 계층 (Data Link Layer):
    • 물리 계층으로부터 전송된 비트를 그룹화하고, 에러 검출 및 수정을 수행합니다.
    • MAC (Media Access Control) 주소를 사용하여 네트워크 장치를 식별하고, 프레임 단위로 데이터를 관리합니다.
  3. 네트워크 계층 (Network Layer):
    • 라우팅과 패킷 전달을 관리합니다.
    • IP 주소를 사용하여 목적지 호스트를 식별하고, 최적 경로를 선택하여 데이터 패킷을 전달합니다.
  4. 전송 계층 (Transport Layer):
    • 데이터의 전송과 흐름 제어, 오류 복구를 담당합니다.
    • TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol) 프로토콜을 사용하여 통신을 관리합니다.
  5. 세션 계층 (Session Layer):
    • 통신 세션을 설정, 유지, 종료합니다.
    • 데이터 교환의 동기화와 복구를 처리하여, 양쪽 단말 간의 세션을 관리합니다.
  6. 표현 계층 (Presentation Layer):
    • 데이터의 형식 변환, 데이터 암호화, 압축, 해독 등을 수행합니다.
    • 서로 다른 데이터 형식 간의 변환을 담당하여 호환성을 제공합니다.
  7. 응용 계층 (Application Layer):
    • 최종 사용자나 응용 프로그램이 직접 상호 작용하는 계층입니다.
    • 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램 등이 이 계층에 속합니다.

이 OSI 모델은 다양한 네트워크 프로토콜 및 기술을 설계 및 이해하기 위한 기본적인 프레임워크로 사용되며, 각 계층은 특정 기능에 중점을 두고 있어 네트워크 문제 해결 및 설계에 유용합니다.

OSI(Open Systems Interconnection) 7계층 모델 정리

  • OSI 7계층 모델은 네트워크와 통신 시스템 동작을 설명하는 표준 모델입니다. 이 모델은 7개의 계층으로 나뉘며 각 계층은 특정 기능을 수행합니다. 물리 계층은 물리적 연결과 전송 매체를 다루며 비트 단위의 데이터를 다룹니다. 데이터 링크 계층은 프레임 단위의 데이터 관리와 에러 검출을 수행하며 MAC 주소를 사용하여 장치를 식별합니다. 네트워크 계층은 라우팅과 패킷 전달을 관리하며 IP 주소를 사용하여 목적지 호스트를 찾습니다. 전송 계층은 데이터 전송과 오류 복구를 다루며 TCP와 UDP 프로토콜을 사용하여 통신을 관리합니다. 세션 계층은 통신 세션 설정, 유지, 종료를 처리하며 데이터 교환의 동기화와 복구를 담당합니다. 표현 계층은 데이터 형식 변환, 암호화, 압축 등을 수행하며 서로 다른 데이터 형식 간의 호환성을 제공합니다. 응용 계층은 최종 사용자와 응용 프로그램이 직접 상호 작용하며 웹 브라우저, 이메일 클라이언트 등이 여기에 속합니다. 이러한 계층 구조는 네트워크 프로토콜 및 시스템의 설계와 문제 해결을 위한 유용한 프레임워크를 제공하며, 각 계층이 특정한 역할을 수행하여 효율적이고 모듈화된 네트워크 구조를 가능하게 합니다.
  • 간결하게!
    • OSI 7계층 모델은 네트워크 통신을 7개 계층으로 분리한 표준 모델입니다. 각 계층은 특정 역할을 수행하며, 데이터의 물리적 전송부터 응용 프로그램과의 상호작용까지 다룹니다. 이 모델은 네트워크 설계와 문제 해결에 유용하며, 각 계층은 모듈화된 역할을 담당합니다.

  • OSI 7계층 모델은 네트워크 통신을 7개 계층으로 나눈 표준 모델로, 7개 계층은 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 그리고 응용 계층으로 구성됩니다. 각 계층은 특정 기능을 수행하여 네트워크 통신을 효율적으로 지원하고 데이터의 물리적 전송부터 응용 프로그램과의 상호작용까지 관리합니다.
  • 피드백

CS 문제 5

💡 DB(데이터베이스) 구조와 유형
  • 질문1 : 데이터베이스 유형에는 무엇이 있고 어떤 차이점이 있습니까?
    • 답변 1
      • 관계형 데이터 베이스인 SQL과 비관계형 데이터베이스인 NoSQL이 있습니다.
      • SQL은 "Structured Query Language"의 약자로, 관계형 데이터베이스에서 데이터를 조회, 조작, 관리하는 표준화된 프로그래밍 언어입니다. SQL을 사용하여 데이터를 조회, 추가, 수정, 삭제하고 데이터베이스 스키마를 정의할 수 있습니다. SQL은 관계형 데이터베이스 시스템과 함께 주로 사용되며, 데이터베이스 관리 시스템(DBMS)과 통신하여 데이터 조작을 수행합니다.
      • NoSQL은 "Not Only SQL"의 약어로, SQL과는 다르게 특정한 프로그래밍 언어가 아닌, 다양한 데이터베이스 모델 및 접근 방식을 포함합니다. NoSQL 데이터베이스는 관계형 데이터베이스와는 다른 데이터 구조 및 쿼리 언어를 사용할 수 있습니다. 주로 대량의 분산 데이터를 다루거나 스키마의 유연성이 필요한 경우에 사용되고 확장성, 다양한 데이터 모델 지원을 강조하는 데이터베이스 시스템입니다.
  • 질문2 : SQL에는 어떤 DB가 있고 어디에 사용하나요?
    • 답변 2
      • SQL을 지원하는 주요 RDBMS에는 MySQL, Oracle Database, MariaDB 등이 있습니다. SQL는 데이터베이스의 ACID 성질을 준수해야 하는 경우와 소프트웨어에 사용되는 데이터가 구조적이고 일관적인 경우에 사용하는 것이 적합합니다.
  • 질문3 : NoSQL에는 어떤 DB가 있고 어디에 사용하나요?
    • 답변 3
      • NoSQL 데이터베이스는 다양한 종류와 용도를 가지고 있으며, 각각의 NoSQL 데이터베이스는 특정한 데이터 모델 및 사용 사례에 맞춰 설계되어 있습니다. MongoDB, Redis 등이 있으며 데이터의 구조가 거의 또는 전혀 없는 대용량의 데이터를 저장하는 경우와 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우, 데이터 구조를 자주 업데이트 하는 경우에 사용하는 것이 적합합니다.
  • 데이터베이스 유형에 대한 질문으로 구성했지만 데이터베이스의 숙지를 위한 내용 추가!
    • 데이터베이스의 정의 데이터베이스는 구조화된 데이터를 효율적으로 저장, 관리, 검색 및 조작하는 데 사용되는 전자적인 시스템 또는 컨테이너입니다.
    • 데이터베이스의 특징
      1. 데이터 중앙 집중화: 데이터베이스는 조직 내의 데이터를 중앙에서 관리하며, 여러 응용 프로그램이 데이터를 공유할 수 있도록 합니다. 이로써 데이터 중복을 최소화하고 일관성을 유지할 수 있습니다.

      2. 데이터 일관성: 데이터베이스는 데이터의 일관성을 유지하기 위한 규칙과 제약 조건을 정의할 수 있습니다. 이를 통해 데이터의 정확성과 일관성을 보장할 수 있습니다.

      3. 데이터 보안: 데이터베이스는 접근 권한 및 보안 기능을 설정하여 데이터를 보호합니다. 민감한 정보에 대한 접근을 제한하고 데이터의 무결성을 보장합니다.

      4. 공유 및 동시 접근: 다수의 사용자가 동시에 데이터베이스에 접근할 수 있고, 동시에 데이터를 읽고 쓸 수 있습니다. 이를 통해 협업과 다중 사용자 환경을 지원합니다.

      5. 백업 및 복구 기능: 데이터베이스는 데이터 손실을 방지하기 위한 백업 및 복구 메커니즘을 제공합니다. 시스템 오류나 장애 시 데이터를 복구할 수 있습니다.

        데이터베이스는 비즈니스와 조직의 핵심 자산을 효율적으로 관리하고 보호하는 데 중요한 역할을 합니다. 이러한 특징들은 데이터의 신뢰성과 안정성을 유지하며, 데이터를 효과적으로 활용하여 조직의 목표를 달성하는 데 도움을 줍니다.

    • 파일 시스템 vs DBMS 파일 시스템과 DBMS (Database Management System)는 데이터를 저장하고 관리하는 두 가지 다른 방법입니다. 각각의 장단점이 있으며, 사용 사례와 요구 사항에 따라 선택되어야 합니다. 파일 시스템(File System):
      1. 단순성: 파일 시스템은 파일과 폴더의 계층 구조로 데이터를 저장합니다. 간단하고 직관적인 방식으로 파일을 저장하고 찾을 수 있습니다.

      2. 적은 오버헤드: 작은 규모의 데이터 또는 단순한 데이터 저장에 적합하며, 추가적인 데이터베이스 관리 오버헤드가 필요하지 않습니다.

      3. 비용: 대개 비용이 저렴하며, 데이터베이스 라이선스나 관리 비용이 없습니다.

        DBMS(Database Management System):

      4. 데이터 무결성: DBMS는 데이터 무결성을 보장하고, 동시성 제어 및 트랜잭션 관리와 같은 고급 기능을 제공합니다.

      5. 복잡한 쿼리: 복잡한 데이터 조회 및 병렬 처리를 지원하며, 데이터 인덱싱과 검색에 최적화되어 있습니다.

      6. 확장성: 대량의 데이터 및 복잡한 데이터 구조를 처리하는 데 적합하며, 수직 및 수평 확장이 가능합니다.

      7. 보안: DBMS는 데이터 암호화, 접근 제어 및 인증과 같은 보안 기능을 제공하여 데이터를 안전하게 보호합니다.

      8. 데이터 모델: 다양한 데이터 모델(관계형, 문서형, 그래프 등)을 지원하여 다양한 유형의 데이터를 저장할 수 있습니다.

        파일 시스템은 간단하며 소규모 데이터 저장 및 접근에 적합합니다. 반면에 DBMS는 대규모 데이터 관리, 데이터 무결성, 복잡한 쿼리 및 고급 기능이 필요한 경우에 더 적합합니다. 따라서 프로젝트의 규모, 복잡성, 보안 요구 사항 및 성능 요구 사항에 따라 파일 시스템 또는 DBMS를 선택해야 합니다. 일반적으로 중요한 데이터와 복잡한 데이터 관리 작업에는 DBMS를 사용하는 것이 권장됩니다.

회원 탈퇴

  • 9.4(월) 저녁시간 까지?
  • 유저 정보가 담겨 있는 DB를 바로 삭제 하지 않고
    → Redis에 옮기기(유저에게는 탈퇴 완료, 30일 이내로 복구 가능 보여주기)
    → 30일 지난 후 Redis에 담긴 정보를 삭제(30일로 시간 제한을 두기)
    로 회원 탈퇴 기능 구현
  • 팔로잉 포스트 조회에서 해당 포스트에서 어떤 유저의 글인지 유저의 닉네임이 표기 됐으면 좋겠다…! (수정 생각 해보기)
  • 프론트엔드 관련 정보 사이트
profile
공부하자개발하자으쌰으쌰

0개의 댓글