전체 글 209

[Python] 사전

3.1 사전 사전(Dictionary)은 강력하고도, 편리한 자료구조이다. 키와 값의 쌍으로 구성되어 있으며, 아래와 같이 정의 가능하다. dict() 생성자를 사용하지 않고도 사전을 생성가능하다. 키 값을 이용하여 값을 가져올 수 있고, 인덱스는 지원하지 않으며, 없는 키를 사용하면 에러가 발생한다. 3.2 값 추가하기 사전에 새로운 값을 넣어보자. 아래와 같이 새로운 키와 값을 할당하면 되고, 변경도 같은 방법으로 하면 된다. 3.2 값 가져오기 사전의 값을 가져오기 위해 아래와 같이 items(), keys(), values() 메서드를 사용하면 된다. items() 는 사전의 모든 키와 값을 튜플로 묶어서 반환하며, keys() 는 키만을, values() 는 값만 반환한다. 원래 파이썬 2.x ..

IT/Python 2021.03.29

[Python] 튜플

2.1 튜플 튜플(tuple)은 리스트와 비슷하나 [ ] 대신 ( )로 묶어서 표현하며, 읽기 전용이다. 읽기 전용인 만큼 적용되는 함수도 리스트에 비해 적지만(count(), index()), 속도는 빠르다. 보이지는 않지만 튜플은 항상 같이 있다(?). 다음 그림과 같이 파이썬 내부에서는 알게 모르게 튜플이 사용된다. 여러 값을 다중 할당하는 것에도 튜플이 생략되어 있다고 생각하면 된다. 2.2 튜플에서 swap C 프로그래밍에서는 swap 을 하기 위해 임시 변수를 하나 더 선언하여 수행하지만 파이썬에서는 간단하게 해결할 수 있다. 위에서 공부했던 리스트, 세트, 튜플은 아래와 같이 list(), set(), tuple() 을 이용하여 언제든지 변환이 가능하다. 방금 나왔던 자료형들은 in 연산자를..

IT/Python 2021.03.28

[Python] 리스트

1.1 리스트 리스트는 좀 전(?)의 포스트에서 잠깐 나온적이 있지만, 이번에는 조금 더 들어가 보도록 하자. 여담으로 지금 보는 책이 500페이지가 넘는데 그 때까지 계속 하나하나 올릴 수 있을지도 걱정이다... 나 역시 조금씩 보면서 포스팅 하고 있는 중이라. 혹시라도 빠르게 배우고 싶은 신 분이 계신다면 다음 사이트를 추천합니다. 왕초보를 위한 Python 2.7 - http://wikidocs.net/read/book/136 다시 본론으로~ 리스트는 값이 나열이다. 배열처럼 순서가 있으며, 여러 종류를 담을 수 있다. 또한 0부터 시작하는 인덱스 기능이 있으며, 슬라이싱도 가능하다. 암튼 일단 그냥 해보자. [ 그림 1-1 ] 처럼 리스트를 하나 만들어 보았다. 허전하다... 추가 쫌! 해보자. ..

IT/Python 2021.03.26

[Python] 유니코드

1.1 유니코드 지금까지 문자열을 다루면서 영문과 한글 모두 사용하여 출력되는 것을 확인하였다. 그러나 다른 사람의 컴퓨터, 즉 다른 언어권이나 다른 운영체제에서도 동일하게 출력된다는 보장은 없다. 그 이유는 각 문자열을 표현하는 방식이 다양하기 때문인데, 이와같이 다양한 문자열 표현 방식을 인코딩(endoding) 이라고 한다. 세계의 모든 문자 코드를 일관된 방식으로 표현할 수 있는 체계를 만들자는 취지로 시작된 것이 바로 유니코드(unicode) 라고 한다. - 유니코드에 대해 자세히 알아보고 싶다면 홈페이지(http://www.unicode.org/) 를 방문하길. 대충 뭔소리냐 하면 다음 그림(?)을 보자. 자주 들어가는 구글이다. 익스플로러에서 '메뉴 -> 보기 -> 인코딩' 에서 일본어를 선..

IT/Python 2021.03.25

[Network Basic] TCP/IP NetBIOS

1. NetBIOS(Network Basic Input Output System) (1) 개요 NetBIOS는 별개의 컴퓨터상에 있는 응용 프로그램들이 LAN에서 서로 통신 할 수 있게 해주는 프로토콜 IBM에 의해 개발되었으며, 마이크로소프트에 의해 채택되었고, 곧 사실상의 산업계 표준이 됨 NetBIOS는 Ethernet, Token Ring, 그리고 Windows 네트워크 등에 사용 NetBIOS는 그 자체로는 라우팅 기능을 지원하지 않으므로, 광역 통신망 상에서 통신하는 응용 프로그램들은 반드시 TCP와 같은 다른 전송 프로토콜을 추가하여 사용해야 한다. NetBIOS는 세션모드 내의 에러복구 등을 포함하여, 네트워크에 관한 상세한 내용을 알아야하는 부담으로부터 응용 프로그램들을 해방시켜 주었다...

IT/Network 2021.03.23

[Network Basic] TCP/IP 캡슐화, IPX/SPX

캡슐화(Encapsulation) 네트워크상에서, 상위 계층의 통신 프로토콜 정보를 하위 통신 프로토콜 프레임 사용자 정보 영역에 내장시켜 전송하는 기술을 캡슐화(encapsultaion)이라고 한다. 여러 프로토콜 층에서 정보를 하나로 종합하여 통신망에 보내는 프로세스라고도 하는데, 터널링과 비슷한 의미이다. 아래 그림은 상위 계층인 Application 층에 Transport 헤더 및 Internet 헤더를 더해 각각 Transport층과 Internet 층의 데이터를 생성하는 캡슐화 과정을 보여주고 있다. OSI참조 모델 VS TCP/IP 참조 모델 OSI 참조 모델은 모두 7개의 계층으로 구분되어 있는 반면에 동일한 역할을 수행하는 TCP/IP는 총 4개의 계층으로 구분되어 있다. 아래 그림은 O..

IT/Network 2021.03.22

[Network Basic] TCP/IP 구조

1. TCP/IP 프로토콜의 개념 1969년도에 미 국방성 방위망인 DARPA에서 개발. OSI 7 Layer의 전송 계층과 네트워크 계층에서 동작을 하고 상위 계층의 응용 프로그램을 구별. TCP는 데이터의 전송 방법을 결정하는 프로토콜로서 상위 계층으로부터 요청된 데이터를 전송하며 IP는 인터넷상에서 각 호스트의 주소를 결정하는 프로토콜로서 주소결정과 Routing을 한다. 2. TCP/IP의 계층화 (1) 네트워크 인터페이스(Network Interface) 계층 OSI 참조모델의 물리 계층(Physical Layer)과 데이터 링크(Data link) 계층을 포함하고 있다. 이 계층에서는 데이터를 전송하는 전송 매체를 결정하고 신호 레벨 또는 구조(Architecture)를 결정한다. 이러한 구조..

IT/Network 2021.03.20

[Network Basic] VPN 터널링의 방식

1. VPN의 터널링의 형식과 암호화 (1) PPTP Microsoft, 3Com, US.Robotics에서 개발 PPP의 인증, 압축 및 암호화 메커니즘을 그대로 이용하는 사실상의 산업 표준 네트워크 및 전화 접속 연결을 통해 PPTP 클라이언트쪽을 구성 기본적으로 5개 PPTP포트가 구성됨 datalink header, IP Header, GRE Header, PPP Header, PPP data, Data link 트레일러 (2) L2TP PPP 프레임을 IP, X.25, 프레임 릴레이, 그리고 ATM등과 같은 여러 종류의 네트워크에 터널링 기능을 제공 현재는 IP에서만 사용할 수 있게 정의됨 모든 터널링 기능을 수행할 때 UDP 프로토콜 사용 RFC 2661에 정의 (3) 캡슐화 IPSec 위에서..

IT/Network 2021.03.19
반응형