분류 전체보기

    [패턴] 자주 사용되는 아키텍처패턴 4가지

    1. 레이어 패턴(Layer Pattern) 가장 흔히 사용되는 패턴으로 시스템을 계층화하고 하위 레이어가 제공하는 기능을 상위 레이어가 이용함으로써 각 레이어의 구조를 단순화한다는 발상에서 시작된다. 각 레이어는 해당 레이어가 의존하는 직접적인 하위 레이어만 알면 된다. - 장점 하나의 모듈을 업데이트 할때 다른 모듈이 받는 영향을 최소화 각 레이어의 책임을 명확히 할 수 있음 - 레이어 구조 - 3계층 프리젠테이션 레이어 응용프로그램에서 사용자와 상호작용하는 인터페이스(UI)로 데이터를 표시하고 서버와의 통신을 처리하는 계층 어플리케이션 레이어 사용자와 상호작용하면서 수집된 데이터를 처리하고 API를 통해 데이터레이어와 통신하는 계층 데이터 레이어 어플리케이션 레이어에서 처리된 데이터를 저장하고 관리..

    [BlockChain] NFT만들기, NFT거래 컨트랙트

    오픈제플린 표준규격을 활용하여 컨트랙트 구성 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 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 터미널로 명령어를 다시 입력하니 잘 작동됬다.

    [Docker] DockerHub 사용하기

    1. 이미지를 공유하는 방법 이미지가 있는 모든 사람은 그 이미지를 기반으로 컨테이너를 만들수 있다. 물론 이는 우리가 실제로 컨테이너를 공유하지 않는다는 의미이기도 하다. (1) Dockerfile 옮기기 Dockerfile을 전달해서 전달받은 사용자가 이미지를 build하고 컨테이너를 생성하여 사용할 수 있다. (2) DockerHub GitHub와 비슷하게 Dokcer에도 이미지를 push하고 pull 할수 있는 DockerHub가 있다. 도커 허브는 공식 도커 이미지 저장소이지만 이미지를 처리하는 방법과 이미지를 저장하고 배포하는데 사용할수 있는 수천개의 다른 서비스가 있다. 나중에 배포를 하게 되면 개인저장소를 더 많이 활용할 것이다. 2. DockerHub (1) push create repo..

    [Docker] Docker 명령어

    1. attached vs detached 모든 프로세스 확인하기 docker ps -a 다시 시작 docker start 아이디 docker run 과 docker start의 차이 run으로 컨테이너를 실행하면 터미널에 접근할 수 없지만 start는 터미널에 접근할 수 있다. start는 detached모드가 디폴트이며 run은 attached 모드가 디폴트이기 때문이다. attached 모드는 그 컨테이너의 출력결과를 수신한다는 것을 의미한다. 예를 들어 콘솔에 출력되는 내용같은 것들이다. -d 플래그를 이용해 detached 모드로 접근할수 있다. docker run -d 아이디 실행중인 컨테이너에 attached 모드로 접근하는법 (1) docker attach 이름 (2) docker logs..

    [Docker] Dockerfile

    1. Docker 도커가 없다면 NodeJS환경에서 프로젝트 진행시 npm install로 모듈들을 설치해줘야 한다. 하지만 도커가 있다면 이들을 설치하지 않고 사용할 수 있다. 2. Dockerfile Dockerfile이란 파일명을 도커가 식별한다. Dockerfile에는 자체 이미지를 빌드할때 실행하려는 도커에 대한 명령이 포함된다. Dockerfile 예시 FROM node WORKDIR /app COPY . /app RUN npm install EXPOSE 80 CMD ["node", "server.js"] FROM 일반적으로 FROM 명령어로 시작한다. 이를 통해 다른 베이스 이미지에 나만의 이미지를 구축할 수 있다. node라는 이미지로부터 시작한다는 뜻이다. 이미 나만의 시스템에 존재하거나..