본문 바로가기

전체 글73

기본 클래스 org.gradle.wrapper.GradleWrapperMain을(를) 찾거나 로드할 수 없습니다. 오류: 기본 클래스 org.gradle.wrapper.GradleWrapperMain을(를) 찾거나 로드할 수 없습니다. 우선 문제는 gradle-wrapper에 gradle-wrapper.jar가 없어서 발생하는 에러다. 처음에 blog라는 프로젝트를 만들고 git에 올렸다. 문제는 내가 원치 않는 파일들도 같이 올라가서 구글에 springboot gitignore를 검색해서 먼저 올리고 다시 프로젝트를 올렸다. 그런데 그 gitignore에 jar파일도 제외한다고 적용이 돼있어서 필요한 jar하나가 올라가지 않았다. 명령어로 gradle wrapper를 사용하라는데 문제는 gradle이 없어서 또 에러가 난다. 여기서 재밌는건 gradlew wrapper를 사용해도 gradle이 없어서 에러가 난다... 2021. 11. 4.
Mac Termius 애플의 App store에서 무료로 다운받을 수 있는 제품이다. 윈도우를 사용할때는 mobaxterm 이라는 제품을 사용했는데 맥 전용을 검색하니까 Termius가 나왔다. 사용 목적은 ssh 접속을 저장하고 불러오기 위한 용도로 사용한다. mobaxterm과 달리 sftp를 사용하려면 과금을 해야하는 것으로 보인다. 연결된 얘들, 끊기면 빨간색, 연결되면 초록색으로 나타나고 히스토리가 존재한다. 연결정보를 볼 수 있다. Port Forwarding을 지원한다는데 아직 사용해본적은 없다. ssh를 사용할때 처음에는 putty를 썼고 두번째는 vscode를 사용했었다. 그러다가 mobaterm를 사용해봤는데 너무 편리하고 좋아서 맥으로 바꿧어도 기존 방식으로 돌아가지 않고 ssh 접속 애플리케이션을 따로 .. 2021. 10. 29.
PlantUML 사용비교 Intellij vs vscode 환경 : 맥북에어 2020 13인치 m1 둘 다 사용하기 위한 사전 준비는 매우 간단하다. 플러그인에서 설치하면 하면 된다. 인텔리제이 같은 경우는 플러그인 설치 후 restart를 하면 New에 다음과 같이 PlantUML File 항목이 추가된다. (주의점은 파일을 생성하는 위치마다 다른것같음, 자바 패키지의 경우 src 바로밑은 해당 목록이 나타나지 않았음) vscode 경우는 아무파일이나 만들어서 알트 + d 나 맥은 option + d를 누르면 미리보기가 나온다. 그 이후는 프리뷰 창만 떠있다면 실시간 새로고침이 가능하다. intellij는 생성한 시점부터 계속해서 프리뷰가 제공된다. 특별한 동작을 할 필요가 없다. 또한 개발은 intellij로 하기때문에 패키지에 넣어서 보기도 편하다. 내가 .. 2021. 10. 29.
Querydsl OneToMany 조건 검색, ListPath 내가 원했던 것은 다음과 같다. 1:n 매핑관계를 나타내는 Entity이다. 예시라서 디테일한건 없음. @Data @Entity public class User { private Long id; private String name; private List profiles; } @Data @Entity public class Profile { private Long id; private User user; private Type type; // PUBLIC, PRIVATE, private String nickName; } DB 테스트 데이터 // user { id : 1, name : "user1" } // 조회할 데이터 { id : 2, name : "user2" } // profile { id : 1,.. 2021. 10. 20.
QueryDSL 서브쿼리 Sort 적용 for (Sort.Order order : pageable.getSort()) { PathBuilder path = new PathBuilder(Object.class, order.getProperty()); query.where(builder).orderBy(new OrderSpecifier(com.querydsl.core.types.Order.valueOf(order.getDirection().name()), path)); } 1. 위와 같이 작성할 경우, 프론트에서 as 로 표현하는 값을 내려주면 entity와 무관하게 정렬 가능. PathBuilder entityPath = new PathBuilder(Entity.class, "entity"); 2. 위와 같은 형태로 사용할 경우 pageable.. 2021. 10. 12.
DDD Start! 책 리뷰 이 책은 DDD에 대한 개념을 잡기 위해 도전했다. 이전에 한번 Service 중심의 코드에서 DDD를 적용하여 코드를 작성한 경험이 있다. DDD를 정확하게 알지못하고 그냥 도메인 중심이라는 생각만 갖고 코드를 작성했다. 그 코드를 작성하면서 DDD에 대한 구글링 및 유튜브를 몇 개 보았고 그 후 처음부터 나름대로 DDD라고 생각하고 개발한 코드도 있다. 하지만 DDD에서 사용하는 애그리거트와 제대로 된 개념이 필요한 것 같아서 이 책을 읽기로 했다. 책을 선택한 이유는 우선 저자가 최범균님이라서, 얇아 보여서 선택을 했다. (제일 쉬울 것 같아서) 내가 개발을 시작할 때 처음산 책이 최범균의 JSP 2.3 웹 프로그래밍이라 더 보고 싶기도 했다. (다 안 읽었음) 진짜 후기 우선 1~3장은 DDD에 .. 2021. 10. 5.