분류 전체보기68 Hash 함수를 알아보자 Hash 함수를 알아보자블록체인을 공부하다보면 (비트코인, 이더리움) Hash라는 단어를 자주 볼 수 있다. 물론, 블록체인 뿐만 아니라 해시는 보안, 암호분야에서도 널리쓰이는 개념이다. Hash 함수 정의임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수Hash("비트코인") = f386c9a9402b1adcfccd9d7f1b18aa6c60a583e82fca35b59029f4bcc776649eHash("이더리움") = 46f15f1dbcafc4e74402625e6af1a1c2f8675911845381620a07c20f12300d72이 사이트를 클릭하면 SHA-256 Hash를 변환해볼 수 있다.SHA-256 Hash함수의 예를 들어보았다. 어떠한 입력값이 오더라도 출력값은 256bit = 32.. 2018. 11. 27. [비트코인]Bitcoin Transaction Bitcoin Transaction인터넷으로 블록체인을 공부하다보면 햇갈리는 내용들이 자주 나온다. 그 중에서 Bitcoin의 Transaction에 대한 내용인데, 사실 이 부분을 누군가에게 설명하기 전에 혼자 공부를 할때는 이해가 가는 것 같았지만 막상 설명하려고 하니 의문점이 많았다. 그 내용을 바탕으로 정리를 해보았다. 예를 들어보자, A에서 B로 송금한다고 가정한다. 1. 먼저 Transaction정보 (A->B 거래정보)와 B의 공개키를 가져와서 해싱을 한다.2. A의 개인키로 전자서명을 한다.3. 모든 노드들에게 Broad Casting한다.4. 마이너는 A의 공개키를 이용해서 전자서명을 검증 후 트랜잭션 풀에 등록을 한다. (비트코인에서는 해시함수로 SHA-256를 사용한다.)이 부분이 끝.. 2018. 11. 26. [Java]백준 1780번 :: 종이의 개수 백준 온라인 저지 1780번 '종이의 개수' Java 알고리즘 문제풀이 풀이 이 문제는 분할정복(Divide and Conquer)로 풀면된다. 분할정복은 정말 쉬운 개념이다. (유사한 분할정복 문제 풀기 -> 백준 1992번 쿼드트리 https://developer-mac.tistory.com/37) 단순하게 복잡한 문제를 해결할 수 있는 작은단위로 나누어서 처리한 후 이것을 합치면 된다. 이 문제에서 3등분을 한다고 생각하면 된다. 먼저 입력을 받고 divide 함수에서 재귀적으로 동작한 후 if 문을 두어 모든 원소가 0이거나 1일때 빠져나오게 하면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputS.. 2018. 10. 28. [Java]백준 1992번 :: 쿼드트리 백준 온라인 저지 1992번 '쿼드트리' Java 알고리즘 문제풀이 풀이 이 문제는 분할정복(Divide and Conquer)로 풀면된다. 분할정복 사실은 정말 쉬운 개념이다. 복잡한 문제를 해결할 수 있는 작은 단위로 나누어 처리하고 이것을 합치면 된다. 이 문제를 풀면 백준 1780번 문제 종이의 개수도 아주 쉽게 풀 수 있을 것이다. (유사한 문제 풀기 -> 백준 1780번 문제종이 https://developer-mac.tistory.com/38) 그리고 쿼드트리는 단순히 노드가 4개 있는 것이라고 생각하면 된다. 즉, 4개로 쪼개서 4개의 노드가 생겨난다고 생각하면 된다. 먼저 입력을 받은 후 divide 함수에서 재귀적으로 동작하고 if 문을 두어 모든 원소가 0이거나 1일때 빠져나오게 하면.. 2018. 10. 28. [JavaScript]ES6 Object 객체 /* ES6 */ let tree = { height: 10, color: 'green', grow() { this.height += 2; } }; tree.grow(); console.log(tree.height); /* result = 12 */ JavaScript 변수는 속성이라고 불리는 Object data types를 가질 수 있습니다. 또한, Object는 메소드라고 불리는 속성을 가질 수 있습니다. 기존 object안에 function()을 사용하려면 (:) 콜론을 사용했지만 ES6부터는 사용하지 않아도 됩니다. 사각 Bracket을 이용하면 [], 속성 이름을 지정할 수 있습니다. let prop = 'name'; let id = '123'; let mobile = '001'; let us.. 2018. 10. 28. [JavaScript]반복문 for in vs for of forEach 반복문 forEach 반복문은 Array 객체에서 사용이 가능한 메서드입니다. 배열의 요소들을 반복하여 작업을 수행할 수 있습니다. forEach 구문의 parameter로 callback 함수를 등록할 수 있고, 배열의 각 요소들이 반복될 때 이 callback 함수가 호출됩니다. const arr = ['element1', 'element2', 'element3']; arr.forEach(el => console.log(el)); /* result = element1, element2, element3 */ for ...in 반복문 for in 반복문은 객체의 속성들을 반복해서 작업을 수행할 수 있습니다. 모든 객체에서 사용이 가능합니다. for in 구문은 특히 객체의 key 값에 접.. 2018. 10. 28. 이전 1 ··· 5 6 7 8 9 10 11 12 다음