Git Product home page Git Product logo

dastargram's Introduction

dastargram's People

Contributors

diriring avatar dokkabei97 avatar handyejin avatar hwangjun avatar yisak5 avatar yoonyoon98 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dastargram's Issues

[개발] ControllerAdvice, 공통 Response 개발

요약

  • ControllerAdvice 개발
  • 공통 Response 개발

기능

  • 공통 Response
{
    "success": true,
    "status": 200,
    "data": "data"
}
{
    "success": false,
    "status": 500,
    "message": "이름은 필수 입니다."
}

일정

  • 23.06.12 ~ 23.06.18

좋아요 개발

  • 좋아요 / 좋아요 취소
  • 좋아요 많은 순 게시글 조회
  • 내가 좋아요 한 게시글 목록 조회

[개발] 게시물 기능

요약

  • 게시물 기능 구현

기능

  • 게시물 생성
  • 게시물 수정
  • 게시물 삭제

일정

  • 23.06.26 ~ 23.06.28

검색 개발

검색 개발 상세 내용을 채워주세요 (채우고서 해당 라인은 삭제 부탁드립니다)

[BUG] 회원 조회시 예외 발생건

요약

  • 회원 조회시 예외 발생

상세

  • 회원조회시 ROLE에 enum이 해당하는 값 없다고 예외 발생

원인

src/main/resources/db/migration/V2__init_dml.sql

-- 회원 데이터 입력
INSERT INTO members (email, password, nickname, name, profile_image, role)
VALUES ('[email protected]', 'password1', 'test_nick1', 'test_name1', 'image_url1', 'ROLE_MEMBER'),
       ('[email protected]', 'password2', 'test_nick2', 'test_name2', 'image_url2', 'ROLE_MEMBER'),
       ('[email protected]', 'password3', 'test_nick3', 'test_name3', 'image_url3', 'ROLE_MEMBER');`

ROLE_MEMBER로 들어가서 해당 예외 발생

해결

ROLE_MEMBERMEMBER로 변경

  • #4d547a8 HOTFIX로 해결

회원 기능 개발

  • Entity 개발
  • Entity Test 개발
  • Repository 개발
  • Repository 개발
  • Service 개발
  • Service Test 개발
  • Controller 개발
  • Controller Test 개발

[기타] DB 테이블 설계

요약

  • DB 테이블 설계가 제대로 안되어 개발시 타입 지정에 이슈 발생

상세

  • DB 테이블 설계

북마크 개발

북마크 개발

  • 조회, 생성, 삭제 가능
  • 컬렉션에 따로 관리 가능(해당 기능은 추후 확인후 추가 예정)

[기타] #10 JPQL 코드 리뷰

질문자

@handyejin

질문내용

  • 데이터는 있지만 검색시 검색 결과는 없음

원인

MemberRepository 코드에 원인이 되는 코드

@Query(value = "SELECT v FROM members v")
fun findByNicknameContainingIgnoreCase(@Param("nickname") keyword: String): List<SearchMemberResponse>

이미 JPA 구현체로 findByNicknameContainingIgnoreCase가 있음에도 JPQL로 어노테이션인 @Query가 존재하며
해당 쿼리도 잘못되어 있음 그래서 아래 코드 둘중 하나로 구성 되어야함

해결책

// JPA로만 구현시
fun findByNicknameContainingIgnoreCase(nickname: String): List<Member>

// JPQL로 구현시 JPQL에서 :파라미터명이 있어야 제대로 인식
@Query("SELECT m FROM Member m WHERE m.nickname LIKE %:nickname%")
fun findByNickname(@Param("nickname") nickname: String): List<Member>

또한
MemberRepository , MemberReader에서 반환값들은 Member로 해야함
이유는 로우레벨이기도 하며 DTO는 주기적으로 변경이 이루어지기 때문 그리고 JPA에서 DTO로 바로 반환하기 번거로움 점도 존재
그래서 보통 DTO로 바로 반환을 원할경우 Querydsl을 사용

그외

SearchController에서 @PathVariable로 검색을 하고 있지만 쿼리 파라미터로 하는것을 권장

일부 더 수정해야 할 코드들이 보이지만 나머지는 직접 해결해보세요!

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.