본문 바로가기

CS/Other9

[깃허브] Git Clone 한 레포를 내 Github 에 올리기 (master main 병합) 어떤 상황인가? - 다른 원작자가 만든 Repository 에 원하는 Branch 를 Clone 하여, 내 Github 으로 올리기. - Github 에 연동하지 않은 내 프로젝트 폴더 Github 에 올리기 - remote master 와 remote main 이 두 개나 있는데, 하나로 합치려면? 위와 같은 상황일 경우, 아래 설명한대로 command line tool 명령어를 작성하면 분명 될 것이다.  Git Clone 한 Repository 내 Github 에 올리는 방법 1) 우선 Github 사이트 특정 레포로 들어가 초록색 Code 를 클릭해보면, 해당 레포 주소로 Clone 할 수 있게 주소 url 을 알려준다. 해당 url 을 복사해두자. 2) 내가 원하는 위치 로컬 디렉토리에서 터미.. 2024. 4. 11.
[git] - fatal: Unable to create 'C:/file_path/.git/index.lock': File exists. git add 도중에 기억이 잘 나지 않지만, 평소와 다른 상황을 겪었고, git add 를 하려는데 위와 같은 에러가 발생했다. 위 에러 해결방법 $ rm -rf ./.git/index.lock 터미널에 위와 같이 코드를 작성하면, lock 걸린 게 풀려서 다시 git add 를 할 수 있을 것이다. 위 에러는 특정 Git 프로세스가 동작중일 때 다른 Git 프로세스가 실행되는 것을 막기 위해서 index.lock 이라는 파일이 생기는데 의도된 프로세스가 아니라면 지워주면 된다. 2023. 1. 12.
[git] - remote origin already exists 위와 같은 에러 발생 시? 위 같은 명령어를 쳐서 다른 repo 랑 연결되어 있는지 확인을 한다. 레포가 다를 경우, 연결된 레포를 삭제하고 다시 연결한다. 해결방법 0. Github에서 repo 를 생성했을 것이다. 1. 아래와 같이 명령어 작성하면, 레포 연결을 끊는다. 2. 새롭게 연결할 깃 레포 주소를 가지고 연결한다. 3. 설정된 원격 저장소로 push를 한다. 4. 디렉토리 상의 변경 내용을 스테이징 영역에 추가 5. 깃 커밋하기 6. 깃 푸시하기 2022. 7. 4.
[git] - Git push 오류 해결방법(Updates were rejected because the tip of your current branch is behind) 단 주의해야합니다. push 를 할 때, 이러한 에러를 만나 볼 수 있습니다. push가 안되고 저런 에러가 나오는 이유는, 데이터 유실 등 문제가 있을 수 있는 부분이 존재하여, git에서 push 처리 되지 않도록 error 를 띄우는 것입니다. 근본적인 이유, 때에마다 다르니 확인하고 해결하면 좋을 거 같습니다. 임시방편으로 해결책 방법 두 가지를 소개해드리겠습니다. 첫 번째로는 git push origin +master master 앞에 '+' 를 붙이게 되면, 강제 명령으로 강제적으로 push를 하게 됩니다. 데이터 유실 등 위험을 감수하고 push를 할 시에, 이 방법을 사용하면 됩니다. 두 번째로는 똑같이 강제로 push하는 방법입니다. git push origin master -f 위와 같은 방법은 강제로 p.. 2022. 6. 10.
TDD란? 테스트 주도 개발(Test Driven Development) 에 대한 프로그래머들의 의견은 늘 엇갈렸습니다. TDD의 실효성을 업무로 경험한 사람들은 TDD를 더 효과적으로 실무에 적용하기 위해 고민을 합니다. 반면, 회사마다 일하는 방식이나 처한 업무 환경이 다르고 편차가 있다보니, 일각에서는 실무에서 TDD를 사용하는 건 사실상 현실과 괴리감이 크다는 의견도 있습니다. 지금부터 TDD가 무엇인지 알아봅시다. TDD 실제 동작하는 코드를 작성하기 전에, 테스트를 먼저 작성함으로 개발의 흐름을 테스트로 끌고 가는 개발 방법입니다. 개발자는 먼저 자신이 구현할 기능에 대해서 테스트를 작성하고, 테스트를 통과하는 코드를 작성함으로 수행 결과가 보증된 소프트웨어를 개발해 갑니다. 반복 테스트를 이용한 소프트.. 2022. 4. 30.
Git과 Github에 대해서... [ Git ] 로컬에서 관리되는 버전 관리 시스템 (VCS : Version Control System) 소스코드 수정에 따른 버전을 관리해주는 시스템 [ Github ] 클라우드 방식으로 관리되는 버전 관리 시스템 자체 구축이 아닌 빌려 쓰는 클라우드 개념 오픈소스는 일정 부분 무료로 저장 가능, 아닐 경우 유료 사용 분산 버전 제어, 엑세스 제어, 소스코드 관리, 버그 추적, 기능 요청 및 작업관리 제공하는 플랫폼 깃을 사용하는 프로젝트를 지원하는 웹호스팅 서비스 위에 정리한 걸 풀어 설명하자면, 깃은 로컬에서 버전 관리 시스템을 운영하는 방식이고, 깃허브는 저장소를 깃허브에서 제공해주는 클라우드 서버를 이용한다는 차이입니다. 따라서, 다른 사람들과 협업을 하게 될 경우, 또는 오픈 소스를 공유하고 .. 2022. 4. 3.
산술 오버플로 산술 오버플로 란? 컴퓨터는 수학자들이 만든 기계들이며 수학에 따라 움직입니다만, 현실 세계에 존재하는 물건인지라 엄연한 제한이 있습니다. 그 중 가장 대표적인 제한이 바로 유한성입니다. 수학에는 어떤 변수 n이 있다고 하면 이 변수에 담을 수 있는 숫자에는 제한이 없습니다. 그러나 컴퓨터의 모든 변수에는 담을 수 있는 크기가 제한되어 있습니다. 따라서, 수학적/논리적으로는 완전히 정당한 알고리즘도 프로그램으로 구현했을 때, 예상과 다르게 동작하는 경우를 흔하게 볼수 있습니다. 이 문제를 일으키는 흔한 원인이 바로 산술 오버플로 (Arithmetic overflow) 입니다. 어떤 식의 계산 값이 반환되는 자료형의 표현 가능한 범위를 벗어나는 경우를 말합니다. 현대 많은 언어들에서는 메모리가 허락하는 한.. 2022. 3. 20.
공간복잡도(Space Complexity) 란? 공간복잡도란? 프로그램 성능을 분석하는 방법 중 하나로, 프로그램이 얼마나 많은 메모리(공간)를 차지하는 가를 분석하는 방법이다. 최근에는 공간 복잡도의 중요성이 예전보다는 낮아졌다고한다. 그 이유는 반도체 기술향상이다. 메모리의 공간이 충분하기 때문에 그렇다. 공간복잡도는 총 공간요구 = 고정공간 요구 + 가변공간 요구 로 나타낼 수 있다. 수식은 S(P) = c + Sp(n)으로 표기한다. * 고정 공간(알고리즘과 무관한 공간) : 코드 저장 공간, 단순 변수 및 상수 (문제의 인스턴스에 무관, 일정한 양의 메모리공간) * 가변 공간(알고리즘 실행과 관련있는 공간) : 실행 중 동적으로 필요한 공간 (문제의 인스턴스에 따라 가변적인 메모리 공간) 공간복잡도를 줄이는 방법은? 고정공간 보다는 가변공간을.. 2022. 3. 11.