This page is optimized for the web crawlers, for examples, bingbot, googlebot and so on.
Please, visit the site again using the general user clients, for examples, chrome, firefox, ie and so on.

[매일경제][최은수 기자의 미래이야기]블록체인 혁명이 온다…미래경제 어떻게 바꿀까

life,story,family,baby
Link: https://nicesj.com/article/3061

python 으로 웹서버 만들기

python 으로 Korbit trading bot 을 만드는데, 웹서버와 또는 다른 서비스와 원할한(?) 커뮤니케이션을 하기 위해서는 HTTP 방식 만큼 쉽고 간단한 것이 없는 것 같습니다. 일단, Telegram 이나, Kakao Talk, Facebook Messenger 등은 Webhook 방식을 지원하고 있습니다. 그러니까, Web server 를 구축하고, telegram 이나 Kakao talk server 에 직접 구축한 Web server 의 특정 URI 를 지정해 줌으로써, 해당 서비스들로 부터의 요청을 전달 받아 처리하게 됩니다. 즉, 우리가 제어할 수 있는 최전방의 서비스가 바로 우리가 구축한 Web server 인 것입니다.

먼저 apache 를 이용해, Telegram 이나, Kakao Talk 과 커뮤니케이션 할 수 있는 Web server 를 설정해둡니다. 그리고, 이 웹서버와 연동될 python trading bot 을 만듭니다. 이 때, 사용자의 요청 (messenger 를 통해 전달 받는 메세지들이겠죠?) 도 우리의 Web server 를 통해 우리에게 전달됩니다. 즉, 내가 구축한 Web server 가 내가 만든 python trading bot 에게 요청을 전달하고 그 결과를 받아 다시 사용자에게 전달하는 것입니다. 여기서 의문이 드는 분이 있을텐데요. "python trading bot 이 직접 messenger service 의 Webhook 으로 등록되면 안되는것인가?" 입니다. 등록해도 됩니다. 그게 더 빠르고 간편하죠. 하지만, 저는 제 blog 와 trading bot 과 SNS 를 모두 연동시키려고 하는 것이니,. 시작하는 requirement 가 다른것이죠!! 다시 한 번 얘기하지만, trading bot 이 messenger service 의 webhook 으로 직접 등록될 수 있도록 해도 됩니다.

그럼, 여기서 짚고 넘어가야 하는 것은, 앞에서 설명한 문단의 모든 문장에 꼭 들어가는 단어가 Web 이라는 것입니다.

Web server 에서도 Web 방식 즉 Hypertext Transfer Protocol 을 가장 다루기 쉽기 때문에, python trading bot 도 Web 서버 형태로 동작하게 한다면, 요청을 보내거나 받기 쉬워진다는 것이지요.

물론, 지금 구현하려는 방식에서는 python trading bot 이 웹서버 형태로 동작하더라도, 외부에서 직접 접근하지 못하도록 설정해야 합니다. (아래 코드의 20번째 줄)

그 전에, Python 으로 Web server 를 만들 수 있어야 겠죠?

from http.server import BaseHTTPRequestHandler, HTTPServer
import urllib

# HTTP Request handlers
class ncbot_RequestHandler(BaseHTTPRequestHandler):
    def do_POST(self):
        print("path: %sn" % self.path)

        o = urllib.parse.urlparse(self.path)
        params = urllib.parse.parse_qs(o.query)

        print(params)

        self.wfile.write(bytes("Hello World", "utf8"))
        return

def run():
    print("Starting a server")
    # 여기서 우리는 접속 가능한 client 주소로 127.0.0.1 로 지정합니다.
    server_address = ("127.0.0.1", 8081)
    httpd = HTTPServer(server_address, ncbot_RequestHandler)

    print("Running the server")
    httpd.serve_forever()

run()

매우 간단합니다. 이미 python 을 사용하는 수많은 개발자들이, 수많은 관련 library 들을 만들어 주었고, 또 open 되어 있습니다. 우리는 그것을 가져다 쓰면 되는 것이지요. 물론, HTTP server 를 직접 만들어 보고 싶은 분은, socket 을 직접 열어서 진행하셔도 됩니다. 직접 만드는 경우라면, trading bot 개발이 아니고, HTTP spec 에 대한 공부를 시작하게 되겠네요. ^^

5번째 줄에서, ncbot_RequestHandler 라는 class 를 선언했고, 이 class 는 BaseHTTPRequestHandler 를 상속 받고 있습니다. 이어서 6 번째 줄에 do_POST(self) 메소드가 있습니다. 이 메소드는 HTTP method 중에 POST method 로 전달되는 request 에 대한 handler 가 됩니다. 여기까지는 21 번째 줄에 있는 HTTPServer 인스턴스를 만들면서 ncbot_RequestHandler 클래스를 전달해주는 것으로, 완성됩니다. 아주 쉽죠. 이렇게 까지만 하면, 기본적인 Web service 를 할 수 있게 됩니다. 물론, GET method 에 대한 구현이 되어 있지 않기 때문에, POST method 를 지정하지 않고 request 를 보내면, 제대로 동작하지 않을 겁니다.

두번째로, 9, 10 번째 줄을 봐야 합니다. 일단 method handler 는 만들었지만, URL 을 통해 전달되는 인자들 (ex. ?command=abcd&hello=word&...) 을 parsing 할 수 있는 방법이 필요하거든요. 이것도 간단하죠. 두 줄이면 되네요. 

이제, 우리가 만들 Korbit trading bot 은 HTTP protocol 을 통해, 요청을 받고, 처리하고, response 할 수 있습니다.

python, http, webserver, BaseHTTPRequestHandler, POST, URL, Parser
Link: https://nicesj.com/article/3060

빈도부사의 위치

1. 종류

    often (자주),

    always (항상, 언제나),

    sometimes (때때로),

    usually (주로, 대게, 보통),

    never (결코 -안, 절대 -안)

 

2. 위치

    일반 동사 앞

    be 동사, 조동사 뒤

 

Reference

    빈도 부사 위치 (종류/예문) 쉽게 정리

life,story,family,baby
Link: https://nicesj.com/article/3059

JTBC 블록체인 기술 토론을 보고 나서

유시민 작가와 정재승 교수의 갑론을박이 될 줄 알았는데, 코빗 공동창업자와 경희대 교수의 등장에.. 오호.. 나도 코빗 유저인데.. 라면서 주의깊에 보았습니다. 중간에 한교수님이 얘기한 논문도 찾아서 읽어 보고 싶어지네요.

제가 이해한 것은.

1. 공개형 블록 체인 기술과 폐쇄형 블록 체인 기술의 동작 방식에 있어서, 암호화폐는 공개형 블록 체인 기술 발전에 있어 필수불가결 하다는 주장이 사실인지 궁금해졌고,

2. 정말 거래소가 폐지되어야 하는 것인지 궁금해졌습니다.

문과 출신의 사람들을 위해 유시민 작가님이 설명해준 암호화폐와 블록체인은 이과 출신의 저도 감탄 할 정도로 설명을 너무너무 잘 해주셔서.. 팬이 될 것 같네요. 그러나.. 토론중에 상대방이 얘기하고 있을 때 웃는 다거나.. 하는 토론 태도는 조금 거슬렸습니다. 상대가 억지 주장이나 틀린말을 하더라도 웃는 것은 좀 아닌 것 같았어요.

한 교수님은 블록체인을 활용할 수 있는 다른 분야의 이야기를 (자율주행) 해주셨는데, 음.. 처음엔 그래.. 그것도 가능하겠구나 싶었는데, 우리 코빗 창업자님이 내려 까시는 바람에.. 지금 이 글을 쓰며 되새겨 보니.. 정말.. 그런걸까.. 먼저 블록 체인 기술이 어떤 기술인지에 대한 이해가 제가 너무 부족하다는 것을 되새기게 되네요.

어쨋든 재미있고 유익한 토론이었습니다.

오늘 리플에서 7만 6천원 수익을 봤는데.. (어제 50만 더 투자 했다는..) 일전에 우리 법무부 장관님이 폐쇄하겠다거 할때 4600, 4500에 물려 있는데 44 코인은 지금 반토막이 나있네요ㅡㅜ. 본전 다 찾을 수 있겠죠?

오늘 7만 6천원 수익 봤다고, 우유사고 점심 사먹고, 준모 장난감 자동차 (RC카 몬스터 트럭 8만5천원...) 사주고 나니.. -9만원 되었네요 ㅡㅜ

이제.. 몇 일 남지 않은 출근을 위해 그만 자야겠어요.

암호화폐, JTBC, 유시민, 리플, 코빗,토론,블록체인
Link: https://nicesj.com/article/3058

논문 표절 검사

Turn it in

paper, plagiarism
Link: https://nicesj.com/article/3057