[DEV] 기록 165

[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

[PostgreSQL] 월별로 DB 파티셔닝 예제

개요 제가 담당하고 있는 파트에서 매일 몇 만 건씩 데이터가 쌓이는 DB가 있었습니다. DB에 너무 많은 데이터들이 쌓일 경우 조회 성능이 떨어질 수 있으므로 월별 DB 파티셔닝을 진행했고 진행할 때 관련 내용이 별로 없어 삽질을 많이 했었습니다. 따라서 저는 여러분들이 저같이 삽질을 하는 일이 없도록 이번 게시글에서 DB 파티셔닝 샘플 예제를 공유해보겠습니다. * DB 파티셔닝을 진행하더라도 기존에 작성한 CRUD 쿼리를 수정할 필요가 없습니다! 전체척인 프로세스 이미 존재하는 DB를 파티셔닝 하기 위해서는 아래의 프로세스를 거쳐야 합니다. 기존 DB명 변경 기존 DB 내 primary key, foreign key와 같은 제약조건 해제 기존 DB와 동일한 조건의 새로운 DB를 기존 DB명과 동일하게 ..

[DEV] 기록 2021.09.10

[WEB] LocalStorage, SessionStorage

개요 현재 이력을 테이블 형태로 제공하고 있는데 칼럼을 추가하되 디폴트로는 숨김 처리하고 원할 때만 노출시키는 기능을 구현해달라는 요청사항이 들어왔습니다. 그래서 저는 model로 뿌려줄 때 숨김 칼럼 내용까지 다 뿌려주고 아래 그림처럼 팝업을 만들어 클라이언트가 노출시킬 칼럼과 숨김 처리할 칼럼을 지정하도록 설계를 했습니다. 클라이언트마다 노출시키고 싶은 칼럼이 다를 것이므로 처음에는 쿠키를 사용하여 각 클라이언트마다 노출시키고 싶은 칼럼들, 숨기고 싶은 칼럼들을 JsonArray 형태로 저장하려고 했습니다. 하지만, 생각해보니 굳이 이 내용을 HTTP Header에 넣어 서버까지 보낼 필요가 없을 것 같아 브라우저 내에서만 저장하는 값을 찾는 도중 LocalStorage와 SessionStorage에..

[DEV] 기록 2021.08.19

[Git] git repository들을 하나의 repository로 합치는 방법

개요 최근 공부 차원에서 생성한 프로젝트들이 많아 github 내 레포지토리들이 너무 많아지는 문제점이 생겼습니다. 그래서 정리를 하고자 비슷한 성격을 띠는 프로젝트들을 합쳐 하나의 레포지토리로 만들어봤습니다. 합치는 방법 1. 여러 프로젝트들을 subtree로 가질 새 레포지토리를 생성해줍니다. 2. 빈 프로젝트인 상태에서 subtree를 할 경우 에러가 발생할 수 있으므로 README.md 파일 정도는 생성해줍니다. 3. 이제 기존 프로젝트를 아래의 subtree 명령어를 통해 해당 레포지토리의 하위 폴더로 옮겨줍니다. git subtree add --prefix=[하위로 둘 폴더명] [기존 프로젝트 git 주소] [현재 레포지토리의 git branch] 4. 합칠 레포지토리들에 대해 3번의 과정을 ..

[DEV] 기록 2021.08.18

[H2] Database not found, either pre-create it or allow remote database creation

개요 JPA 실습을 하려고 하는데 H2 버전이 꼬이면서 아래와 같은 오류 메시지가 떴습니다. Database not found, either pre-create it or allow remote database creation (not recommended in secure environments) * 정상적인 경우라면 DB가 생성되지 않았더라도 Generic H2 (Embedded) 설정에서 연결 버튼을 누르면 JDBC URL 경로 내 새 DB가 생성되어야 합니다. * Generic H2 (Server) 설정에서 없는 DB를 연결하려고 하면 위와 같은 오류가 나는 것이 당연합니다! 해결 방법 아래와 같은 절차를 거치면 해결이 됩니다. 데이터베이스 파일이 망가진 것이므로 JDBC URL 파일 경로로 가서..

[DEV] 기록 2021.08.16

[SpringBoot] 대용량 엑셀 다운로드를 위한 SXSSFWorkbook

개요 기존에 Excel 생성 및 다운로드 기능을 구현하는 코드를 공유했었습니다. https://jaimemin.tistory.com/1768 [SpringBoot] Excel 생성 및 다운로드 개요 ElasticSearch로 조회한 목록들을 엑셀로 다운로드할 수 있는 기능을 추가해달라는 요청이 들어와 구현을 해봤습니다. 구현 코드 ExcelController.java ExampleService.java ExcelView.java * 주석으로도 작.. jaimemin.tistory.com https://jaimemin.tistory.com/2069 [SpringBoot] 대용량 엑셀 파일 생성 및 다운로드 삽질기 개요 작년에 이어 올해도 엑셀 파일 생성 및 다운로드 기능을 담당하게 되었습니다. https:..

[DEV] 기록 2021.08.05