대파양파애비
ilikezzi

Backend dev?

Nope, 말하는 감자입니다만.
Programming/협업

[Programming] Naming Rull

Why Naming Rull? 명명 규칙 준수를 통한 업무 생산성 효과 일종의 규약을 설정하여 협업의 원활한 업무적 의사소통 가능 업무 단계별 산출물 사이의 일관성 유지 명확한 의미 부여로 산출물 사이의 연관성 및 코드 가독성 증가 @ 대소문자 혼용 기법 1. 클래스나 메소드명은 파스칼 표기법을 따른다. 모든 단어에서 첫 번째 문자가 대문자이며 나머지는 소문자로 표기. public class HelloWorld{ // 클래스명 public void HelloCity(){ // 메소드명 } } 2. 변수, 파라미터 등은 카멜 표기법을 따른다. 최초에 사용된 단어를 제외한 모든 단어의 첫 문자가 대문자이며, 나머지는 소문자로 표기. int totalCost = 0; // 변수명 String fullName ..

Programming/Git

[Git] Git Pull Error (stash)

우선 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 사진처럼 정상적으로 완료된것을 볼 수 있을것이다.

Web/NestJS

[Nest.JS] Swagger Error : "TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body."

Nest.js 를 사용하면서 api문서화 도구인 "Swagger"를 사용하는데 여기서 스웨거란? Swagger 는 REST API를 설계, 빌드, 문서화 및 사용하는 데 도움이되는 OpenAPI 사양을 중심으로 구축 된 오픈 소스 도구 세트입니다. - About Swagger Specification 이 스웨거를 사용하다가 "TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body." 라는 오류가 발생해서 포스팅을 해보려고 한다. @Get 방식으로 유저 정보에 대해 불러오려고 했는데 스웨거 관련 코드를 보면 이렇다. @ApiBody({ type: ListUserDto, description:..

Web/NestJS

[Nest.JS] ERROR [ExceptionsHandler] No metadata for "Entity" was found.

ERROR [ExceptionsHandler] No metadata for "Entity" was found. 이런 오류가 뜰 경우 DB랑 프로젝트에 "Entity"파일이랑 연결이 안된 경우이다. Nest.js랑 DB연결 관련 파일은 app.moduel에 가면된다. app.moduel에 사진과 같은 부분이 있을 것 이다. 여기서 이전에 DB연결이 잘 되어있었다면 다른건 건드릴 필요없이 "entities: " 부분만 수정해주면 된다. [__dirname + '/**/*.entity{.ts,.js}'] "__dirname" 은 현재 실행중인 경로를 불러오고 뒤에 " '/**/*.entity{.ts,.js}' " 부분은 엔티티 파일의 경로를 뜻한다. import{ } 에 엔티티 경로를 보면 이해가 될 것 이다..

Web/NestJS

[Nest.JS] Node.js 실행중인 서버 확인 및 종료하기 - address already in use

Node.js 실행중인 서버 확인 및 종료하기 - address already in use 터미널 창에서 "address already in use(####)" 라고 Node.js 오류가 뜰 때 lsof -i TCP:3000 // 3000 은 예시이고 해당 address already in use[포트번호]에 있는 포트 번호를 써주자 명령어를 입력하게 되면 위 사진처럼 현재 사용중인 포트정보를 보여준다. 여기서 본인이 알고있는 프로젝트면 해당프로젝트 터미널창에서 ctrl+c 를 눌러서 종료시켜주자. 하지만 잘 모르거나 해당 서버의 cmd가 없을경우 종료할 PID를 이렇게 입력하자. kill -9 581 // 581대신의 삭제할 PID를 입력해주자 이러면 삭제 되었을 것 이다. 제대로 삭제되었는지 확인 해..

Programming Language/Javascript

[ES6+] ES6에서의 순회와 이터러블/이터레이터 프로토콜

# 이터러블/이터레이터 프로토콜 @이터러블 -이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값 - 이터러블 프로토콜을 준수한 객체. - 배열, 문자열, Map, Set은 이터러블 객체이다. - 이터러블 객체는 for...of문 뿐만 아니라 스프레드 연산, 구조분해 할당이 가능하다. Array 에 arr[Symbol.iterator] = null 넣으면 콘솔에 "Array는 Symbol.iterator가 아니다" 라고 나옴 @이터러블 프로토콜 - Well-know Symbol(JS가 기본 제공하는 빌트인 심볼 값)인 Symbol.iterator를 프로퍼티 키로 사용한 메소드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 Symbol.iterator 메소드를 호출하면 이터레이터 프로토..

Programming/협업

[Programming] ESLint와 Prettier

ESLint 와 Prettier 자바스크립트 개발을 하다 보면 문법 오류나 코드 정리로 인해 시간을 많이 소비한다. ESLint와 Prettier는 이러한 상황을 해결해 주는 도구들이다. ESlint 는 코드 퀄리티 보장, 즉 코드 구현 스타일에 대한 통일성을 강제한다. 코드 포맷터의 역할도 하지만, 주로 코드 에러를 잡아내고 코드 문법을 강제하는 등 코드 품질을 개선에 중점을 두었다. ESLint는 스타일 가이드를 편리하게 적용하기 위해 사용되기도 하는데, 많은 개발자가 사용중인 Airbnb Style Guide, Google Style Guide가 대표적인 예이다. ESLint 사용예시 ex) let foo = text;; 문자열에 따옴표도 없고, 세미콜론도 두개고, 변수에 값이 할당되어도 사용이 안..