
Component와 Module은 개발을 하다보면 매우 흔하게 사용되는 용어입니다. 하지만 이러한 Component라는 용어를 한 마디로 정의하자면 매우 어려울 것입니다. 그래서 이번 포스팅을 통해 Component와 Module에 대해 한 마디로 정의할 수 있도록 정리해보고자 합니다. 개인적으로 가지고 있던 컴포넌트의 정의는 "재사용 할 수 있는 단위"라고 생각하고 있었습니다. 사실 Component의 등장 배경 중 일부는 코드를 재사용 하고 반복을 줄이기 위함이였기 때문에 완전히 틀린 정의는 아니였습니다. 하지만 단순한 이 정의는 일반적인 함수나 클래스와 같이 다른 재사용 가능한 것들과 차별점이 없다는 것을 깨닳게 되었습니다. 그래서 보다 더 정확한 정의를 내리기 위해 자료를 찾아보게 되었고, 크게 ..

MVC, MVP, MVVM 패턴은 소프트웨어를 개발할 때의 디자인 패턴 입니다. 디자인 패턴은 소프트웨어를 개발할 때의 문제점들을 개선하기 위해 소프트웨어의 구조와 규약을 정리하여 패턴처럼 쉽게 사용할 수 있도록 정리된 방법을 말합니다. 디자인패턴, 그리고 그중 MVC, MVP, MVVM은 면접 질문에서 가장 많이 등장할 정도로 유명하고 기초적인 패턴입니다. 이번 포스팅에서는 이 3가지 디자인 패턴을 소개하겠습니다. ■ MVC - Model View Controller MVC 패턴은 소프트웨어를 개발할때 Model, View, Controller 세 가지 형태로 역할을 나누어 개발하는 디자인 패턴 입니다. Model 모델은 데이터+상태+비즈니스 로직을 말합니다. Model에는 단순히 데이터를 담고 정의하..

블록체인을 공부하며 문뜩 든 생각이 있었습니다. 분산컴퓨팅을 활용해 지갑의 주소로부터 privateKey를 얻어올 수 있는가 라는 의문이 들었습니다. 만약 private key를 브루트포싱으로 얻을 수 있다면 몇년간 거래가 없었던(누군가 잃어버린) 주소의 코인을 해변가에서 금속 동전을 찾듯이 회수할 수 있지 않을까 라는 궁금증이 생겼습니다. 지갑 주소의 생성 과정 우선 방법에 대해 알아보기전에 이더리움 주소의 생성 과정에 대해 알아보도록 하겠습니다. 우선 이더리움 주소의 생성과정은 간단하게 privateKey -> public key -> address 순으로 생성됩니다. privateKey 는 HEX 값으로 구성된 64자리의 랜덤값으로 생성한 뒤에 타원곡선 암호화 알고리즘(ECDSA)으로 private..

안녕하세요 박스여우입니다. 최근 블록체인 송금 관련 토이프로젝트를 진행하던중 블록체인에 대한 기본 지식없이 진행하기에 어려움을 느껴 이더리움, 블록체인에 대해 조금씩 더 공부해보려고 합니다. 오늘 소개해드릴 내용은 nonce에 대한 이야기 입니다. nonce - 각 어카운트의 트랜젝션 수 카운터 nonce는 트랜젝션의 수를 카운트 하는 숫자 입니다. 트랜젝션이 발생할 때 마다 nonce의 값은 증가하게 되며 여러 트랜젝션이 같은 nonce값을 가지지 못합니다. 쉽게 말해 database에서 auto increment index라고 생각하면 됩니다. 이더리움 네트워크를 구성하는 노드는 이 nonce 값에 따라 트랜젝션을 순서대로 처리합니다. 예를 들어 하나의 어카운트에서 두개의 트랜젝션을 전송했다고 했을 ..

ReactiveX(RxJava, RxJs, Rx*)은 비동기 작업 및 이벤트 기반 프로그램을 작성하기 위한 라이브러리 입니다. 최근(?) 안드로이드부터 시작해서 프론트엔드, 백엔드까지 다양한 부분에 rx가 도입되고 있습니다. 필자 또한 rx에 관심이 생겨서 수개월간 사용해왔지만 이제서야 rx에 대한 기초를 정리해보려고 합니다. ■ Reactive Programming Rx에 대해 알아보기 전에 rx의 기본 개념인 Reactive Programming에 대해 알고 넘어가야 할 필요가 있습니다. Reactive Programming은 비동기 데이터 스트림을 이용한 프로그래밍으로 OOP, FP와 같이 프로그래밍 패러다임이라고 볼 수 있습니다. 좀더 쉽게 설명하자면, 데이터를 작은 데이터의 연속(스트림)으로 다..

React 16.8 버전부터 FC - Functional Component(함수형 컴포넌트)에 State를 사용할 수 있도록 해 주는 Hooks 라는 개념이 생겼습니다. 스스로 Hooks 는 별로 중요한 기능이 아니라고 생각했었지만, React 개발자들 사이에서는 Hooks 가 중요하게 여겨지고 있었습니다. 이에 의문을 가지고 Hooks 와 함수형 컴포넌트에 대해서 학습하였고 함수형 컴포넌트와 Hooks 의 중요성에 공감하게 되어 이번 포스팅에서는 이에 대해 정리해보고자 합니다. ■ 왜 Functional Component(함수형 컴포넌트)에 집중하는가 Hook을 보며 많은 개발자들이 클래스 컴포넌트보다 함수형 컴포넌트를 더 선호하고 둘의 차이를 좁히기위해 노력하고 있다는걸 알게되었습니다. 그래서 함수형..