전체 글 169

ERC721을 사용한 NFT 코드 이해

여기서 4개의 장부가 중요하다.(mapping) _tokenOwner 는 토큰아이디로 그 토큰 주인의 주소를 적는 장부이다. _tokenApprovals 는 토큰 아이디로 그 토큰을 허용받은 주소를 적는 장부이다. _ownerTokenCount 는 주소가 소유한 토큰의 개수를 적는 장부이다.(그냥 알고리즘을 사용할 수 있지만, 가스비를 생각해 장부로 만든다.) _operatorApprovals 는 소유자가 다른 사람에게 권한을 승인한 여부를 적는 장부이다. 여기서 중요하다고 생각하는 장부는 _tokenOwner와 _ownerTokenCount가 중요하다고 생각한다. 그 이유는 중요한 함수인 mint(생성), safeTransferFrom(안전한 주소 변경), transferFrom(실재 주소 변경), b..

GAN 와 style transfer 란 무엇인가?

gan는 Generative Adversarial Networks의 약자로 적대적인 두 네트워크가 생성과 검증을 반복하며 사실에 가까운 이미지를 만드는 알고리즘이다. 입력을 넣으면 여기서 스타일을 뽑아 컨텐츠에 스타일을 적용하여 새로운 출력값을 뽑아내는 알고리즘이다. style transfer 는 입력된 컨텐츠에 입력된 스타일로 새로운 결과값을 만드는 알고리즘이다. 입력으로 스타일과 컨텐츠를 입력하면 컨텐츠에 스타일을 더하여 컨텐츠에 스타일이 혼합된 결과가 나온다. *아직 공부하는 중이라 잘못된 내용이 있을 수 있습니다. 잘못된 부분을 지적해주시면 수정하겠습니다.

ERC20을 사용하여 코인/토큰 만들기 중 중요한 것

이더리움에서 ERC20을 사용하여 코인을 만들 수 있다. (여기서 20은 어느 개발자가 이더리움에게 제안한 방법중 받아들여진 번호이다.) ERC20을 사용하여 코인/토큰을 만들 때 중요한 2가지가 있다. '누가' '얼마나'가지고 있나?(balances) => Transfer(누구에게, 얼마나 보내냐?) '누가''누구에게''얼마나'허용하냐?(allowed) => TransferFrom(누가, 누구에게, 얼마를 보내냐?) balaces는 1차원 배열인 반면, allowed는 2차원 배열(테이블)이다. approve(_spender, _value)함수를 사용하여 msg.sender(실행자)가 _spender에게 _value만큼 허용한다. allowed[msg.sender][_spender] = _value 그..

블록 체인은 무엇인가?

블록체인은 데이터의 모음인 블록들이 체인으로 묶여 있는 상태를 말한다. 블록들을 어떻게 체인으로 묶는지 궁금하다면 '해시함수'를 알아야 한다. 일단 처음의 데이터가 있다. 그 데이터를 해시 함수를 사용하여 암호화 한다. 그 다음 추가된 다른 데이터를 전에 나온 해시 함수의 결과와 함께 해시함수로 암호화 한다. 이 과정을 계속 반복하면 데이터가 체인형식으로 묶이는데 이를 '블록체인'이라고 한다. 이렇게 생성된 블록을 블록체인위에 놓으려면 또 이 체인으로 묶인 블록들을 '노드'라 불리는 다른 컴퓨터와 공유하며 계속 갱신하는 것이 블록체인의 높은 보안성의 키워드이다. 그러므로 한 컴퓨터가 해킹당해도 다른 컴퓨터에서 주기적으로 가져오는 데이터로 인해 해킹이 불가능 하다고 말한다. 이처럼 많은 수의 컴퓨터를 사용..

파일을 이용해 안드로이드 웹뷰(webview) 만들기

저번엔 웹페이지를 기반으로 웹뷰를 만들어 보았다면 이번엔 내 컴퓨터 안의 파일을 이용해 웹뷰를 만드는 법을 적어보겠다. 1. main 폴더 아래에 assets폴더를 만들어 파일 넣기 안드로이드 스튜디오를 연 상태에서 왼쪽 맨 위의 'android' 로 되어있는 것을 'project'로 바꾼다 (상태를 바꾸면 안드로이드 상태에서 사용하지 않는 기본폴더를 사용할 수 있게 된다.) 바꾼 상태에서 main폴더를 찾아 그 아래에 assets 폴더를 만든다. 만들어진 assets폴더에 파일을 넣는다. 2. mainactivity 파일을 고친다. (안의 코드는 저번 글에서 한 내용이므로 전 글을 안 보고 오셨다면 https://jacorinne.tistory.com/4 에서 웹뷰를 만들고 오세요.) 맨 아래의 마지막..

APP/WebView 2021.10.17

안드로이드 웹뷰(webview) 만들기

이번 글에는 웹페이지를 웹뷰를 사용하여 앱으로 만드는 법을 적어보겠습니다. 코르도바로 만든 apk가 구글에 출시가 안 되어 웹뷰를 사용하게 되었습니다. 1. 새 프로젝트를 만들어 줍니다. empty 유형을 선택하고 프로젝트를 생성해주세요.(언어는 자바입니다.) 2. manifests 설정 를 맨 위의 manifests 에 추가해줍니다. 3. layout을 고쳐주자 처음에 있던 대신 이 내용을 붙인다. 4. MainActivity 에 추가하자 먼저 웹뷰와 설정을 사용한다고 선언해주자. private WebView mWebView; // 웹뷰 선언 private WebSettings mWebSettings; //웹뷰 설정 전역변수로 선언 후 onCreate 함수안에 아래 내용을 추가하자. mWebView =..

APP/WebView 2021.10.04

코르도바 릴리스 버전 출시

1. 자신의 코르도바 프로젝트 파일에 들어가 release apk 출시 mac에선 sudo cordova build android --release 를 터미널에 치면 / 프로젝트 이름/platforms/android/app/build/outputs/apk/release 아래에 apk 한개가 생긴다. 이제 key를 만들어 준다. sudo keytool -genkey -v -keystore [key 이름].keystore -alias [별칭] -keyalg RSA -keysize 2048 -validity 10000 key도 만들어졌고 이제 jarsigner 를 사용해 key에 사인해준다. 만약 환경변수에 jarsigner 등록이 안 되어있다면 (환경변수가 등록되어 있다면 안 옮겨도 된다.) [환경변수 등록..

APP/Cordova 2021.10.02