이해하기새로운 프로젝트 주제를 아직 정하지 못해서 kakao developers의 KoGPT를 사용해봤다. 활용 방법에 따르면 아래 요소를 답변을 할 수 있다고 한다.제시된 문장의 긍정, 부정 등 속성 판단 및 분류긴 문장의 주요 내용을 한 줄로 요약결론이 없는 문장을 추론하여 결론 예측질문에 맥락을 고려하여 답변주어진 문장의 다음 내용 생성기본적으로 KoGPT에 요청을 보내려면 몇가지 파라미터가 필요한데 내가 이해한 바로는 아래와 같다. prompt : 프롬프트, KoGPT에 전달할 제시어, 과제 설명, 예시, 입력이 필요하다.max_tokens : KoGPT가 처리할 수 있는 문자열의 최소 단위를 Token이라고 하는데, 토큰 수가 많아지면 처리에 지연시간이 발생하고, max_tokens으로 응답 ..
이거 제목을 뭐라해야 할 지 모르겠어서 그냥 길게 적어버렸다. 우선 상황을 설명하자면, ClosetItemEntity 코드 내 업데이트에 관한 생성자 구조에서 param 값이 하나라도 빠질 경우 작동하지 않았다. 하지만, 옷장 아이템에 대해서 데이터 구조를 설정했을 때 필수 or 선택 항목이 있었고, 선택 항목은 작성하지 않아도 기본 값으로 적용되어 작성되어야 한다. 그러다 보니 값을 받을 때, 하나하나 작성해서 생성하기에는 코드가 너무 길어졌다. 그래서 빌더 패턴으로 생성, 업데이트 둘 다 가능한 메서드로 작성했는데, 매번 같은 순서나 타입으로 받는게 아니라서 에러가 발생하다 보니 조금 복잡하게 수정을 했다. 변경 전 코드는 아래와 같다. public ClosetItemEntity updateEntit..
이전 팀 프로젝트에서 코드를 작성할 때 DTO와 Entity를 생성했었는데 DTO에 대해서 고민해보다가 DTO와 엔티티의 역할을 분리해서 관리하는 게 좋을 것 같다고 생각이 들었다. 수정한 내용을 살펴보자. 1. Dto에서 Entity를 생성하는 메서드 → Entity 클래스로 이동 DTO와 Entity 클래스 간 불필요한 의존성을 제거하기 위해, DTO에서 Entity를 생성하는 메서드를 Entity 클래스로 이동. 상호 의존성 제거 -> 코드 모듈화 강화 아래 코드는 ClosetDto의 일부분인데, 이 코드가 ClosetEntity의 코드로 이동하였다. 2. Setter → Builder 변경 일관성과 코드 가독성 향상을 위해 Setter 메서드 대신 Builder 패턴으로 전환. 사실 이 변경의 이..
합치고 싶은 repo1, repo2가 생겼다고 가정해보자. repo1는 유지하고 싶고, repo2의 파일을 repo1에 옮기고 싶다. 우선 bash를 repo1에서 띄우고 아래 코드를 작성한다. git subtree add --prefix=repo2 https://~~repo2.git main git subtree add --prefix= 까지는 작성이 같다. prefix 내용에 합쳤을 때의 폴더 구조를 작성하는 것 repo2를 적어 넣으면 'repo2/[repo2 repository의 파일들]'의 구조가 된다. 그 다음에 https://~.git은 합치고 싶었던 repo2의 주소를 붙여 넣으면 된다. 그 리포지토리 들어가보면 ' code - HTTPS' 쪽에 복사 버튼이 있다. 뭐 근데 주소 복사해서 ..
바로 본론으로 들어가자면 풀리퀘를 해놓고 수정이 필요했다거나, 그런 부분이 존재한다면 그 부분을 수정한다. 수정한 코드가 하나면 'git add {수정하고싶은 파일}' 을 하면 되긴 하는데 그냥 아래 코드로 진행해도 된다. git add . git commit --amend git push -f origin {pull request 보낸 branch-name} 설명하자면 add, commit, push의 경우 원래 push할 때 진행하던 과정인데, git commit --amend의 경우 제일 최근에 커밋했던 내용을 수정하는 방법이다. 새로 커밋을 하는게 아니라 원래 있던 커밋 내용에 add 했던 파일들을 넣어서 pull requset를 진행하는 방법인 것 그리고 병합 요청한 branch를 push하면 ..
1편에 이어서 생성, 완료, 삭제를 구현해보자. 1편 링크: https://takethat.tistory.com/80 1. 생성 📄 TodoController.java PostMapping("/todo/create") public String create( @RequestParam("todo-desc") String content) { // 새로운 TODO를 생성하는 컨트롤러 메소드 todoService.createToDo(content); return "redirect:/todo"; } 우선 MVC 패턴을 이해할 필요가 있는데, Controller에서는 기능을 구현하지 않는다. 대신 요청한 웹사이트를 서비스하기 위해서 모델을 호출하는데, 그래서 보통 서비스라고 명칭을 짓고 있는 것 POST 형식으로 /..
Spring을 공부하고 있는 사람들은 TODO LIST를 만드는 것으로 구조나 코드 등을 연습하고 있다. 수 많은 사람들이 자료를 공유하고 있으며, 나도 그런 TODO 리스트를 만들어 본 게 한 10번 이상? 정도는 있는 것 같다. 하지만, 아에 Spring 자체를 이해하지 못할 때, 따라하는 식으로 제작한 TODO LIST가 도움이 되었을까 묻는다면 나는 아닌 것 같아서 한번 도움없이 만들어보기로 했다. 사실 만든지는 좀 됐고, 포스팅 시간에 공부하는 시간을 전부 쏟다보니... 너무 안올려서 한번 정리해서 올려보려고 한다. 1. Spring 프로젝트 생성 우선 IDE나 start.spring.io 등을 이용해서 Spring 프로젝트를 생성한다. 진짜 별거 안썼기 때문에 Spring Web, Thymel..
Git에 Push할 때 올라가면 안되는 파일이 있으면 .gitignore 파일을 이용해서 올리지 않게 설정할 수 있다. 기본적으로 프로젝트를 생성할 때 생성해주는 파일이며, 아래 웹에서도 Push하고 싶지 않은 파일들을 설정해서 생성할 수 있다. gitignore.io Create useful .gitignore files for your project www.toptal.com 근데 사용법이나 이런 게 문제가 아니라, 초기에 Push를 한 파일 중 .gitignore를 적용시키고 싶으면 어떻게 할까? 지금부터 설명하는 방법은 터미널에서 사용할 수 있는 방법이다.(사실 가끔 사용하는 데 자주 까먹어서 ㅎ 정리) git rm -r --cached . git add . git commit -m "Apply ..