TIL 6

git branch 잘 이용하기 | 2. 깔끔한 커밋 관리를 위한 rebase

1. 개요 - git 작업을 하면서, rebase를 안써본 것은 아니다. - "PR시 merge와는 다르게 브랜치 내역이 남지 않아, 커밋 내역을 깔끔하게 관리할 수 있다."라는 장점이 있는 것만으로 "느낌"만 가지고 있었다. - 그러다 보니, 협업하면서 소위 "어버버" 대는 경우가 생겨, 이번 기회에 merge, rebase를 좀 비교해보았다. 2. branch를 병합시키는 기본, merge - merge는 말 그대로 branch를 병합시키는 것이다. - merge는 두 가지 종류가 있는데, 다음 예시 상황을 기준으로 설명해보겠다. > 기본: main 브랜치, main의 커밋1에서 checkout한 dev 브랜치가 있다. dev -> main으로 병합시킨다. > 상황1: main 브랜치에서 별다른 co..

TIL 2023.06.14

git branch 잘 이용하기 | 1. git branch는 기점의 형상을 기억한다.

1. 개요 - 팀 프로젝트를 최소 3회 이상 해오면서, git 관련해서 기본적인 것들은 많이 해봤다고 자부했다. - 최근 사야매 프로젝트를 시작하면서, 처음으로 커밋 내역, 이슈 내역 등을 꼼꼼하게 관리하기로 룰을 짜고 작업을 하고 있다. - 그런데, 필자가 생각보다 git을 자유자재로 사용하지 못하고 있음을 느꼈다. - 특히, 브랜치를 이동하면서 하는 작업에서 아직 많이 미숙하다고 느꼈다. - 그래서 사야매 프로젝트를 하면서 git 관련해서도 좀 더 성숙해지고자 한다. - 종종 이렇게 git 관련된 글들을 적을 일이 많을 것 같다. - 참고로 작성되는 글들은 특정한 목차를 가지진 않다. - TIL 느낌으로 적을 예정이고, 경험적으로 잘 몰랐던 것들, 새로 알게 된 내용, 알고 있었지만 다시 정리한 내용..

TIL 2023.06.14

CRLF/LF 이슈

개요 - 사야매 프로젝트를 하면서, git 협업 중 CRLF 이슈가 발생했다. - lint 설정을 이용해서 CRLF -> LF로 변경해서 이슈는 해결했지만, LF로 변경하면 변경이 발생한 파일은 모두 커밋이 되는 불상사가 발생한다. - 이에, CRLF/LF 이슈는 git 협업을 본격적으로 시작하기 전에 세팅해두어야 할 이슈인 듯 하여 이렇게 블로그로 정리하게 됐다. 문제원인: OS가 채택하는 기본 개행문자의 차이 - Window는 기본적으로 CRLF로 라인을 끝내고, Mac, Linux는 LF로 끝낸다고 합니다. - 그래서 개발 협업에서 lint와 prettier를 쓰는 경우, 이 개행문자 차이가 에러로 인식될 수 있는 것입니다. 문제 해결 방법: git config & IDE setting 1) git..

TIL 2023.06.09

eslint replace ... 에러

1. 문제상황 - carryduo 프로젝트에서 리팩토링 할 내용이 있어, 간만에 프로젝트를 켰다. - 리팩토링 할 것은 계층 분리, 테스트 코드와 관련된 것이었는데, 코드의 printWidth가 너무 넓게 설정되어 있는 것이 거슬려서, .prettierrc 파일에서 printWidth를 줄였다. - 그런데, 다음과 같은 에러가 발생했다. error Replace `↹` with `··` ↹는 tab, 줄바꿈을 의미한다. ··는 스페이스바, 띄어쓰기를 의미한다. - 기존의 eslint 설정과 prettier 설정은 다음과 같았다. 1) eslint module.exports = { parser: '@typescript-eslint/parser', parserOptions: { project: 'tsconf..

TIL 2023.05.23

class 접근 제한자와 ()=> ({}) 용법

1. class 접근 제한자 - protected: 부모/자식 클래스 내부만 사용 가능. 인스턴스 불가 - private: 부모 클래스 내부에서만 사용 가능. 인스턴스 불가 - public: 부모/자식 클래스 사용 가능. 인스턴스 사용 가능 - static: 클래스 자체에 property와 method 저장, 외부에서 호출 가능. 인스턴스 사용 불가 2. () => ({}) - array function에 ()가 붙어 있어 당혹스러웠으나, 이 코드는 다음과 같다. - 즉, ()는 return을 의미한다. export default (): {dev:string, test:string} => ({ dev: 'dev', test: 'test' }) export defualt (): {dev:string, te..

TIL 2023.02.07

Redis X nestJS cache manager

1. redis 설치 관련 참고 블로그 - https://dejavuqa.tistory.com/153 Redis 설치 (on Ubuntu) Redis를 Ubuntu에 설치해 봅시다.ssh로 Ubuntu에 접속합니다. 그리고 먼저 apt-get을 업데이트 해줍니다. $ sudo apt-get update $ sudo apt-get upgrade apt-get으로 간단하게 redis-server를 설치해 줍니다. $ sudo apt-get inst dejavuqa.tistory.com - https://hayden-archive.tistory.com/429 [Redis] 우분투에 Redis 설치/접속/사용하기 참고 : dejavuqa.tistory.com/153 Redis 설치 (on Ubuntu) Redi..

TIL 2023.02.07