| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- ambiguous function description
- rust 기초
- ethers typescript
- 스마트컨트렉트 함수이름 중복 호출
- 러스트기초
- ethers websocket
- ethers type
- cloud hsm 사용하기
- 컨트렉트 동일한 함수이름 호출
- 계정추상화
- Vue
- 체인의정석
- redux 기초
- vue기초
- erc4337 contract
- cloud hsm
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초
- erc4337
- 티스토리챌린지
- 러스트 기초 학습
- SBT표준
- Vue.js
- 머신러닝기초
- 오블완
- git rebase
- redux toolkit 설명
- 스마트 컨트렉트 함수이름 중복
- cloud hsm 서명
- ethers v6
- Today
- Total
목록분류 전체보기 (532)
체인의정석
모듈은 @Module() 데코레이터로 주석이 달린 클래스입니다. @Module() 데코레이터는 Nest가 애플리케이션 구조를 구성하는데 사용하는 메타데이터를 제공합니다. 다음과 같이 nest.js 에서는 여러 모듈을 체계적으로 관리할 수 있다. 컨트롤러와 프로바이더를 앞에서 따로 파일로 작성했기 때문에 이러한 모듈 파일에서는 파일로 작성한 부분을 모듈로 만들어서 관리해주는 역할을 하게 된다. 모듈들을 각각 인스턴스화 시킨다음에 하나로 모아주는 역할로 보면 되겠다. 처음에 기본 코드를 불러올 때 이미 작성이 된 내용을 현재 컨트롤러와 서비스에 맞게 수정을 해보았다. addresses.module.ts import { Module } from '@nestjs/common'; import { Addresses..
프로바이더는 Nest의 기본 개념입니다. 대부분의 기본 Nest 클래스는 서비스, 리포지토리, 팩토리, 헬퍼등 프로바이더로 취급될 수 있습니다. 프로바이더의 주요 아이디어는 종속성으로 주입할 수 있다는 것입니다. 즉, 객체는 서로 다양한 관계를 만들 수 있으며 객체의 인스턴스를 "연결"하는 기능은 대부분 Nest 런타임 시스템에 위임될 수 있습니다 컨트롤러는 HTTP 요청을 처리하고 더 복잡한 작업을 프로바이더에게 위임해야 합니다. 공급자는 모듈에서 provider로 선언된 일반 자바스크립트 클래스입니다. 요약=> 컨트롤러가 http 요청을 처리한다면 더 복잡한 작업은 provider가 맡아준다고 한다. addresses.service.ts findOne(address: string) { //DBquer..
http 요청이 들어오게 되면 먼저 controller를 거치게 된다. 컨트롤러에서는 라우팅 작업을 수행하게 된다. 이때 클래스와 데코레이터를 사용하여 경로를 만들어 주게 된다. nest g resource [name] 이런식으로 입력을 하면 리소스가 바로 생성이 된다고 한다. 아래와 같이 경로별로 폴더가 들어 있는것을 확인할 수 있다. 이런식으로 경로별로 하나의 단위로 묶은 후 그 안에서 모듈 ,서비스, 컨트롤러인 형태로 만드는것이 장기적으로 봤을 때 유리한것 같다. ? What transport layer do you use? REST API ? Would you like to generate CRUD entry points? Yes CREATE src/address/address.controller..
1. 기본 예제 - 다음 기본 예제를 보고 참고하여 코딩 https://github.com/nestjs/nest/tree/master/sample/01-cats-app GitHub - nestjs/nest: A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applica A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8) 🚀 - GitHub - ..
get 자체에는 이미 조회의 의미가 담겨 있으므로 api 설계시에 포함시키지 않는다. 애초에 조회라는 행위에만 쓰이므로 동사형이 오지 않는다. 따라서 명사형을 사용하여 설계 한다. 리소스 명이 들어가야 한다. 또한 get의 경로에 입력값을 포함시키는것도 일반적이기 때문에, 경로에 입력값을 넣는것도 좋다. 또한 input의 종류는 상황에 따라서 다르게 한다. 조회를 한다고 무조건 get을 사용하는것은 아니며 상세한 쿼리문이 들어갈 경우 post를 사용하기도 한다. 이럴 경우 복잡한 조회는 /search 를 post에 넣어주는 방법이 있다. url " / "는 계층관계를 의미하며 마지막에는 사용하지 않는다. 또한 문서하나인지 집합인지를 구분하여 복수, 단수도 적용해서 작성해야 한다. _ 보다는 - 를 사용하..
유저별로 서로 다른 결과 값을 보여주기 위하여, Sql query 결과에 고정값을 넣으면 어떨까? 라는 생각이 들었다. 해당 쿼리는 아래 글을 참고해서 만들었다. https://stackoverflow.com/questions/6472115/adding-a-static-value-to-the-results-of-an-sql-query 예를 들어서 아래와 같이 insert into 를 넣어서 서브 쿼리를 한다면 (입력값은 정말 아무값이나 랜점하게 넣었다.) user의 id를 넣으면 해당 유저로 부터의 모든 쿼리를 다 보여주는 것이다. 고정값을 ID로 두어서 해당 아이디가 검색한 값들은 전부 데이터베이스에서 저장해 두었다가. 저장된걸 한번에 볼 수 있도록 생각해봤다. 물론 인덱싱을 생각한다면 테이블에 유저별..
대용량 파일을 깃허브에 올리기 위해서는 따로 작업을 해주어야 한다. https://git-lfs.github.com/ 먼저 git-lfs를 설치하여 준다. brew install git-lfs 그다음으로 큰용량을 차지하는 파일 확장자를 적어준다. 난 csv 파일에 있는 대용량 데이터를 사용하기 때문에 git lfs track "*.csv" git add .gitattributes 이렇게 넣어주도록 하겠다. 그리고 그냥 push를 하면 끝!!이지만 사실 이런걸 하는데는 시간이 오래걸린다고 패스하여 실제로 해보진 않았다 ㅎㅎㅎ
1. csv.gz 다운후 csv로 풀기 https://opencsvfile.com/csv-gz-to-csv.html CSV.GZ to CSV Open CSV File. Learn about CSV file, its purposes and format. Read how to open CSV file, convert and transform to related file formats. opencsvfile.com gunzip 파일이름 2. csv 파일 dbeaver에 import 해오기 3. import 해오기 전에 미리 테이블을 만들고 인덱스 생성 primary키는 주소값으로 두어서 클러스터링 인덱스 생성 후, 서치를 할 보조 인덱스 설정
