일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ethers v6
- 컨트렉트 배포 자동화
- ethers
- erc4337 contract
- 러스트 기초 학습
- erc4337
- rust 기초
- 티스토리챌린지
- 계정추상화
- 체인의정석
- ethers websocket
- 스마트 컨트렉트 함수이름 중복
- Vue
- 스마트컨트렉트 함수이름 중복 호출
- 스마트컨트렉트테스트
- SBT표준
- vue기초
- 스마트컨트렉트 예약어 함수이름 중복
- ethers typescript
- multicall
- 컨트렉트 동일한 함수이름 호출
- 머신러닝기초
- chainlink 설명
- 오블완
- ethers type
- git rebase
- 러스트기초
- ambiguous function description
- 러스트 기초
- Vue.js
- Today
- Total
목록개발 (258)
체인의정석
class 안에 함수를 정의할 때 static으로 정적 메소드를 활용해보라는 피드백을 받았다. 원래는 constructor 안에 클래스 형태로 받아와서 함수를 세팅해주는 역할이 있지만 여기서는 클래스 형태로 받아와서 객체를 생성하는 기능과 json 형태로 받아와서 클래스로 만들어 주는 기능을 둘 다 사용하기로 하였다. 참고 링크 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes/static static - JavaScript | MDN static 키워드는 클래스의 정적 메서드를 정의합니다. developer.mozilla.org class ClassWithStaticMethod { static staticProperty = '..
test 코드 작성시에 특정 객체가 확인이 안되는 경우 다음과 같이 문자열로 만든 후에 체크가 가능하다. 원하는 부분에 넣고 돌리면 에러를 확인할 수 있다. const check = JSON.stringify(nameIdentifier); throw new Error(`nameIdentifier >>> ${nameIdentifier} \n check >>> ${check}`);
정규 표현식 검사, 작성한 코드이나 다음과 같은 조건문의 검사의 반복은 복잡하다고 하여 소스 코드에서 삭제하였다. 나중에 조건 검사를 할 때 다시 보기 위하여 코드를 백업해둔다. (해당 칼럼 명은 모두 IVMS101 표준 그대로 해둠) 다른 모듈에서 조건 검사하는 함수를 미리 정의해놓고, type안에 요소가 있을 시 해당 요소가 조건에 맞는지 검사하는 식이다. 각 검사 식 안에는 맞지 않을 시 에러를 리턴하도록 설정하였다. // ToDo : 정규 표현식 검사 및 제약 조건 검사 export class ValidAddress { constructor(address: Address) {} validAddressLine(address: Address): void { const AddressLineLength ..
코드를 작성할 때 입력값을 형태를 체크해 줘야 하는 경우가 종종 있다. 특히, 타입스크립트에서 정규 표현식을 체크할 때 다음과 같이 쉽게 체크할 수 있다. // RegistrationAuthority export function checkRegistrationAuthority(text: string) { const regexpNumber = new RegExp(`RA+^([0-9]{6})$`); if (regexpNumber.test(text)) throw new Error(`${text} should meet regular expression ^RA([0-9]{6})$`); return text; } 앞에 문자가 오는 경우 문자를 써주고 + 부호를 넣어준 후에 정규 표현식을 넣으면 된다. 아래의 글에 ..
TypeScript 모듈을 만든 후 jest로 테스트 코드를 작성할때 계속해서 에러가 발생. module의 위치를 알 수 없는 에러가 발생. https://kulshekhar.github.io/ts-jest/docs/getting-started/paths-mapping/ Paths mapping | ts-jest If you use "baseUrl" and "paths" options in your tsconfig file, you should make sure the "moduleNameMapper" option in your Jest config is setup accordingly. kulshekhar.github.io 다음과 같이 jest.confi.js에서 moudule name Mapper를 ..
처음부터 전략패턴을 사용하도록 설계할 수는 없음. 따라서 다음 서적을 읽으면 리팩터링을 잘할 수 있다. 서적 추천) Classic 한 오래된 책 - 10년이 지나도 유효한 책 패턴을 활용한 리팩터링 (패턴으로 리팩터링을 해 나가는것) http://www.yes24.com/Product/Goods/14752528 패턴을 활용한 리팩터링 - YES24 www.yes24.com 자바는 정적언어라서 리팩터링이 잘 된다. 리팩터링을 하기 쉽지만 자바스크립트는 어렵다. 상속을 하나에서 받아와서 하려면 인터페이스에서 메소드 하나만 추가하면 다 바꾸어야 한다. 따라서 상속을 쓸 때도 동작을 추가하고 인터페이스를 하나 더 두어서 분리 시킨다. 단일책임원칙도 이에 해당된다. 단일책임 원칙을 지켜야 한다. 역할을 구분하게 ..
velog.io/@mingtorr/node.js-%EC%97%90%EC%84%9C-api%EC%9A%94%EC%B2%AD%ED%95%98%EA%B8%B0 node.js 에서 api요청하기 보통 클라이언트 단에서 fetch를 통해 api를 요청하지만 서버단에서 api를 요청해야 하는 상황에 직면했다. velog.io request 모듈을 사용하여 요청 진행 www.npmjs.com/package/request request Simplified HTTP request client. www.npmjs.com
fetch는 XMLHttpRequest 형태의 API를 노드에서 직접적으로 받아서 쓸 때 사용한다. 다음과 같은 코인 가격정보를 가져오는 예시에서 사용하였다. observablehq.com/@jflatow/compound-price-feed Compound Price Feed Prices Current Current prices on : Percentage deviation in on-chain prices (from reported prices): Historical Price vs Block* Events Posters Anyone may post, this one is run by Compound: World Appendix observablehq.com Motivation Instead of im..