매일 LeetCode 문제 풀이, 터미널 한 줄로 간편하게

IntroLeetCode 문제를 매일 풀이하는 개발자라면 공감할 텐데.. 문제 링크를 찾아가고, 클래스 이름을 짓고, 파일을 생성하는 과정이 굉장히 번거롭다.그래서 이를 간단히 처리하기 위해 leet.sh와 ClassNameFactory.java 두 가지 프로그램을 작성했다.이제 터미널에서 leet 한 줄만 입력하면, 오늘의 문제 링크가 뜨고, 문제풀이용 클래스 이름이 자동으로 클립보드에 복사된다.IDE에서 바로 붙여넣어 클래스를 생성한 뒤 코딩을 시작하면 된다. 비슷한 번거로움을 겪었던 개발자라면 한번 참고해보길 권한다.leet.bash문제 정보 가져오기leet.sh는 LeetCode의 GraphQL API를 이용해 오늘의 문제 정보를 가져온다.GraphQL API는 공식적으로 제공되지 않지만 Leet..

Development/Develop Tools 2024.11.16
Github 저장소 언어 표기 설정

IntroGithub 저장소의 언어 표기는 저장소의 주요 언어를 한눈에 보여주는 유용한 기능이다. 하지만 다양한 파일 포맷을 포함할 경우, 본래 의도한 언어와 다르게 표시될 수 있다. Github은 언어 통계를 위해 Linguist라는 오픈소스 도구를 사용한다. Linguist는 각 파일의 확장자와 내용에 따라 언어를 감지하고, 라인 수를 기준으로 언어 비율을 계산한다. 이때 코드베이스의 양적인 부분만을 반영하기 때문에 핵심 코드가 아닌 파일이 많다면 실제 프로젝트 언어 비율과 다르게 나타날 수 있다.이번 글에서는 .gitattributes 파일을 통해 Github 언어 통계를 조정하고, 불필요한 언어가 표시되지 않도록 하는 방법을 설명하겠다.특정 파일과 폴더 제외 설정.gitattributes.gita..

Development/Develop Tools 2024.11.15
`git stash`로 변경 내용을 보관한 뒤에 브랜치를 삭제하면 어떻게 될까?

Intro개발하다 보면 작업 중인 변경 사항을 일시적으로 보관하고 브랜치를 이동하거나 삭제해야 할 때가 있다. 이때 보통 git stash를 이용해 변경 사항을 임시 저장하는데, 만약 스태시해 둔 상태에서 브랜치를 삭제하면 어떻게 될까? 혹시 스태시한 작업이 사라지지는 않을까? 이번 포스트에서는 git stash와 브랜치 삭제의 관계를 알아본다.git stashgit stash는 현재 작업 중인 변경 사항(커밋되지 않은 파일 및 수정된 파일)을 임시 저장해 두는 기능이다. 이때 스태시는 브랜치에 의존하지 않고, 저장된 작업은 저장소 내에 독립적으로 유지된다. 즉, 특정 브랜치에서 git stash를 사용해도 이 스태시 항목은 브랜치가 아닌 저장소 자체에 저장되기 때문에 다른 브랜치로 이동하거나 브랜치를 ..

Development/DevOps 2024.11.13
Git에서 마지막 커밋 취소하기

IntroGit을 사용하다 보면 의도와 다르게 커밋을 하거나, 잘못된 브랜치에서 커밋을 진행하는 실수를 할 때가 있다. 이렇게 한 번 커밋을 하고 나면 --amend 옵션으로 이미 커밋한 내용을 수정하고, force push로 덮을 수 있지만 때로는 커밋 자체를 완전히 취소해야 할 경우도 있다.이 글에서는 실수로 커밋한 내용을 되돌리기 위한 방법들을 예시와 함께 살펴보고, 각 상황에서 주의할 점에 대해 정리한다.실습커밋을 취소해야 하는 상황커밋 취소가 필요한 상황은 다양하다. 다음과 같은 경우가 대표적이다.커밋을 했으나 수정할 내용이 있다: 커밋 메시지나 커밋된 내용에 빠진 부분이 있다면 --amend 옵션을 사용하여 커밋을 수정할 수 있다.잘못된 브랜치에서 커밋을 한 경우: 작업 브랜치가 아닌 다른 브..

Development/Git 2024.11.09
두번째 LeetCode 티셔츠

첫 번째 티셔츠첫번째 리트코드 티셔츠 를 받은지 1년이 조금 넘었다.딱히 티셔츠를 받고자 했던건 아니지만, 몇 안되는 취미중 하나로 데일리 문제들을 매일 풀다보니 어느덧 다시 6,000 포인트가 쌓여있었다.첫 티셔츠를 받을때는 그렇게 포인트가 모이는데 오래걸리는 느낌이라 Weekly Contest도 꼬박꼬박 참여하고 몇주마다 포인트가 얼마나 쌓였는지도 확인해보곤 했었는데.. 이번에는 벌써 또 6천점이 넘게 모여있네? 싶었다.첫 티셔츠 이후로는 컨테스트 참여도 전혀 하지 않고 있다. 나름의 실시간 경쟁 및 컨테스트 종료 직후 발표되는 순위에서 오는 묘한 긴장감을 즐겼었는데 AI로 발달 이후로 참여에 대한 동기가 상당히 줄었다. 공정한 경쟁이란 측면을 중요시 여겼던 점에서 참여자체를 하나의 스포츠 정도로 여..

Development/DevLife 2024.04.21