Skip to main content

· 2 min read
  • Pages
    • nextjs에서 page
      • React component이다
      • pages 디렉토리에 존재하는 소스파일명으로 자동 route 설정됨
        • pages/about.js를 만들면 browser에서 /about 이란 경로로 접근된다
        function About() {
            return <div>About</div>
        }
        export default About
        
        • pages/posts/[id].js - path parameter도 지원한다
          • 파일명에 [, ]가 들어가는게 생소하지만 된다
    • Pre-rendering
      • 기본적으로 nextjs에선 모든 페이지를 pre-render한다
        • 성능과 SEO 측면에서 좋다
      • 생성된 html은 최소한의 javascript 코드를 담고있다. 브라우져가 로드하고 javascript가 수행되면 fully interactive해 진다(그 전에도 보이긴 함)
        • hydration 과정이라고 칭함
      • 2가지 방식의 pre-rendering
        • Static Generation(추천)
          • build time(by next build)에 html을 생성해 버린다
          • 즉, 매 요청마다 서버에서 뭔가 처리하지 못한다
          • headless CMS나 headful CMS에서 내용을 기반으로 static page 구축
          • getStaticProps, getStaticPaths 사용
        • Server-side Rendering
          • 요청마다 서버에서 작업 결과를 넘겨준다
          • getServerSideProps를 정의하면 된다
      • 대부분의 page는 static generation을 사용하고 불가피한 page만 server-side rendering을 수행하게 만들수 있고 추천한다

· One min read
  • What does 'columnar file format' actually mean?
  • row-based file format: CSV, TSV, JSON, Avro
  • columnar file format: Parquet, ORC 예를들어 아래와 같은 형식이면 columnar file format이다. entry가 2개이다 (Mattew Rathbone/16세..., Joe Bloggs/102세...)
ID/INT/3:1,2
FIRST_NAME/STRING/11:Matthew,Joe
LAST_NAME/STRING/15:Rathbone,Bloggs
AGE/INT/6:19,102
COOL/BOOL/3:1,1
FAVORITE_FRUIT/ARRAY[STRING]/19:[bananas,apples],[]
  • 한 column이 너무 커지면 안되니까 1000개씩 반복
  • 사람이 보기엔 불편하다
  • 기계입장에선 last name이 'Rathbone'인 사람을 찾는다면 last name 컬럼만 보면 된다
  • compression 입장에서도 비슷한 특성의 데이터가 모이면 효율이 좋다

· One min read
  • 원문: CDC와 ETL 차이
  • 뭔가 읽어서 다른곳에 적재하는 방법
  • CDC(Change Data Capture)
    • (준)실시간 데이터 적재
    • 말 그대로 변경된 데이터를 취한다
  • ETL(Extract, Transfor, Load)
    • batch작업
    • 원천 데이터에서 필요한 부분을 extract하여 변경 후 대상시스템에 적재시킨다

· 2 min read
  • storage method가 decentralized되어있는가?

NFT Token과 Artwork은 같은곳에 저장되는가?

  • decentralized NFT들이 있다지만 NFT Market들(Nifty Gateway, SuperRare, Rarible, OpenSea...)등은 centralized component들도 사용한다.
  • NFT의 추가정보는 metadata를 사용한다. 그림에 잘 나와있다 ERC721
  • Metadata Standards ERC721과 ERC1155의 표준이 있다. 그런데 OpenSea에서 추가해 사용한다
  • OpenSea는 frozen되어있는지를 보여주는 기능이 있다. 하지만 NFT의 Smart contract 구현체들이 서로 다르니 참고해야한다.
  • 토큰은 Blockchain에 존재한다. 하지만 이미지나 비디오등은 off-chain에 유지한다. 이들의 hash value만 NFT token metadata에 저장된다

NFT artwork이 저장되는 3가지 방법

  • NFT와 같은 Blockchain에
    • artwork도 영원히 존재함을 보장할 수 있다.
  • 다른 blockchain 혹은 decentralized storage
    • IPFS, Arweave...
    • IPFS에 artwork을 두었더라고 누군가 pin을 해야한다. NFT creator가 pinning을 중단하면 사라질 수 있다
  • private or centralized server

· One min read

· One min read
  • 하양이아빠 - 본딩커브란?
  • donekim - 본딩커브설명
  • 토큰 판매시 가격을 산정하는 방식 중 하나
  • 토큰의 가격을 거래소 방식의 수요/공급에 따르는 것이 아니라 컨트랙트에 유입된 토큰양에 따라 가격 곡선이 정해져있다
  • 왜 곡선인가?
    • 새 토큰 이름이 GONG이라 할때 1000 GONG = 1 ETH 라고 정하는것도 가능하지만 초기에 투자할수록 이득이 있게 하려니 곡선이 된다