팀원들과 협업을 하면서 가끔 console.log()를 제거하지 못한 채 commit을 한적이 있었다. 이는 별거 아닌거 같아보여도 운영서버 AWS에 올라갔을때 악영향을 끼친다. 코드에 민감한정보(암호, Api키, 사용자 데이터)를 기록하면 서버로그에 엑세스할 수 있는 모든 사람에게 노출이 될 수 있고, 시스템 리소스를 소비하고 처리시간을 차지하여 애플리케이션 전체 성능에 영향을 끼칠수 있고, 로그가 빠르게 복잡해 져서 관련 정보를 수정 삭제하기 어려워져서 디버깅이 어려워지고, 제일 중요한, AWS는 저장 및 처리된 데이터 양에 대해 요금을 부과하므로 비용이 증가할 수 있다. 이제 console.log() 제거에 필요성을 느낄 것이다. eslint로 단순하게 "no-console" 에서 에러 처리를 해버..
회사에서 개발중인 프로젝트를 퇴근 후 집에서 마저 하려했더니 다음과 같은 에러가 발생했다. ERROR [TypeOrmModule] Unable to connect to the database. Retrying (4)... Error: connect ETIMEDOUT 해당 에러를 확인하면 DB연결이 안됬다는 얘기다. 갑자기 왜 DB연결이 안됬을까? 회사에서 DB를 AWS를 통해서 사용하는데 미리 정해둔 EC2 보안그룹에 우리집 IP가 등록 되지 않아서 뜨는 에러다. 해결방법은 간단하다. 우선 AWS EC2에 접속후 인스턴스(실행중)에 들어가면 지금 실행중인 인스턴스 목록이 나올 것이다. 그중에 관련DB 인스턴스에 들어가서 보안을 누르고 해당 보안그룹 링크로 들어간다. 그럼 인바운드 규칙이 보일텐데 여기서 ..
Why Naming Rull? 명명 규칙 준수를 통한 업무 생산성 효과 일종의 규약을 설정하여 협업의 원활한 업무적 의사소통 가능 업무 단계별 산출물 사이의 일관성 유지 명확한 의미 부여로 산출물 사이의 연관성 및 코드 가독성 증가 @ 대소문자 혼용 기법 1. 클래스나 메소드명은 파스칼 표기법을 따른다. 모든 단어에서 첫 번째 문자가 대문자이며 나머지는 소문자로 표기. public class HelloWorld{ // 클래스명 public void HelloCity(){ // 메소드명 } } 2. 변수, 파라미터 등은 카멜 표기법을 따른다. 최초에 사용된 단어를 제외한 모든 단어의 첫 문자가 대문자이며, 나머지는 소문자로 표기. int totalCost = 0; // 변수명 String fullName ..
우선 git stash 란? 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어이다. 이를 통해 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 마무리할 수 있다. git pull을 했을때 다음과 같은 에러가뜬다면 터미널에 순서대로 입력해보자. 1. git stash 2. git pull 사진처럼 제대로 pull이 되는걸 볼 수 있을것이다. 3. git stash 4. git stash list 5. git stash drop 6. git branch 사진처럼 정상적으로 완료된것을 볼 수 있을것이다.
ESLint 와 Prettier 자바스크립트 개발을 하다 보면 문법 오류나 코드 정리로 인해 시간을 많이 소비한다. ESLint와 Prettier는 이러한 상황을 해결해 주는 도구들이다. ESlint 는 코드 퀄리티 보장, 즉 코드 구현 스타일에 대한 통일성을 강제한다. 코드 포맷터의 역할도 하지만, 주로 코드 에러를 잡아내고 코드 문법을 강제하는 등 코드 품질을 개선에 중점을 두었다. ESLint는 스타일 가이드를 편리하게 적용하기 위해 사용되기도 하는데, 많은 개발자가 사용중인 Airbnb Style Guide, Google Style Guide가 대표적인 예이다. ESLint 사용예시 ex) let foo = text;; 문자열에 따옴표도 없고, 세미콜론도 두개고, 변수에 값이 할당되어도 사용이 안..