이더리움은 단순히 데이터를 저장하는 용도를 가진 비트코인의 블록체인을 넘어 동작하는 프로그램을 담을 수 있는 2세대 블록체인 입니다. 이더리움에 담겨진 프로그램은 마치 계약서와 같다고 하여 스마트 컨트랙트라고 합니다. 이더리움을 활용한 응용 프로그램(dapp)을 개발하기 위해서는 스마트 컨트랙트를 거의 필수적으로 개발해야 하는데요, 앞으로 여러 포스팅에 거쳐 이러한 스마트 컨트랙트를 작성하는 방법에 대해 알아보도록 하겠습니다. ■ 스마트 컨트랙트 개요스마트 컨트랙트는 이더리움이 최초가 아닌 1994년에 처음으로 제안된 개념입니다. 현실의 계약서는 글로 작성되어있어 실제 사람이 계약을 이행해야 했습니다. 하지만 디지털 명령어로 계약을 작성한다면, 해당 명령어에 따라 자동으로 계약을 이행할 수 있다는 개념 ..
■ InvocationTargetExceptionJava Reflection을 사용중 InvocationTargetException가 발생하는 경우가 있습니다. 이 예외를 처음 만났을 때는 정확하게 어느 위치에서 예외가 발생하였는지 알 수 없어 굉장이 당황할 수 있습니다.(사실 제가 그랬습니다...) InvocationTargetException는 method invoke시 호출한 메소드 내에서 Exception이 발생했을때 해당 Exception을 wrapping 해주는 Exception 클래스입니다. 실제로는 invoke 된 메서드에서 발생한 Exception이지만, 마치 invoke 구문에서 발생한것처럼 보이기 때문에 InvocationTargetException 자체의 stack trace 만으로..
인증되지 않은 SSL 인증서를 사용하는 사이트는 보안에 위험할 수 있습니다. 따라서 Java의 기본 API는 유효하지 않은 SSL 인증서를 사용하는 서버에 접속하지 못하게 설계되어있습니다. 하지만 개발용 서버나 여러가지 경우의 상황에서 유효하지 않은 SSL 인증서를 사용하더라도 접속을 해야하는 경우가 있습니다. 그래서 이번 예제는 유효하지 않은 SSL 인증서를 사용하는 서버에 접속할 수 있도록 HttpsURLConnection를 설정하는 예제입니다.
React는 Facebook에서 개발한 웹 프론트엔드 라이브러리 입니다. MVC중의 V - View 만을 담당하는 라이브러리 입니다. 기존의 DOM은 자주 변하는 동적인 UI에 최적화 되어있지 못해서 웹 기술이 발전하고 웹페이지의 규모가 커질 수록 성능상의 이슈가 빈번히 발생했습니다. 그래서 페이스북에서는 이 DOM의 조작을 최소화 시켜서 UI업데이트를 최적화 해 주는 React라는 라이브러리를 개발하였습니다. React는 Virtual DOM이라는 기존의 DOM을 추상화해서 업데이트 되는 UI를 반영하고, 업데이트가 완료되면 이 Virtual DOM을 이전의 Virtual DOM과 비교해서 달라진 부분만 실제 DOM에 반영하는 방식으로 레이아웃 계산을 최소화 시킴으로써 성능을 향상시켜줍니다. 따라서 성..
안녕하세요 박스여우입니다. 최근들어 안드로이드 개발을 꾸준히 못하고 있어서 많이 잊어먹은게 많은것 같습니다. 얼마전에 후배가 dp와 px의 차이점이 뭐냐는 질문에 멘붕이 오고야 말았습니다.. 분명 1학년 전공프로젝트 발표때 전교생앞에서 발표했던 내용이었지만 기억이 나질 않았습니다.. 그래서 앞으로는 다시 공부를 열심히 해보도록 하겠습니다. ■ DP - Device Independence Pixel안드로이드에서 px을 사용하게되면 말그대로 px단위로 레이아웃을 구성하게되어 다양한 크기의 스마트폰의 해상도에따라 UI가 천차 만별이 됩니다. 그래서 android에서 만들어낸 단위가 dp(dpi)입니다. 우선 dp를 다루기전에 dpi라는 단위부터 짚고 넘어가야 할것 같습니다. dpi는 dots per inch로..
안녕하세요 박스여우입니다. 이번 포스팅에서는 제가 아주 오래전에 한번 소개해드렸던 Fuse의 Grid class의 사용법에 대해 알아보도록 하겠습니다. ■ Grid란?Grid는 Fuse에만 있는 개념이 아니라 Android, Bootstrap 등과 같이 레이아웃을 구성하는 종류중 하나로 많이 쓰이고 있습니다. Fuse에서도 Grid는 같은 개념으로 사용되고 있는데요, 레이아웃을 각각의 크기가 동일하거나 다른 행과 열로 나누어 그안에 컴포넌트들을 배치할 수 있습니다. 1cs 위의 코드는 Grid의 가장 기본적인 코드로 동일한 크기의 4개의 행과 2개의 열로 레이아웃을 구성합니다. Grid의 요소는 왼쪽 오른쪽으로, 위쪽부터 아래쪽으로 차례대로 배치됩니다. 하지만 아래코드와 같이 Row와 Column속성을 ..