728x90

IT/기초 지식 111

[네트워크] 노드(node)란?

컴퓨터 네트워크 관련 포스팅을 보다보면 "노드(node, ノード)"라는 용어가 사용되는 경우가 있다. "노드(node, ノード))"는 간단히 말하자면 컴퓨터 네트워크를 구성하는 기기 1개, 1개를 의미하지만, 이 포스팅에서 "노드(node, ノード))"가 가리키는 의미에 관해 조금 더 자세히 살펴보도록 하겠다. 노드(node)란? 단어의 사전적 의미 노드란 매듭, 절, 집합점, 중심점이라는 사전적 의미를 가지고 있으므로 여러 분야에서 넓게 이용되는 단어이다. 예를 들어 식물의 경우 줄기와 잎을 연결하는 곳을 노드라고 부르기도 한다. 컴퓨터 네트워크의 노드 컴퓨터 네트워크에 있어서 노드도 네트워크에 연결되어 있는 1개 1개의 기계를 의미한다. 구체적으로는 컴퓨터부터 시작해 네트워크를 교통 정리하는 루터나 ..

IT/기초 지식 2020.10.28

[네트워크] TCP/IP와 TCP/UDP

TCP/IP란 TCP/IP란 레이어 3의 IP와 레이어 4의 TCP/UDP를 합쳐 통신을 하는 프로토콜으로, 현재 인터넷 통신의 일반적인 통신 모델이다. 더욱이 상위 레이어(http, dns, ftp, ntp등)의 프로토콜은 이러한 TCP/IP통신으로 캡슐화되어 상대처에 정보가 보내진다. 또한, 하위 레이어(물리 케이블/Ethernet등)은 전송 미디어에 따라 다르지만, TCP/IP통신을 캡슐화한다. TCP/UDP란 TCP와 UDP는 함께 클라이언트와 서버 간의 통신 채널의 제공, 통신을 관리하며, 레이어4의 프로토콜이다. 통신 채널이란 말하자면 "포트"라는 것으로 1번부터 65535번까지의 번호가 사용된다. 동일한 IP 주소라도 TCP나 UDP의 포트가 다르면 제공되는 서비스가 달라진다. 참고로 포트 ..

IT/기초 지식 2020.10.28

[데이터베이스] 자연키(Natural key)와 대체키(Surrogate Key)

DB 엔지니어라면 대체키(Surrogate Key)라는 말을 자주 들어봤을 것이다. 대체키(Surrogate Key)란 테이블의 입력 데이터의 어떤 열을 기본키(Primary Key)로 하지 않고 시스템쪽에 독립적으로 할당된 키를 의미한다(일반적으로 일련번호가 사용된다). 한편 입력 데이터 자체의 열을 기본키(Primary Key)로하는 경우를 자연키(Natural key)라고 부른다. 대체키(Surrogate Key)는 기본적으로 불필요하다. 입력 데이터에 임의의 키가 존재하고 있다면 그것을 기본키로 사용하는 것을 보통 문제가 없으며, 오토 넘버링의 기능도 오랫동안 표준 SQL에 존재하지 않았었기 때문이다. 그러나 아래와 같은 업무요건의 경우에는 대체키(Surrogate Key)를 사용하는 것을 고려해..

IT/기초 지식 2020.10.23

[네트워크/Linux] SNMP와 snmpget, snmpwalk 명령어

SNMP란? SNMP(Simple Network Management Protocol)이란 DARPA 모델에 준거한 IP네트워크 상에 연결된 기기종을 네트워크 경유로 감시, 제약하기 위한 통신프로토콜이다. 매니저와 에이전트 SNMP를 통한 네트워크 관리는 매니저와 관리대상 기계에 상주하는 에이전트와의 사이의 UDP통신에 의해 실현된다. SNMP 매니저는 풀링에 의해 상시 정보를 취득하고 있다. 5분 간격으로 정기적으로 정보를 얻는 것이 가능해 상시 감독을 하고 있는 것과 같은 결과를 얻게 된다. 여기서 "풀링"이란 SNMP GetRequest와 SNMPGetResponse를 정기적으로 실행하는 것이다. 풀링에는 포트 161가 사용된다. 그리고 SNMP트랩은 에이전트쪽에서 액션이 일어났을 때나 이벤트가 발생..

IT/기초 지식 2020.10.22

[Linux] 프로세스가 열려 있는 파일을 찾을 때 사용하는 lsof 명령어

lsof 명령어란? lsof 명령어는 LiSt Open Files에서 유래됐다. 이름 그대로 '프로세스가 열려있는 파일'을 표시하는 커맨드이다. UNIX/Linux에서는 일반적인 파일뿐만 아니라 네트워크 소켓이나 디바이스 드라이버, 프로세스 정보도 '파일'으로써 다룬다. 따라서 열려 있는 파일을 조사하는 것으로 대기 포트나 네트워크의 맵핑 정보 등을 파악할 수 있다. lsof 명령어에 의해 '어떤 파일을 열고 있는 프로세스', '어떤 포트에 접근하고 있는 프로세스'를 특정하고 '불필요한 프로그램이 실행되고 있는지' '부정한 프로그램이 동작하고 있지는 않은지'를 알아 볼 수 있다. 인수에 파일을 전달해 실행하면 그 파일을 사용중인 프로세스 ID(PID)의 목록이 출력된다. 프로세스가 사용중인 포트를 확인하..

IT/기초 지식 2020.10.20

[UML] 시퀀스 다이어그램(Sequence Diagram) 기초 정복

1. 시퀀스 다이어그램(Sequence Diagram) 이란? 시퀀스 다이어그램이란 객체 지향의 소프트웨어 표준 설계 방법인 'UML(통일 모델링 언어)'의 하나로, 프로그램의 처리의 개요나 흐름을 설계할 때 사용한다. 사양서가 없는 기존 시스템의 분석에 사용하는 경우도 있다. UML에서는 '상호작용 다이어그램'의 1개로 인식된다. 객체 지향의 소프투에어 설계에 있어서, 시퀀스 다이어그램을 작성하는 것은 글로벌 스탠드라고 해도 과언이 아닐 정도로 중요하다. 따라서 시퀀스 다이어그램의 기초를 익히도록 하자. 2. 시퀀스 다이어그램(Sequence Diagram) 의 기본 규칙 시퀀스 다이어그램은 "라이프 라인(life line)"이나 "메시지"라고 불리는 구성요소와 "객체의 연결"이나 "처리 내용"을 표현..

IT/기초 지식 2020.10.13

[git] 잘 잊어버리는 사람을 위한 git diff 치트 시트

git diff는 여러 방면에 정말 자주 쓰이는 것 만큼 할 수 있는 것이 많다보니 쉽게 잊어 버려 매번 검색하곤 했다. 따라서 자주 쓰이는 용법을 한 번 정리해 보았다. git pull 하기 전에 리모트와의 변경점 확인하기 git diff HEAD.. 리모트명/브랜치명 git pull하기 전에 로컬의 최신 커밋과 pull할 곳의 리모트 리포지토리와의 변경점을 보고 싶을 때는 이 커맨드로 확인할 수 있다. 여기서의 리모트 명은 origin과 같은 것을 의미한다. git push 하기 전에 리모트와의 변경점 확인하기 위의 커맨드와 반대로 아래와 같이도 작성할 수 있다. git diff 리모트명/브랜치명..HEAD ..의 오른쪽이 시계열적으로 최신으로 간주되므로, 이 경우는 git commit 한 후에 리모..

IT/기초 지식 2020.10.07

[Linux] Linux의 기초와 명령어 정리

1. Linux란? ​ Linux란 Windows나 Mac과 같은 OS로 , 컴퓨터의 모든 하드웨어를 관리하는 소프트웨어이다. Linux는 리누스 토르발스에 의해 개발되었고, 1991년에 최초의 버전이 공개되었다. 당초에는 개인 컴퓨터용으로 만든 OS였으나, 현재는 슈퍼 컴퓨터, 서버, 임베디드 시스템(핸드폰이나 테레비 등) 등 다양한 시스템에서 사용되고 있다. 자신이 개발한 Web어플리케이션 등을 공개하기 전, VPS(Virtual Private Server)을 빌리게 되는데, Linux는 VPS에 설치가능한 표준화된 OS이다. Linux는 개발에 있어서, 주로 서버의 용도로 사용된다. Linux에 대해서는 아래의 기사에서 자세히 설명하고 있으므로, 참고하길 바란다. https://www.sejuku...

IT/기초 지식 2020.05.06

[네트워크] VPN 개념과 Windows10에서의 설정 방법

VPN은 안전한 기업 네트워크를 간단, 저렴하게 구축하기 위한 획기적인 기술이다. 최근에 IP-VPN대신, 더욱 간단한 인터넷 VPN의 점유율이 늘고 있다. ​ VPN은 일반적으로 열려있는 Wi-Fi를 안전히 이용하기 위한 방법으로 주목받아, 개인의 보안을 향상시키는 기술로 보급되어 있다. 설정은 스마트폰도 가능하며, 통신 내용이 도청되는 위험으로부터 보호해준다. 아래에서부터는 VPN의 기초지식, 용도별의 이용방법, 컴퓨터/스마트폰의 설정 방법에 대해 설명하도록 하겠다. 1. VPN이란 ​ VPN은 'Virtual Private Network'(가상 전용 네트워크)의 약자이다. 이름대로 '가상적'으로 구축된 자사용의 프라이베이트 네트워크 혹은 그러한 네트워크를 제공하는 서비스를 가리킨다. 과거에는 자사용..

IT/기초 지식 2020.05.06

[IT 용어] PoC(Proof of Concept)란

​1. PoC(Proof of Concept)란 2. PoC로 검증하는 것 3. Poc의 단계 1) 프로토 타입 및 배포 2) 검증 3) 실현 여부 판단 1. PoC(Proof of Concept)란 ​ 일본어로 '개념 실증'이라고도 불리는 PoC(Proof of Concept). 새로운 프로젝트가 실제로 실현 가능성이 있는가, 효과와 효용, 기술적인 관점에서부터 검증을 하는 과정을 의미한다.​ 이제 PoC(Proof of Concept)란 IT세계에서 한정된 용어가 아닌, 예를 들면 의료 업계에 있어서 신약의 유효성을 검증하거나, 영화 업계에서 스토리가 CG로 재연 가능한 것을 검증하는 것을 일컫는 용어로도 사용된다. PoC(Proof of Concept)가 IT업계에 중시되는 배경에는 기업에서 IT ..

IT/기초 지식 2020.04.22
728x90