| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- vue기초
- Vue.js
- ethers typescript
- ethers type
- 러스트 기초 학습
- Vue
- 오블완
- 스마트 컨트렉트 함수이름 중복
- ethers websocket
- cloud hsm 서명
- erc4337 contract
- 컨트렉트 동일한 함수이름 호출
- 계정추상화
- cloud hsm
- 체인의정석
- 러스트 기초
- redux toolkit 설명
- git rebase
- ambiguous function description
- erc4337
- rust 기초
- ethers v6
- 머신러닝기초
- cloud hsm 사용하기
- 티스토리챌린지
- 러스트기초
- 스마트컨트렉트 예약어 함수이름 중복
- SBT표준
- redux 기초
- 스마트컨트렉트 함수이름 중복 호출
- Today
- Total
목록전체 글 (532)
체인의정석
보안을 위해 보통 서버에 접속할 때는 바로 접속하는것이 아닌 bastion 서버를 두게 된다.bastion의 경우 pem 키만 있으면 접속이 가능하지만 여기서 다른 서버로 들어가기 위해서는 한번 더 접속을 해야한다.이에 대한 작업이 반복되면 번거롭기 때문에 보통 ssh config를 통해서 각 서버에 맞는 명령어를 통해서 한번에 접속을 하도록 세팅을 해준다.Host example-bastion-live HostName "Pulic IP넣기" User ec2-user IdentityFile ~/.ssh/example-live.pem Host example-service-live HostName "Private IP넣기" User ec2-user IdentityFile ..
프로그램에서 S3에 접근하기 위해서는 AWS credentials가 먼저 필요하다.aws credentials 확인의 경우 다음과 같은 경로에 세팅 한다.cat ~/.aws/credentials[default]aws_access_key_id = aws_secret_access_key =ts에서 사용하는 패키지import S3Helper from '@lib/AWS/S3Helper';먼저 프로필을 사용해서 객체를 만들어 줘야 한다.const testS3Helper = new S3Helper('us-west-2', 'default');그리고 정책에 들어가서 해당 IAM계정이 S3에 어떠한 권한이 있는지 체크해야 한다.보아하니 권한 끝에 /*가 붙어 있지 않으면 s3Object를 다룰 수 없다고 하여 붙여 주었..
비디오 스트리밍의 경우https://github.com/video-dev/hls.js GitHub - video-dev/hls.js: HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.HLS.js is a JavaScript library that plays HLS in browsers with support for MSE. - video-dev/hls.jsgithub.com다음 모듈을 써서 구현하면 된다.위와 같이 CDN을 사용하면 바로 구현이 가능하다.참고로 html자체로만 띄우면 cors에러가 나기 때문에 pm2로 띄우거나python3 -m http.server 8080 --bind 0.0.0.0다음과 같이 ..
다른 환경과는 다르게 실제 live 배포시에는 릴리즈 노트를 작성해야한다.들어가야 할 항목은 다음과 같다.1. 새로 추가한 기능2. 수정 사항 (PR링크)3. 알려진 이슈들 정리4. 배포 정보 (젠킨스 잡, git Tag 등과 같이 배포 프로세스별로 구분되는 태그와 릴리스 번호)- 대상환경, 배포서비스 ,Genkins Job, Git tag5. 배포 시간 / 프로세스- 배포시간이 얼마나 걸렸는지- 배포 프로세스에서 체크해야할 사항이 있다면 해당 부분을 체크하였는지6. 배포된 서버- 배포된 서버의 ip 주소 (고정 ip가 아닐 경우 매번 업데이트 진행, 현재 시스템은 bastion만 고정이며 나머지는 고정으로 두지 않음) 및 인스턴스 ID 및 링크 (동일한 서버가 여러대 있을 경우 각 인프라 별로 모두 정..
React에서는 재랜더링이 발생하는 3가지 패턴1. State 업데이트2. Props가 변경된 컴포넌트3. 재랜더링 된 컴포넌트 아래의 모든 컴포넌트이러한 재랜더링을 계속하게 될 경우 부하가 많이 발생하게 된다.리액트에서 컴포넌트, 변수, 함수 등을 재렌더링할 때 제어가 필요한 경우에는 메모이제이션을 수행한다.메모이제이션은 이전 처리 결과를 저장해 둠으로써 처리 속도를 높이는 기술로 필요할 때만 다시 계산하게 하여 불필요한 처리를 줄일 수 있다. 만약 부모가 재랜더링을 하더라도 메모이제이션이 되어 있다면 자녀 컴포넌트의 재랜더링을 막을 수 있다.- 컴포넌트 메모이제이션memo를 사용하면 컴포넌트 자체가 메모이제이션이 되면서 이러한 랜더링 과정에서 부모가 바뀌더라도 자식은 바뀌지 않게 된다.- 함수 메모이..
go로 백엔드를 작업할 때 보통 자체적인 go 모듈을 go common과 같은 이름으로 넣고 프로젝트에서 쓰는 레포에서 공통적으로 사용하는 경우가 많다고 한다. node.js나 nest를 할 때는 거의 퍼블릭 모듈만 썼었는데 go는 자체적으로 구현하는 회사들이 더 많은거 같다. 이렇게 자체 모듈을 쓰는 경우 코드를 수정할 때 common모듈과 함께 프로젝트 수정까지 들어가는 경우가 존재한다.그럴 때는 go.mod에서 원래대로 정의를 해준 후에 하단에replace github.com/레포이름/go-common => /Users/chohyunki/go/src/go-common해당 replace 명령어를 써서 정의를 해두면 로컬에 있는 레포 기준으로 작동이 가능하다.작동이 모두 잘 되는것을 로컬에서 확인하면 ..
현상 : 평소에 모듈의 경우 모듈 정의를 다 하고 상용하였으나, 인계 받은 코드에서 export에 대한 선언 없이 모듈처럼 특정 파일을 사용하고 있는 상황. 하지만 하나라도 export를 붙이면 컴파일 오류가 발생. 해당 방식으로 사용되는 케이스는 처음봐서 어떠한 원리로 동작하는지 파악결과 : typescript가 파일 자체를 모듈로 취급할지 아니면 스크립트로 취급할지를 결정파일 안에 export나 import가 한 줄도 없으면 해당 파일은 모듈이 아닌 전역스코프에 포함되는 스크립트로 취급 이에 따라서 import 구문 없이 바로 사용가능하지만 충돌할 위험이 커지기 때문에 사용이 권장되지는 않음.보통은 export를 정의하고 import를 정의해서 사용. TypeScript에서는 ECMAScript 20..
Cloud HSM을 구축해보고 그 과정을 복기하며 정리해 보았다.https://docs.aws.amazon.com/cloudhsm/latest/userguide/getting-started.html Getting started with AWS CloudHSM - AWS CloudHSMThanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.docs.aws.amazon.com일단 위의 가이드를 보고 진행하면 된다. 해당 문서의 내용은 아래와 같다.순서는 먼저 IAM, VPC 설정을 해..
