AWS Beanstalk를 이용해 private subnet에 애플리케이션을 생성했고 이 애플리케이션의 로그를 Cloud Watch로 스트리밍 하려고 했다. 하지만 정상적으로 들어오지 않아 로그를 확인해 보니 아래와 같은 에러를 확인할 수 있었다. 해결 - PrivateLink Cloud Watch는 VPC 내부에 위치한 것이 아니기 때문에 퍼블릭 네트워...
Elastic Beanstalk이란 인프라에 대해 자세히 알지 못해도 AWS 클라우드에서 애플리케이션을 쉽게 배포 할 수 있게 해주는 AWS 서비스이다. GO, Java, .NET, Node.js, PHP, Python 및 Ruby에서 개발한 애플리케이션을 지원한다. Elastic Beanstalk 서비스 자체에는 요금이 없지만 Elastic Beansta...
한글 깨짐 React로 만든 페이지를 elctron으로 실행해보면 아래처럼 한글이 깨져서 나왔다. 폰트 설치 후 실행 폰트를 설치 후 다시 실행해보면 정상적으로 한글이 출력되었다.
Shell 설정 파일 |파일명|적용 범위|동작 시점| |:---:|:---:|:---:| |/etc/profile|전체 계정, 전체 Shell|로그인| |/etc/bashrc|전체 계정, Bash Shell| Shell 구동| |~/.bash_profile ~/.profile |로그인 계정, Bash Shell|로그인| |~/.bashrc|로그인 계정, B...
PATH란? 실행 가능한 프로그램이나 명령어의 위치를 지정하는 환경 변수입니다. PATH를 지정하면 사용자가 명령어의 전체 경로를 입력하지 않고도 실행할 수 있게 해줍니다. PATH 확인 방법 :으로 경로가 구분되고 동일한 이름의 명령어가 PATH에 존재하면 앞에 있는 경로의 명령어가 사용된다. 명령어 실행 파일 위치 확인 방법 명령어 PATH 추가...
Create React App Linux Package 설치 Electron 설치 Electron 파일 생성 Package.json electron.tsconfig.json 파일 추가 실행 First Terminal Second Terminal 참고 https://stackoverflow.com/questions/73008985/sigtrap...
CodeDeploy 제한 - AWS CodeDeploy 배포 그룹에 대한 최대 동시 배포 수가 1개로 설정되어 있어 같은 배포 그룹에 배포 요청을 하지 못하는 것으로 보인다. 이전에 요청한 배포가 완료가 된 후에 다시 요청하면 배포 요청이 성공한다.
EC2 User Data NVM PM2 오류 아래 스크립트를 바로 User Data에 기입하면 NVM이 설치되지 않고 PM2도 작동하지 않음 user data는 root 계정으로 작업을 진행함 source 명령어가 작동하지 않음 pm2 start를 하면 /etc/.pm2에 생성이 됨 아래와 같이 shell file을 생성해 ubuntu 계정의 권한으로...
도메인 구매 도메인은 가비아에서 구매하였습니다. Route 53 도메인 등록 Route 53은 AWS의 DNS(Domain Name System) 서비스로 도메인 등록, DNS 라우팅, 상태 확인등을 할 수 있습니다. Route 53에서 구매한 도메인을 등록해 봅시다. 호스팅 영역 생성 버튼을 누릅니다. 도메인 이름에 구매한 도메인을 입력하고 유형은...
실습 환경 ubuntu 22.04 init 테라폼 구성 파일이 포함된 작업 디렉토리를 초기화 합니다. 이 작업을 실행하는 디렉토리를 루트 모듈이라고 부릅니다. 테라폼에서 사용되는 프로바이더, 모듈 등의 지정된 버전에 맞춰 루트 모듈을 구성하는 역할을 수행합니다. 이 명령어는 테라폼의 구성 파일이나 상태 파일을 삭제하지 않기 때문에 여러 번 실행해도 됩니다...
Truffle 컴파일 컴파일 할 solidity 파일 작성 contracts/Counter.sol truffle-config.js solc 버전 수정 Ganache CLI v6.12.2 (ganache-core: 2.13.2) 기준으로 solc 버전이 0.8.18 이하일 때만 컴파일한 파일을 배포할 때 오류가 나지 않는다. build/contra...
이더리움 개발을 위한 툴 Geth : Go-ethereum의 약자로 Go 언어로 구현된 이더리움 Node이다. ganache : 테스트 목적으로 사용하는 개인용 이더리움 네트워크이다. web3, ethers : 쉽게 블록체인 노드들에게 요청을 보낼 수 있는 라이브러리이다. truffle, hardhat : 스마트 컨트랙트를 배포까지 쉽게 사용 할 수 있...
이더리움 스마트 컨트랙트 배포 Solidity 파일 생성 및 작성 : Solidity라는 언어로 코드를 작성 Solidity 파일 컴파일 : EVM이 해석할 수 있도록 HEX값으로 코드를 컴파일 Transaction 생성 : Transaction 객체를 생성 후 이더리움 노드에 전송 로컬 환경에서 이더리움 스마트 컨트랙트 배포 프로젝트 디렉터리에 패키...
가스 이더리움은 블록체인 네트워크 참여자가 애플리케이션을 실행하는 과정에서 발생하는 스마트 컨트랙트를 모두 블록체인상에 기록해야 한다. 그 과정에서 많은 부하가 일어날 수 있다. 이를 방지하기 위해 이더리움은 가스(gas)를 도입해 트랜잭션(transaction)으로 인한 네트워크 과부하를 방지하였다. 가스비 계산 가스가격 * 가스 한도 = 가스비 ...
트랜잭션과 메시지 이더리움에서 계정은 외부소유계정(EOA)과 컨트랙트계정(CA)이 존재한다. 외부소유계정(EOA)은 이더리움 계정으로 입/출금이 가능한 계정이고 컨트랙트계정(CA)은 스마트 컨트랙트의 주소로 프로그래밍 언어로 쓰인 코드와 저장공간을 가진 계정이다. 외부소유계정(EOA)은 트랜잭션(Transaction)을 보낼 수 있다. 컨트랙트계정(...
Account 이더리움에서 상태(state)는 계정(account)이라고 하는 오브젝트(object)들로 구성되어 있다. EOA(Externally Owned Account) : 외부 소유 계정 개인키에 의해 통제되는 계정이다. 트랜잭션을 생성하기 위해서는 전자 서명 정보가 필요하다. 전자 서명을 하기 위해서는 반드시 개인 키 정보가 필요하다. ...
변수 선언 자바스크립트와 타입스크립트의 변수 선언은 비슷하다. 차이점이라면 대입 연산자 앞에 :[type]으로 타입을 지정해준다는 점이다. 타입 지정을 하지 않아도 변수 선언을 할 때 값을 할당하면 타입스크립트가 알아서 타입을 추론해 타입을 지정해준다. 위와 같이 JavaScript 변수 선언 같이 사용해도 문제는 없다. 위와 같이 변수 선언 시 초기...
ts-node TypeScript를 사용하면 코드를 작성하고 확인하고 싶으면 컴파일을 진행한 뒤에 코드를 실행할 수 있었다. 이는 개발 속도를 저하시키게 된다. ts-node를 사용하면 TypeScript 파일(.ts 또는 .tsx)을 직접 실행할 수 있다. TypeScript 코드를 자동으로 컴파일하여 JavaScript로 변환한 후 Ndoe.js에서 실...
tsconfig.json 전역 속성 compilerOptions: 타입스크립트 파일을 진행할 때 어떤 형태로 컴파일을 진행할 지 속성을 정의하는 옵션이다. include: 컴파일을 진행할 파일들을 지정하는 속성이다. 와일드 카드 패턴으로 지정한다. include에 명시되어 있어도 exclude에 명시되어 있으면 제외된다. exclude: 컴파일 대...