본문 바로가기

분류 전체보기

(285)
feature-branch 네이밍 방법 (develop에서 feature 브랜치 만들기) git flow 전략을 이용해서 Develop 브랜치로부터 파생된 feature-branch를 만들어야 해서 팀원들끼리 네이밍을 고민하던 중에 2가지 정도의 방안이 나왔다. 일단 git flow는 Git으로 협업을 할 때, 서로간의 약속인 방법론을 뜻한다. 5가지의 브랜치들이 존재한다. 1) main(master) : 기준이 되는 브랜치로 제품을 '배포'하는 브랜치 2) develop : 개발 브랜치, 각자 작업한 기능들을 합(Merge)하는 브랜치 3) feature : 단위 기능을 개발하는 브랜치. 기능 개발이 완료되면 develop 브랜치에 합침 4) release : 배포를 위해 main 브랜치로 보내기 전 QA를 하기 위한 브랜치 5) hotfix : main 브랜치로 배포를 했는데 버그가 생겼..
ABI(Application Binary Interface) 파일이란? (+ ByteCode) 컨트랙트 메타데이터 Solidity 컴파일러는 현재 컨트랙트에 대한 정보를 포함하고 있는 컨트랙트 메타데이터 JSON 파일을 자동적으로 생성 이 파일을 사용하여 컴파일러 버전, 사용된 소스, ABI 등을 보다 안전하게 컨트랙트와 상호작용하고 소스코드 검ㅈ으 Solidity 소스코드를 컴파일하면 ByteCode(.bin) 파일과 ABI(.abi)파일이 생성된다. Bytecode 컨트랙트를 배포할 때 블록체인이 저장하는 정보 Solidity 소스코드를 EVM이 이해할 수 있는 형태로 변환한 것 ABI 컨트랙트 함수와 매개변수들을 JSON 형식으로 나타낸 리스트 EVM이 컨트랙트 함수를 실행할 때 필요 컨트랙트 함수를 실행하려는 사람은 ABI 정보를 노드에 제공 이더리움 스마트 컨트랙트는 이더리움 블록체인에 ..
REST API 규칙 REST API를 만들때 어떤 점을 주의해야할까? 문득 생각이 들어 찾아보았다. 앞으로 API를 만드는데 있어 정리해놓고 한 번 참고하면 좋을 것 같다. 1. 마지막에 / 를 포함하지 않는다 (X) http://api.test.com/users/ (O) http://api.test.com/users 2. underbar 대신에 dash를 사용한다 (X) http://api.test.com/hello_world (O) http://api.test.com/hello-world 3. 소문자를 사용한다 - camelCase 적용X 프로그래밍을 하다보면 camelCase가 익숙하다보니 이걸 RestApi를 설계할때도 반영이 되는 것 같은데, API를 작성할때는 지양하는것이 좋다. (X) http://api.tes..
ERROR [ExceptionHandler] Nest can't resolve dependencies of the UsersController (?). Please make sure that the argument UsersService at index [0] is available in the AppModule context. 문제 상황 $ nest g resource Users 위의 명령어를 터미널로 입력했는데 intelliJ 터미널에서 계속 아래와 같은 에러가 출력되었다. Mac Terminal에서는 아래와 같이 에러가 출력되어 중복 이슈인가?싶어서 tsconfig.json의 "skipLibCheck": true, 를 확인했는데도 true로 설정이 되어있어서 뭐지 싶었다. 문제 해결 app.module.ts 부분에서 providers 부분에서 AppService는 등록이 되어있으나 UsersService 등록이 되어있지 않았다. -> 만든 모듈은 모두 app.module.ts에 모두 등록을 해주어야 한다. 근데 의문. UserController는 controllers에 자동으로 등록이 되어있었는데 왜 providers - ..
Terminal 종료 단축키 cmd(command) + Q
Terminal과 IntelliJ 터미널 결과가 다르다? 문제 상황 분명 IntelliJ에서 Users 폴더에서 Error 부분에 있는 파일명을 지웠는데 에러가 발생하는 것이다. 문제 해결 Mac Terminal하고 intelliJ 터미널하고 반영에 있어서 무언가 차이가 있었던건지? IntelliJ에서는 바로 Users 폴더가 만들어지고 위의 에러가 발생하지 않았는데 Mac Terminal에서는 같은 오류가 계속 발생하고 있었다. 그래서 Mac에서는 해당 프로젝트에서 1) ls 명령어로 파일 확인 2) src > Users(or users) 디렉토리 삭제 3) nest g resource Users로 재설치 그래도 Mac 터미널로 관리하는게 좋긴 한 것 같다. 저런 시차? 똑같은 터미널 환경인데 왜 한 부분에만 반영이 되는지에 대한 의문은 아직 풀리지 않았다..
npm과 nest 명령어를 헷갈리다니 - undefined 오류 문제 상황 프로젝트 위치에서 Users에 관한 보일러플레이트 코드를 설정하려고 맥 터미널에 명령어를 입력했는데 계속 undefined 오류가 발생하는 것이다. 어디서 선언이 안되어서 그런가?하고 생각했다. 해결 방법 nest g resource Users 위와 같이 입력해줘야 undefined 오류가 사라진다. 이런 실수는 다시 하지 않기!
IntelliJ-Mac 실행+디버깅 단축키 Option(Alt)+Commad+R 실행과 디버깅이 동시에 된다.
NestJs에서 ReferenceError: Request is not defined 에러 발생시 해결방법 (feat. express) 문제 상황 NestJs를 이용하여 클라이언트 > 서버로 HTTP 요청 객체(req)를 보내려고 했는데 계속 ReferenceError: Request is not defined 라는 에러가 발생했다. 무언가 참조가 안되고 있는 것 같았다. 문제 코드와 상황 app.controller.ts 파일에서 express 요청에 대한 import가 없는 상황이었다. 해결 방법 HTTP에 대한 요청이 들어갈때마다(브라우저에서 새로고침) 인텔리제이 콘솔창에서 아래와 같은 요청값이 출력되었다. body: {}, route: Route { path: '/', stack: [ [Layer] ], methods: { get: true } }, [Symbol(kCapture)]: false, [Symbol(kHeaders)]:..
Mac 꿀팁) 크롬에서 개발자도구 열기 option(Alt) + Command + i 를 이용하여 맥북 크롬에서 개발자도구 탭을 열 수 있다.