일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cloud hsm
- ethers typescript
- redux 기초
- SBT표준
- 스마트 컨트렉트 함수이름 중복
- 체인의정석
- redux toolkit 설명
- ethers v6
- git rebase
- vue기초
- Vue.js
- cloud hsm 사용하기
- ethers websocket
- Vue
- 머신러닝기초
- cloud hsm 서명
- rust 기초
- 티스토리챌린지
- ethers type
- 스마트컨트렉트 함수이름 중복 호출
- 계정추상화
- 컨트렉트 동일한 함수이름 호출
- erc4337
- 러스트 기초 학습
- 오블완
- 러스트기초
- ambiguous function description
- erc4337 contract
- 스마트컨트렉트 예약어 함수이름 중복
- 러스트 기초
- Today
- Total
목록분류 전체보기 (528)
체인의정석

Redux 구조Redux는 데이터가 한 방향으로만 흐르는 flux 아키텍처에 따라 설계되었다.Store : Redux에서 모든 Store라 불리는 객체 안에 저장 됨Action, Dispatch : Redux에서는 Action이 일어나면 Dispatch를 하는데 어떤 일이 발생했을 시 Dispatch(송신)을 해서 State를 업데이트 한다.Dispatch된 Action을 받는 부분이 Reducer 이다.Reducer는 현재 State와 받은 Action에 대응해 새로운 State를 반환하는 함수이다.Reducer가 새로운 State를 반환함으로써 Store안의 State가 업데이트 된다.Redux toolkit 기본 예제https://redux.js.org/introduction/getting-sta..

요즘 바이브 코딩이 유행하면서 나도 AI 툴을 사용해서 생산성을 높이려고 노력중이다.매번 기본 설계 이후 예시와 목표등을 천천히 학습시키며 챗지피티랑 클로드를 같이 번갈아 쓰며 코딩중이였는데 이번에 클로드에서 만든 코드가 히트를 치면서 구글 제미나이에서 무료로 배포한 cli 툴이 있다하여 사용했다.https://github.com/google-gemini/gemini-cl GitHub - google-gemini/gemini-cli: An open-source AI agent that brings the power of Gemini directly into your terminal.An open-source AI agent that brings the power of Gemini directly into..

AWS에서 로그 관리를 클라우드 워치에서 할 수도 있다.보통은 그라파나에서 많이 사용한다고 하지만 내가 인계받는 부분은 클라우드 워치로 되어 있었고 AWS를 구성하면서 로그를 클라우드 워치에 맞게 남겨둘 경우 따로 대시보드 같은것도 만들기 편하다. 클라우드 워치에서의 로그는 쿼리문을 상세하게 검색이 가능하기 때문에 로그를 쿼리를 통해 검색할 수 있으며 기본적으로는 최근 시간 별로 검색이 가능하다.Cloud watch의 Log Insights 에서 로그 검색 시 특정 문자열 포함하여 검색하는 경우 다음과 같이 검색이 가능하다.특정 메세지 검색fields @timestamp, @message | filter @message like "오류메세지"최근 로그 25개 검색fields @timestamp, @mes..
Cloud HSM에서 공개키에 대한 값을 받을 때 지갑 주소 형태가 아닌 ec-point 라는 값을 받았다.찾아보니 해당 값에서 공개키를 도출할 때는 상황에 따라 다 다르게 도출을 해야하는것 같다.일단 설정 값 중 "key-length-bytes": 135 라는 문구가 보였는데원래 HSM을 쓰기 전 정석적으로 65바이트의 공개키를 사용하고 이후에 그 공개키를 지갑 주소로 변환하는 형태이다.따라서 135 만큼의 길이가 있다는 것은 특정 부분을 제외하고 공개키를 찾아야 한다는 점이다.📦 정석적인 EC 공개키 길이Ethereum에서 사용하는 secp256k1 곡선 기준:항목 길이 (bytes)0x04 (접두어)1 byteX 좌표32 bytesY 좌표32 bytes합계 (정상 EC_POINT)65 bytes ..
블록체인 지갑 주소의 경우 대소문자 구분이 존재하지만 db상에는 소문자 기준으로 저장하거나 하는등의 특별한 기준이 필요하다.이렇게 만들 경우 api에서 지갑 주소에 공백이 들어오거나 대소문자가 들어오게 되면 자동으로 변환해서 검색해주는 부분이 필요하게 된다.filter["wallet_address"] = bson.M{ "$regex": wallet, "$options": "i",}위와 같이 옵션에 i를 넣게 되면 대소문자 무시를 하게 되기 때문에 지갑 검색에 용이해지게 된다. wallet 문자열을 정규표현식으로 검색하되,"0xAaBb..."와 "0xaabb..."와 같이 대소문자를 구분하지 않고 비교합니다.예: 사용자가 "0xAabb"라고 입력해도, DB에 "0xaabb", "0XAABB" 등..
interface를 따로 쓰면 쓰면 따로 응답 값 타입을 지정하지 않고도 리턴이 가능하다고 한다.마치 ts의 any 같다.✅ interface{} = TypeScript의 anyGo에서는 모든 타입이 interface{}를 만족하기 때문에, 아래와 같이 어떤 값이든 담을 수 있다.var v interface{}v = 123 // intv = "hello" // stringv = []string{} // slice🔄 예: TypeScript와 비교TypeScriptGoanyinterface{}Recordmap[string]interface{}any[][]interface{}map[string]interface{} 가 쓰이는 경우는 다음과 같다고 한다.외부 API의 응답 구조가 계속..

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이 들어..
*필요한 용어들 중 AI로 생성된 설명을 모아둔 것입니다.1. AWS 환경이란?AWS (Amazon Web Services)는 클라우드 컴퓨팅 서비스입니다. 서버, 스토리지, 데이터베이스, 네트워크 등을 인터넷을 통해 빌려서 사용하는 구조예요.즉, 우리가 직접 서버를 사서 관리하는 게 아니라, 필요한 만큼만 빌려서 쓰고, 쓴 만큼 돈을 내는 구조입니다.2. VPC (Virtual Private Cloud)VPC는 AWS에서 제공하는 논리적으로 격리된 네트워크 공간이에요.하나의 VPC 안에는 여러 개의 서브넷(Subnet) 을 만들 수 있어요.서브넷은 Public Subnet / Private Subnet 으로 나뉘어요.VPC 안에서는 서버들끼리 내부 통신 가능.비유하자면?AWS 안에 내 전용 데이터센터를..