1. 파이썬은 object 기반의 프로그램입니다.
하지만, procedural programming 또한 가능합니다.
프로시져 프로그램은 전통적인 프로그램 방식이며, 이는 흡사
해야할 일을 순차적으로 적는 방식과 같습니다.
예를 들면, 마트에서 장을 본다면, 아래처럼 할일을 적을 수 있을 것입니다.
0. 마트에서 장보기
-0.0 카트를 가지고,
-0.1 샴프를 카트에 담고
-0.2 빵을 카트에 담고
-0.3 식용류를 카트에 담고
-0.4 계산대에 물건을 내려놓고
-0.5 카드결재를 하고
이중에서 자주 실행할 step을 함수로 만들어 실행하게 할수도 있습니다.
아래는 procedural 형태로 작성한 파이썬 예제입니다.
===================================
Def addition(number1,number2):
return number1 + number2
x=4
y=8
print addition(x,y)
===================================
2. 이 반면 파이썬은 object-oriented programming 또한 가능합니다.
오브젝트 프로그램은 실제세상의 모델처럼 프로그램을 오브젝화해서 프로그램을 하는 방법입니다.
이를 위해서, classes,objects,attributes,methods등을 만들어 사용합니다.
이 개념을 살펴보면
동물중에 개를 살펴보면..
object는 실제 집에서 기르는 개의 이름을 나타냅니다.
바둑이,뽀삐...등등 이 될수 있겠죠
class는 모든 개가 가지고 있는 추상화된 청사진으로
각 실제 개가 가지고 있을수 있는 특징이나 행동을 정의할수 있습니다.
예를 들면 개->털색깔이 있고
개=> 멍멍 짖을수 있습니다.
이런 특징/행동을 class를 통해서 정의합니다.
attribute는 개가 가지는 특징을 표현합니다.
뽀삐.털색깔==갈색
method 는 개가 할수 있는 액션을 표현합니다.
뽀삐.짖기 => 멍멍
다음은 object-oriented code 예제입니다.
Class person(object):
def __init__(self,name,age):
self.name = name
self.age = age
def great(self,person):
print "hello %s, how are you today?" % (person)
John = person("john",31)
Erik =person(Erik",31)
print "john says:",
john.great("Erik")
print "Erik says:",
Erik.great("john")
2017년 11월 2일 목요일
[파이선-네트워크 엔지니어]01. 왜? 프로그램을 배워야할까요?
1. 왜 우리는 프로그래밍을 배울까요?
- 운영의 효율성 때문입니다
즉, 주어진 시간에 더 많은 일을 하고, 시간과 노력을 아끼기 위해서 입니다.
- 사람은 가끔 실수를 합니다.
네트워크 장애중 51% 휴먼에러 (2010, Ponemon instatitue's national survey on Datacenter)
네트워크 보안에 이슈가 66%가 장비설정에 관련된 휴먼에러(2011, algo sec survey)
이런 이유로 자동화 및 프로그램은 이런 이슈를 해결할 수 있습니다.
시간을 단축시키는것은 비용을 세이브 시킵니다.
현재 대세가된 기술들은 (예를 들면 SDN, NFV, NETCONF/YANG...) 모두 네트워크 엔지니어가 프로그래밍을 요구하고 있습니다.
2. 그럼 어떤 프로그램 언어를 배워야 할까요?
소위 대세가 되는 프로그램을 배워야 하는데.. 그 대세 프로그램중의 하나가 Python입니다.
TIOBE programming community index는 인터넷상의 어떤 언어가 가장 인기인지 그 순위를 보여줍니다.
2017년 10월기준으로 python이 5위를 차지하고 있습니다.
그외에 많은 다른언어가 있지만, 이글에서는 python을 타겟으로 하겠습니다.
3. python 버젼
python version 1.0 - 1994.1월
python version 2.0 - 2000.10월
python version 3.0 - 2008.12
현재 python 2.x 와 3.x 버젼이 많이 쓰이고 있는데, 문법이 미묘하게 약간 다릅니다.
이 글에서는 2.7 버젼을 타켓으로 하겠습니다.
그이유는 아직 많은 인기있는 library들이 아직 pyhon 3.0으로 포팅되지 않았습니다.
- 운영의 효율성 때문입니다
즉, 주어진 시간에 더 많은 일을 하고, 시간과 노력을 아끼기 위해서 입니다.
- 사람은 가끔 실수를 합니다.
네트워크 장애중 51% 휴먼에러 (2010, Ponemon instatitue's national survey on Datacenter)
네트워크 보안에 이슈가 66%가 장비설정에 관련된 휴먼에러(2011, algo sec survey)
이런 이유로 자동화 및 프로그램은 이런 이슈를 해결할 수 있습니다.
시간을 단축시키는것은 비용을 세이브 시킵니다.
현재 대세가된 기술들은 (예를 들면 SDN, NFV, NETCONF/YANG...) 모두 네트워크 엔지니어가 프로그래밍을 요구하고 있습니다.
2. 그럼 어떤 프로그램 언어를 배워야 할까요?
소위 대세가 되는 프로그램을 배워야 하는데.. 그 대세 프로그램중의 하나가 Python입니다.
TIOBE programming community index는 인터넷상의 어떤 언어가 가장 인기인지 그 순위를 보여줍니다.
2017년 10월기준으로 python이 5위를 차지하고 있습니다.
그외에 많은 다른언어가 있지만, 이글에서는 python을 타겟으로 하겠습니다.
3. python 버젼
python version 1.0 - 1994.1월
python version 2.0 - 2000.10월
python version 3.0 - 2008.12
현재 python 2.x 와 3.x 버젼이 많이 쓰이고 있는데, 문법이 미묘하게 약간 다릅니다.
이 글에서는 2.7 버젼을 타켓으로 하겠습니다.
그이유는 아직 많은 인기있는 library들이 아직 pyhon 3.0으로 포팅되지 않았습니다.
피드 구독하기:
글 (Atom)
네트워크 시뮬레이터 (eve-ng) 설치 방법
안녕하세요. eve-ng란 가상 시뮬레이터 환경을제공하는 플랫폼입니다. 시스코 스위치, 주니퍼 방화벽, window , linux등을 가상환경에 설치해서 lab을 할수 있도록 합니다. e...
-
안녕하세요. Kodi를 설치하셨다면, 다음은 각종 Addon을 설치할 차례입니다. 이 글은 addon을 쉽게 설치하도록 도와주는 Ares-wizard를 설치방법을 설명합니다. Kodi를 v16과 v17버전의 화면구성이 조금 다릅니다. (...
-
안녕하세요. eve-ng란 가상 시뮬레이터 환경을제공하는 플랫폼입니다. 시스코 스위치, 주니퍼 방화벽, window , linux등을 가상환경에 설치해서 lab을 할수 있도록 합니다. e...
-
안녕하세요. 이번에는 icdrama kodi addon을 설치를 설명합니다. kodi 처음 화면에서 아래 빨간 박스 안의 아이콘을 클릭합니다. 파일 매니저를 선택합니다. Add source를 선택합니다 아래 NONE을...