티스토리챌린지 (10) 썸네일형 리스트형 GitHub Git Cheat Sheet 한국어 번역본 [원본 파일 출처]https://education.github.com/git-cheat-sheet-education.pdfGithub에서 교육용으로 제공하는 깃 치트 시트의 한국어 번역본을 제작하였다. "번역본"이라는 취지에 맞게 최대한 한글로 용어를 표현하였으나 (ex. repository→저장소, merge→병합)실제로는 원문 용어를 아는 것을 더 추천하므로 원본 파일을 쉽게 이해하는 용도로 사용하길 바란다. Git Reflog와 문제 해결: 실수 복구하기 Git은 강력한 버전 관리 도구이지만, 작업 중 실수나 예기치 않은 문제가 발생하면 당황하기 쉽다.이때 Git Reflog와 함께 다양한 문제 해결 방법을 알고 있다면,어떤 상황에서도 Git을 유연하게 활용할 수 있다.이번 글에서는 Git Reflog의 개념과 활용법, 그리고 실수로 인한 다양한 문제를 해결하는 방법을 소개한다.1. Git Reflog란? 🔍Git Reflog(Reference Log)는 Git에서 브랜치나 HEAD가 이동한 모든 기록을 추적하는 도구다. 브랜치 이동, 커밋 변경, Reset, Rebase 등 모든 Git 작업의 로그를 볼 수 있다. 실수로 브랜치를 삭제하거나, 이전 상태로 돌아가야 할 때 유용하다.Reflog의 주요 특징모든 작업 이력 추적커밋, Reset, Mer.. Git Stash와 Reset/Checkout의 차이점: 혼란 끝내기 Git Stash와 Reset/Checkout의 차이점: 혼란 끝내기Git을 사용하다 보면, 작업 중인 코드를 임시로 저장하거나, 잘못된 커밋을 되돌리거나, 특정 파일을 이전 상태로 되돌려야 하는 상황이 발생한다.이때 Git Stash, Reset, Checkout은 매우 유용한 도구지만, 처음 접하는 사람들에게는 헷갈리기 쉬운 개념이다.이번 포스팅에서는 이 세 가지 기능을 명확히 비교하고, 언제 어떤 도구를 사용하는 것이 적합한지 쉽고 간결하게 정리해 보았다.1. Git Stash: 작업 저장소 🧳Git Stash는 현재 작업 중인 변경 사항을 임시로 저장하고, 작업 디렉토리를 깨끗하게 비울 수 있도록 도와주는 기능이다.이후 필요할 때 언제든 저장된 상태를 복원할 수 있다.주요 특징작업 저장 및 복원.. Git Rebase와 Cherry-Pick: 버전 관리 테크닉 Git의 기본적인 기능에 익숙해졌다면, 이제 Rebase와 Cherry-Pick 같은 고급 기능을 활용해 버전 관리를 더 정교하게 할 수 있다.이 글에서는 Rebase로 깔끔한 커밋 히스토리 만들기와 Cherry-Pick으로 필요한 커밋만 선택적으로 가져오기를 상세히 다룬다.Rebase란? 🔄Rebase(리베이스)는 브랜치의 변경 사항을 다른 브랜치 위로 재배치하는 작업이다.쉽게 말해, 마치 브랜치의 타임라인을 새롭게 정리하는 것과 같다.Rebase의 주요 목적커밋 히스토리 정리: 병합(Merge)보다 간결한 히스토리 제공.병합 충돌 줄이기: 브랜치를 자주 리베이스해 충돌을 미리 방지.Rebase 사용법 🌱기본 Rebasegit checkout featuregit rebase mainfeature/l.. Git이란 무엇인가? 초짜를 위한 설명 - 개요 Git은 소스 제어 도구 중에서 가장 널리 사용되는 대표적인 도구다. 개발자라면 누구나 한 번쯤 들어봤을 이름일 것이다. Git은 코드의 변경 사항을 추적하고, 여러 사람이 협업하면서 생기는 문제를 해결할 수 있는 강력한 도구다.이번 포스팅에서는 Git을 처음 접하는 분들을 위해 아주 기초적인 사용법과 개념을 쉽게 설명하려고 한다. 나도 Git을 처음 접했을 때는 단순히 “코드 공유 서비스” 정도로만 알았고, 명령어를 쓰는 것도 꽤 어려웠던 기억이 난다.하지만 Git은 단순한 코드 공유 툴이 아니라, 강력한 버전 관리 도구다. 제대로 이해하고 쓰면 협업 과정에서 발생하는 수많은 문제를 깔끔하게 해결할 수 있다. 이번 포스팅에서는 초보자가 꼭 알아야 할 Git의 기본 개념과 명령어에 대해 다룬다.Git은 .. 남는 아이패드로 자체 제작한 스트림덱(Stream Deck) 평소 데스크테리어에 관심이 많다 보니 관련 자료들을 살펴보면 종종 등장하는 것이 바로 스트림덱이다. 각종 앱의 커스텀 단축키와 유용한 스위치 설정을 간편하게 할 수 있어 데스크 환경을 개선하는 데 매우 유용해 보였다. 하지만 가격이 꽤 비싸서, 단순히 LED 버튼 몇 개를 제공하는 장치를 그 가격에 구입하는 것이 합당한지 의문이 들었다.사실 중요한 것은 물리적 스위치의 존재이며, 소프트웨어나 단축키는 직접 만들 수 있다는 생각이 있었다. 그래서 스트림덱을 사기에는 더욱 아깝다고 느꼈다. 마침 집에 사용하지 않는 아이패드 미니 1세대가 있었고, 웹서핑도 버벅거릴 정도로 성능이 떨어진 이 아이패드를 스트림덱으로 활용해 보기로 마음먹었다.Alfred와 Alfred RemoteMac 사용자라면 한 번쯤 사용해 .. 나의 마크다운 블로그 포스트 작성 루틴 블로그 포스트를 작성할 때, 글의 구조와 가독성, 강조 효과 등을 적절히 표현하기 위해 Markdown을 활용한다. 키보드만으로 빠르게 콘텐츠를 구성할 수 있어 효율적이며, 작성한 글을 블로그에 복사해 붙여 넣었을 때 웹에서도 동일하게 볼 수 있는 장점이 있다. 여러 종류의 에디터 중 Typora를 선택한 이유와 이미지를 다루는 방법, 강조 스타일, 마크다운 다이어그램 등을 다루는 과정을 소개한다.마크다운 작성과 에디터 선택Notion은 개인적인 메모나 자료 정리에 탁월한 도구이지만, 블로그 포스트 작성에서는 Typora를 선택하였다. Typora는 실시간 미리보기를 제공하며, 작성 즉시 최종 모습을 확인할 수 있다는 장점이 있다. 또한 사진 자료의 자동 업로드를 지원해 이미지 경로 문제를 최소화하며, .. [C++] 백준 2042 구간 합 구하기 [!NOTE]세그먼트 트리 자료 구조에 대한 설명을 보려면 다음 포스트 참조: 세그먼트 트리 (Segment Tree) - C/C++로 설명세그먼트 트리는 구간 합이나 최소값, 최대값을 구하는 데 유용한 자료구조이다. 특히 데이터가 자주 업데이트되면서도 특정 구간의 값을 빠르게 조회해야 하는 문제에서 큰 효율성을 제공한다. 이번 글에서는 백준 온라인 저지의 2042번 문제, 구간 합 구하기를 통해 세그먼트 트리를 구현하고 문제를 해결하는 과정을 설명한다.문제 설명N개의 수가 주어질 때, 중간에 특정 수를 변경하면서 주어진 구간의 합을 빠르게 구하는 문제이다.예제 입력 설명1부터 5까지의 수가 주어지고, 3번째 수를 6으로 바꾸고 2번째부터 5번째까지의 합을 구하라고 한다면 결과는 17이 된다. 그 상태에.. Solved.ac: 알고리즘 문제 풀이를 위한 필수 사이트 Solved.ac는 백준 온라인 저지(BOJ)를 기반으로 알고리즘 문제 풀이를 보다 효율적으로 할 수 있도록 도와주는 서비스이다. 백준은 국내에서 가장 많은 알고리즘 문제를 제공하는 사이트로 유명한데, Solved.ac는 이러한 문제들을 효율적으로 정리하고 난이도, 추천 문제 등을 제공해 사용자가 학습 목표를 체계적으로 세울 수 있도록 도와준다.그리고 재미있는 사실 하나! 이 훌륭한 서비스를 만든 사람이 바로 내 직속 선배이신 서강대 컴퓨터공학과 박수현님 이라는 점이다.처음에 베타 버전으로 시작했을 때만 해도 이렇게 커질 줄은 몰랐는데, 이제는 아예 회사를 차리고 대표님이 되셨다.Solved.ac의 주요 기능Solved.ac는 문제 풀이를 시작하는 초보자부터 고급 알고리즘 문제를 도전하는 상급자까지 모두.. 알고리즘 시간 복잡도 계산하기: 효율성을 높이자! 시간 복잡도(Time Complexity)는 알고리즘이 문제를 해결하는 데 걸리는 시간을 수학적으로 표현한 것으로, 입력의 크기에 따라 실행 시간이 어떻게 증가하는지 나타낸다. 이 시간 복잡도 계산은 효율적인 알고리즘을 설계하고, 문제의 제약 조건에 맞게 최적의 접근을 찾기 위한 핵심적인 과정이다.이번 글에서는 시간 복잡도를 계산하는 기본 개념과 방법을 설명하고자 한다.시간 복잡도를 왜 계산해야 할까?시간 복잡도를 계산하는 것은 알고리즘의 효율성을 예측하기 위해 중요하다. 시간 제한이 있는 프로그래밍 문제에서, 알고리즘이 제한 시간 내에 문제를 해결할 수 있을지 판단하려면 시간 복잡도를 알고 있어야 한다.시간 복잡도를 표현하기 위해 O 표기법(Big-O Notation), Θ 표기법(Theta Notat.. 이전 1 다음