본문 바로가기
반응형

Develop/etc52

[Git] 머지 커밋 revert 하기 🤔 git revert란? git revert란 일부 기존의 커밋들을 되돌리는 작업이다. git reset과는 다른 것이, git reset은 기존의 커밋을 아예 삭제해버린다. 하지만 git revert는 변경 사항을 되돌린 커밋을 하나 새로 생성한다. 예를 들어 아래와 같은 커밋 A, B, C가 있다고 가정해보자. (알파벳은 커밋을 구분하기 위해 임의로 붙인 이름이다.) 이 때 커밋 C의 변경 내역을 reset, revert를 통해 되돌린다면 어떻게 될까? 커밋 내역을 살펴보면 git reset은 커밋 C에 대한 기록이 아예 없어진다. git revert는 새로운 커밋 X가 생긴다. 커밋 X의 변경 내역을 살펴보면, 커밋 C에서 변경했던 코드들이 그 이전 상태로 돌아가있다. git reset을 사용하는.. 2023. 8. 13.
Windows에서 8080 port 사용이 불가능한 현상 💣 사건의 시작 로컬에서 프로젝트를 실행 시키다가 java.net.BindException: Address already in use: bind 에러가 발생했다. 내가 실행시키려던 8080 포트가 충돌이 일어나서 발생한 에러이다. 해결책은 간단하다. 1. PID 조회 Linux $ lsof -i:포트번호 Windows $ netstat -ano | findstr "포트번호" 2. 프로세스 종료 $ kill PID번호 💥 문제의 발생 8080 포트의 PID를 조회하기 위해 netstat을 실행시켰다. 그런데... 명령어가 잘못되었나 싶어서 이미 구동중인 포트 번호로도 확인해보았다. 😡 의심되는 원인 발견 windows와 8080 port 키워드로 이것저것 구글링 하다보니 hyper-v라는 키워드를 발견하게.. 2022. 9. 18.
[IntelliJ] gradle project 생성 시 불필요한 파일들이 생기는 현상 IntelliJ에서 gradle project를 생성했는데 위와 같은 불필요한 폴더들이 막 생겨났다. 좀 더 정확히 말하자면 gradle project를 생성했을 때까지는 괜찮았는데 프로젝트를 build시키는 시점에서 이상한 폴더들이 생겨났다. 알고보니 Gradle user home이 제대로 설정되지 않아서 발생한 문제였다. 문제 원인은 Gradle user home이 프로젝트 경로로 설정되어 있어서이다. 해당 경로를 수정하면 해결된다. (아래에서 추가 설명) 그렇다면 위 폴더들은 왜 생겨나는걸까? project를 build시켜 gradle이 동작되면 gradle에 대한 캐시가 생긴다. 그래서 일반적으로는 프로젝트와 무관한 특정 위치에서 이 캐시들을 한꺼번에 관리한다. 이 위치는 별도로 지정하지 않았다면.. 2022. 9. 2.
OAuth vs OpenID 예제로 자주 등장하는 `줍줍`은 현재 진행되고 있는 프로젝트 명으로 슬랙 메시지를 백업해주는 서비스입니다. 이 글을 읽기 전에 인증과 인가의 차이를 알고 있다면 훨씬 이해하기 편합니다. 인증; authentication: 사용자의 신원을 확인 인가; authorization: (신원이 확인된 사용자에게) 자원에 접근할 수 있는 권한 부여 🧾 OAuth 🧾 인가 / authorization 서버 자원 소유자가 클라이언트에게 서버 자원에 대한 액세스 토큰 제공 ex: Slack이 줍줍에게 access token을 발급 해당 액세스 토큰을 통해 리소스 서버에 액세스 가능 ex: access token을 통해 줍줍이 Slack에게 사용자 정보 조회 요청 ✅ OAuth 1.0 vs OAuth 2.0 OAuth 2.. 2022. 8. 31.
[OAuth] 슬랙 로그인 구현하기 목차 1. OpenID vs OAuth vs OIDC 2. OAuth 인증 과정 3. 로그인 동의 화면 4. 로그인 API 구현하기 `줍줍` 프로젝트는 슬랙을 이용해 로그인하는 기능을 제공할 예정이다. 해당 기능을 개발하는 과정을 이야기 해보려 한다. 1. OpenID vs OAuth 📚 OpenID, OAuth는 인증, 인가에서 사용되는 HTTP 기반 프로토콜이다. OpenID -> 인증; authentication: 사용자의 신원을 확인 OAuth -> 인가; authorization: (신원이 확인된 사용자에게) 자원에 접근할 수 있는 권한 부여 더 자세한 내용 👉 https://yeonyeon.tistory.com/264 OAuth vs OpenID 예제로 자주 등장하는 `줍줍`은 현재 진행되고 .. 2022. 7. 31.
[Git] 서브 모듈로 중요한 설정 정보 숨기기 ❗ 서론 예전에 OS 환경 변수를 이용해 중요한 설정 정보를 숨기는 방법에 대해 포스팅했었다. (바로가기 링크 👉 https://yeonyeon.tistory.com/234) 이 방법은 값이 변경될 때마다 직접 배포 서버에 들어가 OS 환경 변수 수정이 필요하다는 점이 너무너무 귀찮다. 이를 개선하기 위해 깃의 서브 모듈이라는 개념을 이용해보았다. OS 환경 변수로 중요한 설정 정보 숨기기 🤗 서론 중요한 설정 정보들이 담긴 파일은 공개되면 안된다. 이를 숨김 처리 하는 방법은 여러가지가 있다. Vault, AWS에서 지원해주는 Systems Manager Parameter Store 등 여러 서비스를 활용할 수 있 yeonyeon.tistory.com ❓ 서브 모듈이란? : 레포지토리 안에 또다른 레포.. 2022. 7. 21.
[Git] 커밋에 공동 작업자 추가하기 요즘 페어 프로그래밍, 몹 프로그래밍 등 여러명이서 함께 개발을 진행하는 일이 많았다. 작업이 덜 된 내역을 커밋하기는 곤란하니까 한 사람의 컴퓨터에서 개발을 전부 진행한 뒤에야 커밋하고는 한다. 이럴 때 커밋 기록을 보면 한 사람만 작업한 것처럼 보인다. 페어 / 몹으로 진행했는데도 한 사람의 기록만 남는게 아쉬웠는데 coauthored 라는 키워드를 알게 되었다. 😄 위와 같은 커밋이 아닌 아래 같은 커밋을 하고 싶다면? 함께 개발한 사람도 남기고 싶다면? 커밋 메시지를 아래와 같이 적으면 된다. 이 때 주의할 점은 커밋 메시지와 `Co-authored-by` 사이에 줄바꿈이 2번 들어가야 한다. 1번 들어가니 적용이 안되는 현상이 발견되었다. 😅 커밋 메시지 Co-authored-by: 깃헙핸들명 .. 2022. 7. 20.
[GitHub] PR 리뷰 막기 (feat: draft) 😊 서론 이번 글은 내가 올린 PR 리뷰 막아버리는 것에 대해 포스팅하려 합니다.🤭 제목에 황당해하시는 분들도 많을 것 같습니다. 현재 진행중인 줍줍 프로젝트에서는 현재 진행 상황 공유를 위해 완전히 개발되지 않았어도 Pull Request를 올리기로 했습니다. 하지만 리뷰어들 입장에서는 이 PR이 개발이 완료되어서 올린건지, 아니면 진행 상황 공유를 위해 올린건지 알 수 없는데요. 팀원인 꼬재가 다음과 같은 기능을 소개해주었습니다. 🤗 Convert to Draft Pull Request를 클릭하면 우측 Reviewers 항목에서 'Convert to draft'를 찾을 수 있습니다. convert to draft 버튼을 클릭하면 Pull Request가 아래와 같은 상태로 보입니다. 이제 다른 사용자.. 2022. 7. 14.
[GitHub] 깃허브로 토이 프로젝트 시작하기 토이 프로젝트를 시작하기 전에... 깃허브에서 commit, push 기능만 사용하고 계시진 않나요? 토이 프로젝트를 진행하면서 이용하면 너무 좋을 것 같은 기능들을 소개하기 위해 글을 작성하게 되었습니다😄 GitHub에서 제공해주는 기능들을 이용하였기 때문에 특정 언어에 종속되지 않고 어떤 언어로 사용하는 프로젝트든 이용 가능합니다. 목차는 아래와 같습니다. Main - 프로젝트 소개하기 About README.md Issues - 할 일 정리하기 Pull Requests - 코드 리뷰 문화 도입하기 Discussions - 프로젝트 전용 커뮤니티 만들기 Projects - 편리하게 일정 관리하기 1. Main 예제 링크 - 우테코 학습 기록용 레포 About 프로젝트에 대한 부가 설명 추가 오른쪽의 .. 2022. 7. 9.
반응형