[크래프톤정글] Week0 : 입소 2일차 TIL (3/11)

Week 0 미니프로젝트 요구사항 정리

1. 인증 기능 추가 및 JWT 사용

  • 사용자 기반 인증 기능 구현
  • JWT (JSON Web Token) 사용하여 인증 처리

2. 서버 사이드 렌더링 방식 적용

  • Flask + Jinja 사용하여 페이지 이동 방식을 서버 사이드 렌더링(SSR) 방식으로 전환

3. 발표 준비

  • 발표 시간: 4분 (Q&A 1분 포함, PPT 띄우는 시간도 발표 시간에 포함)
  • 기능별 우선순위를 고려하여 정상 작동 여부 확인

기획 발표 자료 준비 : 모두의 메모장 v3

1. 기획 의도

기존 블로그 글의 문제점

작성자 입장

  • 학습 기록이 지속되지 않음 → 학습 히트맵(기록 시각화) 기능 제공
  • 검색과 정리가 어려움 → 태그, 자동 요약 기능 제공

독자 입장

  • 검색과 정리가 어려움
    • 각자 블로그, 깃허브, 노션 등 다양한 사이트에서 글을 찾아야 함
    • 원본을 다 읽기 어려움 → 요약 기능 제공

해결 방안

  1. 매일 공부한 내용을 기록하고 학습 히트맵으로 시각화
  2. 내가 쓴 글을 간편하게 공유 (키워드 기반 요약 제공)
  3. 댓글과 좋아요 기능 추가하여 사용자 반응 확인 가능
  4. 관심 있는 키워드 기반으로 관련 블로그 글을 쉽게 탐색 가능 (3줄 요약 활용)

2. 서비스 소개 및 시연

  • 전체 흐름 설명: 어떤 서비스인지 개요 제공
  • 기획 발표 시: 와이어프레임을 활용하여 설명
  • 여러 장의 와이어프레임을 통해 흐름 표현

DB 설계 및 아키텍처 개요

서비스 구성 요소

  • 데이터 검증 및 변환
  • 데이터 저장 및 조회
  • 여러 개의 데이터베이스 호출을 조합하여 하나의 비즈니스 로직 수행
  • 복잡한 연산 처리

컨트롤러 역할

  • HTTP 요청 처리
  • 요청 데이터 수신 후 서비스에 전달
  • 서비스로부터 받은 데이터를 JSON 응답 또는 HTML 템플릿 렌더링
  • 비즈니스 로직 수행 X

Flask Repository & Service 구조 설계

  • Repository: 데이터베이스 관련 처리 (CRUD)
  • Service: 비즈니스 로직 처리
  • Controller: 요청을 받아 Service로 전달하고 응답 반환

JWT 인증 필요 영역

  1. JWT Access Token, Refresh Token 발급
  2. Access Token 서버 저장
  3. Refresh Token 클라이언트 저장
  4. Access Token 만료 시, Refresh Token을 이용한 재발급 처리
  5. Refresh Token 검증 후 새로운 Access Token 생성 및 전달

What I Did (이번 주 작업 내용)

  • MyPage 구현
  • Web Crawling 기능 추가
  • Heatmap (잔디) 기능 개발
  • Likes Increment (좋아요 증가 기능 구현)

What I Learned (이번 주 학습 내용)

Git 사용법 정리

  1. 원격 저장소 클론
    git clone "git link"
    
  2. 원격 브랜치 가져오기
    git fetch origin branch명
    
  3. 특정 브랜치로 이동
    git checkout branch명
    
  4. 파일 추가 및 커밋
    git add 파일명
    git commit -m "feat: 로그인 기능 구현"
    
  5. 변경 사항 푸시
    git push origin branch명
    
  6. 최신 코드 가져오기 및 병합
    git pull origin branch명
    

추가 학습 과제

  1. JWT 토큰 인증 유지 방법
    • 데코레이터 활용
    • Access Token & Refresh Token 관리
  2. Controller - Service - Repository 간의 관계
    • 역할과 책임 분리
    • 데이터 흐름 최적화
  3. 웹 크롤링에서 Selenium 사용법
    • 노션과 같은 JavaScript 렌더링 페이지 크롤링 시도 후 실패 → 추가 연구 필요

'Today I Learned' 카테고리의 다른 글

[크래프톤정글] Week0 : 입소 3일차 TIL (3/12)  (0) 2025.03.13