개발환경

개발환경

Gerrit 코드리뷰 명령어 입력이 귀찮다면? git alias 활용하기

계기 git에 code를 푸시하려면 git push origin 브랜치명와 같은 형식으로 적어야 한다. 하지만 코드리뷰를 받으려면 git push origin HEAD:refs/for/브랜치명와 같은 형식으로 적어야한다. VSCode의 git lens에서 gui로 제공하지 않는 기능이라 명령어를 직접 입력해야했는데 너무 길어서 불편했다. 해결방법 git alias를 활용하기로 했다. GPT선생님이 만들어준 코드인데 확인해보니 잘 작동한다. git config --global alias.review '!f() { branch=${1:-$(git symbolic-ref --short HEAD)}; git push origin HEAD:refs/for/$branch; }; f' 위 명령어를 한번 실행하면 그 ..

개발환경

Mac에서 bits/stdc++.h 헤더 사용법

bits/stdc++.h를 사용하면 자주쓰는 헤더들을 한줄에 불러올 수 있어서 편하다. 하지만 bits/stdc++.h는 표준 헤더가 아니다. gcc를 컴파일러로 사용하는 경우 사용 가능하다 백준, 프로그래머스 등에서도 사용이 가능하다. 하지만 mac에서 사용하려면 별도 설정을 해줘야 한다. 1. 경로 확인 installedDir 뒤의 경로를 복사해준다. g++ --version 2. 설치 경로로 이동 InstalldeDir 경로에서 맨 마지막 /bin을 지우고 /include로 바꿔서 이동해준다. cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include 3. bits 폴더 생성 sudo mkd..

개발환경

Jenkins 폴더 변경사항 감지 하는 방법

Jenkins로 CI/CD를 할 때, 보통 git의 push이벤트가 트리거가 되어 빌드를 한다. 모노레포일때는 어떻게 해야 할까? turborepo등을 사용하기도 하지만 지금 내 개발 환경은 한 레포지토리에 java백엔드와 nextjs프론트가 함께 있기때문에 적절하지 않은 것 같았다. 알고보니 jenkins pipeline에서 지원하는 기능이 있었다. when과 changeset을 사용하면 된다. 공식문서 Jenkins의 표준 기능이며 별도 세팅이 필요하지 않다. stages { stage('build') { when { changeset "frontend/**"} steps { dir('./frontend'){ sh 'npm run build' } } } } 참고자료 https://stackoverfl..

개발환경

커밋 컨벤션을 강제하자 husky + commitlint + commitizen

팀의 커밋 컨벤션이 정해졌다. 이모지를 활용한 커밋 컨벤션인데 깃모지는 아니다. 익숙한 방식이 아니고 이모지도 입력해야하므로 CLI가 있으면 좋을 것 같다고 생각했다. 그래서 검색하다가 다른 좋은 패키지들도 알게되었다. { "scripts": { "commit": "git-cz" }, "config": { "commitizen": { "path": "@commitlint/cz-commitlint" } } } 커밋 컨벤션에 맞지 않게 커밋을 하려고 하면 에러를 발생시키는 방법이 있다. GitHooks 활용하면 된다. 하지만 githook은 공유하기 어렵고, 실수로 적용하지 않을 수도 있다는 단점이 있다. 그래서 githook을 적용하기 쉽게 해주는 Husky를 사용한다. 그리고 커밋이 컨벤션에 맞는지 확인..

개발환경

윈도우에서 EC2 인스턴스 ssh로 접속하는 방법 (putty 없이 가능)

요즘 마이크로소프트 터미널이 잘 되어있어서 putty를 굳이 설치하지 않아도 서버에 접속할 수 있다. 그리고 putty보다 예쁘게 사용할 수 있다. Windows Terminal 설치 이미 설치되어있다면 건너뛰어도 된다. 1. Microsoft store에 접속한다. 2. '터미널'을 검색한다 3. Windows Terminal을 설치한다. 설치가 다 되면 열기를 누른다 ssh 설정 1. ssh 키를 지정된 경로에 저장한다. C:\Users\사용자명 으로 이동해서 .ssh 폴더를 만든다. C:\Users\ 사용자명 \.ssh에 ssh키를 저장한다. 2. config 파일을 만든다 주의 : 확장자 없이 만들어야 한다. 내용은 아래와 같이 적는다. Host mydomain HostName mydomain.c..

개발환경

자주 쓰는 리눅스 screen 명령어 모음

screen이란? screen을 사용하면 여러 개의 가상 터미널 세션을 생성하고, 여러 작업을 동시에 실행하거나 백그라운드에서 실행할 수 있다. 사용 예시 docker를 사용하지 않고 수동 배포를 할 때 유용하게 사용할 수 있다. 나는 주로 간단한 jar파일 실행시켜둘 때 유용하게 사용했다. screen은 설치되어있는 경우도 있어서 그냥 사용하면 된다. 설치 방법 apt-get install screen 스크린 명령어 명령어 설명 screen 스크린 생성 screen -ls 스크린 목록을 보여준다. screen -S [세션명] 지정한 세션명으로 스크린 생성 screen -r [세션명 또는 세션ID] 스크린 재진입(싱글 모드) (스크린이 한개면 이름 생략 가능) screen -x [세션명 또는 세션 ID]..

개발환경

[gpg] gpg key 삭제 방법

gpg --delete-secret-keys [키ID] ex) gpg --delete-secret-keys 0xABCD1234 gpg --delete-key [키ID] ex) gpg --delete-keys 0xABCD1234 비밀키를 먼저 삭제한 후 공개키를 삭제한다.

개발환경

[Gitmoji] 깃모지 사용법 한국어 정리

이모지 설명 🎨 코드 구조/포맷 개선 ⚡️ 성능 향상 🔥 코드나 파일 삭제 🐛 버그 수정 🚑️ 긴급 수정 (Hotfix) ✨ 새로운 기능 추가 📝 문서 수정 🚀 배포 💄 UI/UX 개선 🎉 초기 커밋 (프로젝트 시작) ✅ 테스트 추가, 테스트 통과 🔒️ 보안 이슈 수정 🔐 비밀 정보 (암호, 인증 토큰, API키 등) 추가/업데이트 ⏪️ 롤백, 이전 상태로 되돌림 💡 주석 추가, 주석 업데이트 🚧 작업 중인 코드, 작업 중인 기능 (WIP) 💚 CI 빌드 수정 ⬇️ 종속성(의존성) 다운그레이드 ⬆️ 종속성(의존성) 업그레이드 📌 종속성(의존성) 버전 고정 👷 빌드 시스템, CI/CD 업데이트 📈 분석, 통계 데이터 업데이트 ♻️ 리팩토링, 코드 재사용 ➕ 의존성(종속성) 추가 ➖ 의존성(종속성) 삭제 🔧..

리즈(Liz)
'개발환경' 카테고리의 글 목록