본문 바로가기

Back-end44

[카카오테크캠퍼스] 4주차 과제 코드리뷰 정리 내 질문Q1. menu 수정 메서드를 필드별로 구현해야할지 아니면 지금처럼 menu 전체를 수정하는 메서드로 구현해도 괜찮은지A.요구사항에 따라 다르다. 한꺼번에 수정하는 것이 주요하다면 통으로, 각각 나누어 수정하는 경우가 갖다면 나누어 구현하는게 좋다. Q2. 객체 생성을 위한 DTO와 수정을 위한 DTO를 따로 만들어야 하나요A.이것도 경우에 따라 다른데 이와 같은 고민이 드는 경우라면 분리하는 것이 좋다. Q3. 메뉴를 추가할 때 카테고리 객체 통째로 받는게 좋을지 아니면 카테고리 id만 받는게 좋은지A.카테고리 id는 같지만 이름이 다른 객체가 들어오면 곤란해진다. 이런 문제도 있고, 클라이언트의 편의를 위해서 id만 전달하는 것이 좋을 것 같다. 피드백Rest api prefix 변경이건 칭찬.. 2024. 9. 3.
[카카오테크캠퍼스] 3주차 과제 코드리뷰 정리 내 질문Q1실제 기능에서는 getter가 필요하지 않는데, 테스트를 위해서는 필요한 경우가 있다. 이 때 테스트를 위해서 보안을 조금 포기하더라도 getter을 만드는 것이 좋은지 궁금합니다. A.필요하면 만들어야하긴하지만, 값을 꼭 꺼내어 확인해야하는지 고민해보아야한다. 특히 값이 바뀌는 것에 대한 테스트는 굳이 필요하지 않을수도 있기 때문이다.  Q2이번 작업과 같이 한 도메인에서 특정 기능을 만들 때 commit를 도메인 단위로 하는게 좋은지 아니면 controller, service단위로 하는지 궁금합니다. A.commit는 문제가 발생했을 때 롤백 지점을 쉽게 잡기 위한 포인트읻. 나중에 "이쯤에서 롤백하면 되겠네"가 편하도록 단위를 정하자 피드백equlas, hashcode로 동등성을 부여하자.. 2024. 9. 3.
[Spring] RestTemplate로 ChatGPT 연결하기 이번 해커톤 프로젝트를 하면서 chatGPT를 연동해야 할 일이 생겼다.위와 같이 일기를 쓰면 그에 대한 코멘트를 챗지피티를 통해 보여준다.(일기 마저도 챗 지피티에서 따왔다ㅋㅋ) 팀원분이 지피티를 연동해보는 경험을 해봤으면 좋겠다고 하셔서 내가 하게 되었다. 처음에는 좀 어려워보이는 기능이라 겁먹었지만 막상 하니까 그렇게 어렵진 않았다. 역시 경험이 중요하다는 것을 깨닫게 되었다. 돈 넣고 키 발급받기 GPT를 그냥 쓸 때는 3.5는 무료로 쓸 수 있지만, OpenAI를 통해서 GPT를 쓰기 위해서는 3.5도 돈을 내야한다.새로 만든 계정에는 몇달러 준다는 말도 있던데 나는 아니었다..ㅜㅜ https://platform.openai.com/playground/chat?models=gpt-4oOpenAi.. 2024. 8. 7.
[나머지공부] RestTemplate 멋사 프로젝트와 이번 카테캠 과제에 RestTemplate이 쓰여서 공부해보려고 한다. RestTemplate이란? SpringBoot에서 RestTemplate는 HTTP 클라이언트를 쉽게 사용할 수 있도록 도와주는 라이브러리이다. GET,POST,DELETE,PUT 등을 사용하고, 원격 서버와 동기식 방식으로 JSON, XML등 다양한 데이터형식으로 소통한다.동기식 방식으로 요청을 보내고 응답을 받을 때까지 블로킹되며, 요청과 응답이 완료되기 전까지 다음 코드로 진행되지 않는다.원격서버와 통신할 때에는 응답을 기다리는 동안 대기해야한다.  위와 같은 방식으로 소통한다. RestTemplate 사용법 (요청명)ForObject 설정한 요청에 대한 결과를 객체로 반환한다. 예를 들면 getForObjec.. 2024. 7. 24.
[나머지공부] 테스트코드 작성법 카카오테크캠퍼스를 하다보니까 테스트코드의 중요성을 알게 되었다.근데 나는 남이 짜준 테스트코드를 돌리는 것 이외에는 딱히 해본 적이 없어서 이 부분을 구현하는데 힘들었다.그리고 테스트코드를 짜는 방법을 확실하게 몰라서 더 부담을 느끼는 것 같아서 이번에 쭉 정리를 해보려고 한다. 테스트코드를 작성하는 이유디버깅 비용 절감코드변경에 대한 불안감 해소더 나은 자료좋은 코드는 테스트하기 쉽다.테스트 자동화@SpringBootTest : 테스트에 필요한 핵심 기능 라이브러리@Junit : java에서 독립된 단위 테스트를 지원해주는 프레임워크 @Test 어노테이션마다 독립적으로 테스트가 진행된다. 단위테스트 VS 통합테스트 단위테스트는 시간과 비용면에서 좋고, test코드 자체가 하나의 문서가 되지만, 가짜객체.. 2024. 7. 21.
[카카오테크캠퍼스] JPA 연관관계 매핑 참고!객체는 파스칼 표기법(Line, Station,LineStation)을 따르고, 테이블은 스네이크 표기법을 따른다(line, station, line_station) 단방향 : 회원 -> 팀, 팀 -> 회원 둘 중 한 쪽만 참조하는 것양방향 : 회원 -> 팀, 팀 -> 회원 둘 다 참조하는 것 방향은 객체관계에서만 존재하고, 테이블 관계는 항상 양방향이다. 다중성다대일 일대다 일대일, 다대다가 있다. 연관관계 주인객체를 양방향 연관관계로 만들면 연관관계의 주인을 정해야한다. 단방향 연관관계 다대일 단방향 관계 회원과 팀이 있다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀은 다대일 관계이다. 객체 연관관계회원 객체는 Member.team필드를 통해 팀을 알 수 있지만, 반대로 팀은 회원을 알 수 .. 2024. 7. 16.