일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- rust 기초
- ethers type
- Vue.js
- ethers typescript
- 체인의정석
- multicall
- 계정추상화
- ethers websocket
- Vue
- vue기초
- SBT표준
- 스마트 컨트렉트 함수이름 중복
- chainlink 설명
- 스마트컨트렉트 함수이름 중복 호출
- 머신러닝기초
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초
- 러스트 기초 학습
- erc4337 contract
- 스마트컨트렉트테스트
- ambiguous function description
- 컨트렉트 배포 자동화
- ethers v6
- git rebase
- 러스트기초
- erc4337
- 티스토리챌린지
- 오블완
- ethers
- 컨트렉트 동일한 함수이름 호출
- Today
- Total
목록개발/database (31)
체인의정석

Mongo DB에서는 db단에서 null을 막아주는 not null 개념이 없다.대신 객체를 bson으로 전환할 때 빈값을 막아주는 omitempty 설정만 존재한다고 한다." Go 유형을 BSON으로 변환하는 프로세스를 마셜링(marshalling)이라고 하고, 그 반대의 과정을 언마셜링(unmarshalling)이라고 합니다." 라고 mongo db docs에 써져 있었는데db의 테이블에 해당하는 entitiy는 주로 struct형태로 작성하기 때문에 옵션에 omit empty를 설정하면 마셜링 과정에서 빈 값을 걸러내 주기 때문에 not null과 유사하게 사용할 수 있다는 생각을 했다.하지만 omit empty가 걸러내는 빈값에는 0, false, "", [] 가 모두 포함된다고 하니 0이 들어..
AWS에서는 자체적으로 mongoDB가 아닌 DocumentDB를 사용한다.이에 따라 로컬에서는 발생하지 않던 에러가 AWS배포 시에 발생하였다.Document DB에서 UPsert를 사용하니 "retryWrites" 관련 오류가 발생하였다.https://docs.aws.amazon.com/documentdb/latest/developerguide/mongo-apis.html Supported MongoDB APIs, operations, and data types in Amazon DocumentDB - Amazon DocumentDBSupported MongoDB APIs, operations, and data types in Amazon DocumentDB Amazon DocumentDB (with..

어떤 행을 수정할 때 키 값으로만 접근하도록 기본값이 설정되어 있는 에러이다.이를 해결하기 위해서는 mysql workbench의 설정값을 바꿔주거나 Settings 먼저 누르고맨 닡에 SafeUpdates를 해제해 주면 된다.아니라면 일회성으로는set sql_safe_updates=0;명령어를 실행시켜 주면 된다.

1. Nest.js 설치코드 1. Nest 설치 npm install -g @nestjs/cli 2. 설치확인 nest --version 3. netst new "프로젝트이름" 해당 명령어를 쓰게 되면 express generator 처럼 알아서 기본 틀이 만들어지게 된다. nest new cassandra-server ⚡ We will scaffold your app in a few seconds.. ? Which package manager would you ❤️ to use? (Use arrow keys) ❯ npm yarn pnpm 생성된 파일구조는 다음과 같음을 확인할 수 있었다. src/: 소스 코드가 위치하는 주 디렉토리. app.controller.ts: 애플리케이션의 컨트롤러. 요청을 처..
명령어 1. brew 로 카산드라 설치 brew install cassandra 2. cassandra 시작 brew services start cassandra 3. 카산드라의 쿼리 언어인 CQL 사용 Cassandra Query Language (CQL): Cassandra uses CQL for queries. You can interact with Cassandra using the CQL shell (cqlsh). cqlsh Connected to Test Cluster at 127.0.0.1:9042 [cqlsh 6.1.0 | Cassandra 4.1.3 | CQL spec 3.4.6 | Native protocol v5] Use HELP for help. cqlsh> 4. 콘솔에 들어가졌다면..
1. 인덱싱 체크하기 먼저 인덱싱은 조건 절에 들어가는 칼럼들 위주로 넣었다. 인덱싱을 다중 키로 넣는 경우 여러개도 가능하지만 블로그들을 찾아보니 5개 정도가 적당하다고 한다. 나는 아래 블로그를 학습하고 나서 인덱스를 걸었는데 매우 잘 나와있는 포스팅이다. https://inpa.tistory.com/entry/MYSQL-%F0%9F%93%9A-%EC%9D%B8%EB%8D%B1%EC%8A%A4index-%ED%95%B5%EC%8B%AC-%EC%84%A4%EA%B3%84-%EC%82%AC%EC%9A%A9-%EB%AC%B8%EB%B2%95-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC [MYSQL] 📚 인덱스(index) 핵심 설계 & 사용 문법 💯 총정리 인덱스의 개념 인덱스..
시퀄라이즈를 이용하게 되면 기본적으로 created at, updated at을 만들어 준다. 다만 이렇게 할 경우 raw query 대신에 시퀄라이즈의 문법을 써주어야 한다. 내가 이번에 작업했던 쿼리는 upsert() 라는 시퀄라이즈 함수를 사용하면 되었는데 나는 raw query로 작업을 하였다. 그러다 보니 raw query로 Update, create를 하는 방법을 찾게 되었다. const table = sequelize.define(table_name, { createdAt: { type: DataTypes.DATE, field: 'created_at', defaultValue: sequelize.literal('CURRENT_TIMESTAMP'), }, updatedAt: { type: Da..
현재 데이터의 상태를 업데이트 하는 쿼리를 만들다가 데이터가 있는지 DB접근 1 번 그리고 데이터가 없다면 삽입 있다면 업데이트를 하는 로직을 따로 만들었다. 그러나 이를 한번에 할 수 있는 방법이 있을거 같아 찾아보니 "MySQL에서는 INSERT ... ON DUPLICATE KEY UPDATE를 사용하여 레코드가 존재하면 업데이트하고, 존재하지 않으면 삽입하는 동작을 한 번의 쿼리로 수행할 수 있습니다. 그러나 먼저 이를 사용하려면 해당 테이블에 기본 키나 유니크 키 제약 조건이 있어야 합니다." 라고 챗 GPT가 알려줬다. const query = ` INSERT INTO DBNAME.${table_name} (A, B) VALUES ('${a}', '${b}') ON DUPLICATE KEY U..