2019/02 5

#5_블록체인 무엇인가::이중 사용(Double Spending)

이전글#1_블록체인 무엇인가::소프트웨어 시스템 아키텍처#2_블록체인 무엇인가::분산 P2P 시스템#3_블록체인 무엇인가::블록체인의 과제#4_블록체인 무엇인가::소유권의 본질 안녕하세요. 문범우입니다.이번 포스팅에서는 분산 P2P 시스템의 무결성 침해와 관련된 가장 중요한 사례 중 하나인 이중사용(Double Spending)문제에 대해서 알아보겠습니다.1. 이중사용(Double Spending) 이중사용은 쉽게 말해서 동일한 재화, 물건에 대해 두번 사용한다는 것 입니다.보다 쉽게 이해하기 위해 부동산을 판매하는 상황으로 가정해보겠습니다. A가 B에게 집을 팔았습니다.이로 인해서 집에 대한 소유권은 A에서 B로 이전 되었음이 P2P 시스템의 어느 원장에 기록되었습니다. 그럼 우리가 이전에 학습한 바와..

블록체인 2019.02.27

파이썬(python) #24_ 멀티프로세싱(Multi-processing) 과 멀티쓰레딩(Multi-threading)

안녕하세요. 문범우입니다.오랜만에 파이썬 관련 내용을 포스팅하게 되었습니다.최근 자바 언어에 대해 다시 공부하면서 멀티 쓰레딩 개념을 학습중인데, 파이썬에서 해당 내용을 다뤄보지 않은 것 같아 간략하게나마 공부하고 이를 정리해보았습니다. 즉, 이번 글에서는 파이썬에서의 멀티 프로세싱, 멀티 쓰레딩에 대해서 알아보도록 하겠습니다. 글에 앞서서, 멀티 프로세싱, 멀티 쓰레딩 등, 동시성 프로그래밍에 대한 개념적인 내용은 아래 글을 참고하시면 되겠습니다.https://doorbw.tistory.com/26 먼저 전체적인 코드입니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849from functo..

Python으로 일정 시간에 메일 보내주는 웹 크롤러 제작하기

안녕하세요. 문범우입니다.최근 파이썬을 활용할 일이 많이 없었는데, 엊그제 문득 필요한게 생각나서 후다닥 파이썬으로 만들어보았습니다. 뭐라고 이름을 지어야할지 모르겠는데..많은 분들도 만들어서 사용하시기도 하는 것으로 알고 있습니다.제가 자주 보는 커뮤니티에서의 특정 게시판 상위 n개에 대해서 크롤링하여 링크를 포함한 헤드라인만 정해진 시각에 제 메일로 보내는 프로그램입니다. 저는 OKKY라는 커뮤니티에서 스터디, 뉴스, 행사에 관련된 3개 게시판에 대해 상위 5개 또는 3개의 글을 정해진 시각(오전, 점심, 오후)에 메일로 보내도록 하였습니다. 메일 내용을 더 꾸밀 수도 있겠지만..일단은 심플하게 아래와 같이 메일이 전송됩니다 :) 실제로 이렇게 해두고 나니, 정해진 시각에 한번쯤 더 쳐다보게 되고 요..

포트폴리오 2019.02.11

알고리즘_시간복잡도 예제

안녕하세요. 문범우입니다.지난 포스팅에서 시간복잡도, 공간복잡도 등에 대해서 알아보며 Big-O 표기법에 대해서 살펴보았습니다.이번에는 실제로 특정 코드나 알고리즘을 대상으로 그 시간복잡도를 분석해보는 실습을 진행해보도록 하겠습니다. 아래에서 다루게 될 예제들은 ''코딩인터뷰 완전 분석"(게일라크만맥도웰 지음, 이창현 옮김)_인사이트출판 서적에서 일부 참고 및 발췌하였습니다. > N에 대한 정확한 사용 우리는 이전 포스팅에서도 그러했듯이 Big-O 표기법으로 나타낼때에 흔히 O(N), O(log N) 과 같이 나타냅니다. 그런데 이때 N에 대해 정확하게 이해하지 못하였다면 추후 잘못된 분석을 할 수 있습니다.아래와 같은 상황을 생각해보겠습니다. 여러개의 문자열로 구성된 배열이 있습니다. 이때 각각의 문자..

알고리즘_시간복잡도, 공간복잡도, Big-O 표기법

안녕하세요. 문범우입니다.최근 Java로 알고리즘 스터디를 시작하게 되었습니다.단순히 문제풀이 보다는 이론적인 내용들을 살펴보며 관련된 문제를 푸는 방식으로, 기초부터 다시 살펴보려합니다.이번에는 직접적인 알고리즘 내용에 앞서, 알고리즘 분석 즉 시간복잡도와 공간복잡도에 대해 이야기를 먼저 진행해보겠습니다. > 왜 알아야 하는가? Big-O 표기법은 알고리즘의 효율성을 나타내는 지표 혹은 언어이다.이를 통해 자신이 작성한 알고리즘이 이전보다 빨라졌는지 느려졌는지 판단하는데 도움이 될 것이다.물론 이 외에 다른 개발자들과 특정 알고리즘에 대해 이야기하거나 효율성 판단등에 의해서 Big-O 표기법을 통해 보다 원활하게 의사소통을 진행할 수 있다. 실제로 Big-O 표기법 이외에 다른 표기법도 있으나 이에 대..

728x90