분류 전체보기 174

[Git] git 충돌 해결하기

Git 충돌을 해결하는 데에는 기본적으로 두 가지 방법이 있습니다. Merge를 사용한 충돌 해결두 가지 브랜치의 변경 사항을 병합하여 새로운 커밋을 만듭니다. 이때 Git은 변경 사항이 충돌할 경우 해당 부분을 마크업으로 표시합니다. 사용자는 충돌을 해결하고 다시 커밋하여 병합을 완료할 수 있습니다. Merge의 장점 - 커밋 히스토리가 보존되며, 원본 브랜치의 커밋 히스토리가 변경되지 않습니다. - 상대적으로 안전하고 이해하기 쉽습니다.Merge의 단점 - 병합 커밋이 많아질 수 있습니다. - 병합 커밋을 추적하기 어려울 수 있습니다. merge로 충돌 해결 하는 예시상황 브랜치 feature/a에서 파일 test을 수정했습니다.동시에 브랜치 feature/b에서도 파일 test을 수정했습니다.이제 ..

Infra/Git 2023.10.18

[Programmers] Level1. 둘만의 암호(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 둘만의 암호라는 문제를 Java로 풀이하겠습니다. 주어진 문자열 s의 각 알파벳을 주어진 index 값만큼 뒤의 알파벳으로 변환하되 skip에 있는 알파벳은 제외하고 건너뛰어야 합니다. 다음과 같이 문제 풀이 하였습니다. import java.util.HashSet; import java.util.Set; class Solution { public String solution(String s, ..

[Git] branch를 합치는 방법

브랜치를 합치는 방법은 Git에서 두 가지 방식으로 수행할 수 있습니다. Merge(병합) 다른 브랜치의 변경 사항을 현재 브랜치에 통합하는 가장 간단하고 일반적인 방법입니다. 병합 커밋을 만들어 두 브랜치의 변경 사항을 하나로 합칩니다. git checkout main git merge feature 위의 명령어로 main 브랜치에 feature 브랜치를 Merge 할 수 있습니다. 장점 간단하고 안정적인 방법으로 충돌이 발생할 경우 비교적 쉽게 해결할 수 있습니다. 브랜치의 히스토리가 보존되므로 나중에 병합 작업을 추적하기 쉽습니다. 단점 병합 커밋이 많은 이력을 만들 수 있으므로 히스토리가 복잡해질 수 있습니다. Merge 되돌리는 방법 merge도 하나의 커밋이기 때문에 reset이라는 명령어로 ..

Infra/Git 2023.10.15

[Programmers] Level.1 문자열 나누기(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열 나누기 문제 Java로 풀이하겠습니다. 이 문제는 문자열을 분해하는 규칙을 적용하여 문자열을 분해하고, 분해한 문자열의 개수를 반환하는 함수를 작성해야 합니다. 다음과 같이 문제 풀이하였습니다. class Solution { public int solution(String s) { int cnt = 0; int current = 0; char firstChar = s.charAt(0); ..

[Programmers] Level.1 카드 뭉치(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카드 뭉치라는 문제 Java로 문제 풀하겠습니다. 이 문제는 두 개의 문자열 배열 cards1, cards2로부터 원하는 단어 배열 goal을 만들 수 있는지 확인하는 것입니다. 다음과 같이 문제 풀이 하였습니다. import java.util.HashSet; import java.util.Set; class Solution { public String solution(String[] cards..

[IntelliJ] Mac에서 IntelliJ 사용할 때 유용한 단축키

인텔리제이(IntelliJ)는 많은 단축키를 제공하여 효율적인 개발 환경을 제공합니다. 단축키를 기억하고 필요할때 찾아보기 위해 여기 몇가지 IntelliJ의 흔히 사용되는 단축키를 정리해보았습니다. 기능 단축키 코드 컴파일 Command + F9 코드 실행 Control + Shift + R 코드 자동 완성 Control + Space 코드 포맷팅 Option + Command + L 메소드 추출 Command + Option + M 이름 변경 Shift + F6 디버깅 모드로 실행 Control + Shift + D 클래스 또는 파일 검색 Shift + Shift 메소드 또는 변수 검색 Command + F12 최근 파일 탐색 Command + E 코드 리팩토링 Control + T 현재 줄 복제 C..

Backend/IntelliJ 2023.10.15

[Programmers] Level.1 추억 점수(Java)

https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 추억 점수라는 문제 Java로 풀이하겠습니다. 주어진 입력은 인물의 이름 배열 name, 그리움 점수 배열 yearning, 그리고 사진 찍힌 인물의 이름 배열 photo입니다. 입력의 제한 사항은 아래와 같습니다. 다음과 같이 문제를 풀이하였습니다. import java.util.HashMap; import java.util.Map; class Solution { public int[] sol..

[Git] 여러 branch 만들어보기

Branch 브랜치 Git의 브랜치는 코드의 개발을 분리하여 동시에 다양한 작업을 수행할 수 있는 기능이다. 브랜치를 사용하면 여러 사람이 동시에 작업을 진행할 때 충돌을 방지하고 각각의 기능이나 작업을 독립적으로 개발할 수 있다. Git에서 브랜치를 만들면 현재 상태를 그대로 복제하여 새로운 브랜치가 생성된다. 이후에는 각각의 브랜치에서 독립적으로 작업할 수 있으며, 변경 사항은 각 브랜치에만 영향을 미친다. 또한 브랜치를 사용하면 안전하게 코드를 테스트하고 실험할 수 있다. 브랜치에서 개발이 완료되면 해당 브랜치를 다른 브랜치나 기본 브랜치에 병합(merge)할 수 있다. 브랜치 목록 확인 git branch 위 명령어를 실행하면 현재 저장소에 있는 모든 브랜치 목록 확인할 수 있다. 현재 작업 중인..

Infra/Git 2023.10.13

[Git] git reset, revert 으로 되돌아가기

'git reset' 현재 Staging Area(또는 Index)에 있는 모든 변경 내용을 언스테이징(Unstage)하고, 이전 커밋으로 되돌린다. 이 명령어를 사용하면 Staging Area에 있는 모든 변경 내용이 취소되지만, Working Directory의 파일은 영향을 받지 않고 그대로 유지된다. git reset 기본적으로 위의 명령어를 실행하면 Staging Area의 변경 내용이 언스테이징되며, 가장 최근의 커밋(HEAD)으로 돌아간다. 만약 변경 내용을 Working Directory에서도 제거하고 이전 커밋으로 돌아가려면 '--hard' 옵션을 사용할 수 있다. git reset --hard 주의 : '--hard' 옵션을 사용하면 Working Directory의 변경 내용도 모두 ..

Infra/Git 2023.10.11

[Git] git add, commit 으로 변경사항 저장하기

'git status' 현재 Git 저장소의 상태를 확인하는 데 사용된다. 변경된 파일 목록 어떤 파일이 수정되었거나 새로 생성되었는지, 삭제되었는지 등의 정보를 나열한다. Staging Area(또는 Index)에 대한 상태 변경된 파일 중 어떤 파일이 Staging Area에 추가되어 커밋 대기 중인지 확인할 수 있다. 현재 브랜치 현재 작업 중인 브랜치의 이름을 표시한다. 커밋 메시지 이전 커밋 메시지와 현재 작업 중인 커밋 메시지를 표시한다. 'git add' 변경된 파일을 Staging Area(또는 Index)에 추가하는 데 사용된다. Staging Area에 파일을 추가하면 해당 파일의 변경 내용이 다음 커밋에 포함된다. git add 파일명 특정 파일 추가 특정 파일을 Staging Are..

Infra/Git 2023.10.11