본문 바로가기

전체 글74

Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 오랜만에 github에 푸쉬하려는데 다음과 같은 에러가 발생했다. 간단하게 이제부터 github에 push할때 비밀번호가 아니라 ssh나 토큰을 이용해야 한다는것이다. 근데 문제는 나는 이미 글로벌로 패스워드까지 등록을 해서 push하자마자 저 에러가 나타났다. 만약 글로벌로 등록하지 않은사람은 패스워드에 github에서 발급한 토큰만 붙여넣기하면 된다. 토큰을 발급 받는 방법은 간단하다. github에 로그인해서 Settings -> Developer settings -> Personal access tokens -> 토큰을 새로 만들면 된다. 잘 모르겠는데 토큰은 발급받고 다시 볼 수 없으니? 저장해둬야 한다. 위에서 언급했듯이 이렇게 발급받은 토큰을 그냥 push할때 아이디를 치고 패스워드 대신 넣.. 2021. 11. 5.
기본 클래스 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.