Giter Club home page Giter Club logo

qna's People

Contributors

sedin2 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

qna's Issues

[Feat] 댓글 좋아요 수 조회

설명

게시글 상세 조회 시 댓글 정보들을 불러오는데 이때 같이 각 댓글의 좋아요 수도 가져오기

체크사항

참고자료

[Feat] 게시글 추천 수 조회 기능

설명

게시글 전체 조회, 게시글 상세 조회 시
각 게시글 추천 수도 조회

체크사항

각 게시글에 추천 수 조회 시 N+1 쿼리 주의

참고자료

[Feat] Comment 기능 구현

설명

Comment 도메인에 관한 기능 구현

체크사항

  • : Comment CRUD 기능 구현
    • : Comment Controller
    • : Comment Service
    • : Comment Repository
  • : Comment CRUD 기능에 대한 Test
    • : Comment Controller Test
      • : Comment API RestDocs 작성
    • : Comment Service Test

참고자료

[Bug] N+1 쿼리 발생

버그 설명

게시글 전체 조회시 각 게시글이 가지고있는 댓글도 조회하면 N+1 쿼리 발생

기대하는 결과

게시글을 조회할 때, 댓글도 가져와서 N+1 쿼리가 발생하지 않게 하기

참고자료

가능하다면 스크린샷도 함께 첨부합니다.

  • 게시글을 5개 작성하고 전체 조회시 응답은 잘 오지만 내부적으로 N+1 쿼리 발생
{
    "code": "OK",
    "message": "요청이 성공하였습니다.",
    "data": {
        "articles": [
            {
                "id": 6,
                "title": "제목",
                "content": "내용",
                "author": "sejin",
                "commentsCount": 0,
                "comments": [],
                "createdAt": "2022-10-07 11:28:38",
                "modifiedAt": "2022-10-07 11:28:38"
            },
            {
                "id": 5,
                "title": "제목",
                "content": "내용",
                "author": "sejin",
                "commentsCount": 0,
                "comments": [],
                "createdAt": "2022-10-07 11:28:38",
                "modifiedAt": "2022-10-07 11:28:38"
            },
            {
                "id": 4,
                "title": "제목",
                "content": "내용",
                "author": "sejin",
                "commentsCount": 0,
                "comments": [],
                "createdAt": "2022-10-07 11:28:37",
                "modifiedAt": "2022-10-07 11:28:37"
            },
            {
                "id": 3,
                "title": "제목",
                "content": "내용",
                "author": "sejin",
                "commentsCount": 0,
                "comments": [],
                "createdAt": "2022-10-07 11:28:36",
                "modifiedAt": "2022-10-07 11:28:36"
            },
            {
                "id": 2,
                "title": "제목",
                "content": "내용",
                "author": "sejin",
                "commentsCount": 2,
                "comments": [
                    {
                        "id": 7,
                        "content": "답글내용",
                        "author": "sejin",
                        "createdAt": "2022-10-07 11:28:41",
                        "modifiedAt": "2022-10-07 11:28:41"
                    },
                    {
                        "id": 8,
                        "content": "답글내용",
                        "author": "sejin",
                        "createdAt": "2022-10-07 11:28:42",
                        "modifiedAt": "2022-10-07 11:28:42"
                    }
                ],
                "createdAt": "2022-10-07 11:28:36",
                "modifiedAt": "2022-10-07 11:28:42"
            }
        ]
    }
}

image

[인터셉터]

  • 로그인 후 Jwt으로 발급된 Access Token을 이용해 원하는 API에 접근 가능한지 체크하는 인터셉터 추가

[Feat] Spring Security 적용

설명

기존 Custom하게 작성한 Interceptor를 이용해 인증 및 인가를 처리하던 부분을 Spring Security를 적용하여 인증 및 인가 처리 로직을 변경

체크사항

Spring Security 학습 및 적용

  • : Filter 작성
  • : EntryPoint 작성
  • : AccessDeniedHandler 작성

참고자료

[Feat] 댓글 좋아요 기능 구현

설명

Comment(댓글)에 좋아요 기능 구현

체크사항

이슈를 close하기 위해 필요한 조건들을 체크박스로 나열합니다.

  • : 좋아요 추가 API
  • : 좋아요 삭제 API

참고자료

[Feat] DB ERD 수정

설명

게시글 추천, 댓글 좋아요 기능 구현을 위해 DB Table 추가

체크사항

추천, 좋아요를 위한 테이블 설계

참고자료

image

[로그인]

  • : Jwt 기반 로그인 기능
  • : Password 암호화
  • : filter vs interceptor
  • : 테스트 코드

[Feat] H2 DB -> MySQL DB 이전

설명

In memory DB에서 MySQL로 이전

체크사항

Docker를 활용해 Master/Slave 구조로 MySQL 서버 구성 예정

참고자료

[Feat] 게시글 조회수 기능 구현

설명

게시글 테이블에 조회수 컬럼을 추가해서 게시글의 조회수 기능 구현하기

체크사항

조회수 기능 구현 방법 선정하기

  • : 테이블 수정에 따른 엔티티 수정
  • : 조회수 기능구현
  • : 테스트 작성

참고자료

[Feat] application properties 분리

설명

DB Connection 정보, Secret Key값 등 민감한 정보들을 외부로 노출하지 않기위해 (현재는 그냥 한 properties 파일 안에 관리 중)

체크사항

현재 secret key, DB 연결 정보 등이 GitHub에 올라와 있으며 이것을 외부에 노출하지 않게 하기 위해 분리

  • : application properties 분리
  • : 운영 환경에서 잘 동작하는지 테스트

참고자료

[Feat] Article 기능 구현

설명

Article 도메인에 관한 기능 구현

체크사항

  • : Article CRUD 기능 구현
    • : Article Controller
    • : Article Service
    • : Article Repository
  • : Aritlce CRUD 기능에 대한 Test
    • : Article Controller Test
      • : Article API RestDocs 작성
    • : Article Service Test
    • : Article Repository Test

참고자료

[Feat] 게시글 추천 수 기능구현

설명

게시글의 추천버튼을 누르면 해당 게시글의 추천 수가 올라가는 기능 구현

체크사항

게시글 추천 기능 구현

참고자료

[Bug] Account 수정 요청 시 DB 미반영

버그 설명

Account 수정 요청 시, 응답 json은 수정 된 것 처럼 보이지만 실제 DB에선 반영이 되지 않는 버그

기대하는 결과

수정 요청 시, DB에도 수정된 정보 반영

참고자료

가능하다면 스크린샷도 함께 첨부합니다.

  • 요청 시 응답 결과 json을 보면 잘 반영 된 것 처럼 보이나
    image

  • 실제 DB엔 반영 되지 않음
    image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.