server
클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 또는 장치를 의미한다.
client
네트워크를 통해 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램이나 서비스
mysql
-> MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템(RDBMS: Relational DBMS)이다.
-> MySQL은 오픈 소스이며, 다중 사용자와 다중 스레드를 지원한다.
-> C언어, C++, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공한다.
-> 유닉스, 리눅스, 윈도우 등 다양한 운영체제에서 사용할 수 있으며, 특히 PHP와 함께 웹 개발에 자주 사용된다.
-> 오픈 소스 라이센스를 따르기는 하지만, 상업적으로 사용할 때는 상업용 라이센스를 구입해야만 한다.
-> 참고 : http://www.tcpschool.com/mysql/mysql_intro_intro
oracle
-> Oracle Corporation이란 미국의 기업에서 만든 데이터 베이스 관리 시스템
-> Database 에서 가장 많이 쓰이며, 기능 또한 가장 좋은 것으로 알려진 최고의 Database 이다.
-> 참고 : https://opentutorials.org/course/3885
mariaDB
-> MySQL코드를 기반으로 개발된 오픈소스 RDBMS
-> MySQL과 소스코드가 같으므로 명령어, 사용방법과 구조가 MySQL과 동일
-> 리눅스(linux)에서는 MySQL 대신에 MariaDB를 표준으로 채택하고 있다.
ms sql server
-> ms는 마이크로 소프트의 약자이다.
-> SQL Server는 데이터베이스를 저장하고 있으면서 클라이언트의 데이터 검색 및 수정 삭제에 대한 요청을 받아 처리하고 그 결과를 클라이언트에게 전달
-> 클라이언트로부터 요청(쿼리문)을 받아 그 결과을 클라이언트에게 전달해주는 데이터베이스 관리시스템(DBMS)이라고 할 수 있다.
-> 데이터베이스관리시스템 중에서도 관계형데이터베이스(RDB)를 관리하는 관계형데이터베이스관리시스템(RDBMS)이다.
front-end
사용자가 보는 페이지를 구성한다.
back-end
백엔드는 소프트웨어 개발 프로세스에서 서버 측 개발 분야. 백엔드에서는 데이터를 저장하고 관리하며, 웹사이트의 클라이언트 측(Client-side)에서 모든 것이 매끄럽게 작동할 수 있게 한다.
full stack
= front-end + back-end
html
-> Hyper Text Markup Language의 약어이다.
-> HyperText(웹 페이지에서 다른 페이지로 이동할 수 있도록 하는 것) 기능을 가진 문서를 만드는 언어
-> 웹 페이지를 위한 마크업 언어
css
-> Cascading Style Sheets의 약어이다.
-> 사용자에게 문서를 표시하는 방법을 지정하는 언어
-> HTML로 문서의 뼈대를 만들면, Css는 글꼴이나, 글자 색 등을 지정하여 꾸미는 역할을 한다.
javascript
-> HTML과 CSS로 만들어진 웹페이지를 동적으로 변경해주는 언어이다.
ssh
-> 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다.
-> 즉, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해서 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜이다.
-> 포트 번호 : 22
ftp
-> 파일 전송 프로토콜(File Transfer Protocol)의 약자이다.
-> TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규칙
-> FTP란 파일을 이동할 때 사용하는 프로토콜이라고 볼 수 있다.
-> 포트 번호 : 21
sftp
-> 파일을 보내고 다운 받기 위한 전송 프로토콜이다.
-> secure FTP
-> SSH와 마찬가지로 전송시 암호화시켜서 전송을 하게 되는데 그 중에 FTP와 같이 파일을 전송할 때 암호화 시켜서 전송
-> 포트 번호 : 22
Ethernet
-> 컴퓨터 네트워크 기술의 하나로, 전세계의 사무실이나 가정에서 일반적으로 사용되는 LAN에서 가장 많이 활용되는 기술 규격
-> 이더넷은 네트워킹의 한 방식
-> 네트워크를 만드는 방법 중 하나라고 생각하면 된다.
Router
-> 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 네트워크 장치다.
LAN
-> Local Area Network의 약어이다.
-> 어느 한정된 공간에서 네트워크를 구성한다는 것
-> 지역 네트워크
WAN
-> Wide Area Network
-> 서로 멀리 떨어진 곳을 네트워크로 연결하는 것
-> 광역 네트워크
tcp/ip
-> 컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트
-> 인터넷에서 광범위하게 사용되며 이를 통해 학회, 대학, 정부, 기업에서 서로 통신할 수 있다.
encapsulation
-> 객체가 기능을 어떻게 구현 했는지 외부에 감추는 것
-> 외부에 영향 없이 객체 내부 구현 변경 가능
decapsulation
-> 추가 정보를 제거하고 수신지의 계층까지의 응용 데이터만을 보내는 것
예) 포장되어 있는 것을 제거하는 것.
ip address
인터넷 상에서 호스트를 식별하기 위해 사용되는 숫자로 이루어진 주소
port
IP 내에서 애플리케이션 상호 구분(프로세스 구분)을 위해 사용하는 번호
socket
-> 네트워크상에서 동작하는 프로그램 간 통신의 종착점(Endpoint)이다.
-> 즉, 프로그램이 네트워크에서 데이터를 통신할 수 있도록 연결해주는 연결부라고 할 수 있다.
DHCP
-> 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
-> 네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미한다.
-> 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜
domain name
IP Address를 사람이 기억하기 위해 만든 주소. 도메인 주소를 줬을 때 IP 주소를 찾는 역할을 한다.
DNS
할당 된 도메인 영역에 대한 IP 주소와 Domain 이름을 저장한다.
ifconfig
현재 연결 되어 있는 네트워크 정보를 알려준다.
ip
컴퓨터 통신망에 정보를 제공하는 사람이나 기업.
netstat
전송 제어 프로토콜, 라우팅 테이블, 수 많은 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 줄 도구이다.
host
네트워크에 연결되어 있는 컴퓨터들
hostname
네트워크상의 장치 (호스트)에 할당 된 레이블 (이름)이며 특정 네트워크 또는 인터넷을 통해 하나의 장치를 다른 장치와 구별하는 데 사용된다.
traceroute
원격 시스템에 대한 IP 패킷의 경로를 추적한다.
이를 사용하면 잘못된 경로 지정 구성 및 경로 지정 경로 오류를 찾을 수 있다.
nslookup
nslookup 명령어는 네트워크 디버깅을 위해 자주 사용되는 리눅스 명령어로, DNS 서버에 직접 DNS 쿼리를 하고 그 결과를 출력한다.
ping
IP 네트워크를 통해 특정한 호스트가 도달할 수 있는지의 여부를 테스트하는 데 쓰이는 컴퓨터 네트워크 도구 중 하나이다.