개발자의 기록장 블로그

만나서 반가워 !
이거 좋아해?

네트워크 기술
·
Computer Science/Computer Network
오늘 날의 인터넷은 전화 교환기가 중개하는 음성통신서비스에서 컴퓨터 통신 환경으로 전환되면서 매우 활발히 쓰이고 있다. 인터넷은 라우터라는 네트워크 교환기가 패킷을 선로의 혼잡도에 따라, 다른 교환기의 고장 여부에 따라 경로를 전환해가며 전송한다. 이때 교환이라는 개념이 아주 중요히 사용되므로 이에 대해서 알아보자. 회선 교환 방식교환이란 송신 호스트에서 수신 호스트까지 올바른 경로로 중개해주는 것을 말한다. 교환 시스템은 연결형 서비스와 비연결형 서비스로 제공되는데, 회선교환방식과 패킷교환방식이 각각에 해당된다. 회선 교환 방식은 전화연결과 같다. 미리 경로가 정해지며 고정 대역폭을 할당받아 안정적인 데이터 전송이 가능하다. 경로가 일정하기에 데이터들이 모두 같은 경로로 움직이며 순서가 뒤바뀌지 않는다..
네트워크 모델
·
Computer Science/Computer Network
우리가 사용하는 인터넷, 즉 네트워크는 매우매우 크고 복잡한 시스템들의 집합이다. 하지만 이렇게 큰 시스템들도 사실 작은 여러 컴포넌트들로 이루어져있는데, 컴포넌트들을 이해한다면 큰 시스템을 자연스럽게 이해할 수 있다. 이를 다른 말로 모듈화된 시스템 계층이라고 말한다. 독립적으로 동작할 수 있으며 상호유기적으로 통합될 수 있는 모듈들로 시스템을 구성하면 크기를 늘리기도 쉽고 유지보수하기도 쉬우며 전체 구조를 모듈을 파악함으로써 쉽게 이해할 수 있다. 모듈화모듈은 큰 시스템을 구성하는데 있어서 필수적인 방법적 접근방식이다.  모듈끼리 통신하기 위해서는 적절한 인터페이스가 필요하며 이런 모듈은 상-하위 계층이 존재한다.(이전에 서비스를 주고받으면서 OSI7계층이 동작한다고 했었다!) 상위 계층(모듈)이 하..
네트워크 시작
·
Computer Science/Computer Network
어떤 학문을 배울 때 용어가 중요하다는 것은 누구나 알고있는 사실이다.  특히나 컴퓨터 네트워크란 학문은 개념적 학문이 아닌 실제로 구현되고 동작하는 컴포넌트들의 집합으로 설명되기 때문에 용어 하나하나의 의미에 민감할 수 밖에 없다.  따라서 공부를 시작하기에 앞서 용어 정리를 좀 하고나서! 진행하면 어떨까 해서... 네트워크는 활용되는 만큼이나 많은 용어들이 생기고 사라지고 하는 것 같다. 새로운 용어를 표현할 때 기존의 단어를 재활용 하거나 문자의 축약형을 사용하는 경우도 많이 보았다.(IP = Internet Protocol 같은 경우라던가...) 있는 그대로의 사전적 의미보다 올바른 용어의 활용처를 아는 것이 중요하겠다. 컴퓨터 네트워크컴퓨터 네트워크란 시스템들이 프로토콜을 이용해 통신하는 집합체..
15. 파이썬 공백을 기준으로 출력
·
Language/Python
공백을 기준으로 출력하기1. print 함수의 end option 이용하기 - sep=" " 이 옵션을 이용하게 되면 print문의 출력문들 사이에 해당하는 내용을 넣을 수 있다.기본 값으로는 공백이 들어가 있으며 이를 사용해 원하는 문자를 입력할 수 있다. print("a","b","c", sep="||")# >> a||b||c- end=" "이 옵션의 경우 print 문을 이용해 출력을 완료한 뒤의 내용을 수정할 수 있다.기본 값으로는 개행(\n)이 들어가 있으며 이를 사용해 개행을 없애거나 원하는 문자를 입력할 수 있다. print("a","b","c", end="||")# >> a b c|| 2. 문자열의 join 함수 이용하기 -"".join(리스트)"''.join(리스트)를 이용하면 매개변수로..
14. 파이썬 ASCII 코드
·
Language/Python
파이썬에서는 ASCII 코드를 반환해주거나 변형시켜주는 편리한 메소드를 지원한다.정말 간단하다! ord(String) : 문자를 ASCII 코드값으로 변환char(Num) : 숫자에 해당하는 ASCII 코드 값을 반환    2021-09-19
13. 파이썬 input().split()과 map()
·
Language/Python
지금까지 input.split()으로 값을 여러개 입력받고 형 변환을 할 때도 map() 함수를 사용했었다.  이렇게 할 수 있었던 이유는 무엇일까? 사실 input.split()의 결과가 문자열 리스트여서 map을 사용할 수 있었던 것! a = input().split() # 10 20 (입력) >>> a ['10', '20']이처럼 문자열 두 개가 들어있는 리스트가 만들어진다! 이제 map을 사용해서 정수로 변환해보자. a = map(int, input().split()) # 10 20 (입력) >>> a list(a)# >>> [10, 20]이 리스트 [10, 20]을 변수 두 개에 저장하면 지금까지 사용한 a, b = map(int, input().split())와 같은 동작이 된다. a, b ..
12. 파이썬 max 함수
·
Language/Python
max 함수의 파라미터는 다음과 같다 max(iterable, *[, default=obj, key=func])  iterable한 객체가 들어와야 하고, key 값을 받아야 한다면, 그 값을 찾을 함수가 파라미터로 넘겨진다. dict_ = {'x' : 10, 'y' : 30, 'z' : 20}def f1(x): return dict_[x] key_max = max(dict_.keys(), key = f1) dict_ = {'x' : 10, 'y' : 30, 'z' : 20} key_max = max(dict_.keys(), key = dict_.get)# get 내장함수get 내장함수get(찾고싶은 값이 있는 딕셔너리 key 값 , 첫 번째 인자가 없을 경우 출력하고 싶은 값)name = {..
11. 파이썬 컴프리헨션
·
Language/Python
파이썬에서는 for문을 좀 더 간결하게 사용하는 문법을 지원한다.기존에 반복적으로 리스트와 딕셔너리에 값을 넣을 때 코드가 길어지는 경우가 있었는데이 길이를 줄일 수 있다는 것! 리스트먼저, 일반적으로 우리가 리스트를 만들어보자.numbers = []for n in range(1, 10+1): numbers.append(n)이를 한 줄로 표현하려면!! [x for x in range(10)]리스트를 생성하는 방식은 []를 이용한다는 것으로 동일하나, 리스트 내부에 코드를 작성한다는 점이 차이가 난다. 리스트 컴프리헨션을 이용해 for문을 돌릴 때, 반복되는 변수는 for 문 앞에 작성해준다.우리가 변수 x를 가지고 좀 더 다양한 값을 리스트에 넣어주고 싶다면[ 2*x for x in range(1,..