전체 글

미국의 유명한 힙합 그룹 미고스의 오프셋으로도 유명한 이 단어 Offset 과거 미고스의 'Walk it Talk it'이라는 곡을 인상깊게 들어서 Offset의 뜻을 찾아보았으나 '상쇄(벌충)하다'라는 의미가 잘 이해되지 않은 채로 긴 시간이 지나 컴퓨터과학 분야에서 네트워크를 공부하며 IP Protocol에서 Offset이 재등장하는 것이 아닌가! 평소 공부할 때 지엽적인 부분도 짚고 넘어가는 성향이라 뜻을 다시 찾아보았다. (일상에서의) offset : 상쇄하다, 메우다 *케임브리지 사전: to balance one influence against an opposing influence, so that there is no great difference as a result (두 가지의 상반되는 효..
· Network
Internet Protocol(IP)이란? 전송자가 특정 수신자에게 데이터를 적절히 전송할 수 있도록 각 노드(네트워크 주체)의 주소(IP address)를 지정하고 패킷(데이터 조각)을 라우팅(경로 설정)하기 위한 규칙의 집합(프로토콜)을 의미합니다. 'OSI 7계층 모델'에서는 네트워크 계층, 'TCP/IP 4계층 모델'에서는 인터넷 계층에 해당하는 프로토콜. 라우터(Router)라는 장비가 Internet Protocol의 IP주소를 참고하여 패킷의 경로를 설정하고 도착지로 전송합니다. IP address란? 인터넷이라는 네트워크를 수행하기 위한 규칙인 Internet Protocol 중에서 네트워크 상의 노드를 식별하기 위한 고유 식별자이다. 말 그대로 '주소'의 의미를 담고 있고, 우리가 발송..
· Linux
리눅스에서 vim을 이용하여 스크립트를 작성할 때, 첫 줄에 위치하는 '#!' (shebang)에 대해서 알아보겠습니다. #! 뒤에는 해당 스크립트를 실행하는 데 필요한 인터프리터의 절대 경로가 위치합니다. 쉘 스크립트와 파이썬 모두 스크립트 언어라는 공통점을 가지고 있고, 리눅스 OS가 코드를 실행할 때 필요한 인터프리터의 경로를 지정하는 것이 바로 #!(shebang)의 역할입니다. #!은 반드시 스크립트의 첫 번째 줄에 위치하여야 하며, 다른 줄에는 위치할 수 없습니다. #!을 이용하면 인터프리터의 위치가 리눅스 시스템마다 다르더라도 스크립트는 동일하게 작동합니다. 그렇기에 여러 리눅스 시스템에서 실행될 스크립트 파일을 작성하기에 유용합니다. 아래에서 쉘 스크립트, 파이썬에 대한 shebang예시를..
· Linux
리눅스의 프로세스는 실행 방식을 기준으로 두 종류로 나뉩니다. 각각 'foreground' 프로세스와 'background'프로세스로 지칭하는데, 사용자와의 상호작용에 있어 차이점을 보입니다. 아주 간단히 설명하자면 쉘을 점유하냐, 하지 않느냐로 프로세스의 실행방식이 나뉩니다. 영어에서 fore-라는 접두사는 앞, 미래라는 의미를 가지고 있기에 foreground process는 터미널 또는 콘솔로 진행상황or결과가 출력되며 사용자와 실시간으로 상호작용하는 프로세스를 의미합니다. (터미널이나 콘솔은 간단히 모니터로 생각하면 됩니다). 기본적으로 프로세스는 foreground 방식으로 실행됩니다. 이와 반대로 background process는 터미널 또는 콘솔로 진행상황or결과가 출력되지 않고 뒷단에서 ..
· Linux
LVM은 실제 하드디스크, 혹은 그것의 일부(파티션)를 논리적 개념으로 변환함으로써 물리적 저장장치를 좀 더 용이하게 사용하기 위한 방법론입니다. [물리적 → 논리적] LVM은 Logical volume manager라고도 하는데, 이는 LVM이라는 방법론을 구현하기 위한 패키치, 라이브러리, 프레임워크, 커널 모듈 일체를 통칭합니다. 일반적인 저장장치 마운트에 비해 LVM을 이용하면 많은 이점을 얻을 수 있습니다. 아래에서 LVM의 용어의 개념을 살펴보겠습니다. LVM 용어 및 개념 PV (Physical Volume) : 실제 물리적 저장장치(하드디스크), 혹은 그 저장장치의 일부인 파티션을 의미합니다. PE(Physical Extent) : PV를 구성하는 요소로, 데이터가 실제로 저장되는 고정된 ..
· Python
파이썬에서 비트연산자를 이용하여 정수에 대한 비트연산을 할 수 있습니다. 비트연산자의 종류에는 AND, OR, XOR, NOT, >>, 0101 | 0011 = 0111 (결과는 7) 3. XOR ^ 두 비트가 다를 때 결과가 1이 됩니다. 예: 5 ^ 3 -> 0101 ^ 0011 = 0110 (결과는 6) 4. NOT ~ 비트 값을 반전시킵니다. 1은 0으로, 0은 1로 변경됩니다. 파이썬에서는 2의 보수를 취하게 됩니다. 따라서, ~n은 -(n+1)과 같습니다. 예 ~5 -> ~0101 = -(0101+1) = -0110 (결과는 -6) 5. 왼쪽시프트