전체 글
-
UTXO 에 대해 알아보자.block Chain/ETC 2021. 9. 25. 17:57
UTXO (Unspent Transaction Output) UTXO는 사용되지 않은 트랜잭션을 의미한다. 트랜잭션을 남은 잔액이라고 생각해서 이해하면 쉽게 접근할 수 있다. UTXO는 보유하고 있는 잔액의 단위의 개수라고 볼 수 있다. 예로 내가 만 원짜리 한 장과 천 원짜리 한 장이 있다고 했을 때 금액은 11000원이겠지만 여기서의 UTXO는 2가 된다. 나의 잔액 단위 개수는 2개이며 각 단위들은 사로 다른 잔액을 가리키고 있다. 하나는 만 원, 하나는 천원 만약 만원 한 장, 천원 두 장이라고 본다면 UTXO는 3개가 된다. 블록체인 위에서의 UTXO 도 위와 같이 이해할 수 있다. UTXO는 남은 잔액을 알려주는 것이 아닌 남은 잔액의 수를 알려주는 것으로 각각의 UTXO는 각각 다른 개수의 ..
-
비잔틴 장군의 딜레마와 블록체인block Chain/ETC 2021. 9. 25. 17:56
분산화 컴퓨팅의 난제 분산화 컴퓨팅은 여러 컴퓨터를 활용하여 큰 연산을 수행하는 것으로 적은 힘을 많이 들여 큰 힘으로 만드는 시스템이다. 여러 컴퓨터의 협력으로 하나의 결과를 만든다면 여기서 신뢰성이 얼마나 중요한지 알 수 있다. 만약 중간에 컴퓨터가 거짓 행위을 한다면 결국 잘못된 결과로 이끌어낼 것이다. 어떻게 하면 서로 떨어져 있는 여러 독립제들이 어떤 행동을 하기 전에 서로 의견이 일치하다는 것을 알 수 있을까? 이러한 문제를 비잔틴 장군의 딜레마 라고 한다. 비잔틴 장군의 딜레마 비잔틴 장군의 딜레마에서는 떨어져 있는 각 장군 중 일정 장군 이상이 합동하여 같은 시간에 다 같이 적의 성을 공격해야 이길 수 있는 상황에서 각 장군은 자신 근처에 장군에게 연락하는 식으로 전달하여 결과적으로 모든 ..
-
FIDO 에 대해 알아보자.block Chain 2021. 9. 25. 17:54
서론 인터넷 뱅킹 한 번 하자고 2~3개 이상의 패스워드를 별도로 입력해야 한다면, 차라리 은행에 직접 가서 일을 보는 것이 더 수월할 수도 있다. (시큐업 세미나(https://it.donga.com/22651/)) FIDO 언라이언스 FIDO 언라이언스 는 보안 목적으로 사용되는 비밀번호의 사용을 줄이는데 목표를 가진 협회로 안정성이 있는 인증 방식인 FIDO 기술표준을 지정하였다. FIDO FIDO(Fast Identity Online) FIDO는 온라인상의 빠르고 안전한 인증을 의미한다. 기존에 사용하는 기본적인 인증방법인 ID, Password를 생각해 보면 문제점이 여러 가지가 존재한다. 먼저 접속하려는 서비스의 비밀번호를 알고 있어야 한다는 점, 약한 비밀번호, 반복적인 비밀번호 등이 존재한..
-
Android ViewBinding으로 FindViewByid 랑 작별하기Android 2021. 9. 25. 17:52
1 서론 1.1 FindViewByid 안드로이드에서 Layout에 존재하는 컴포넌트를 객체로 사용하려면 FindViewByid를 통하여 작업을 했어야 했다. 만약 접근하려는 컴포넌트가 5개, 10개만 넘어도 class 파일에는 FindViewByid 가 많이 붙게 되는 걸 볼 수 있다. 또한 개발자의 실수로 인해 잘못된 컴포넌트를 참조하려 하면 null이 발생하는 문제가 있다. 예전에 Kotlin에서는 kotilin-android-extensions 을 통해 FindViewByid 없이도 컴포넌트에 접근하여 사용할 수 있는 게 큰 매력으로 다가왔지만 이제는 여러 문제점으로 인해 kotilin-android-extensions를 기본으로 제공하지 않는다. 따라서 이제는 ViewBinding를 사용하도록 ..
-
Android Coroutine 사용하기Android 2021. 9. 25. 17:49
1. Coroutine Coroutine은 Co(협력) + Routine(규칙적인 작업)의 합성어로 하나의 작업이 끝날 때까지 계속 진행되는 것이 아니라 실행 중간에 다른 작업을 하러 갔다가 다시 돌아와서 작업을 이어서 진행할 수 있다. 1.1. Coroutine 은 Thread 가 아니다. 같은 백그라운드 작업을 하는 점에서 비슷하지만 Coroutine은 하나의 작업이라면 Thread는 그 작업을 수행하는 공간이다. 즉 하나의 Thread에서 여러 Coroutine 을 동시에 실행할 수 있다. 1.2. 의존성 추가 implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5" 1.3. Scope 코루틴은 실행 범위, 제어 범위를 지정할 ..
-
Android inflation 란Android/ETC 2021. 9. 25. 17:44
1 Inflation 1.1 서론 Android 에서의 inflation 을 알아보려한다. inflation은 xml 레이아웃 파일로 정의한 정보를 런타임 중에 메모리 상에 객체로 만들어주어 화면에 보여주는 과정을 의미한다. 즉 Android 개발을 하면서 View를 만들기 위해 작업하였던 xml을 실제로 사용할 수 있게 해주는 작업이라고 할 수 있다. 1.2 Inflation 사이클 이미지를 보고 간단하게 확인하면 xml 을 정의하고 실행 시 메모리로 xml을 로딩하여 화면에 보여주는 순서이다. 이 일련의 작업은 xml 레이아웃 파일을 실제로 사용할 수 있도 록에서 view ID 를 설정하고 해당 ID가 R 파일에 주소값으로 적용되어 findViewById 메서드 와 Id를 활용하여 코드상으로 View..
-
Android Activity 생명주기Android/ETC 2021. 9. 25. 17:43
1 Activity 1.1 서론 Activity는 안드로이드 4대 컴포넌트중 하나로 가장 UI에 관련을 가지고있기떄문에 가장 기본이 되는 구성요소이다. Activity는 생명주기 안에서 여러 상태로 전환이되며 활동의 상태 변화에 따라 여러 콜백을 제공한다. 생성부터 소멸까지 7가지 상태 변화를 가지는 생명주기에 대해 알아볼 것이다. 2 생명주기 2.1 3가지 상태에 대해 Activity는 크게 3가지 상태가 존재할수있다. 실행상태(Running) : ActivityStack의 최상위에 존재하며 포커스를 가지고 있어 사용자에게 보이는 상태이다. 일시 중지 상태(Paused) : 사용자에게 보이기는 하지만 다른 Activity가 자신보다 위에 있어 포커스를 받지 못하는 상태이다. 예로 대화상자가 나온경우 이..
-
Android 에서 Context가 무엇일까Android/ETC 2021. 9. 25. 17:41
1 궁금증 1.1 서론 Context라는 알 것 같은 하지만 모르겠는 이 친구에 대해 알아보려 한다. 흔히 activity를 띄우거나 앱의 패키지 이름이나 리소스의 데이터를 가져올 때 context를 사용한다. 하지만 왜 사용해야 하는지를 잘 모르고 사용한 것 같다. 그래서 한번 알아보려고 한다. 1.2 언제 사용하는 걸까 “Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as ..