전체 글 242

VM생성 후 초기 필수 패키지 설치, 고정IP 설정 [Ubuntu 18.04 desktop 기준]

VM 네트워크 설정 VM 상단 설정 > 네트워크 > 어댑터 1 다음에 연결됨: 어댑터에 브리지 이름: [사용중인 네트워크 인터페이스] 패키지 설치 sudo apt install -y net-tools sudo apt install -y ssh sudo apt install -y vim sudo apt install -y curl static IP 설정 우측상단의 네트워크 아이콘 클릭 Network설정에서 Wired 섹션의 우측 톱니바퀴 아이콘 클릭 설정에서 "IPv4" 탭 클릭, 아래와 같이 설정한 후, 우측상단의 Apply를 눌러 적용해준다. 이후 네트워크를 OFF 시킨 후, 다시 ON 시켜 적용시킨다. 이후 터미널에서 ifconfig 명령어로 적용 확인

Server 2021.12.01

포트(Port)에 대해 + 잘 알려진 포트

1. 포트(Port)란? 포트는 보통 항구나 공항을 나타낸다. 이러한 항구와 공항은 외부세계와 접속할 수 있는 관문이 된다. 컴퓨터에서도 마찬가지다. 컴퓨터에서의 포트란 외부의 다른 장비와 접속하기 위한 플러그와 같은 것을 의미한다. 예를 들어 하나의 서버가 있을 때 이 서버는 다양한 역할을 하게 되는 경우가 있다. 웹사이트를 전달해주는 역할, 파일을 요청하는 역할, 이럴경우 클라이언트가 서버에 요청을 보냈을때, 웹사이트 요청인지 파일 요청인지 구분할 수 있는 방법이 필요하게 된다. 이때 바로 Port를 사용하게 된다. 소프트웨어에서는 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위이다. 포트번호는 어떤 프로그램에 접속 할 것인지 컴퓨터에게 알려준다. 아래 그림과 같이 웹 브라우저로 서버에 접속을 ..

Network 2021.11.30

리눅스 네트워크 포트 상태 확인

만일 웹 서버를 생성하고, 데몬(Daemon)프로세스로 실행하여 웹 서비스를 개시하려고 할때, 현재 시스템의 네트워크 포트 상태를 확인할 필요가 있다. (만약 서버의 포트로 지정된 번호가 이미 사용중인 포트라면, 지정한 포트를 변경하거나, 현재 해당 포트를 사용하는 프로세스를 종료시켜야 한다.) 현재 사용하고 있는 TCP포트(Port)를 조회하는 리눅스 명령어는 netstat이다. netstat 명령어로 TCP 통신을 진행중인 서비스의 연결 상태를 확인할 수 있다. (netstat은 Network Statistics의 약자로, 네트워크의 문제를 찾아내고 성능 측정으로서 네트워크상의 트래픽(Traffic)양을 결정하기 위해 사용한다. ) netstat 옵션: a 모든 소켓을 출력 -l listen 상태인 ..

Server/Linux 2021.11.30

[Python] 모듈이 있는데 No module named XXX 에러가 뜰때 점검사항

어제 오후에 있었던 일이다. 'docker'라는 디렉터리 하위에 있는 'Client' 모듈을 import해야하는 상황이었다. import Client from docker 위와 같은 형식으로 모둘을 import하는 과정에서, 내가 구성한 docker라는 디렉터리 내에 Client모듈이 있었음에도 불구하고, "No module named XXX" 에러가 발생하게 되었다 그 원인은 python의 sys.path경로에 여러 디렉터리가 잡혀있었는데, 그중 다른 경로의 docker 디렉터리를 가져와놓고서는, 'Client'모듈이 없다고 에러를 뱉은 것이다. 예를들어, [ /tmp/dir_A/docker ] temp.py [ /tmp/dir_B/docker ] Client.py 위와 같이 두 디렉터리가 있고, sy..

Language/Python 2021.11.23

[Python] sys.path에 관해

파이썬의 sys.path는 모듈을 import할 때 모듈을 찾아야 할 경로들을 저장해둔 list이다. 예를 들어 sys.path가 ['dir_A', 'dir_B', 'dir_C'] 라고 가정했을때, import client이라는 코드를 만나면 Python은 먼저 dir_A 디렉터리 내에서 client 모듈을 찾는다. 찾으면 import를 하고, 없으면 dir_B, dir_C를 검색해보고, 그래도 없으면 ModuleNotFoundError 예외를 발생시킨다. sys.path는 언제 만들어질까? - 먼저 최초 실행된 Python 스크립트가 위치한 디렉토리를 더한다. 이때 interactive shell(python or python3)으로 실행된 경우는 ''(빈 스트링)을 사용한다. - 환경 변수중 PYTH..

Language/Python 2021.11.23

(@angular/material/dialog) MatDialogRef에 관해

로드할 컴포넌트와 선택적인 config object를 파라미터로 주어 open 메서드를 호출하면 다이얼로그가 열린다. 이 open 메서드는 MatDialogRef의 인스턴스로 반환된다. let dialogRef = dialog.open(UserProfileComponent, { height: '400px', width: '600px', }); MatDialogRef는 열린 다이얼로그를 조작할 수 있게 제공한다. 이는 dialog를 닫고 다이얼로그가 닫혔을때 알림을 받을수 있도록 사용할 수 있다. 모든 알림 Observables는 다이얼로그가 닫힐때 발생된다. dialogRef.afterClosed().subscribe(result => { console.log(`Dialog result: ${result..

[Angular] EventEmitter에 관해

1. EventEmitter란? @angular/core EventEmitter @Output 디렉티브와 함께 컴포넌트 내에서 사용하여 사용자 정의 이벤트를 동기식 또는 비동기식으로 내보내는 역할을 하고, 해당 인스턴스를 구독하여 해당 이벤트에 대한 핸들러를 등록한다. class EventEmitter extends Subject { constructor(isAsync?: boolean): EventEmitter emit(value?: T): void subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription } 2. 사용 예제 먼저, 아래와 같이 "processStart", "..

Git Private repository clone시 not found 문제

로컬에서 Git Private repository의 소스를 clone 받을때 위와 같이 "Repository not found." 에러가 날 경우, 해결 방법은 다음과 같이 Git clone URL에 해당 Repository에 소속되어 있는 유저의 이름을 "github.com" 앞에 추가해주면 된다. git clone https://[USER_NAME]@github.com/~~~.git 추가로, 알맞은 git clone URL임에도 불구하고 아래와 같이 에러가 날 경우, copy & paste 시에 문자가 올바른 인코딩 형태로 입력되지 않을 수 있으니, 해당 URL을 직접 타이핑 쳐 입력하면 해결 될 수 있다.

Git 2021.11.13

이미 Git repository와 연동된 프로젝트에 Git remote add

아래 명령어로 이미 연동된 Git url을 확인할 수 있다. git remote -v 아래와 같이 Git push URL을 추가해 준다. git remote set-url --add --push origin [GIT_REPOSITORY_URL] 추가해준 뒤 다시 'git remote -v' 명령어로 remote URL을 조회한다. 만일, 추가해준 URL을 지우기 위해서는 아래와 같이 입력해준다. git remote set-url --delete --push origin [GIT_REPOSITORY_URL] git remote에 관한 명령어 도움말은 아래와 같다.

Git 2021.11.02
반응형