[DEV] 기록 170

[SpringBoot] 순환참조 허용 설정 방법

개요 내부 메서드 호출에 대해서도 프록시 적용을 위해 setter를 통한 자기 자신 주입을 적용하려는데 아래와 같은 에러 메시지가 발생했습니다. Requested bean is currently in creation: Is there an unresolvable circular reference? 원인 스프링 부트 2.6.X부터는 기본적으로 순환 참조를 금지하도록 변경되었습니다. * 참고: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.6-Release-Notes GitHub - spring-projects/spring-boot: Spring Boot Spring Boot. Contribute to spring-projects/spr..

[DEV] 기록 2022.01.04

[Git] error: cannot lock ref ref/remotes/origin ~'

개요 신규 리모트 브랜치를 생성하고 git push -u [리모트 브랜치] 명령어를 실행하는 도중 아래와 같이 에러 메시지가 발생했습니다. error: cannot lock ref 'refs/remotes/origin/test/push': 'refs/remotes/origin/test' exists: cannot create 'refs/remotes/origin/test/push' 원인 해당 에러가 발생하는 원인은 원격 저장소에 이미 'test'라는 브랜치가 존재하는데 'test/push'라는 브랜치를 새로 생성하려고 하니 충돌이 발생하는 문제였습니다. 해결 방법 해결 방법은 두 가지가 있습니다. 1. 'test' 브랜치가 존재하므로 'test/push' 브랜치명을 겹치지 않게 변경한 뒤 push 2. ..

[DEV] 기록 2021.12.21

[Gradle] Error:Failed to open zip file. Gradle's dependency cache may be corrupt

개요 gradle sync를 진행하는 과정에 아래와 같은 에러가 발생했습니다. Error:Failed to open zip file. Gradle's dependency cache may be corrupt 해결 방법 stackoverflow에서는 윈도우 기준 아래의 디렉토리를 삭제한 뒤 Intellij를 재기동하면 해결된다고 합니다. C:\Users\\.gradle\wrapper\dists 하지만 저 같은 경우 위와 같은 방법으로 해결되지 않았고 아래의 사이트에서 정상적으로 다운되지 않는 gradle zip 파일을 다운로드한 뒤 위 경로에 해당 파일을 복사 붙여 넣기 한 뒤 Intellij를 재기동하는 방식으로 해결했습니다. https://services.gradle.org/distributions/ ..

[DEV] 기록 2021.12.02

[Git] Pull 받을 때 Conflict 나는 경우 해결방법

개요 현재 사무실에서는 맥북으로 재택 근무일 때는 Dell XPS로 개발을 진행하고 있는데 이 때문에 매일 소스 형상을 동기화시켜주고 있습니다. 간혹 가다가 conflict가 나서 pull을 받을 수 없다는 에러가 발생하는데 이를 해결하는 방법을 찾아 간단히 정리해보겠습니다. 해결 방법 1. git fetch --all 2. git reset --hard origin/ 3. git pull origin 수정한 파일들과 원격 저장소에 올라가 있는 코드들 간에 충돌이 발생할 경우 fetch 명령어를 통해 파일들을 원격 저장소에서 이전 fetch들을 받은 후 로컬에서 다시 reset hard 명령어를 통해 충돌하기 전 상태로 돌립니다. (1번과 2번) 충돌 전 상태로 돌아갔으므로 이제 pull을 받으면 정상적..

[DEV] 기록 2021.12.02

[Git] git auto-crlf 설정 끄는 방법

개요 현재 사내 gitlab에서 개발을 진행 중인데 사내 gitlab 설정은 auto-crlf 설정이 꺼져있지만 local pc에서는 auto-crlf 설정이 켜져 있어 해쉬값이 맞지 않아 push가 되지 않은 현상이 발생했습니다. 이에 따라 저는 아래의 방법으로 auto-crlf 설정을 끄고 소스를 올리는 것에 성공했습니다. 원인 줄바꿈 개행 문자 방식의 차이에 따른 파일 hash 값 차이 때문에 위와 같은 문제가 발생했다고 추정하고 있습니다. 해결방법 1. git 설치경로 내 설정 파일을 열어 autocrlf = false로 변경 -> C://Program Files/Git/etc/gitconfig 관리자 권한으로 메모장 실행하여 autocrlf = false로 변경 -> 시스템 변수이기 때문에 반드..

[DEV] 기록 2021.11.19

[Git] 기존 레포지토리를 신규 레포지토리로 옮기는 방법

개요 gitlab 버전업을 하면서 기존 repository를 신규 repository로 옮겨야 했습니다. 이때, 단순 소스 백업뿐만 아니라 커밋 내역까지 보존하는 방법을 찾아봤고 아래와 같은 방법으로 해결할 수 있었습니다. 해결방법 1. 신규 레포지토리에도 필요한 브랜치들을 기존 레포지토리에서 모두 pull 받습니다. 2. 터미널에서 기존 레포지토리로 이동 -> cd 3. 기존 git remote url 중 기존 레포지토리와 연결되어 있는 remote명 변경 (보통 origin을 기준으로 push 하므로 old-origin과 같이 변경) -> git remote rename origin old-origin 4. 신규 레포지토리 주소로 git remote url 추가 -> git remote add ori..

[DEV] 기록 2021.11.12

[Git] 로컬 브랜치를 remote 마스터 브랜치로 push하는 방법

개요 gitlab 버전업을 하면서 기존 repository를 신규 repository로 옮겨야 했습니다. 이때, 상용 브랜치를 master 브랜치로 push 해야 하는 상황이 발생했고 아래와 같은 명령어로 해결했습니다. 해결 방법 git checkout git push origin :master 로컬 브랜치를 다른 브랜치로 push 하기 위해서는 아래와 같은 명령어를 사용하면 됩니다. git checkout git push : 출처 https://stackoverflow.com/questions/5423517/how-do-i-push-a-local-git-branch-to-master-branch-in-the-remote How do I push a local Git branch to master bra..

[DEV] 기록 2021.11.12

[SpringBoot] Execute failed: Invalid row number (1048576) outside allowable range (0..1048575)

개요 기존에 대용량 엑셀 다운로드를 위한 SXSSFWorkbook에 대해 공유한 적이 있습니다. https://jaimemin.tistory.com/1889 [SpringBoot] 대용량 엑셀 다운로드를 위한 SXSSFWorkbook 개요 기존에 Excel 생성 및 다운로드 기능을 구현하는 코드를 공유했었습니다. https://jaimemin.tistory.com/1768 [SpringBoot] Excel 생성 및 다운로드 개요 ElasticSearch로 조회한 목록들을 엑셀로 다운로드할.. jaimemin.tistory.com 엑셀 칼럼을 추가해달라는 운영팀 요청에 추가한 뒤 테스트하는 과정에서 아래와 같은 에러 메시지가 발생했습니다. Execute failed: Invalid row number (1..

[DEV] 기록 2021.10.14

[Errno 14] curl#35 - "Peer reports incompatible or unsupported protocol version."

개요 mongodb를 실습하기 위해 CentOS 7.0 서버에 mongodb를 설치하려는데 아래와 같은 에러가 발생했습니다. 원인 yum을 업데이트하기 전에 mongodb 레포를 생성해서 mongodb 레포의 내용과 conflict가 발생하면서 에러가 발생한 것이었습니다. 해결방법 우선, 생성한 레포를 삭제하고 yum을 초기화해야 합니다. sudo rm rf /etc/yum.repos.d/mongodb-org-5.0.repo yum clean all 이후에 아래와 같은 명령어를 통해 libcurl을 설치 및 업데이트를 해준 뒤 mongodb 레포지토리를 만들어주면 성공적으로 설치가 가능합니다. yum update -y nss curl libcurl 몽고 db 레포지토리 생성 vi /etc/yum.repo..

[DEV] 기록 2021.09.29

[PostgreSQL] 테이블, 뷰에 대한 사용자 권한 조회 및 권한 부여

개요 최근에 타 기관에서 필요한 로그를 조회할 수 있도록 전용 아이디를 생성하고 해당 아이디에 특정 뷰만 조회할 수 있도록 권한을 부여했습니다. 실무 프로젝트를 개발하다 보면 이런 과정을 자주 겪을 것 같아 테이블에 대한 사용자 권한 조회 및 권한 부여하는 PostgreSQL 쿼리를 기록하겠습니다. 테이블, 뷰에 대한 사용자 권한 조회 SELECT grantee, privilege_type FROM information_schema.role_table_grants WHERE table_name='[테이블명]' 테이블, 뷰에 대해 사용자 권한 부여 GRANT [SELECT, INSERT, UPDATE, ...] ON [테이블명] TO [유저명] 출처 https://dba.stackexchange.com/q..

[DEV] 기록 2021.09.17