본문 바로가기

글 전체 목록

(219)
Python 강좌(2) 강좌(1)에 이은 반복문 단축 문법 my = [n*10 for n in range(1,11) if n%2==0]print(my) #약수 출력data = int(input("Input data:"))my2 = [n for n in range(1,data+1) if data%n==0]print(my2) [20, 40, 60, 80, 100] Input data:10[1, 2, 5, 10] #List안의 Tuple이 존재하는 구조.myData =[(1,10),(2,20),(3,30)] #요소의 갯수 만큼 인자를 받게 될경우 Tuple이 unpacking이 일어나게 된다.따라서 객채의 인자별로 추출 가능. for n,m in myData: print(n,m) #중요!! - Dictionary 형태로 추출my =..
Python 강좌(1) Chapter Prev. 들어가기 누가 만들었을까? : Guid Van Rossum In Amsterdam 만듦. 파이썬의 특징개발시간을 단축 시켜준다.자료구조가 Data Type 형태로 들어가 있다. 코드라인 단축(간략한 코드)제어문과 반복문에 대한 축약 문법이 존재.배우기 쉽다(객체지향을 이해하고 있다면 언어습득에 용이하다.)사용하기쉽다.코드를 이해하기 쉽다.코드가 짧아진다.팀 프로젝트에 좋다.확장성이 뛰어나다.(C, Java)C언어에서 Python Library 를 사용할 수 있다. 반대로 Python 에서 C Library 를 호출할 수 있다.역사가 오래되어 Third party Library 가 풍부하다.크게 Python의 버전 정보는 2.X 와 3.X가 있으나, Third party Libra..
세상을 변화시키려면... - I want to change the world 젊었을 때 나는 세상을 변화시키고 싶었다.그러나 세상을 변화시키는 것이 어렵다는 것을 깨달았고, 그래서 나는 국가를 변화시키려고 했다.국가를 변화시킬 수 없다는 것을 알게 되었을 때 나는 내가 살고 있는 도시에 초점을 맞추기 시작했다.도시도 변화시킬 수 없게 되자 다 늙어버린 나는 내 가족을 변화시키려고 했다. 이제 나는 늙은이가 되어 유일하게 변화시킬수 있는 것은 내 자신 뿐임을 깨달았고,오래전에 내가 변했더라면 내 가족에게 영향을 미칠 수 있었다는 것을 알았다.내 가족과 나는 내가 사는 도시에 영향을 끼칠 수 있었을 것이다.그리고 아마도 이 영향은 국가를 변화시킬 수 있었을 것이고, 나느 참으로 세상을 변화시킬 수 있었을 것이다. - 영국 웨스트 민스터 대성당 묘지에 있는 어느 묘비글 내가 젊고 자유..
Device Discovery Protocol - mDNS(Multicast DNS) Multicast DNS 1. 소개 Multicast Domain Name System(mDNS)는 로컬 네트워크 영역에서 설정없이(zero configuration) 호스트 이름을 찾기 위해서 사용하는 서비스이다. Unicast Domain Name System(DNS)와 유사한 프로그래밍 인터페이스 그리고 패킷을 사용한다. 소형 네트워크 환경에서 별도의 네임서버를 사용하지 않고 호스트를 찾을 수 있다. mDNS는 멀티캐스트 기술을 이용한다. 애플의 Bonjour와 리눅스의 nss-mdns 서비스가 mDNS를 이용한다. 2. 프로토콜 개요 mDNS 클라이언트는 호스트 이름을 알아야 할 경우 IP 멀티캐스트 쿼리 메시지를 전송한다. 이때 자신의 호스트 이름과 IP 주소 등, 자신을 확인할 수 있는 정보들..
Device Discovery Protocol - SSDP(Simple Service Discovery Protocol) 해당 글은 http://www.joinc.co.kr/w/Site/IOT/Discovery 에서 정리 되었습니다. 1. 소개 근거리 네트워크에서 기기를 찾기 위한 방법을 알아보자. 기기를 근거리에서 연결하던, 인터넷에 연결하는 방법을 사용하던 일단 Discovery(발견 : 탐색)을 해야 한다. 기기를 Discover 하지 않더라도 유저가 직접 기기 앞에서 - NFC, Bluetooth 혹은 기기를 wifi-AP로 설정하여 등록하는 방법이 있겠으나, 사용성을 높이기 위해서는 알아서 주변의 기기를 찾아주는것이 좋다. 이런 일을 위한 Discovery 프로토콜이 몇 개 있는데 이들 프로토콜을 살펴보고, 이들 프로토콜을 이용하여 어떻게 기기를 자동으로 찾아서 등록할 수 있을지에 대하여 고민해 보려고 한다. 2...
ZeroConf(Zero Configuration Networking) Zeroconf 란? Zero Configuration Networking으로 DNS 서버 설정이나 IP를 이용하지 않은 Networking 즉 DHCP 환경이 없는 네트워크에서 Peer to Peer 연결이나 Wireless 환경에서 수동 설정없이 자동으로 네트워킹 할 수 있는 환경을 만들어주는, 일종의 기법이다. Zeroconf는 다음 3가지의 기술을 기반으로 하고 있다.네트워크 장치로의 네트워크 주소 할당컴퓨터 Hostname의 자동 해석과 자동 배포프린터와 같은 네트워크 장치의 위치를 자동 감지 OS Platform에 따른 Zeroconf Service는 다음과 같다.Apple(Bonjour) Apple에서 만든 Zero Configuration Networking 프로토콜로써 IP 네트워크 상에..
DHCP 프로토콜 기본 원리(Understanding the Basic Operations of DHCP) 해당글은 하기 Page를 통해 정리되었습니다.http://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation/understanding-the-basic-operations-of-dhcp 일반 가정에서 Internet vender 업체를 통해 회선을 사용하는 경우 거의 모두 DHCP서버를 사용하여 IP를 할당받고 우리는 인터넷을 사용할 수 있게 된다. 그렇다면 DHCP서버란 어떠한 역할을 하는지 알아보자. DHCP란? DHCP(Dynamic Host Configuration Protocol)란, 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜을 말한다. DHCP에 대한 표준은 RFC2131 문서에 정의..
유니캐스트(UniCast), 브로드캐스트(BroadCast), 멀티캐스트(MultiCast) 유니캐스트, 브로드캐스트, 멀티캐스트는 네트워크에서 통신하는 방법을 구분 짓는 방법이다. 유니캐스트(UniCast)란? MAC Address 기반으로 상대측 IP주소를 목적지로 하는 1:1 통신방식으로, 현재 네트워크 상에서 가장 많이 사용되는 방식이 유니캐스트이다.유니캐스트 전송방식은 하나의 송신자가 다른 하나의 수신자로 데이터를 전송하는 방식으로 일반적인 인터넷 응용프로그램이 모두 유니캐스트 방식을 사용하고 있다. 유니캐스트 통신 방식은 Destination을 제외한 다른 네트워크 상의 PC들의 CPU 성능을 저하시키지 않는다. 그 이유는 자신의 MAC Address가 아니라고 판단되면 랜카드에서 해당 Frame을 버리기 때문이다. 하지만 그룹 통신을 위해 다중 수신자들에게 동일한 데이터를 전송하고자..