[Git] Git Branch의 개념 (fast-forward와 3-way merge)
·
Git & GitHub/Git
1. 브랜치란? Branch는 가지라는 의미인데, 말 그래도 하나의 프로젝트를 여러 갈래로 나눠 관리할 수 있게 해주는 기능이다. 독립된 브랜치에서 자유롭게 개발하고 새로운 버전을 만들어내기도 한다. 소프트웨어를 개발할 때 개발자들은 깃과 같은 분산 버전 관리 시스템을 통해 협업 업무를 하게 된다. 만약 한 줄기로만 작업할 수 있다면 로그가 뒤죽박죽될 수 있기 때문에 버전 관리도 까다롭고, 수정도 굉장히 신중히 해야할 것이다. 하지만 브랜치를 사용하면 분기점으로 버전을 나누어 프로젝트를 개발하고 실험해볼 수 있다. 만약 브랜치에서 작업한 프로젝트가 마음에 들면 merge를 통해 본래 버전에 다시 합칠 수도 있다. 2. 브랜치의 합병 브랜치는 인덱스 영역에서 헤더 영역으로 저장할 때, 즉 commit할 때..
[Javascript] 자바스크립트 DOM(Document Object Model)
·
Javascript/기초
1. DOM이란? 문서 객체 모델(DOM, Document Object Model)은 XML이나 HTML 문서에 접근하기 위한 API이다. HTML내에 들어 있는 요소를 구조적으로 표현하는 양식이자, 그 구조를 통해 각각의 요소에 손 쉽게 접근한다. 웹 브라우저는 HTML를 읽을 때, 위의 그림처럼 Document 객체를 뿌리로 하는 tree 자료구조를 구성한다. 근 노드(root node)인 html을 시작으로 단말 노드(leaf node)까지 뻗어나간다. 위쪽을 부모 노드(parent node) 아래쪽을 자식 노드(chile node)라고 부르며, 어떤 노드든지 부모가 되거나 자식이 될 수 있다. 자식이 없는 node를 단말 노드(leaf node)라고 부른다. 대체로 DOM이라고 하면 HTML DO..
[오류해결] fatal: The current branch master has no upstream branch.To push the current branch and set the remote as upstream
·
Git & GitHub/오류해결
git push 명령어를 사용했을 때 아래와 같은 에러가 발생하면 어떻게 해야할까? $ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master 브랜치를 master로 언급하여 푸시해도 에러가 발생했다. $ git push origin master bash: $'\302\226git': command not found 이 에러의 원인은 원격저장소에 대한 브랜치 설정이 안되어있기 때문에 그런 것이다. 깃에서 제시해준 해결방법을 그대로 사용하면 대체로 해결이 된다. $ ..
[Spring Boot][오류해결] Parameter 0 of constructor in ~~ required a bean of type ~~ that could not be found.
·
JAVA/오류해결
에러상황 *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in com.bigbell.accountbook.rest.AccountRestController required a bean of type 'com.bigbell.accountbook.service.TodayAccountService' that could not be found. Action: Consider defining a bean of type 'com.bigbell.accountbook.service.TodayAccountService' in your configura..
[백준][파이썬] 18870번 좌표압축
·
Python/알고리즘 문제풀이
백준 온라인저지 18870번 좌표압축 문제풀러 바로가기👇👇👇👇👇👇 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 문제풀이 시간 복잡도가 굉장히 중요한 문제이다. 근본적인 알고리즘은 쉬운 편이다. 중복되지 않은 배열을 정렬해 그 인덱스를 가져오면 된다. 만약 여기서 리스트에서 인덱스를 가져오는 index()메소드를 사용하면 시간복잡도가 O(N)이다. 그런데 문제에서 N의 범위는 무려 1 ≤ N ..
[Git] Git reset 명령어 (feat. git reflog로 복구하기)
·
Git & GitHub/Git
reset의 종류는 3가지이다. soft mixed hard 어떤 영역까지 삭제해야 하는지를 기준으로 나뉘고 아래로 갈 수록 더 많은 영역을 삭제한다. 차례대로 알아가보도록 하자. 1. soft reset soft reset는 헤더영역만 삭제(커밋된 내용만 삭제)하는 것으로 주로 커밋로그를 변경할 때 사용된다. 실습을 통해 배워보자. 실습 전제: test1.txt 파일이 first commit으로 들어왔고, test2.txt파일이 second commit으로 들어온 상태이다. 깃 로그를 확인해보자. 그리고 git reset 명령어를 사용해보자. commit 옆에 해쉬코드가 길게 늘어서 있다. 해쉬코드 4~5글자 정도를 복사해서 명령에 맨 뒤에 넣어주면 된다. $ git reset --soft 92ba7 ..