일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 블록체인
- 오블완
- chatGPT
- node
- exceljs
- Python
- 공연티켓
- NextJS
- polygon
- PM2
- 티스토리챌린지
- nft
- jquery
- threejs
- 라라벨
- 회고
- pagination
- Laravel
- metamask
- Setting
- Kaikas
- Ai
- netfunnel
- CSS
- Remix
- miniconda
- React
- 배포
- nodejs
- nginx
- Today
- Total
목록전체 글 (135)
박주니 개발 정리
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를 통해 받은 데이터를 표시할 때, 그 데이터를 기반으로 폼의 초기 상태를 설정하기 위해서입니다. 기존 데이터 로딩: 기존에 저장된 데이터를 불러와 폼에 표시할 때, 그 데이터를 기반으로 폼의 초기 상태를 설정하기 위해서입니다...
추가 설명) filter을 모르는 상황에서 구현을 할려고 했으면 empty가 아닌 것을 따로 배열로 담거나 let resultArray = []; foreach(array as item){ if(item !== "empty"){ resultArray.push(item); } } 그 외 shift나 pop 방식이 있으나 순차적으로 발생되는 것이 아니면 여러 조건문을 사용해야 합니다. 그러다보면 코드가 길어지고 실수가 나올 수 있으므로 구분해서 진행하는 것은 filter을 추천합니다.
최종본 pinata_api_key, pinata_secret_api_key는 pinata 적용할 때 사용한 api key와 비밀키를 넣으시면 됩니다. 추가 설명) 공식문서 방식으로 적용을 하면 headers에 'Authorization': 'Bearer PINATA JWT' 를 그대로 놓으면 당연히 400에러가 발생될 수 밖에 없습니다. chatGPT에 질문에 의한 답변으로 코드를 작성을 하면 The provided route does not match a valid Pinata endpoint 보통 이 에러는 hash된 값을 제대로 전달 안할 때 발생되는 것을 볼 수 있습니다. 그리고 공식문서와 비교를 했을 때 api 부분에 pinnint/unpin으로 접근을 하는데 chatGPT가 알려준 방식은 /d..