전체 글151 WIL 230709 : 스프링를 훑어 보며 FACTS 이번 일주일 동안 있었던 일, 내가 한 일 : JPA를 활용, 다양한 Entity간의 관계를 익히며 각각의 특성을 공부했다. 팀과제에 있어서는 1:N인 글과 댓글, N:M인 글과 태그이 연관관계를 맵핑하는 연습을 했다. FEELINGS 나의 감정적인 반응, 느낌 : 직접 코딩을 구현해보며 항상 느끼는 것은, 설명으로만 보는 건 쉬운데 직접 해보면 다양한 변수를 맞이한다. 동시에, 처음 접하는 다양한 개념들을 표면적으로 다양하게 배우다보니 어떤 개념이 낯선지 헷갈린다. 다행히 리뷰를 해보며 어떤 것들을 좀 더 복습하고 심화된 개념들을 더 파고들지 정리가 되어서 잘 됐다. FINDINGS 그 상황으로부터 내가 배운 것, 얻은 것 : N:M인 글과 태그를 설정하며 최초로 글을 작성할 때의 코딩을 하.. 2023. 7. 9. TIL 230707 : 다른 팀의 발표를 보고 오늘 뉴스피드 팀과제 발표가 있었다. 다양한 기능을 구현한 팀부터 이러저러한 사정으로 팀원의 부재로 백엔드에 집중한 팀 등 다양했다. 모든 팀으로부터 배울점들이 있었다. 간략히 아래에 정리해본다. 폴더를 도메인별로 나눴다 강의를 듣고서 작업을 하다보면 보통 왼쪽처럼 폴더를 나누게 되는데, 이제 도메인이 다양해지면 저 폴더를 각 도메인에 (Reply, Post, User, Info 등) 나누어서 해당 패키지 내에서 독립적으로 의존하게 작업하기도 했다. 이를 튜터님도 칭찬해주셨고, 나도 시도해봐야겠다라고 생각했다. github의 issue, pull request 활용 매번 느끼지만 결국 협업이다. 내가 빠르게 10중에 10을 내 작업에 투자해서 진행하고 싶지만, 나의 시간 2를 투자해 팀에 10의 이득을 .. 2023. 7. 7. TIL 230706 : 해시태그 조회 구현하기 (map활용 카운트하는 방식) 여러 태그를 모두 가지고 있는 게시물들을 반환하려고 한다. 문제 내가 찾고자 하는 태그를 모두 갖고 있는 Post들을 전부 가져오고 싶었다. List를 넣어줘서 쿼리메소드에 In을 붙이면 tag들이 있는 Post를 가져올거라 생각했다. 하지만, 원치않은 결과들도 호출됏다. 예를들어, tagA, tagB 둘 다 가지고 있는 Post를 가져오고 싶어서 List tagList = {tagA, tagB}; 를 해서 위 메소드에 입력하게 되면 tagA만 가지고 있는 Post도 가져오게 된다. 내가 원하는 건 모든 tag를 다 갖고 있는 Post들이다. 시도 1. Specification tag를 모두 갖고 있는 쿼리를 동적으로 만들어주는 specification을 활용해보고자 했다. 사실 내가 쓰면서도 잘 모르겠.. 2023. 7. 7. 뉴스피드 프로젝트 KPT 회고 프로젝트 명: 취업 정보 뉴스피드 (Interview feed) 1. 한 주의 흐름 1) 한 일 필수 작업: 사용자 인증 기능 회원가입 기능 ID와 비밀번호의 형태로 서비스에 가입 비밀번호 암호화 로그인 및 로그아웃 기능 사용자가 자신의 계정으로 서비스에 로그인하고 로그아웃 프로필 관리 프로필 조회 및 수정 기능 아이디, 이메일, 한 줄 소개, 이메일 비밀번호 수정 시에는 비밀번호를 한 번 더 입력 게시물 CRUD 기능 게시물 작성, 조회, 수정, 삭제 기능 내가 작성한 글은 오로지 본인만 삭제할 수 있음 뉴스 피드 기능 사용자가 다른 사용자의 게시물을 한 눈에 볼 수 있는 뉴스 피드 페이지 추가 작업: 댓글 CRUD 기능 댓글 작성, 조회, 수정, 삭제 기능 사용자는 게시물에 댓글을 작성할 수 있음 댓.. 2023. 7. 7. TIL 230705 : PK FK N:M 중간테이블 매핑하며 (해시태그 게시글 작성) 작업내용 오른쪽과 같이 Tag(HashTag에서 변경 : Post가 N:M 관계여서 중간에 받아주는 TagPostTable 중간테이블을 만들었다. 정리하자면 Post랑 Tag의 외래키를 갖는 TagPostTable Entity를 하나 더 만들고 맵핑하였다. 그러고 어김 없이 오류가 났는데 그로인해 배운 원칙을 정리하자면 아래와 같다. 배운점 1. FK를 가지고 있는 객체를 Repository에 저장할 때는 FK로 매핑된 객체들이 PK를 가지고 있어야 한다. 쉽게 말해, Tag와 Post객체의 각 PK를 FK로 가지는 TagPostTable 객체를 만들고 DB에 save할때 각 객체들이 PK값을 가지고 있어야 한다. tagPostTable 객체를 DB에 저장하기 전이다. 아직 id(PK)값은 null이고,.. 2023. 7. 6. 이전 1 ··· 19 20 21 22 23 24 25 ··· 31 다음