Programming

    [git] 프로젝트 초기 업로드 및 관리

    새로운 프로젝트를 깃에 업로드 하려고 하는데, 소스트리가 자꾸 종료된다.... 비어 있는 프로젝트를 다운받으려고 해서 그런 것 같은데..... 일단 이 문제는 나중에 다시 보기로 하고... 그럼 프로젝트를 먼저 올리자. 비어 있는 프로젝트를 생성해 놓긴 했으니... 업로드 하고 싶은 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하면 > Git GUI Here / Git Bash Here 메뉴가 나타난다. 물론 윈도우에서 git을 설치하고 경로가 제대로 설정되었을 때 나타나겠지. Git Bash Here를 선택해서 콘솔 창을 띄운다. git init --initial-branch=main git remote add origin http://000.000.000.000/dev/project.git git ad..

    [git] push 나눠서 하기

    git 서버에 문제가 생겨서, 다른 곳에 서버를 새로 만들었을 경우. 로컬의 git 프로젝트를 업로드해야 한다. git push --all 터미널에서 위와 같이 모든 브랜치를 푸시하도록 하면 될텐데... github나 azure 같은 경우에 한번에 올릴 수 있는 용량에 제한이 있는 경우가 있다. 이 경우 unity 프로젝트 같이 큰 프로젝트는 한꺼번에 올릴 수가 없는데... git push origin [commit no]:refs/heads/[branch] 위와 같이 특정 브랜치까지 푸시할 수 있는데, 이렇게 단계적으로 모든 브랜치를 다 올릴 수 있다.

    [git] http.postBuffer 관련 오류

    요즘 git 서버 관련하여 문제를 많이 겪다보니,,, 관련되어 정리할 내용이 계속 생긴다. RPC 오류가 발생할 경우, http.postBuffer 용량을 늘려서 해결하곤 했는데... error: RPC failed; result=22, HTTP code = 404 error: RPC failed; result=22, HTTP code = 411 Unable to rewind rpc post data - try increasing http.postBuffer error: RPC failed; result=56, HTTP code = 0 대표적으로 위와 같은 오류 들이다. http.postBuffer 크기를 크게 설정하여 문제가 해결되기도 하지만, 어떤 경우는 해결이 안되기도 한다. 또한 큰 푸시에 대한 ..

    [WSL2] 디스크 용량 늘리기

    WSL2 기반으로 Docker를 사용하고 있는데.... 어느 순간 쓰기 에러가 발생하고 있다. WLS2는 VHD를 사용하여 리눅스 환경을 구성하는데, 초기 최대 크기가 256GB이다. 확인해보니 이미 240GB를 차지하고 있었다. 이 오류는 VHD 크기를 확장하면 해결된다. 1. WSL 인스턴스 종료 wsl --shutdown 파워쉘을 열어서 위의 명령어를 사용하여 WSL 인스턴스를 종료한다. 2. VHD 위치 찾기 WSL2 기반의 도커를 사용할 경우, 도커 볼륨을 확인하면 VHD 위치를 확인할 수 있다. VHD 위치를 알고 있다면 이 단계를 넘어가도 된다. WSL2 가 설치된 VHD를 찾을 경우, 일단 배포 설치 패키지 이름을 찾는다. Get-AppxPackage -Name "*Ubuntu*" | Se..

    [git] 오류 관련 처리 2

    remote: aborting due to possible repository corruption on the remote side. 라는 에러가 발생하면서 pull이 안되는 상황이 발생하였다. stackoverflow 검색의 대부분은 아래와 같이 설정하면 해결이 된다는 것이었는데. git config --global pack.window "0" git config --global pack.windowMemory "100m" git config --global pack.packSizeLimit "100m" git config --global pack.threads "1" 음. 문제가 해결이 외지 않는다. sourcetree 관련 사이트에서는 아래와 같은 명령어를 사용하여 문제가 해결되었다고 한다. git..

    [python] 엑셀 파일을 JSON으로 변환하기

    엑셀 파일 내용을 데이터로 사용하기 위해 JSON으로 변환하여 사용 중인데... 귀찮아서 변환 프로그램을 만들었다. 처음엔 xrld를 사용하여 로딩하였는데... xlsx를 지원하지 않는단다. OpenPyXL이라는 라이브러리가 xlsx를 지원하는데, pandas에서 openpyxl을 사용하여 로딩이 된다고 하여 pandas를 베이스로 적용해 보았다. from collections import OrderedDict import json import re import pandas as pd excel_path = r'대충 예제 바일 경로.xlsx' #excel_path = sys.argv[1]; sheet_no = 0 all_data = [] df = pd.read_excel(excel_path, engine..

    [git] Filename too long 에러 관련

    소스트리 프로젝트를 사용하다 보면, 꼬이고 시간 걸리고 하는 일이 많이 생긴다. 그러다 강제 종료라도 시키면 다시 열리기를 하루 왠종일 기다리기도 한다. 그러다 발생한 문제 중에 "Filename too long" 에러가 뜨면서 변경 사항 폐기가 안되는 상황이 발생한다. git config core.longpaths true 그럴 때, 깃 터미널을 열어서 위와 같이 설정을 하면 되는 것 같다.

    [git] 저장소 이동하기

    서버를 변경하거나, 서버가 터졌을 때 저장소 이동이 필요해진다. 이를 위한 과정이다. 1. 기존 저장소 복사 우선 필요한 것은 기존 저장소 복사. 저장소의 내용을 다운로드 받는다. 깃을 이용하는 것이 좋은데, 나는 소스트리를 사용하고 있으니 소스트리의 깃 터미널을 사용한다. 소스트리의 아무 프로젝트에서 깃 터미널을 실행한다. cd 명령어를 사용하여 원하는 로컬 경로로 이동 git clone 명령어를 사용하여 다운로드 받는다. --mirror 옵션은 기존의 tracking branches, notes, tags 등 모든 것을 그대로 복제하라는 명령이다. git clone --mirror http://XXXXXXXXXXX/project.git 다운로드가 완료되면 생성된 폴더로 이동한다. cd project...

    [git] 오류 관련 처리

    소스트리를 사용하면 git 명령어를 잘 몰라도 git을 잘 활용할 수 있는거 같다. 그러나 가끔 용량이 큰 파일이 포함되어 있거나, 전체 용량이 큰 프로젝트에서 에러가 발생한다. 이럴때 아래 명령어로 대부분 에러가 해결된다. 1. 메모리 부족 git push fatal: Out of memory, malloc failed git config --global http.postBuffer 2097152000 2. 메모리 부족 + nmap failed warning: suboptimal pack - out of memory fatal: mmap failed: Invalid argument git config --global pack.windowMemory 500m 3. nmap failed fatal: mma..

    [vcpkg] 필요한 라이브러리를 자동으로 설치해 보자.

    1. vcpkg 개요 vcpkg 공식 홈페이지에는 다음과 같이 설명되어 있다. vcpkg는 C 및 C++ 라이브러리용 플랫폼 간 명령줄 패키지 관리자입니다. vcpkg는 Windows, Linux 및 macOS에서 타사 라이브러리 다운로드 및 설치를 간소화합니다. 프로젝트에서 타사 라이브러리를 사용하는 경우 vcpkg를 사용하여 설치하는 것이 좋습니다. vcpkg는 오픈 소스와 독점 라이브러리를 모두 지원합니다. vcpkg Windows 카탈로그의 모든 라이브러리가 isual Studio 2015, Visual Studio 2017 및 Visual Studio 2019와의 호환성 테스트를 거쳤습니다. vcpkg는 이제 Windows 카탈로그와 Linux/macOS 카탈로그 간에 수천 개의 라이브러리를 지..