분류 전체보기 (299) 썸네일형 리스트형 로컬-원격저장소랑 연결 잘 되게 브랜치 만들기 main에서 hotfix 브랜치를 땄는데 intelliJ UI상에서 내가 만든 브랜치의 origin 을 바라보는 것이 아닌 origin/main으로 설정되어 있고 푸쉬하려고 하려면 main으로 다이렉트 푸쉬가 안된다는 에러메시지가 뜰 뿐이었다. 앞으로는 로컬-원격저장소 연결이 잘 되도록 브랜치를 아래와 같은 식으로 잘 만들어야겠다. 1) main 브랜치로 이동 2) main 브랜치 최신 Pull 받기 3) 터미널 (main) git checkout -b hotfix/브랜치이름 4) git push -u origin hotfix/브랜치 이름 -u 옵션은 git에서 --set-upstream의 축약형으로 로컬-원격 브랜치를 연결하는 역할을 한다. 테스트 누락으로부터 배운 점(feat. hotfix브랜치) 게시글을 상단고정하는 기능을 개발하였다. 그런데 이 기능을 개발하면서 기획적으로도 누락된 내용도 많았다만 내 스스로도 부족한 점이 너무 많았어서 이번 실수를 통해 배운 점을 글로 남겨놓고자 한다. 팀원 덕분에 내가 최근에 안일한 마음가짐으로 일을 했다는 것을 뼈저리게 느끼게 되었고, 그런 실수를 알려주고 고쳐주려는 사람이 있기에 감사할 따름이다. [테스트의 중요성] 테스트 케이스를 작성할 시간이 부족하다면, 적어도 내가 개발한 기능에 대해서는 내 스스로도 테스트를 잘 해야한다. 물론 QA팀도 있지만, QA팀에 과의존해서는 안된다. 내가 그 기능(신규기능, 추가기능)을 개발했기 때문에 나는 그 기능에 대한 개발자로서 주인의식과 전문성을 가지고 테스트에 임해야한다. 만약 기존에 잘 돌아가는 기능에, 추가 .. IntelliJ에서 git 커밋 내역 최신화가 안될 때 IntelliJ를 새로 깔았는데 다시 켜보니 git 커밋 내역 최신화가 되지 않았다. 다음과 같은 방법으로 해결하였다. 1) 터미널에서 git remote -v 로 깃허브 저장소와 연결이 잘 되어있는지 보기 -> push, fetch에 대한 2개의 저장소 주소가 출력된다. 아무것도 출력되지 않으면 깃 저장소 연결이 잘 안된 것이다. 2) IntelliJ 상단바 'Git' > Fetch 로 최신 커밋 내역들 가져오기 IntelliJ가 계속 꺼진다 IntelliJ를 실행하려던 도중 repository 목록까지는 잘 들어오나, 해당 레포지터리의 상세로 들어가는 화면이 나오려고 하면 계속해서 인텔리제이 화면 자체가 닫히는 상황이 발생했었다. 해결 방법은 다음과 같다. 1) File -> Invalidate Caches 선택 후 캐시 지우기 2) 인텔리제이 아예 종료하고 다시 실행하기 로 해결하였다. 인텔리제이가 안됐어서 여러모로 불편했다. brew로 설치한 kubectl 버전 확인을 하고 싶은데 brew로 이것저것 다시 깔다가 brew install kubectl 로 kubernates client를 설치하였다. 그런데 이게 잘 설치가 되었는지?싶어 찾아본 방법은 2가지이다. 1) brew list brew로 설치한 모든 라이브러리 리스트 확인 2) kubectl version --client 이걸 통해 Client Version: v1.32.3 / Kustomize Version: v5.5.0 라는 식으로 터미널에 출력된다. 그러니 설치가 잘 된것 확인! 다이나믹링크와 딥링크가 헷갈린다(feat. 개발자와 사업개발자에서 배울 관점) '다이나믹링크'와 '딥링크'는 웹개발&앱개발에서 자주 쓰이는 용어이다. 사건의 발달은 그렇다. 팀에서 '웹에서 다이나믹링크와 딥링크를 쓰는 부분이 혼재되어 있어 발생하는 문제들이 존재할 것으로 판단'한다는 것이었다. 아직까지 나는 다이나믹링크와 딥링크의 차이점을 모르는 상태에서 왜 이 둘을 혼재해서 사용하면 문제가 되고, 어떤 문제가 존재하는거지? 싶어 찾아보았다. 딥링크 Deep Link 사용자가 특정 앱 화면으로 '직접 이동'할 수 있도록 만드는 링크 웹에서는 보통 https://example.com/editor 등의 URL로 처리 Example DomainExample Domain This domain is for use in illustrative examples in documents. Y.. .env.local 파일 수정 후 vault? .env.local 파일에 slack url을 추가했는데 이거 그냥 commit & push하고 배포하면 되는건가?라고 생각했다. 하지만 그게 아니었다. 1) .env.local 파일 수정2) vault에 slack_url 추가 (dev,stage / prod) 3) 코드 commit & push ㄴ3)번을 먼저 하게 된다면, vault에서 값을 못읽어와서 빈 문자열로 뜰 것이다. .env.local에 값을 처음 넣어봐서 이 부분은 오늘 처음 알게되었다. find()에는 Promise가 내장되어 있다 내가 처음에 짰던 코드는 다음과 같다. async findCollaborationList() { return await this.collaborationRepository.find(); }async~await는 항상 짝궁이라고 생각해서 await를 붙여주며 return문을 작성했다. 그러나, find()에는 놀라운 사실이 숨겨져있었다. Entity의 배열 형태를 반환할때 Promise를 그대로 반환해서 await를 쓰지 않아도 된다는 것이다. find 메소드 자체가 Promise를 반환하기 때문에 await를 쓰지 않아도 된다. Promise를 반환하는 함수는 자체적으로 비동기 작업을 수행 + Promise 객체 반환 + 그 자체로 비동기 처리가 완료될 때까지 기다려야 할 필요X 의 역할을.. [MySQL] Incorrect table definition; there can be only one auto column and it must be defined as a key 테이블에 컬럼을 삽입하려고 보니, Incorrect table definition; there can be only one auto column and it must be defined as a key 와 같은 에러가 발생하였다. 왜 이런 에러가 발생하였을까? 원인은 아래와 같다. - PK가 2개 잡혀 있었음 좀 더 찾아보니 auto_column으로 설정된 컬럼이 KEY가 아니라서 위와 같은 오류가 발생할 수도 있다고 한다. MySQL에서는 PK에 auto_column을 설정하는 것이 일반적이니,, (추가적으로, MySQL에서 SQL문으로 auto_increment를 작성하고 싶다면 ALTER TABLE 구문을 사용하거나 CREATE TABLE 할 때 지정해줄수 있다) 에러 해결방법ALTER tabl.. I edited this file, but git isn't track the file I edited a file in IntelliJ, but IntelliJ's Git isn't tracking my edited file. To solve this, I cliked on the right side of the file and click 'Git' > + Add Now, my edited file is staged in IntelliJ's Git! 이전 1 2 3 4 ··· 30 다음