본문 바로가기

분류 전체보기46

[JavaScript] 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 얕은 복사(shallow copy) - 원본 객체를 복사하여 복사된 객체를 생성 - 복사된 객체는 원본 객체와 동일한 메모리 주소를 참조 - 따라서, 원본 객체의 값 변경 시 복사된 객체 값도 변경 깊은 복사(deep copy) - 객체를 복사 할 때 메모리 주소가 아닌 값을 복사함 - 이후 복사한 객체의 변경되어도 서로에게 영향을 주지 않음 깊은 복사(Deep Copy) 하는 방법 1. JSON 객체 이용 2. 반복문 이용 3. Object.assign 메서드 이용 2021. 12. 10.
[Typescript] 타입스크립트 사용 이유 & 필수 문법 타입스크립트란? - MS에서 개발하고 관리하는 오픈소스 프로그래밍 언어 - 자바스크립트의 상위 집합으로서 ECMA의 최신 표준을 지원함 - 정적 타입 언어(static type language)이기 때문에 컴파일 시 시간이 조금 걸리더라도 안정성을 보장함. 특징 - 웹 브라우저에서는 타입스크립트를 인식할 수 없으므로 자바스크립트로 변환하는 과정이 필요함 - 변수명에 콜론(:)을 쓰고 자료형을 지정함 => let myValue :string - 자료형은 아래와 같이 가능함 : any, string, number, boolean, null, undefined, bigint, [], {} 등 사용 이유 - 코드 유연성이 높은 자바스크립트의 경우 규모가 큰 프로젝트에선 문제 발생 가능성이 큼 - 변수의 자료형을.. 2021. 12. 9.
[Ethereum, Solidity] 210727 학습일지 코인과 토큰의 차이 코인 : 독립된 블록체인 네트워크를 소유한 경우 코인으로 부름 ( 비트코인(BTC), 이더리움(ETH), 퀀텀(QTUM), 스팀(STEEM), 넴(NEM) 등 ) 토큰 : 독립된 블록체인 네트워크를 소유하지 않은 경우 토큰으로 부름, 자체 메인넷을 보유하지 않고 다른 메인넷에서 파생되어 만들어 진 경우임 ( 이오스(EOS), 트론(TRX) 등 ) Q. A 는 이더리움 메인넷에 새로운 계약(C)을 생성하여 배포하였고, B 의 계정에 A 가 토큰을 전송하게 된다면 B 는 토큰을 받은 사실을 즉시 확인이 가능한가? : X, A가 C를 배포 후 B에게 토큰을 전송하였더라도 C 계약 내 변수의 값이 바뀌었을뿐 B는 C를 직접적으로 참조하고 있지 않으므로 확인 할 수 없다. B는 받은 토큰을 확.. 2021. 7. 27.
[Ethereum] 210726 학습일지 Main Block 외에 Uncle Block 에게도 보상을 주는 이유? : 마이닝 노드들의 이탈을 막기 위함(탈중앙성 유지) Accounts : 이더리움의 상태(state)는 계정(Account)이라 하는 오브젝트(object)들로 구성되어 있으며, 20바이트의 주소와 상태변화(state transition)을 가지고 있음 외부 소유 계정(EOA, Externally Owned Account) : 일반적으로 거래에 사용되는 사용자의 지갑주소를 의미함 주소는 개인키로부터 파생된 공개키로부터 생성됨 EOA 간의 거래는 ether의 전송을 의미하며, EOA에서 컨트랙트 주소로 메세지를 보내 해당 코드를 실행할 수 있음 컨트랙트 계정(CA, Contract Account) : 스마트 컨트랙트의 주소에 해당되며.. 2021. 7. 26.