코드 훔쳐보는 변태 코더
춤 좋아하는 백엔드 개발자(였으면 좋겠다)
전체 글 (95)
23-01-29 TIL

오늘 진행한 것들 🤔

  • 토이 프로젝트 진행
    • 뷰 템플릿 수정
      • 해시태그 기능 수정
        • Tagify 를 이용한 태그 분리
        • 현재 존재하는 태그를 검색해 추천해주는 로직 구현
    •  

존재하는 태그 추천 (맘같아선 옆에 몇건의 게시글이 등록되었는지도 표시하고싶지만, 아직 프론트 지식이 부족해서.. 포기했다 @_@)
전보다 훨씬 깔끔하게 해시태그를 등록할 수 있게 되었다.
캐릭터를 등록했을때 모습... 아직 css가 익숙치 않아서 최대한 노력해봤지만, 그래도 이미지를 크롭해서 캐릭터 얼굴만 표시하도록 구현했다. 추후에 더 업그레이드 해서 캐릭터를 3개까지 등록이 가능할때 해당 레이아웃이 그나마 제일 나을거같다고 생각해서 밑에 붙였다. (오른쪽에 붙이면 풀스크린일때 너무 떨어져있기때문에)

오늘 겪었던 문제 🤔

  • 문제라기보단 성능관련 문제가 있었다.
    • Tagify의 옵션중 input이 자바스크립트의 keyup과 기능이 거의 똑같았는데, keyup 관련 기능을 구현할때, 매번 고민한던게 있었다.
      • 글자마다 ajax 통신을 해버리면 안녕 이라는 결과를 검색할때 6번의 통신을 하게된다.
      • 프론트에서 해결할 수 있을거같아서 스쳐지나가듯이 찾아봤던 기억중에 setTimeOut 이라는 메소드가 있었던거 같아서 엄청 검색을 했었다.
      • 한글로 검색하기엔 적절한 태그를 찾지 못했고, 영어로 검색했을때 다행히 나같이 생각을 한 외국 개발자가 있었다.
      • 전역변수로 timeout 변수를 만들어주고, 마지막 입력을 하기 직전까지 매 입력마다 변수에 메소드를 저장하고, 마지막 입력 직전까지는 실행되야하는 메소드를 모두 null처리 시켜서 없애주고, 마지막 메소드만 실행할 수 있도록 변경했다.
      • 해당 로직은 나중에 검색어 로그 조회라던가, 비슷한 로직으로 캐릭터 검색등등 여러 부분에 쓰일 수 있을거같아서 기록을 해야겠다 다짐했었다.

오늘 해결한 오류 🤔

 

오늘의 배운점🤔

  • setTimeout 과 clearTimeout
    • 좀더 효율적으로 이벤트를 다루기 위해서 알고있어야 할 것 같았다.
    • 닉네임 중복조회 같은 로직에 keyup에 사용하면 좋을거같다.
  • 노드 모듈을 스프링부트에서 사용하는법
    • 기존에 꾸준히 제이쿼리 플러그인을 로드해서 사용중이었는데, npm을 스프링부트에 적용시키는 법도 있더라.
    • 단순히 resources 폴더에 진입 후 npm init -> install 패키지 를 하고 핵심 js파일을 로드해오면 됐었다.
    • 생성자가 클래스를 읽어오지 못해도 프론트에서 정상적으로 로드가 되더라... 앞으로는 npm으로 더 사용하기 쉽게 설치해야겠다.

 

 

'TIL' 카테고리의 다른 글

23-01-31 TIL  (0) 2023.02.01
23-01-30 TIL  (0) 2023.01.30
23-01-25~26 TIL  (0) 2023.01.26
23-01-20~23 TIL  (0) 2023.01.25
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검  (0) 2023.01.19
  Comments,     Trackbacks
23-01-25~26 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트
    • 전체 코드 리팩토링
    • 알림 기능 추가
      • Sse 를 활용한 알림기능 구현
      • 알림 뷰 구현
      • 알림 링크 클릭시 확인된걸로 변경하도록 구현
    • 캐릭터 정보 불러올시에 스프링 Async 기능을 이용해 비동기처리로 받아오도록 구현했다. (속도가 조금 빨라졌으려나..? 실감이 되지 않아서 불안정한 작업을 할 바엔 돌려놓는게 좋겠다라는 생각으로 두고보고있다. 하지만 캐릭터 정보는 내가 처리하는 데이터가 아닌 외부에서 안전한 데이터를 가져오는것이니.. 아직 확실하지 않다.)

반투명으로 알림이 등장한다. 새 알림이 등장할경우 위에 쌓이지 않고 기존의 알림이 사라지고 다시 알림이 등장한다.

 

오늘 겪었던 문제 🤔

  • 해당 기능을 구현할때 보통 프론트쪽에서 세션스토리지에서 토큰정보를 가져와서 구현하는 글들을 많이 보았는데 나는 세션스토리지를 쓰지 않던 상황이라 로그인시에 세션에 로그인 정보를 저장하고 뷰의 헤더에 로그인 정보를 인풋밸류로 저장해 로그인을 안했을땐 anonymousUser 로 입력하도록 하고, 로그인시에는 계정이름을 입력하도록 한 후에 구독을 하도록 했더니 동작이 되었다.

오늘 해결한 오류 🤔

오늘의 배운점🤔

  • Sse (Server - sent - event) 를 알게되었다.
    • 기존에 알림기능을 구현했지만, 실시간으로 알림을 전달하도록 하는 기능은 구현하지 못해서 약간 애물단지? 굳이 구현했어야했나? 하는 느낌으로 Notification 도메인이 남아있었다.
    • 마찬가지로 생각해보니 구조상 알림이 생성되어야 하는 동작에서 컨트롤러단에서 서비스를 분리해 로직을 실행한게 아닌, 각 도메인 서비스별로 레포지토리를 주입시켜서 생성시키고 있었다. 이건 결합도가 높아질 수 있는 행동 (이런식으로 코드를 짜게되면 부품처럼 사용하지 못하게 된다. )
    • 따로 알림 서비스와 컨트롤러를 생성하고 분리를 진행했다. 훨씬 깔끔하고 보기 좋았다.
    • 마찬가지로 알림이 필요한 기능에 단순히 Sse 메소드만 집어넣으면 전송이 되었다.
    • 거기에 +@ 로 부트스트랩의 toast 에 대해서 알게되었다.
    • 이제 alert() 가 아닌 토스트에 메시지를 띄워도 되겠다는 생각이 들었다...... 굿

 

'TIL' 카테고리의 다른 글

23-01-30 TIL  (0) 2023.01.30
23-01-29 TIL  (0) 2023.01.30
23-01-20~23 TIL  (0) 2023.01.25
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검  (0) 2023.01.19
23-01-17~18 TIL  (0) 2023.01.19
  Comments,     Trackbacks
23-01-20~23 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트 진행
    • 캐릭터 상세정보 조회 뷰 구현
    • 캐릭터 버프강화 상세조회 로직 구현
      • 버퍼일시에 장비에 버퍼관련 버프강화 옵션이 붙기때문에, 장비까지 조회하여 수치를 가져오도록 구현
    • 게시판과 연동하여 게시판에서 언급이 몇번이 되었는지 조회하는 로직 구현
    • 캐릭터 장비 상세조회 뷰 구현 (모달창으로 상세 옵션을 조회가능하도록 구현)
    • 계정과 모험단 연동을 위한 인증기능 구현
      • 랜덤한 직업과 닉네임을 부여한 후 , 해당 캐릭터가 등록을 원하는 모험단 소속으로 생성되었는지 체크 후 등록하도록 구현

사이트에서 검색되어 디비에 저장된 캐릭터들을 기반으로 명성기준 랭킹도 조회가 가능하다.
캐릭터 장비를 클릭하면 상세 정보 조회가 가능하다. (장비별로 성장옵션이 다른 커스텀 장비가 존재하고, 추후에 데미지 계산을 위해서 장비 옵션을 참고해야할 순간이 올 수 있다고 판단하여 추가하였다.)
장착 아바타 혹은 능력치 등등 해당 게임사에서 제공해주는 데이터중 핵심 데이터는 대부분 가져와서 출력할 수 있도록 구현했다.
게시글에서 캐릭터를 언급하였을때
캐릭터 상세조회 페이지에서 게시글에서 몇번 언급되었는지 확인이 가능하다.
버퍼의 경우 해당 옵션처럼 버퍼전용옵션으로 핵심 버프 스킬을 강화시켜주는 옵션이 존재한다.
신화 아이템의 경우 현 시즌에서는 거의 착용되지 않으나, 정확한 데이터 검증을 위해 신화 아이템의 경우와 신화아이템이 아닌 현 시즌 에픽아이템일 경우 두 가지 수 모두 챙겨서 버프스킬 레벨과 수치를 변경해주었다.
조회를 위한 json 데이터가 값이 일정하게 들어오는것이 거의 없었다. 따라서 최대한 핵심 키워드에 맞춰서 값을 가져오고, 해당 값이 있는 value를 가져와야했기때문에 하드코딩이 불가피했다.
흑흑.
모험단 인증을 위해서 캐릭터를 검색하고 등록하기 전 모습
랜덤으로 문자열과 현재 디비상 존재하는 캐릭터들 사이 랜덤한 직업이름을 가져와서 인증하도록 구현했다.
인증이 완료되면 디비 내에 존재하는 같은 모험단 이름을 가진 캐릭터들이 해당 계정으로 귀속되고 다른 계정에서는 해당 캐릭터들이 소속된 모험단을 등록할 수 없게된다.

 

오늘 겪었던 문제 🤔

  • 문제라기보다는 고민거리가 있었다.
    • 해당 캐릭터의 레이드 데미지를 예측하기 위해선 스킬 계수(퍼센트 데미지) 정보가 필요한데, 게임사에서 제공해주는 데이터에서는 일정한 정보를 가진 데이터가 존재하지 않았다.
    • 예를 들면 A스킬의 옵션 설명 : ~~~공격 12타 {value1} x 12 \n ~~범위 {value2} px  이런식으로 데이터가 불규칙하게 되어있었다.
    • 해당 게임사가 그렇게 데이터를 관리한다면 곧 그 게임사에서도 어떠한 알고리즘? 로직? 을 구현해 최종 스킬 데미지를 계산이 가능할텐데 , 도저히 내 머릿속에서는 방법이 떠오르지 않았다.
      • 첫번째 방법으로는 스킬 데미지 설명 옵션을 가져온 후 , 핵심 키워드 (데미지, 공격, 스킬 등) 가 담겨있는 문자열만 뽑아서 value를 더하거나 곱해 계산하려고 했었다.
        • 해당 방법은 고정된 곱셈 수 , px(범위) 등등 여러 문제가 있어서 포기
      • 해당된 키워드중 데미지와 관련없는 키워드를 모두 제거 후 value 더하기
        • 해당 방법 또한 마찬가지로 최종 퍼센트가 타 사이트와 맞지 않았다.
    • 방법은 뭐가 있을까 ..? 다른 계수를 정리해놓은 사이트에서 일일히 데이터를 가져와서 해결하기엔 비효율적이다.
    • 마찬가지로 버프력 또한 내가 지금 해당 게임을 하지 않고있으니 계산방법을 전혀 몰라서.. 일단 1차적인 방법으로 나중에 도움이 될 수 있도록 캐릭터를 조회할때 착용 장비의 상세 정보도 가져오도록 변경했다.
      • 장비에 보면 고정적으로 스킬 데미지 퍼센트를 증가해주는 옵션이 있거나, 버프스킬의 스텟이나 공격력 증가 옵션을 강화시켜주는 옵션이 존재했기때문에, 해당 옵션으로 총 증가 스텟/퍼센트를 가공해서 버프력을 계산하거나 데미지를 계산하도록 하면 될 것 같았다.
      • 최적의 방안은 아니지만, 해당 문제를 해결하기 위해서 한단계 더 나아갔다! 라고 생각하고있다 :)

오늘 해결한 오류 🤔

 

오늘의 배운점🤔

  • JPA의 @SqlDelete 기능과 @Where 을 알게되었다.
    • 첫 프로젝트를 진행할때, 삭제 기능을 단순히 db상에 데이터를 남기고 컬럼하나의 값만 바꾸는 soft delete 가 아닌 , hard delete로 진행을 했었고, 추후에 soft delete 로만 바꿨는데, 이때 jpa에서 제공해주는 메소드를 사용하지 않고, setter로 일일히 자식객체까지 컬럼값을 변경해주었었다.
    • @SqlDelete 어노테이션으로 간단히 Update 쿼리문을 실행해 자식객체까지 cascade 설정을 해주면 알아서 컬럼값을 변경해준다.
    • +@ 로 deletedAt 변수를 선언해 추후에 일정 기간이 지난 데이터는 완전히 삭제가 가능하도록 건수를 남겨두었다. (관리자 페이지에서 구현을 하거나 자동으로 처리가 가능한 기능을 활용하면 좋을거같은데, 아직 배운게 없어서 모르겠다. 고민을 많이 해봐야겠다 :)
    • @Where 같은 경우엔 데이터를 불러올때 설정한 값들로만 불러올수있도록 (예를들어 삭제가 false인 데이터만) 설정할 수 있으나, 현재 프로젝트 같은 경우엔 회원의 게시글이나 댓글 기록이 삭제된 게시글,댓글도 확인이 가능해야했기 때문에 Where 어노테이션을 사용하면 예외가 발생했었다. 따라서 큰 변경점 없이 SqlDelete 어노테이션만 사용하고 Where 은 따로 사용하지 않았다.
  • RestApi 에 대해서 한번 더 공부해보았다.
    • 현재 진행하는 프로젝트에 컨트롤러와 맵핑되어있는 uri들이 모두 엉망이라는것을 알게되었다.
    • 아직 자세하게 공부하진 못했지만, rest api 의 정해진 규약? 에 맞춰서 uri들을 모두 수정해주었다.
    • 특히 어떠한 자원이 담겨져있는 (게시판,캐릭터,유저 등등) 곳에는 구분자를 써서 복수로 표현해주는 (characters, articles, users) 같은 규칙을 다 갖고있도록 변경해주었다.
    • 대문자를 쓰지 않는것과 중간을 구분해줄때 '-' 를 사용해주는 것 등 여러가지를 신경써서 수정해주었다.

화이팅~

 

남은 소소한 목표

-> 캐릭터 랭킹 페이지 구현 (직업별로 명성, 게시판에서 언급된 횟수, 혹은 전체 캐릭터 중 몇순위인지 등등)

-> 모험단 등록 관련 특혜 (개인 프로필 아이콘 모험단 등록 캐릭터들중 골라서 변경하고, 특별한 모험단 등록 아이콘 부여)

-> 모험단 페이지 (캐릭터 타임라인 혹은 모험단 전체 타임라인)

-> 관리자 페이지 (공지사항 등록 및 시간이 지난 삭제 게시글,댓글 삭제처리 등등 )

-> 캐릭터 데미지/버프력 산출 공식 알아내기

-> 데이터 가져올때 예외처리 (1초 안에 가져올 수 있는 데이터 수가 초과했을때 스레드 슬립 등)

 

 

'TIL' 카테고리의 다른 글

23-01-29 TIL  (0) 2023.01.30
23-01-25~26 TIL  (0) 2023.01.26
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검  (0) 2023.01.19
23-01-17~18 TIL  (0) 2023.01.19
23-01-16 TIL  (0) 2023.01.17
  Comments,     Trackbacks
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검

오늘 진행한 것들 🤔

  • 토이프로젝트
    • 마이페이지 활동내역 뷰 수정
    • 마이페이지 활동내역 조건별 정렬 기능 구현
    • 마이페이지 활동내역 페이지네이션 구현
    • 마이페이지 알림 기능 추가
      • 내가 아닌 다른사람이 내 게시글과 댓글에 좋아요 , 좋아요 취소 혹은 댓글 달기, 혹은 글이 삭제되어 내 댓글까지 삭제되었을때 알림을 남기도록 구현함

활동 내역, 삭제되면 빨간색으로 표시
댓글 활동 내역, 마찬가지로 삭제되었을때는 링크가 걸리지 않는다.
미리보기는 불가능한 활동알람. 클릭시 해당 게시글로 이동이 가능하다.
디테일하게 정렬이 가능하다. 페이징도 가능하다 굿!

이제 정말 본격적인 외부 데이터를 활용한 통계 기능을 구현하기 전 커뮤니티의 모든 기능을 구현했다.

 

오늘 겪었던 문제 🤔

  • 부모 객체에 자식 객체를 집어넣을때 어떤건 따로 저장하지 않아도 영속성이 전이되어 같이 저장되는 반면에 어떤건 안되는 현상
    • 저장이 되었다고 로그가 출력이 되지만 디비에 들어온 데이터는 존재하지 않는다. (임시방편으로 저장후 집합에 집어넣는것으로 해결)

오늘의 고민거리 🤔

  • 현재 프로젝트에서의 비동기 처리, 과연 필요할까?
    • 최악의 경우, 한페이지의 검색결과당 10번의 추가적인 API 조회가 필요하다.
    • 만약 9명이상의 사용자가 한번에 검색을 같이할땐? (API리밋 오류 발생)
      • 해당 에러에대한 예외처리를 진행 (스레드 1초 슬립?)
    • 한 캐릭터의 세부사항을 조회할때 페이지를 이동하여 각각의 탭마다 정보를 추가적으로 가져온다. / 한번에 가져와서 css로 숨긴다.
      • 만약 필요한 정보만 보고싶은데 불필요하게 모든 세부정보를 조회해버린다면?
      • 마찬가지로 API 리밋 오류 발생 가능.
      • 최적의 상황은 SPA (싱글페이지 어플리케이션) 이지만.. 지금 상황에서는 불가능하다. (지식부족)
      • 타임리프를 사용하고있지만, 제이쿼리로 계속 불편하게 ajax 를 통해 데이터를 긁어와서 태그를 갖다 붙이는 일이 맞는걸까 ? (고려해봐야하는부분.)
  • 사용자 입장에서 웹페이지에 오래 남아있을 수 있는 방법은 뭐가 있을까?\
  • 에러페이지로의 잦은 이동을 지양하기
    • 많은 데이터 제공하기 (다양한 통계 )
      • 직업별 분포도 (네오플 API 캐릭터 기본정보 조회 활용)
      • 직업별 명성 분포도 (네오플 API 능력치 세부 조회 활용)
      • 직업별 레이드 클리어 분포도 (네오플 API 타임라인 코드 활용)
      • 직업별 예상 최신 레이드 데미지 랭킹 (네오플 API 스킬정보/장비/능력치/버프강화 세부정보 조회 활용)
      • 캐릭별 원하는 스펙으로 맞췄을시에 예상 데미지 (네오플 API 스킬정보/장비/능력치/버프강화 세부정보 조회 활용)
      • 다양한 커뮤니티 (보기좋은 인터페이스 제공)
    • 메인페이지에는 ? 
      • 캐릭터 데미지 랭킹
      • 게시판
      • 홈페이지상 등록된 캐릭터들중 한번이라도 검색된적 있는 캐릭터들의 최신 레이드 클리어 현황 

오늘 해결한 오류 🤔

  • 조건문을 잘못 활용하여 원하는 결과값이 리턴되지 않았던 오류

  • 스위치문은 가독성이 좋지않아서 if문을 활용하라던 말이 생각이 났다.
  • 그런가....................................? 이렇게 고치긴 했지만 딱히 그 의견에 찬성하진 않는 입장이다.

 

오늘의 배운점🤔

  • 새로운 기능을 구현했습니다.
    • 사용자 알림 기능을 구현했습니다. 인스타그램에서 쉽게 볼 수 있었던.. 생각보다 어렵진 않았습니다.

 

'TIL' 카테고리의 다른 글

23-01-25~26 TIL  (0) 2023.01.26
23-01-20~23 TIL  (0) 2023.01.25
23-01-17~18 TIL  (0) 2023.01.19
23-01-16 TIL  (0) 2023.01.17
23-01-15 TIL  (2) 2023.01.16
  Comments,     Trackbacks
23-01-17~18 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트 진행
    • 댓글 관련 비즈니스 로직 구현
    • 베스트 댓글 구현
    • 댓글 API작성 
    • 레디스를 활용한 댓글 좋아요 로직 구현
    • 뷰 수정
      • 게시글에 캐릭터 등록시에 게시글 제목 상단에 해당 캐릭터 아이콘 조회 가능
    • 어드바이스 컨트롤러 생성 / 커스텀 에러페이지 연결
    • DTO 재설계
      • 불필요하게 전달되는 데이터들을 모두 제거하고 각 상황별로 DTO를 이용하도록 재설계해 결합도를 낮춤
    • 회원페이지 게시글 ,댓글 기록 조회 로직 구현
      • 뷰 구현

댓글 출력 로직
베댓 출력 로직 (뷰는 나중에 수정 예정..)
게시글에 등록한 캐릭터까지 출력이 된다.
닉네임도 출력이 된다.
댓글 내역도 출력이 되고 클릭하면 게시글로 이동이 된다.

 

오늘 겪었던 문제 🤔

  • DTO 설계 관련 문제
    • 기존에 DTO가 중구난방으로 존재하던걸 드디어 정리해버렸다.

쓸데없는 부분들을 제거하고 각각 상황에 맞게 필요한 데이터만 전달하고 남는 데이터는 없도록 재설계를 진행했다.

 

 

오늘 해결한 오류 🤔

 

오늘의 배운점🤔

  • DTO의 사용범위에 대해서 고민해보았습니다.
    • 직전에 진행했던 토이프로젝트는 아무래도 설계가 잘못되어있었구나를 이번 프로젝트를 진행하면서 매일 느끼는것 같습니다.
  • 최근 며칠동안은 설계상 결함을 고치는일이 생기기 보다는 아무래도 구현을 하는데 시간을 많이 들인것 같습니다.
  • 아직 많이 어색하지만 봐줄만한 커뮤니티가 완성되가는 모습에 기분이 좋습니다 :)

 

'TIL' 카테고리의 다른 글

23-01-20~23 TIL  (0) 2023.01.25
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검  (0) 2023.01.19
23-01-16 TIL  (0) 2023.01.17
23-01-15 TIL  (2) 2023.01.16
23-01-14 TIL  (0) 2023.01.15
  Comments,     Trackbacks
23-01-16 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트 진행
    • 게시판 댓글 수정,삭제 기능 구현
    • 게시판 댓글 수정 뷰 구현 
    • 게시판 댓글 좋아요 기능 구현
      • 좋아요 취소도 가능하고 로그를 남겨서 현재 접속자를 기준으로 로그를 확인이 가능하다.
    • 대댓글 기능 구현
    • 대댓글 뷰 구현
    • 검증 추가
      •  해시태그 3개 이상 등록시, 혹은 게시글댓글 제목 내용 존재하지 않거나 하는 상황에 알림메세지가 뜨도록 구현
    • 베스트 댓글 출력 뷰 구현
      • 베스트 댓글 중 댓글 수정,대댓글 조회 뷰 구현
      •  

오늘 겪었던 문제 🤔

  • jpa 연관관계 문제
    • 자꾸만 부모객체에 자식객체를 추가하거나 자식객체에 부모객체를 set 할때 2개가 저장되거나 영속성 전이 관련 오류가 발생

오늘 해결한 오류 🤔

오늘의 배운점🤔

  • 생각을 달리해보았습니다.
    • 게시글의 추천 로그를 남겨 현재 접속자를 기준으로 확인하는것은 별로 어렵지 않은 문제였으나 , 댓글또한 똑같은 로직으로 구현하고 싶었습니다.
    • 한번 통신을 할때 현재 접속자를 기준으로 해당 게시글의 댓글의 좋아요 로그를 확인해 좋아요 여부를 표현하도록 구현해보았습니다.
  • 이제 기본적인 게시판 구현은 모두 끝낸것 같습니다. 게시글 검색, 조회, 추천, 삭제, 수정 이 가능하고, 이미지도 첨부가 가능했으며 삭제된 게시글은 완전히 삭제되지 않고 db에 남아, 게시글 조회시에는 삭제되지 않은 게시글만 불러옵니다. 댓글도 마찬가지 입니다.
  • 베스트 게시글과 댓글도 출력이 가능하고 따로 게시글에 등록된 데이터에 따라서 검색또한 가능합니다. 캐릭터까지 연동시켜놨으니 해당 캐릭터를 클릭하면 이제 캐릭터 상세 페이지로 이동이 될 예정입니다.
  • 이제 남은건 캐릭터 조회입니다. 다른 사이트와 차별점이 있으려면 다른 사이트보다 나은 부분이 하나라도 더 존재해 니즈를 충족시켜야 합니다.
  • 기본적인건 깔끔한 뷰와 데미지 산출 공식을 연구해 깔끔한 커뮤니티를 만들면 분별력이 있겠다는 생각을 했습니다.
  • 여기까지 생각보다 오래 걸리지 않은 느낌이지만, 이제 본격적으로 시작이라고 생각합니다. 주가 되는 도메인 객체를 얼마나 쌈싸먹을수 있느냐.. 벌써 설렙니다.

화이팅~

'TIL' 카테고리의 다른 글

23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검  (0) 2023.01.19
23-01-17~18 TIL  (0) 2023.01.19
23-01-15 TIL  (2) 2023.01.16
23-01-14 TIL  (0) 2023.01.15
23-01-13 TIL  (0) 2023.01.14
  Comments,     Trackbacks
23-01-15 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트 진행
    • 게시판 뷰 수정
    • 게시글 좋아요 , 조회수 기능 구현
      • 좋아요 취소까지 가능 
      • 레디스를 활용해 로그를 남기도록 구현
    • 게시판에 캐릭터 닉네임 출력 및 뷰 더 깔끔하게 수정
    • 등록된 캐릭터로 게시글 검색 기능 구현
    • 댓글 입력 조회, 삭제 기능 구현
    • 댓글 출력 뷰 구현 

좋아요를 누르지 않았을떄
좋아요를 눌렀을때 (나갔다 들어와도 저 모양으로 유지 및 다시 누르면 좋아요 취소가 가능하다.)

 

 

오늘 겪었던 문제 🤔

  • 영속성 전이 관련 문제
    • 자꾸 게시글에 댓글을 등록하려는데, 계속 기존에 등록된 게시글을 못찾는 것이었다.

오늘 해결한 오류 🤔

  • 영속성 전이 문제
    • 문제는 단순히 엔티티로 변환하는 메소드에 id값을 넣어주지 않아서 식별자를 확인 못해서 생겼던 문제였다.. 나 바본가...?

오늘의 배운점🤔

 

 

뭘배워~~ 그냥 하는거지

 죽자!

 

'TIL' 카테고리의 다른 글

23-01-17~18 TIL  (0) 2023.01.19
23-01-16 TIL  (0) 2023.01.17
23-01-14 TIL  (0) 2023.01.15
23-01-13 TIL  (0) 2023.01.14
23-01-12 TIL  (0) 2023.01.12
  Comments,     Trackbacks
23-01-14 TIL

오늘 진행한 것들 🤔

  • 토이프로젝트
    • 게시글 <-> 해시태그 기능 구현 
    • 게시글-> 캐릭터 기능 구현
    • 해시태그와 캐릭터 출력 뷰 구현

등록한 캐릭터가 존재하지 않을때 (캐릭터는 글 내용과 관련하여 스펙 참고용으로 활용 예정)
존재할때 (이미지 크롭에 애를 많이 먹었다..)

 

오늘 겪었던 문제 🤔

  • jpa의 양방향 관계맺기 문제
    • 자식테이블이 아니고 독립적으로 운영될 수 있는 테이블에 대한 외래키 참조 제약조건 문제가 발생했다.
    • 자꾸 기존의 테이블에 있는 DB를 참조하는게 아닌 새로 등록하고 참조하려고 했다.
    • 글들을 찾아보니 무조건 외래키 제약조건을 걸지 않고 참조를 할 수 있도록 하는 방법이 있었다.
  • 엔티티간 무한참조 문제
    • Dto <-> 엔티티 나 Dto <-> Response 객체 간 무한참조 오류가 발생했다.

 

오늘 해결한 오류 🤔

  • Jpa 양방향 관계 맺기 문제
    • @JoinColumn 어노테이션의 foreignkey 옵션을 사용해 제약조건을 없앴더니 정상적으로 객체 생성에 관여하지 않고 외래키를 참조할 수 있게 되었다. ConstraintMode.CONSTRAINT 로 해결 완료 (해당 옵션을 사용하려면 확실하게 인덱스 설정을 해줘야한다.)
  • 엔티티간 무한참조 문제
    • Dto에 많은걸 담지 않도록 변경해서 해결했다. (예 : 객체 끼리의 연결테이블 엔티티 )

오늘의 배운점🤔

  • 모듈화의 중요성을 알게되었습니다.
    • 잘 짜여진 코드를 만들어놓으니 재사용할때 편리해서 너무 좋았습니다. 생산성이 올랐습니다.
  • DB에 대해서 공부해야겠습니다.
    • Jpa 를 잘쓰는 방법은 곧 DB에 대한 이해도가 높아지는것이라는것을 오늘 깨닳았습니다.

오늘도 화이팅! 

 

'TIL' 카테고리의 다른 글

23-01-16 TIL  (0) 2023.01.17
23-01-15 TIL  (2) 2023.01.16
23-01-13 TIL  (0) 2023.01.14
23-01-12 TIL  (0) 2023.01.12
23-01-10 TIL  (0) 2023.01.10
  Comments,     Trackbacks