0. Inode? Index node! 참고: A hard link and a symbolic link? What is the difference between them? A hard link and a symbolic link? What is the difference between them? Hard link and symbolic link are two types of links in the file system. They are the pointers to files or directories. To use links, we… medium.com 파일 시스템에서 링크의 종류에는 하드 링크와 심볼릭 링크가 있다. 이 둘은 모두 파일 또는 디렉토리를 가리키는 포인터다. 링크를 사용하려면, inode(..
▶ [Kaggle]House Prices Competition으로 이동 캐글의 입문 문제인 House Prices 데이터로 EDA를 해봤습니다. 1. 데이터 탐색 (1) 데이터 기본 속성 - 81개의 변수와 1460개의 관측치로 구성되었습니다. - ‘SalePrice’는 종속 변수로 보이며, 단위는 달러로 추정됩니다. (2) 결측치 19개의 변수에 결측 값이 있습니다. 대부분의 경우 NA는 Alley, BsmtQual, FireplaceQu와 같이 해당 변수가 존재하지 않음을 의미합니다. 변수 이름 내용 타입 결측 개수(%) Alley Type of alley access to property 범주형(명목) 1369 (94%) MasVnrType Masonry veneer type 범주형(명목) 8(0...
Transport Layer(전송 계층) 서로 다른 호스트에서 실행되는 애플리케이션 프로세스 간의 논리적인 연결을 담당한다. 전송 프로토콜(Transport protocol)은 end system에서 실행된다. 그래서 전송 계층을 논리적인 종단 간 전송 시스템(logical end-end transport system)라고 하기도 한다. 송신 측: 애플리케이션 메시지를 세그먼트 형태로 만들어 네트워크 계층으로 보낸다. 수신 측: 세그먼트를 메시지 형태로 만들어 애플리케이션 계층으로 보낸다. 네트워크 계층과 전송 계층의 차이점 네트워크 계층은 호스트 간의 논리적인 연결을 담당한다. 전송 계층은 프로세스 간의 논리적인 연결을 담당한다. 전송 계층에서 주로 다루는 것 TCP(connection oriented..
데이터를 보낼 때 네트워크 레이어는 세그먼트(전송계층)를 데이터그램(네트워크 계층)으로 캡슐화(encapsulate)한다. 데이터를 받을 때 네트워크 레이어는 데이터그램을 전송계층으로 보낸다. 네트워크 계층의 핵심 기능에는 '포워딩(forwarding)'과 '라우팅(routing)'이 있다. 네트워크에는 출발지에서 목적지까지 이동할 수 있는 여러가지 경로가 있다. 네트워크 계층에는 최상의 경로를 찾는 몇 가지 전략이 있다. 이 출발지에서 목적지로 패킷으로 이동하는 경로를 결정하는 프로세스를 라우팅이라고 한다. RIP, OSPF, BGP와 같은 다양한 라우팅 프로토콜이 있다. 포워딩은 다양한 네트워크들을 연결하는 스위칭이나 라우팅 장비에서 수행되는 동작으로, 들어온 패킷의 헤더 정보를 이용하여 최종 목적지..
패킷 교환 네트워크(Packet Switching Network)에서 지연(delay)이나 손실(loss)가 어떻게 일어나게 되는 걸까? (1) 지연(delay) 검색, 이메일, 지도 등 많은 인터넷 애플리케이션의 성능이 네트워크 딜레이에 엄청난 영향을 받는다. (1) Processing delay 패킷의 헤더를 검사하고 패킷을 보낼 위치를 결정하는 데 필요한 시간이 Processing delay의 일부이다. 또한 업스트림 노드에서 라우터 A로 패킷의 비트를 전송할 때 발생한 패킷의 비트 수준 오류를 확인하는 데 필요한 시간도 포함한다. 고속 라우터의 Processing delay는 일반적으로 마이크로 초 이하다(즉, 실제로 별 문제 없는 지연임). 이 Processing delay 후 라우터는 라우터 ..
네트워크의 형태는 규모에 따라 LAN, MAN, WAN으로 나눌 수 있다. 1.네트워크 형태 LAN(local area network; 근거리 통신망): 가까운 거리에 있는 단말간의 네트워크 단일 LAN은 거리적으로 한정되지만, 복수의 LAN을 연결하면 대형 네트워크 형성이 가능하다. 관리자가 직접 관리 가능한 영역 MAN(metropolitan area network; 도시권 통신망): LAN과 WAN 중간 정도의 네트워크 LAN이 1개의 기업, 빌딩 내를 연결하는 네트워크라면, MAN은 1개의 도시로 확장한 네트워크 WAN(wide area network; 광역통신망): 도시 간, 국가 간 등 원격지 사이를 연결하는 통신망 두 개 이상의 LAN 영역을 연결한 영역 광범위하게 분산된 LAN과 MAN을 ..
1. 데이터 기반 의사 결정(data driven decision making)이란? Data: A collection of facts Data-driven decision-making: The process of using facts to guide business strategy - Source: Google 비즈니스 전략을 이끌어내기 위해 사실(데이터)를 사용하는 것이다. 2. 데이터 기반 의사 결정(data driven decision making) 과정 비즈니스 요구사항, 즉 해결해야 할 문제를 파악한다. 데이터를 찾고(준비하고 처리하기), 분석하고 이를 사용해서 추세, 패턴 및 관계를 파악한다. 데이터를 공유한다. 데이터 분석 결과를 사용한다. 3. 주의할 점 데이터 기반의 의사 결정이 아무리..
문제 이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오. 코드 import sys class Node: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right def preorder(node): if node is None: return print(node.val, end='') if node.left: preorder(tree[node.left]) if node.right: preorder(tree[node.right]) def i..
문제 케빈 베이컨의 6단계 법칙에 의하면 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임이다. 케빈 베이컨은 미국 헐리우드 영화배우들 끼리 케빈 베이컨 게임을 했을때 나오는 단계의 총 합이 가장 적은 사람이라고 한다. 오늘은 Baekjoon Online Judge의 유저 중에서 케빈 베이컨의 수가 가장 작은 사람을 찾으려고 한다. 케빈 베이컨 수는 모든 사람과 케빈 베이컨 게임을 했을 때, 나오는 단계의 합이다. BOJ 유저의 수와 친구 관계가 입력으로 주어졌을 때, 케빈 베이컨의 수가 가장 작은 사람을 구하는 프로그램을 작성하시오. 접근 1. 최소 몇 단계 만에 이어질 수 있는..
도커는 대표적인 컨테이너 기술이다. 나는 회사에서 모 프로젝트를 진행하면서, 온갖 가상머신에 각종 프로그램을 실행하기 위한 설정을 하고 라이브러리를 설치하면서 컨테이너 기술에 관심을 가지게 됐다. 컨테이너 GCP에서 컨테이너의 개념과 이점을 잘 설명한 글(cloud.google.com/containers/?hl=ko)이 있다. 일부를 발췌하면 아래와 같다. 컨테이너와 VM의 공통점 가상 머신(VM)은 호스트 운영체제에서 구동되며 그 바탕이 되는 하드웨어에 가상으로 액세스하는 Linux, Windows등의 게스트 운영체제를 의미한다. 컨테이너는 가상 머신과 마찬가지로 애플리케이션을 관련 라이브러리 및 종속 항목과 함께 패키지로 묶어 소프트웨어 서비스 구동을 위한 격리 환경을 마련해준다. 컨테이너와 VM의 ..
명령어 사용 순서 # 새로 만들기 $ vim provider.tf $ terraform init $ vim s3.tf $ terraform plan $ terraform apply # 불러오기(import): resource를 불러오기 전에 root module에 configuration file이 위치하고 있어야함 # 위의 경우에는 s3.tf 파일 $ terraform import aws_s3_bucket.bucket bucket-name $ terraform plan $ terraform apply # 잘 만들어졌는지 확인하는 용도 $ terraform state list terraporm plan 명령어는 실제 인프라의 존재 여부를 확인하지 않지만, terraform apply 명령어는 확인한다. ..