<NFT란 >

대체 불가능한 토큰(Non-Fungible Token)라고 불리며 디지털 자산에 대해 소유권을 인증하는 수단

디지털로 된 자산으로 개인과 기업도 투자를 많이 함

  • 이더리움 : 제일 많이 사용하는 토큰, 다양한 블록체인을 지원하기 위해 특정 토큰이 만들어짐
    • 최근 쓰고 있는 프로토콜, 표준 인터페이스 : ERC-721, ERC-1155

 

<블록체인>

 민팅 : 디지털 자산(오디오 이미지 사진등의 파일 )에 NFT를 부여하는 행위

하나의 블록마다 데이터를 저장할 수 있는 디지털장부 개념 디지털 보안방법으로 활용

 단체 톡방에 데이터를 올리면 여러 사람들이 그것을 볼 수 있음, 어떤 디지털 파일을 여러사람이 볼 수 있도록 게시하여

 

<메타버스와 NFT의 관계>

1. 디지털 자산

 <NFT 발행과 판매흐름>

  • 준비단계 : 정자지갑생성(Kaikas,metamask등) -> 가상화폐 거래소에서 가상화폐 구매 -> 가상화폐 거래소에서 전자지갑으로 출금
  • NFT발행 플랫폼 가입(크래프트스페이스, Rarible등) -> NFT 발행
  • NFT 판매 : NFT 플랫폼과 연동(opensea등) ->판매플랫폼에 등록(수수료발생, 통상 가상화폐포 지불) -> 가상 화폐로 거래(인세 지급 및 판매 수수료 발생)

<NFT 발행과 판매의 유형>

  • cccv.to(국내플랫폼) : 등록 수수료 없음, 판매시 수수료발생
  • 분리형 플랫폼

<메타버스 내에서의 NFT 활용>

디지털 아트의 판매, 수집품의 판매(팔만대장경의 발행된 NFT의 판매), 음악, 게임내 재화, 스포츠(선수에 관련된 디지털 자산의 판매 : 경기가 있을때 예약을 할 수 있는 우선권을 준다던지.. 하는 서비스랑 연결하여...), NFT를 구매해야지만 예약할 수 있는 미슐랭 식당..

 

'COMPUTER > 메타버스 플랫폼 강사양성과정' 카테고리의 다른 글

미리캔버스  (0) 2022.06.22
Zepeto 특징  (0) 2022.06.22
젭(ZEP) 시작하기  (0) 2022.06.20
NFT 발행 하는 방법  (0) 2022.06.15
메타버스 플랫폼 개론  (0) 2022.06.13

<메타버스란?>

  • Meta(가상)+Universe(초월) = 한계를 넘어선 가상 세계

가상세계에서 현실세계에서는 할 수 없는 다양한 도전적인 일을 할 수 있음

  • 거울세계 :  현실을 그대로 옮긴 세계, 지도서비스 같은것
  • 가상세계 : 뭔가 의지를 가지고 그 안에서 액션을 할 수 있는것?

블록체인과 긴밀한 연결관계가 있음

 

<메타버스의 활용사례>

- 다양한 대규모 행사를 메타버스로 진행하기도 함 :

  • 가상 갤러리
  • 다양한 국가 행사(현충일 행사, 선거 활동 등)

<메타버스 관련 직업>

  • 메타버스 크리에이터 등

<메타버스를 배워야 하는 이유>

  • 메타 버스 탑재로 인한 기업 성장에 영향을 미침(나이키vs아디다스의 사례)

메타버스의 특징 : 아바타가 있음

 

 

'COMPUTER > 메타버스 플랫폼 강사양성과정' 카테고리의 다른 글

미리캔버스  (0) 2022.06.22
Zepeto 특징  (0) 2022.06.22
젭(ZEP) 시작하기  (0) 2022.06.20
NFT 발행 하는 방법  (0) 2022.06.15
NFT와 블록체인 개요  (0) 2022.06.15

import tensorflow as tf


//Load data

x = tf.placeholder(tf.float32,[None,784])  //data가 들어갈 부분

W = tf.Variable(tf.zeros([784,10]))  //학습될 weight의 자리 - 0으로 초기화

b = tf.Variable(tf.zeros([10])) //학습될 bias b의 자리 - 0으로 초기화

y = tf.nn.softmax(tf.matmul(x,W)+b) //


//Train the model

y_=tf.placeholder(tf.float32,[None,10])

cross_entropy = -tf.reduce_sum(y_ * tf.log(y))

train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

init = tf.initialize_all_variables()

sess = tf.Session()

sess.run(init)


//실제 train하는 부분 //데이터를 100개씩 1000번 주면서 train_step을 밟음

for i in range(1000):

  batch_xs, batch_ys = mnist.train.next_batch(100)

  sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})


//Evaluate the model

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))

accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))

print sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels})


'COMPUTER > Machine Learning' 카테고리의 다른 글

추천 공부 할 링크  (0) 2022.06.20
머신 러닝 관련 용어  (0) 2015.07.17
Likelihood Function  (0) 2013.05.06
loss function  (0) 2013.05.06
매니폴드 러닝 (Manifold Learning)  (0) 2013.04.02

apt-get update를 했더니에러가 난다..


100% [2 InRelease gpgv 9,404 B]Splitting up /var/lib/apt/lists/partial/archive.u무시http://archive.ubuntu.com trusty InReleaseata and signature failed

W: 디지털 서명 확인에 오류가 발생했습니다. 저장고를 업데이트하지 않고

예전의 인덱스 파일을 사용합니다. GPG 오류: http://security.ubuntu.com trusty-security InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)


E: GPG 오류: http://archive.ubuntu.com trusty InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?)


흑흑 GPG에러를 찾아보면, 키를 다시 받거나 하는 솔루션 들이 나오나 되지 않았다...

그래서 알아보니까 이건 방화벽 문제였다...

나는 회사내부망 서버에 우분투 설치했던 건데.. 방화벽에서 막아 키를 제대로 받아오지 못해서...저런 에러가 나는 거다..

답없다.. 방화벽을 열던지 서버를 뽑아오던지........

서버를 방화벽 없는 망에 연결 시켰더니 잘 된다...

그렇지만 다시 내부망으로 가져오니까.. GPG 오류 또난다... 

Database에서 Partitionining 이용시에 장점..


1. Query performance 가 특정 상황에서는 아주 향상될 수 있다. 특히, 대부분의 많이 접근되는 행이  하나나 몇개의 파티셔션에 집중되어 있다면 그렇다. Paritioning 자체가 인덱스 사이즈를 줄이는 것이 가능하고, 때로는 많이 사용하는 부분을 메모리에 모두 올리는 것이 가능할 수 있기 때문이다.


2. 하나의 파티션에 큰 부분을 접근하는 쿼리나 업데이트에서, 성능 개선이 가능하다. 인덱스를 타거나 랜덤하게 전체의 테이블에 퍼져있는 데이터를 읽는 대신에 하나의 파티션에서 순차적인 스캔이 가능하기 때문이다.


3. 대량의 데이터를 올리거나 삭제하는 것이 파티션을 통째로 다룸으로서(파티션을 새로 생성 또는 통째로 삭제함으로써) 가능하다. 물론 요구사항이 파티션 디자인 시에 계획되었을 대다.


4. 잘 사용되지 않는 데이터는 더 저렴하고 상대적으로 느린 저장소에 따로 저장하는 것이 가능하다.


대부분은 테이블 크기가 클 때 장점이 극대화됨...


PostgreSQL의 Partitioning

inheritance를 통해서 지원됨, 하나의 비어있는 parent table에 각각의 Partition이 child가 되는 형태임

Range Partitioning : column이나 여러개의 column 에서 오버랩 없이 나누어짐. 날짜로 나누거나, 식별자의 range로 나누게 됨

List Partitioning : 키 값의 list를 작성하고, 이 키 값의 리스트에 따라 나누어짐


PostgreSQL에서 Partitioning 방법

tutorial 72page pdf 146쪽


Partitioning 이후에 Query Optimization

"consraint exclusion"을 이용


set constraint_exclusion=ON;

select count(*) from measurement where logdate>=DATE'2008-01-01';


이런식으로~ constraint_exclusion이라는게 ON되어 있을 때 planner가 필요없는 partition을 제외하려고 노력한다.

요걸 어떻게 하는지 보려면 쿼리 플랜을 보는 키워드인 explain을 써보면 된다,

set constraint_exclusion=off;

explain select count(*) from measurement where logdate>=DATE'2008-01-01';






'COMPUTER > DATABASE' 카테고리의 다른 글

PostgreSQL Tips  (0) 2015.10.26
PostgreSQL 컬럼수 제한  (0) 2015.10.26
postgreSQL 유용한 쿼리  (0) 2015.10.20
altibase db connection 예제  (0) 2014.09.17
sql 여러행 비교 - 서브쿼리가 여러개의 행을 리턴할 때  (0) 2013.10.10

DROP TABLE IF EXISTS를 이용하면 테이블이 존재하지 않을 때만 테이블 삭제를 시도하는 것이 가능하다. 그러나 standard SQL은 아니다. 



컬럼에 default value를 가지게 할 수도 있음 - 데이터가 insert되는 시점에 값이 들어감...timestamp같은 경우에 유용하게 사용가능

CREATE TABLE products (

product_no integer,

name text,

price numeric DEFAULT 9.99

);




integer type에 다음 값으로 채워넣기

CREATE TABLE products (

product_no integer DEFAULT nextval(’products_product_no_seq’),

...

);


nextval이라는 함수가 따로 있음



제약조건 걸기(check constraints)

CREATE TABLE products (

product_no integer,

name text,

price numeric CHECK (price > 0)

);


제약 조건에 이름 붙여서 걸기

CREATE TABLE products (

product_no integer,

name text,

price numeric CONSTRAINT positive_price CHECK (price > 0)

);


컬럼과의 관계로 제약조건 걸기

CREATE TABLE products (

product_no integer,

name text,

price numeric CHECK (price > 0),

discounted_price numeric CHECK (discounted_price > 0),

CHECK (price > discounted_price)

);


여러개의 제약 조건 걸기

CREATE TABLE products (

product_no integer,

name text,

price numeric CHECK (price > 0),

discounted_price numeric,

CHECK (discounted_price > 0 AND price > discounted_price)

);

It’s a matter



외래키 있는 데이터 삭제시 2가지 대응 옵션

CREATE TABLE order_items (

product_no integer REFERENCES products ON DELETE RESTRICT, 삭제 시도 시 에러남, 딸린 데이터들 다 삭제하고 나서야 이 데이터 삭제가 가능함.

order_id integer REFERENCES orders ON DELETE CASCADE, 삭제 시도시 붙어있는 데이터들 다 같이 삭제..

quantity integer,

PRIMARY KEY (product_no, order_id)

);



스키마와 권한


스키마 search path 보기

show search_path

결과중 가장 첫번째에 있는 것이 current schema라고 볼 수 있음

set serch_path to myschema, public; 이런 식으로 serch path 설정이 가능함


schema사용을 위해서는 기본적으로 Usage 권한이 부여되어야 한다.

public schema에는 기본적으로 모든 사용자에게 create과 usage건한이 부여됨. 

->맘에 안들면 revoke하면 됨.(revoke create on schema public from public)


pg_catalog schema

system tables, built-in data types, functions, operator를 포함한 스키마


상속

상속시의 부모 테이블의 check constraints와 not-null constraints는 상속되지만, 다른 constraints(unique, primary key, foreign key)는 상속되지 않음




컬럼수에 제한이 있는데, 타입에 따라 다르나 250개에서 1600개 사이이다.

출처: PostgreSQL 투토리얼 50페이지

postgreSQL버전 확인

select version();


오늘 날짜보기

select current_date;


그룹별 랭크먹이기

SELECT depname, empno, salary, rank() OVER (PARTITION BY depname ORDER BY salary DESC) FROM empsalary;



SELECT salary, sum(salary) OVER () FROM empsalary; salary


 | sum --------+------- 5200 | 47100 5000 | 47100 1. There are options to define the window frame in other ways, but this tutorial does not cover them. See Section 4.2.8 for details. 18 Chapter 3. Advanced Features 3500 | 47100 4800 | 47100 3900 | 47100 4200 | 47100 4500 | 47100 4800 | 47100 6000 | 47100 5200 | 47100 (10 rows) Above, since there is no ORDER BY in the OVER clause, the window frame is the same as the partition, which for lack of PARTITION BY is the whole table; in other words each sum is taken over the whole table and so we get the same result for each output row. But if we add an ORDER BY clause, we get very different results: 



SELECT salary, sum(salary) OVER (ORDER BY salary) FROM empsalary; salary | sum --------+------- 3500 | 3500 3900 | 7400 4200 | 11600 4500 | 16100 4800 | 25700 4800 | 25700 5000 | 30700 5200 | 41100 5200 | 41100 6000 | 47100 (10 rows) 


'COMPUTER > DATABASE' 카테고리의 다른 글

PostgreSQL Tips  (0) 2015.10.26
PostgreSQL 컬럼수 제한  (0) 2015.10.26
altibase db connection 예제  (0) 2014.09.17
sql 여러행 비교 - 서브쿼리가 여러개의 행을 리턴할 때  (0) 2013.10.10
sql plus 몇가지 팁  (0) 2013.10.08

CPU 정보 확인 cat /proc/cpuinfo

메모리 용량 확인 cat /proc/meminfo | grep MemTotal


우분투 네트워크 설정

http://ismydream.tistory.com/99


개발환경 세팅(java & maven)

https://gist.github.com/benelog/2939bb100d26a31c7c92

Java8

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
java -version

http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html 참조 )

수동설치

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_31/bin/java 1000
sudo update-alternatives --config java
sudo update-alternatives --display java

Maven

3.0 설치시

sudo apt-get install maven

3.1 설치시 : http://askubuntu.com/questions/420281/how-to-update-maven-3-0-4-3-1-1 참조

sudo apt-get install gdebi
wget http://ppa.launchpad.net/natecarlson/maven3/ubuntu/pool/main/m/maven3/maven3_3.2.1-0~ppa1_all.deb
sudo gdebi maven3_3.2.1-0~ppa1_all.deb
sudo ln -s /usr/share/maven3/bin/mvn /usr/bin/maven


'COMPUTER > 서버관리-Linux' 카테고리의 다른 글

우분투 GPG 에러  (0) 2015.11.18
리눅스 압축 푸는 명령어  (0) 2013.05.20
우분투 자바 설치  (0) 2013.05.12
리눅스/윈도우 CPU 스펙 확인  (0) 2013.03.19
centos 5.5 download link  (0) 2012.11.26

 tensor :  the relationship among the various dimensions is represented by higher-order matrices 

한마디로 다차원 행렬로 표현된 여러 피처들 사이의 어떤 관계

tensor factorization : 이런 tensor를 여러개의 행렬 사이의 곱으로 표현되도록 하는 것

'COMPUTER > Machine Learning' 카테고리의 다른 글

추천 공부 할 링크  (0) 2022.06.20
TensorFlow Mnist Beginner Code  (0) 2015.12.03
Likelihood Function  (0) 2013.05.06
loss function  (0) 2013.05.06
매니폴드 러닝 (Manifold Learning)  (0) 2013.04.02

+ Recent posts