sedin2 / qna Goto Github PK
View Code? Open in Web Editor NEWQnA 게시판 Restful API (with RestDocs)
Home Page: http://15.164.38.90/api/docs/index.html
QnA 게시판 Restful API (with RestDocs)
Home Page: http://15.164.38.90/api/docs/index.html
게시글 상세 조회 시 댓글 정보들을 불러오는데 이때 같이 각 댓글의 좋아요 수도 가져오기
게시글 전체 조회, 게시글 상세 조회 시
각 게시글 추천 수도 조회
각 게시글에 추천 수 조회 시 N+1 쿼리 주의
Comment 도메인에 관한 기능 구현
게시글 전체 조회시 각 게시글이 가지고있는 댓글도 조회하면 N+1 쿼리 발생
게시글을 조회할 때, 댓글도 가져와서 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"
}
]
}
}
기존 Custom하게 작성한 Interceptor를 이용해 인증 및 인가를 처리하던 부분을 Spring Security를 적용하여 인증 및 인가 처리 로직을 변경
Spring Security 학습 및 적용
Comment(댓글)에 좋아요 기능 구현
이슈를 close하기 위해 필요한 조건들을 체크박스로 나열합니다.
In memory DB에서 MySQL로 이전
Docker를 활용해 Master/Slave 구조로 MySQL 서버 구성 예정
게시글 테이블에 조회수 컬럼을 추가해서 게시글의 조회수 기능 구현하기
조회수 기능 구현 방법 선정하기
DB Connection 정보, Secret Key값 등 민감한 정보들을 외부로 노출하지 않기위해 (현재는 그냥 한 properties 파일 안에 관리 중)
현재 secret key, DB 연결 정보 등이 GitHub에 올라와 있으며 이것을 외부에 노출하지 않게 하기 위해 분리
Article 도메인에 관한 기능 구현
게시글의 추천버튼을 누르면 해당 게시글의 추천 수가 올라가는 기능 구현
게시글 추천 기능 구현
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.