분류 전체보기

    [Devops] github actions로 자동 배포 설정하기 (nodejs 배포)

    AWS 배포한 후 추가로 코드를 수정했을 때 자동으로 서버에 적용해주면 좋을것 같다라는 생각으로 시작했다. 찾아보니 여러 툴이 있었지만 가장 간편하게 보였던 github action을 이용해봤다. 아래는 완성 코드이다. name: Continuous Deployment on: push: branches: - prod jobs: build: runs-on: ubuntu-latest steps: - name: Deploy to prod uses: appleboy/ssh-action@master with: host: ${{ secrets.HOST_DEV }} username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: 22 script: ..

    [HyperLedger] 네트워크, MSP, Peer

    1. 네트워크 블록체인 네트워크는 애플리케이션에 원장, 스마트컨트랙트 서비스를 제공 채널이 구성될때 정책을 만든다. 정책에 따라 권한이 결정되는 채널을 형성한다. 인증기관(CA)는 X.509 인증서 제공 X.509 : 공개키 - 개인키 CC1 형성 - C1 생성 - 피어(원장), 오더러(원장) - 피어 SC 설치 - 어플리케이션과 소통 2. MSP 인증 기관에서 생성된 ID를 역할로 바꾼다. 권한, 역할을 식별하기 위해 사용 실제로 아무것도 제공하지 않음 3. Peer 채널의 원장을 가지고 있다. 권한이 있다면 스마트 컨트랙트를 설치하여 트랜잭션을 제안, 거래할 수 있다. 피어 트랜잭션 제안 - 게이트웨이 다른 피어에게 뿌려서 확인 - 다른 피어에서 스마트 컨트랙트 실행값 받음 - 게이트웨이에서 오더러로..

    [BlockChain] 코인과 토큰의 차이

    1. 코인 코인은 비트코인과 같이 단독적이고 독립적인 블록체인을 갖는 암호화페를 일컫는다. 예를들면 비트코인, 이더리움, 리플 등이 있다. 이 암호화폐들은 네트워크가 넓으며 특정 목적을 달성하도록 디자인된다. 예를 들어 비트코인은 안전한 고정 통화 정책하에 검열에 저항하는 가치의 저장고이자 교환의 수단으로 존재한다. 코인은 보통 과거의 기술이나 다른 암호화폐에서 영감을 얻어 특정 목적에 맞는 하나의 혁신적인 네트워크로 융합한다. 코인의 또다른 예인 이더리움은 탈중앙화된 블록체인에서 실행되는 범용 컴퓨터 프로그램을 만들기 위한 스마트 계약 플랫폼이다. 이더리움은 금융 데이터 보다는 게임부터 소셜 미디어까지 임의적인 프로그램 데이터에 집중한다. 이더리움은 자산을 전송,수령,관리하거나 가스비 등을 지불하는데 ..

    [BlockChain] 블록체인의 트릴레마

    1. 블록체인의 트릴레마란? 트릴레마란 세가지 목표 가운데 두가지 목표는 동시에 해결할 수 있지만 세가지 목표를 한꺼번에 해결할 수 없는 문제를 뜻한다. 블록체인 트릴레마라고 했을때는 확장성, 탈중앙화, 보안성이라는 블록체인의 세 가지 근본 가치를 동시에 달성하기 매우 어려움을 뜻한다. 확장성이란 블록체인이 얼마나 많은 트랜잭션을 얼마나 빠르게 처리하는지, 탈중앙화는 특정 집단이 통제하는것이 아닌 서로 다른 개별 참여자들이 합의를 통해 네트워크를 운영 및 관리할수 있는지, 보안성은 네트워크에 대한 공격으로부터 블록체인에 기록된 정보 및 자산을 안전하게 지킬수 있는지이다. 2. 각 요소의 장단점 (1) 확장성 장점 단점 네트워크가 많은 양의 트랜잭션을 지원할 수 있도록 함 보안을 희생해야 함 보안이 주요 ..

    [Docker] kubernetes 기초 개념

    1. 쿠버네티스란? 쿠버네티스는 배포를 위해 사용하는 오픈소스이다. 원하는 배포를 정의하는 구성파일, 배포할 컨테이너, 인스턴스 수, 스케일을 확장해야 하는지, 교체해야하는지 등을 설정할 수 있다. 그 다음 특정 도구를 사용하여 클라우드 프로바이더 또는 실제로 올바르게 구성된 우리의 자체 머신에 전달한다. 그러면 그 구성에 지정된 리소스와 배포를 생성하기 위해 쿠버네티스 구성을 적용한다. 쿠버네티스는 도커를 대신하는것이 아니다. 도커 컨테이너와 함께 작동하여 컨테이너를 어디에나 배포할수 있게 하는 것이다. 여러 머신을 위한 docker-compose라고 생각할 수 있다. 2. 수동 배포의 문제점 컨테이너가 충돌하거나 다운될 경우 새 컨테이너로 교체해야 한다. 트래픽 급증시 더 많은 인스턴스가 필요하다. ..

    [Docker] docker로 mariadb 개발환경 구축하기

    기업협약 팀프로젝트를 하면서 mariadb를 사용할 일이 있었다. 팀원들은 전에 mysql만 사용해봤기 때문에 mariadb는 로컬에 깔려있지 않았다. mysql과 mariadb는 같은 포트번호를 잡아먹기 때문에 동시에 설치하여 실행하기 위해서는 따로 포트를 바꿔줘야했다. 이러한 번거로움을 덜기위해 도커로 mariadb를 실행하여 포트번호 통일, 로컬에 설치하지 않아도 되게끔 했다. 1. mariadb 이미지 mariadb - Official Image | Docker Hub Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The full description can ..