개발 부스러기는 완결된 형식의 글이 아닌, 다양한 시행착오를 기록하는 글입니다.1. 요구사항 부모 요소(투명)가 있고 그 아래에 자식 요소가 왼쪽(초록), 오른쪽(핑크) 끝에 배치되어야 함 (모두 flexbox 적용)왼쪽 자식 요소의 아래에 헤딩 또는 span 요소로 감싼 긴 텍스트(파랑)가 들어가는데, 공백으로 인한 줄 바꿈이 일어나지 않는 상태따라서 텍스트 오버플로우가 발생할 수 있음. 만약 오버플로우가 발생했다면, 오른쪽(핑크)의 영역을 침범했는지 확인침범한 경우 오버플로우로 인해 잘린 텍스트를 표시하기 위해 다음 사항을 적용텍스트 요소에 마우스를 올렸을 때(hover) 왼쪽으로 스크롤되는 애니메이션 실행2. 오버플로우 감지하기1. 상태값 및 DOM 요소 참조값 선언오버플로우가 발생했는지를 나타내는..
문제yarn 2.x 이상의 버전(yarn berry)을 사용할 때, workspace를 구성하고 별도의 타입스크립트 버전을 지정해 줄 수 있다이때, 코드 에디터에서 사용하는 타입스크립트 버전과 workspace의 버전이 서로 상이하여 코드 상에서 모듈이나 타입을 제대로 인식하지 못하는 문제 발생해결1. cmd(ctrl) + shift + p를 누르고 `TypeScript: Select TypeScript Version` 선택 2. `Use Workspace Version`을 클릭하면 문제 해결여담 이 문제 해결하는데 한 시간 넘게 걸렸다. `yarn workspace cannot find module or its corresponding type declarations` 이거로 구글링 해서 해결법을 찾을..
개발 부스러기는 완결된 형식의 글이 아닌, 다양한 시행착오를 기록하는 글입니다.1. 함수 시그니처란? 다음과 같이 정의된 함수에서function transfer(address to, uint256 amount) external { ...} 함수의 이름과 공백 없이 콤마(,)로 연결 파라미터의 타입들을 소괄호로 묶은 문자열을 연결한 것을 함수 시그니처(function signature)라고 한다.transfer(address,uint256) 함수 시그니처는 ABI(Application Binary Interface)를 파싱 할 때 사용하거나, 함수 선택자(function selector)를 계산하기 위해 사용된다. 함수 선택자는 함수 시그니처를 입력으로 한 keccack256 함수의 결괏값의 상위 4..
구현 및 동작이 가능한지 여부를 확인하기 위한 간단한 튜토리얼. 상세한 설명은 없습니다.프로젝트 초기화Next.js 프로젝트 생성$ yarn create next-appyarn create v1.22.22[1/4] Resolving packages...[2/4] Fetching packages...[3/4] Linking dependencies...[4/4] Building fresh packages...success Installed "create-next-app@14.2.5" with binaries: - create-next-app✔ What is your project named? … my-app✔ Would you like to use TypeScript? … No / Yes✔ Woul..
1. README.md 파일 및 일부 Solidity 파일 업데이트 Damn Vulnerable DeFi Challenges to learn offensive security of DeFi smart contracts in Ethereum www.damnvulnerabledefi.xyz 이전 버전의 문제가 적혀있는 README.md 파일을 전반적으로 최신 상태로 업데이트했다. 또한 업데이트된 문제와 맥락이 일치하도록 Solidity 파일을 업데이트했다. 2. Makefile 및 run.sh 파일 업데이트 새롭게 추가된 테스트를 간단한 키워드로 실행하기 위해 명령어를 추가하였다. 3. Mainnet 포크를 사용한 테스트 RPC URL과 블록 번호를 인수로 vm.createSelectFork를 호출하여 메인..
문제 https://app.web3oj.com/app/problem/21 컨트랙트 코드도 없고 ABI도 없는 상황에서 특정 함수를 호출하고 싶은 경우에 바이트 코드를 활용하는 방법. 바이트코드 foundry cast cli를 통해 런타임 바이트코드 불러오기 $ cast code 0x9843A771650a28de6d9ba52C38ca37F8870989c2 --rpc-url mumbai 0x608060405234801561001057600080fd5b50600436106100415760003560e01c806338cc483114610046578063a146bf7a14610064578063da17c60514610082575b600080fd5b61004e6100b2565b60405161005b91906101aa..
전체 코드 dig-solidity/hyperlane-v3 at main · piatoss3612/dig-solidity Contribute to piatoss3612/dig-solidity development by creating an account on GitHub. github.com 1. Foundry 프로젝트 초기화 forge init hyperlane-v3 2. 라이브러리 설치 $ forge install hyperlane-xyz/hyperlane-monorepo@main $ forge install OpenZeppelin/openzeppelin-contracts@release-v4.9 $ forge install OpenZeppelin/openzeppelin-contracts-upgradea..
mdBook 설치 rust 설치 필요! Install Rust A language empowering everyone to build reliable and efficient software. www.rust-lang.org $ cargo install mdbook mdBook 생성 및 로컬에서 실행 $ mdbook init mdbook $ cd mdbook $ mdbook serve --open Github Page 배포 1. Github Actions를 통한 Github Page 생성 활성화 2. Github Actions를 사용해 mdBook 배포 name: book on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest permission..
노트북 포맷한 김에 작성하는 글. Terraform 설치 Install Terraform | Terraform | HashiCorp Developer Install Terraform on Mac, Linux, or Windows by downloading the binary or using a package manager (Homebrew or Chocolatey). Then create a Docker container locally by following a quick-start tutorial to check that Terraform installed correctly. developer.hashicorp.com $ sudo apt-get update && sudo apt-get install -..
노트북 포맷한 김에 작성하는 글. SSH 키 생성 키 생성 $ ssh-keygen 키 출력 및 복사 $ cat ~/.ssh/id_rsa.pub Github에 공개 키 등록 settings - SSH and GPG keys New SSH key 클릭 복사한 공개 키 붙여넣고 Add SSH key 버튼 클릭 WSL에서 Git 구성 파일 설정 $ git config --global user.name "Your Name" $ git config --global user.email "youremail@domain.com" 테스트 자신의 리포지토리를 SSH 경로를 사용하여 클론하기 $ git clone