전체 글
[VMware] Turn on VM with Windows cmd
[VMware] Turn on VM with Windows cmd
2023.07.13m1 맥북을 사용하기 때문에, 가상머신을 로컬 환경에서 실행할 수 없는 분들이 주위에도 여럿 계셨습니다. 저도 그들 중 한 명이구요.. 그렇기에 연구실 윈도우 데스크탑에서 가상머신을 돌리고, 윈도우 데스크탑에 ssh 로 접속하여 공부를 하고 있습니다. 어느 날, 호스트(윈도우 데스크탑)까지는 ssh 연결이 가능하나 가상머신에 ssh 접속이 되지 않는 현상이 발생했습니다. 여러 번의 시도 끝에, VMware(혹은 가상머신만) 가 원인 불명의 사고로 꺼졌음을 알 수 있었습니다. 호스트에도 ssh 로 접속한 저는 cmd 로 VMware 의 가상 머신의 전원을 킬 수 있을지에 대한 의문이 들었고, 찾아냈습니다. 우선 VMware 자체가 셧다운 됐을 가능성이 있어서 VMware 부터 아래의 명령어로 실행시켜주었습..
[Ubuntu] Static IP 주소 변경
[Ubuntu] Static IP 주소 변경
2023.07.04가상 환경에서 여러 대의 Ubuntu 와 통신하기 위해서 설정할 때, IP 주소의 전체적인 틀이 짜여져있으면 더욱 편합니다. 예를 들어, 아래와 같이 3대의 Ubuntu 를 비슷한 IP 주소로 할당할 수 있습니다. Ubuntu20-1 : 172.17.29.61 Ubuntu20-2 : 172.17.29.62 Ubuntu20-3 : 172.17.29.63 이와 같은 (눈, 정신 등의)편안함을 위해, 각각의 Ubuntu IP 주소를 변경해보도록 하겠습니다. ip addr 우선, 이 명령어를 통해 Ubuntu 현재 자신에게 할당된 IP 주소를 확인할 수 있습니다. net-tools 를 설치하고 ifconfig 명령어를 사용하는 방법도 있습니다. 여기서, 빨간색 네모에 적힌 정보를 확인합니다. 고정 IP를 할당할..
[Computing System] 불 논리(Boolean Logic)
[Computing System] 불 논리(Boolean Logic)
2023.06.24모든 디지털 기기는 모두 정보를 저장하고 처리하도록 설계된 칩들은 탑재하는데, 이 칩들은 동일한 구성 요소인 기초 논리 게이트로 만들어집니다. 이번 글에서는 가장 기초적인 논리 게이트인 Nand 를 이용하여 불 게이트(Boolean Gate)를 만들 것입니다. 불 게이트란 불 함수(Boolean Function)를 물리적으로 구현한 것입니다. 불 대수 참/거짓, 1/0, 예/아니오, 켜짐/꺼짐 같은 이진수 값을 다루는 대수학입니다. 불 함수는 이진수를 입력받아 이진수를 출력하는 함수입니다. 컴퓨터는 이진수를 표현하고 처리하는 하드웨어이므로, 불 함수는 하드웨어 아키텍처의 중심적인 역할을 수행합니다. 그러므로, 불 함수를 정의하고 분석하는 것이 컴퓨터 아키텍처를 구축하는 첫 단계가 됩니다. 불 함수를 정의..
[Docker] Windows Bind Mount Path
[Docker] Windows Bind Mount Path
2023.06.21Binding Mount 를 위해서 아래와 같이 명령어를 작성합니다. docker run -d --rm -p 3000:80 --name feedback-app -v feedback:/app/feedback -v "C:\Users\User\Desktop\dock8s\dc\datapractice:/app" -v /app/node_modules feedback-node:volumes 이때, vscode 와 같은 애플리케이션에서 copy path를 하게 되면 위 명령어에 포함된 경로와 같이 백슬래시(\) 로 경로가 구성됩니다. 이러한 경로로 작성 시에, Binding Mount 가 정상적으로 되지 않는 경우가 종종 발생합니다. 경로 상의 백슬래시를 모두 일반 슬래시(/)로 변경해주면 해결됩니다. docker r..
[Algorithms] String(Pattern) Matching
[Algorithms] String(Pattern) Matching
2023.06.01String 이란 길이가 0 이상인 Character 들의 나열을 의미합니다. 길이가 0 인 String 은 "" 와 같이 표현할 수 있으며, Empty String 이라고 부릅니다. 그와 반대로, 길이가 1 이상인 String 은 Non-empty String 이라고 부릅니다. String 의 예시 - C++ Program : C++ 로 작성한 .cpp 파일도 하나의 문자열이라고 할 수 있습니다. - HTML Document : 호호잇!! 과 같이 우리가 브라우저를 통해서 웹페이지를 이용할 때, 사용되는 HTML 파일도 하나의 문자열입니다. - DNA Sequence : {A, C, G, T} 로 구성된 염기서열의 나열도 문자열입니다. - Digitized Image : 디지털 이미지는 {0, 1} 로..
[Algorithms] Dynamic Programming
[Algorithms] Dynamic Programming
2023.05.26/* 강의 정리 */ Dynamic Programming(동적계획법) 이란? 처음에 주어진 큰 문제를 여러개의 작은 문제로 나누어 푸는 방법을 말합니다. 어랏? Divide&Conquer(분할정복기법)랑 같은거 아닌가? 할 수도 있지만, 큰 차이점 하나가 있습니다. Dynamic Programming 은 중복 계산을 하지 않는다는 점입니다. Divide&Conquer 에서는 큰 문제를 여러개의 작은 문제로 나눈 후에, 작은 문제를 계산하고 그 결과를 결합해 윗 단계의 문제를 해결하는 방식이였습니다. Dynamic Programming 에서는 이와 거의 유사하지만, 나눠진 작은 문제들 중 이미 앞에 계산한 적이 있는 연산이라면 이를 중복해서 계산하지 않고 이전의 결과값을 불러와 사용합니다. 이러한 이전 연..
[Networks] Networks Under Attack
[Networks] Networks Under Attack
2023.05.24이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[Script] Ping Test
[Script] Ping Test
2023.05.22#!/bin/bash HOST=./host.web for LST in `cat ${HOST}` do CHK=`echo ${LST} | cut -c 1` if [[ ${CHK} != '#' ]] ; then ping -c 1 -w 1 ${LST} &> /dev/null if [ "$?" == "0" ] ; then echo "${LST} .. bb" else echo "${LST} .. Hmm.." fi fi done 핑 테스트 스크립트니깐,, 썸네일은 핑구로
[Networks] Protocol Layers and Their Service Models
[Networks] Protocol Layers and Their Service Models
2023.05.21인터넷에는 여러 개의 애플리케이션, 프로토콜, 여러 종류의 종단 시스템, 패킷 스위치, 그리고 여러 종류의 link-level 미디어가 있습니다. 이 복잡한 인터넷을 네트워크 구조로 표현해보고자 합니다. Layered Architecture 먼저, 인간과의 유사성을 살펴보겠습니다. 우리는 매일매일 복잡한 신체 시스템과 함께 살아갑니다. 누군가가 당신에게 항공 시스템에 대해서 설명을 부탁했다고 상상해보겠습니다. 항공기 체크인/체크아웃, 수화물, 게이트 직원, 조종사, 항공기, 그리고 항공 시스템 등으로 엮인 이 복잡한 시스템을 어떻게 설명할 수 있을까요? 이 시스템을 설명하는 방법 중 하나는 당신이 항공기를 타고 목적지에 도착하는 일련의 과정을 설명하는 방법입니다. 대부분의 사람은 위 그림과 같은 과정을 ..
[Networks] Delay in Packet-Switched Networks
[Networks] Delay in Packet-Switched Networks
2023.05.18패킷들은 하나의 호스트(Source) 로부터 출발하여 여러 개의 라우터를 거치며, 마지막에는 또다른 호스트(Destination) 에서 멈춥니다. 이런 과정에서, 패킷은 이동하며 거치는 노드들에서 여러 종류의 지연을 경험할 것입니다. 발생하는 지연들 중 대표적인 것은 아래와 같습니다. Nodal processing delay Queuing delay Transmission delay Propagation delay 이러한 지연들이 누적되어 Total Nodal Delay가 발생합니다. 검색, 웹 브라우징, 이메일, 지도, 네트워크를 이용하는 메시지, VOIP 등과 같은 많은 인터넷 애플리케이션들의 성능은 이런 네트워크 지연에 굉장히 많은 영향을 받습니다. Types of Delay 위 그림에서, 패킷은 ..
[Networks] Circuit Switching
[Networks] Circuit Switching
2023.05.16스위치나 링크 네트워크를 통하여 데이터를 옮기는 데에는, 크게 두가지 접근 방식이 존재합니다. 그 두가지 방식은 Packet Switching 와 Circuit Switching 입니다. 이번 글은 Circuit Switching 에 대하여 작성한 글입니다. Circuit Switching 방식을 사용하는 네트워크에서는, end system 사이에서 이루어지는 통신에 필요한 자원을 예약하여 사용하는 것이 특징입니다. Packet Switched Network 에서는 이런 자원들을 예약하지 않고, 필요에 따라 사용합니다. 그렇기에 통신 링크를 사용하기 위해서는 앞에 먼저 링크를 사용하고 있는 통신이 있을 때, Queue에 잠시 대기해야 하는 상황이 발생하기도 합니다. 책에서는 Packet Switched ..
[Networks] Store and Forward Transmission
[Networks] Store and Forward Transmission
2023.05.15대부분의 패킷 스위치(라우터)들은 store-and-forward transmission을 사용합니다. 이는 패킷 스위치가 Source로부터 모든 패킷을 받고 난 후에, Outbound Link로 전송을 시작하는 방식을 의미합니다. * Source : 패킷을 보내는 출발지 * Destination : 패킷을 받아야하는 목적지 * Outbound Link : Destination 쪽으로 가는 링크입니다. 다른 스위치와 이어져있습니다. 만약 Source가 각각 L bits 인 패킷 3개를 Destination에게 전송한다면, 패킷 스위치가 첫번째 패킷을 먼저 수신합니다. 그럼 패킷 스위치의 '모든 패킷을 수신하고 나서, Outbound Link로 패킷 전송을 시작한다' 라는 특성 때문에, 먼저 받은 패킷을 ..