일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- node
- 배포
- nodejs
- 회고
- 공연티켓
- polygon
- Ai
- miniconda
- Laravel
- Remix
- chatGPT
- 티스토리챌린지
- 블록체인
- Python
- Setting
- netfunnel
- jquery
- React
- NextJS
- CSS
- 오블완
- 라라벨
- pagination
- threejs
- nft
- PM2
- nginx
- metamask
- exceljs
- Kaikas
- Today
- Total
목록전체 글 (137)
박주니 개발 정리
적용 이유) 공연 티켓 nft 배포 발행 기준으로만 만들고나서 예를 들어 티켓을 5개를 erc721기준으로 한번에 tokenId 5개 기준으로 좌석이랑 qrcode를 넣는거까지는 되었고 확인도 되었지만 구매자가 구매를 하기 위해서는 그것에 따른 abi 추가도 이루어져야한다는 것을 알게 되었습니다. 그래서 nft 마켓 기준으로 만든다고 가정했을 때 솔리디티 리뉴얼한 것을 올리겠습니다. 그 이후에 내용은 공연티켓 nft 배포(발행 기준)과 동일합니다. remix에 적용할 performanceNFT // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; impor..
적용하게 된 이유) 공연 티켓에는 보통 정보가 좌석이랑 qr코드를 넣어서 만드는 경우가 있는데 현재 제가 만들었던 erc721 개념은 하나만 발행할 수 있는 수준이였습니다. 그런데 이렇게 하나 하나 발행을 하다보면 예를 들어서 10000이 넘어갈 경우에는 만번을 일일이 발행하는 것은 비효율적이다라고 생각했고 erc721을 한번 발행시 여러번 발행하고 그 안에는 각각 정보를 담는 방법을 찾게 되었습니다. 찾는 과정에서 erc1155로 접근해야한다는 생각의 틀이 깨지게 되어 좋은 경험이었습니다. 배포 방법) 1. remix에 접속해주시길 바랍니다. https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljso..
react에 적용하는 것을 기준으로 설명하겠습니다. recordNFT 셋팅 1. src/Contract안에 RecordNFT.json을 생성해주시길 바랍니다. Contract 폴더가 없다면 새로 생성해주시길 바랍니다. 2. RecordNFT.json에 RecordNFT abi 정보를 넣습니다. { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalTyp..
적용하게 된 이유) recordNFT를 사용하게 된 이유는 현재 프로젝트 관리자에서 거래내역을 DB로 저장을 하면 보안상으로 취약할 수 있기 때문에 db가 아닌 블록체인으로 기록 용도로 사용하는 nft를 찾게 되다가 recordNFT를 알게 되어서 적용하게 되었습니다. 주로 erc721, erc1155에 대해 거래 위주로 사용했고 필요한 정보는 따로 db에 저장을 했는데 블록체인을 사용하는 가장 큰 이유는 보안이기 때문에 recordNFT가 필수라는 것을 다시 한번 느낄 수 있었습니다. 배포 방법) 1. remix에 접속해주시길 바랍니다. https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v..
우선 observe 적용에 대해서 설명하기 전에 observe를 사용했던 이유는 무한 스크롤 최적화를 하기 위함입니다. 특정 요소를 지나갈 때마다 새로운 컨텐츠를 로드할 수 있습니다. 그 외 이미지나 동영상 등의 미디어 로딩, 광고 배너 등의 노출, 애니메이션 실행, 로딩바등 최적화할 때 사용합니다. 조건) 기본적인 리스트 데이터 api 연결해주시길 바랍니다. 1. new IntersectionObserver을 이용해서 기본 구성을 만들어주시길 바랍니다. import {useRef} from "react"; const obsRef = useRef(null); //observer Element useEffect(() => { //옵저버 생성 const observer = new IntersectionObs..
1. create file('s3_image')가 의미하는 것은 프론트에서 formData로 보냈을 때 formData.append('s3_image', imageFile); 보냈을 것이고 그럼 laravel에서 api로 받아서 public function notice_create(Request $request)로 했을 때 Log::info($request);하시면 formData로 내보냈던 정보들을 확인하실 수 있습니다. 그럼 여기서 가져오고자하는 데이터는 s3_image이기 때문에 $request->file('s3_image');입니다. 주의사항) $request->s3_image;로 할 경우 파일타입을 확인할 수 없어서 null이 나올 것입니다. 꼭 file형태로 받을 경우에는 file('s3_im..
https://www.youtube.com/watch?v=EqoU1PodQQ4 유니티 flappy clone 참고했던 영상입니다. 다시 한번 조코딩님 좋은 영상 감사합니다. MakePipe.cs 에서 영상에서는 public GameObject pipePrefab을 넣어서 unity script에 pipePrefab public이 생성이 되고 거기에 해당되는 pipe를 넣은 후에 Instantiate(pipePrefab)을 넣으면 프레임마다 반복적으로 pipe가 나와야하는데 안나오는 경우 발생 chatGPT 답변) - 해결 완료 Unity에서 매 프레임마다 Pipe를 생성하려면, 다음과 같은 단계를 수행할 수 있습니다: Pipe 프리팹을 생성하십시오. Pipe 게임 오브젝트를 만들고, 원하는 디자인과 동작..
해결 방법 const [adminInfo, setAdminInfo] = useState(""); useEffect(() => { setAdminInfo( {name: "user"} ) }, []) React default value를 사용하는 이유는 다음과 같습니다. 기본값 설정: 만약, 사용자가 입력하지 않았을 경우, 특정 기본값을 표시하기 위해서입니다. 초기 폼 상태 설정: 폼을 처음 렌더링할 때, 특정 초기 값을 가지도록 설정하기 위해서입니다. 초기 데이터 상태 설정: API를 통해 받은 데이터를 표시할 때, 그 데이터를 기반으로 폼의 초기 상태를 설정하기 위해서입니다. 기존 데이터 로딩: 기존에 저장된 데이터를 불러와 폼에 표시할 때, 그 데이터를 기반으로 폼의 초기 상태를 설정하기 위해서입니다...