본문 바로가기

전체 글

(83)
[1장] 블록체인개론 (정의, 분산장부, 동작구조, 불변성, 해시퍼즐체험) 1. BlockChain 정의 -> 블록체인이란, 아래 그림처럼 각 헤더 + 트랜잭션을 포함한 것 하나하나를 블록으로 서로 연결되어있다. 한가지 더 특징을 잡고가자면, 분산된 환경에서 모든 사람들은 같은 정보를 가지고 있다. 따라서, 개인이 위조 및 변조를 할 수 없는 구조로 이루어져있다. 블록체인의 주요 특징을 살펴보자면, 1. "Decentralization(탈중앙화)" 2. "Transparency(투명성)" 3. "Anonymity(익명성)" 4. "Immutability(불변성)" 네가지로 요약할 수 있다. 2. 분산장부란? -> 흔히 블록체인을 분산장부 시스템이라고 한다. 아래 그림을 살펴보면, 왠 돌맹이 두개가 떡하니 있다. 어느 은행이 없는 마을의 자산관리 및 거래 시스템이다. 아래 돌을 ..
[Error] Cannot set headers after they are sent to the client (클라이언트로 보내진 헤더를 다시 조정할 수 없다는 의미) 원인 : 즉, 응답값 (Nodejs에서는 res.send 혹은 res.json 등을 의미한다)이 중복되어 클라이언트에 전달되어 생겨나는 문제. 내 애플리케이션 사례 : 미들웨어에서 s3버킷에 있는 객체를 삭제하고 -> Post Delete Controller에서 글을 삭제하는 로직을 수행함. 그런데, s3를 삭제하는 미들웨어에서 res.json으로 프론트엔드에 삭제성공 데이터를 보내고, Delete Controller에서 다시 res.json으로 프론트엔드에 삭제성공 메세지를 중복되게 보내는 실수. 해결방안 : 미들웨어에서는 응답값을 삭제하고, 단순히 next()를 통해 다음 컨트롤러로 이동시켜줄 수 있도록 수정함.
[Error, React-Hook] props.history가 없어요! (useHistory) 리액트 개발을 하던 중, props.history가 자식 컴포넌트에서 동작하지 않는 상황에 마주했습니다. App.js에서 { withRouter } from "react-router"로 묶어주고, App을 withRouter로 감싸줍니다. 그리고, index.js에서 { BrowserRouter } from "react-router-dom"으로 묶어주면, props에 history 객체가 생성되는데요. 이를 이용해서, 뒤로가기, Link걸기 등의 작업을 할 수 있습니다. 그런데, App.js -> Home -> Header -> Menu 이런식으로 자식의 자식의 자식 컴포넌트로 이어지면, props.hisotry객체가 전달되지 않았습니다. 이런 경우 해결할 수 있는 방법으로 useHistory를 이용하면..
Reset CSS File /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption..