Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python Korea Twisted Study 2013-06-30

Avatar for Bae KwonHan Bae KwonHan
July 01, 2013
200

Python Korea Twisted StudyΒ 2013-06-30

Avatar for Bae KwonHan

Bae KwonHan

July 01, 2013

Transcript

  1. κ°•μ˜μ— μ•žμ„œ μš”μ²­λ“œλ¦΄ 점 β€’ κ°•μ˜λ£Œ λŒ€μ‹ μ— λΆ€λ‹΄κ°€μ§€ μ•ŠλŠ” κΈˆμ•‘μœΌλ‘œ

    μ›ν•˜λŠ”κ³³μ— κΈ°λΆ€λ₯Ό ν•΄μ£Όμ„Έμš”. β€’ λˆ„κ΅°κ°€ Twisted 에 λŒ€ν•΄μ„œ μ•Œλ €λ‹¬λΌκ³  ν•˜ λ©΄ μ•Œλ €μ£Όμ„Έμš”. β€’ μ΄ˆμ‹¬μžλ₯Ό μœ„ν•œ κ°•μ˜μž…λ‹ˆλ‹€. κ³ κΈ‰μžλŠ” μ•„ λŠ”κ²ƒλΆ€ν„° μ‹œμž‘ν•©λ‹ˆλ‹€. 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  2. λͺ©μ°¨ β€’ socket programming is? β€’ socket client / server

    β€’ single socket β€’ multi thread β€’ generator β€’ framework β€’ gevent β€’ tornadio β€’ twisted 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  3. 개발 ν™˜κ²½ μ…‹μ—… β€’ mac β€’ xcode β€’ homebrew β€’

    ubuntu β€’ apt-get install build-essential 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  4. socket programming β€’ UDP ( Datagram Sockets ) β€’ TCP

    ( Stream Sockets ) β€’ RAW ( RAW Sockets ) 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  5. λ„€νŠΈμ›Œν¬λŠ” μ–΄λ–»κ²Œ 되 μ–΄ μžˆλŠ”κ°€? β€’ λΌμš°ν„° β€’ λ…Έλ“œ (

    써버 ν΄λΌμ΄μ–ΈνŠΈ ) β€’ L4 β€’ Proxy 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  6. network address β€’ IPV4 β€’ IPV6 : https://en.wikipedia.org/wiki/IPV6 β€’ Private

    Network β€’ 10.0.0.0/8 β€’ 172.16.0.0/12 β€’ 192.168.0.0/16 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  7. 1 #!/usr/bin/python 2 3 import socket 4 5 s =

    socket.socket() 6 s.connect(("ifconfig.me",80)) 7 s.sendall("GET /\n") 8 data = "" 9 while True: 10 buf = s.recv(1024) 11 if buf == "": 12 break 13 else: 14 data += buf 15 s.close() 16 print data 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  8. 1 #!/usr/bin/python 2 3 import socket 4 5 s =

    socket.socket() 6 s.bind(("0.0.0.0",9999)) 7 s.listen(1) 8 conn, addr = s.accept() 9 print 'Connected by', addr 10 while 1: 11 data = conn.recv(1024) 12 if not data: break 13 conn.sendall(data) 14 conn.close() 15 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  9. β€’ 역사 β€’ socket β€’ protocol β€’ factory β€’ process

    β€’ threads β€’ logging β€’ application β€’ callLater / LoopingCall β€’ database call β€’ twistd 13λ…„ 7μ›” 1일 μ›”μš”μΌ
  10. β€’ Separation of protocols and transports β€’ Deferreds β€’ Thread

    Support β€’ Foreign Loop support νŠΉμ§•μ  13λ…„ 7μ›” 1일 μ›”μš”μΌ