[CloseSea] eslint, prettier 설정
·
팀프로젝트/close_sea
개발을 하던 중간 서로 prettier의 설정이 달라 코드 정렬이 계속 달라졌다. 이를 해결하기 위해 eslinit와 prettier로 작업영역의 코드스타일을 통일 시키려고 했다. 루트폴더 /.vscode/setting.json { "editor.codeActionsOnSave": { "source.fixAll": true }, "eslint.workingDirectories": [{ "mode": "auto" }] } .vscode 폴더에 들어있는 setting.json은 루트 폴더 작업영역내의 설정을 해주는 것이다. "editor.codeActionsOnSave": { "source.fixAll": true }, 저장을 할때마다 formatter규칙에 따라 format을 해준다는 설정이다. "esli..
[Docker] ERROR in [eslint] EACCES: permission denied, mkdir '/app/node_modules/.cache'
·
팀프로젝트/close_sea
도커를 배우고 처음으로 적용한 프로젝트이다. 윈도우를 사용하며 도커를 공부하면서 마운트가 안되는 오류가 있었다. 그래서 리눅스로 도커를 공부했었다. 루트폴더를 만들고 도커환경을 세팅하는 과정에서 문제가 발생했다. 리액트를 빌드하려고 하면 ERROR in [eslint] EACCES: permission denied, mkdir '/app/node_modules/.cache' 라는 오류문구가 떴다. 옆에 팀원이 맥을 사용하길래 도커를 깔고 해보라고 한 결과 맥은 이상없이 잘 빌드되고 실행됐다. 리눅스에서 구글링을 해보고 주변에 도움도 청하면서 온갖 방법을 시도했지만 해결할 수 없었다. 2일을 투자했지만 아무것도 얻지 못했다. 그래서 대안책으로 docker-compose를 통해 데이터베이스와 백엔드 두개의 ..
[패턴] 자주 사용되는 아키텍처패턴 4가지
·
개발/정리
1. 레이어 패턴(Layer Pattern) 가장 흔히 사용되는 패턴으로 시스템을 계층화하고 하위 레이어가 제공하는 기능을 상위 레이어가 이용함으로써 각 레이어의 구조를 단순화한다는 발상에서 시작된다. 각 레이어는 해당 레이어가 의존하는 직접적인 하위 레이어만 알면 된다. - 장점 하나의 모듈을 업데이트 할때 다른 모듈이 받는 영향을 최소화 각 레이어의 책임을 명확히 할 수 있음 - 레이어 구조 - 3계층 프리젠테이션 레이어 응용프로그램에서 사용자와 상호작용하는 인터페이스(UI)로 데이터를 표시하고 서버와의 통신을 처리하는 계층 어플리케이션 레이어 사용자와 상호작용하면서 수집된 데이터를 처리하고 API를 통해 데이터레이어와 통신하는 계층 데이터 레이어 어플리케이션 레이어에서 처리된 데이터를 저장하고 관리..
[BlockChain] NFT만들기, NFT거래 컨트랙트
·
개발/BlockChain
오픈제플린 표준규격을 활용하여 컨트랙트 구성 1. NFTToken.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "../node_modules/openzeppelin-solidity/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; import "../node_modules/openzeppelin-solidity/contracts/access/Ownable.sol"; import "../node_modules/openzeppelin-solidity/contracts/utils/Strings.sol"; contract NFTToken is ERC721Enumerable, Ownab..
[Docker] 도커 마운트 경로 오류
·
개발/Docker
docker run -p 3000:80 -d --rm --name feedback-app -v feedback:/app/feedback -v "$(pwd)":/app -v /app/node_modules test:volumes 위 코드로 마운트를 하고 익명 볼륨으로 node_modules를 복사하려 했다. 하지만 아래와 같이 경로가 이상하게 잡혔다. 구글링을해도 찾기 원인을 찾기 힘들었고 별의별짓을 다해본것 같다. 문제는 내가 사용하는 터미널의 문제였다. 나는 GitBash를 사용했는데 이 터미널이 자동적으로 루트경로를 Git으로 잡아놓는 것이었다. 그래서 일반 cmd 터미널로 명령어를 다시 입력하니 잘 작동됬다.