반응형
반응형

📝DMZ

DMZ(비무장 지대)는 외부 네트워크와 내부 네트워크 사이의 중립 구역입니다. 외부에서 접근해야 하는 서버(예: 웹 서버, 메일 서버)를 DMZ에 배치하고, 내부 네트워크를 보호합니다. 방화벽은 외부에서 DMZ로의 트래픽을 허용하고, DMZ에서 내부 네트워크로의 트래픽을 제한하는 역할을 합니다.

 

📝방화벽

네트워크간의 트래픽을 감시하고 제어하는 역할로 허용된 트래픽만 내부 트래픽으로 들어오거나 나갈 수 있도록 할 수 있습니다. (인바운드, 아웃바운드)

 

📝인바운드 규칙

외부에서 내부 네트워크로 들어오는 트래픽을 이야기합니다. 예를 들면 443인 HTTPS 포트는 허용하지만 FTP 포트 21은 차단할 수 있습니다. (기본적으로 모든 것 차단)

 

📝아웃바운드 규칙

내부 네트워크에서 외부 네트워크로 나가는 트래픽을 이야기합니다. 예를 들면 필요한 특정 사이트만 접근 가능하도록 허용(데이터 요청)하고 그 외에는 요청이 안 되어서 못 쓰게 만드는 등 사용이 가능합니다. (기본적으로 모든 것 허용)

 

📝포트포워딩

외부에서 내부 네트워크로 들어오는 트래픽을 특정 장치로 전달하는 명시적인 규칙을 설정하는 것입니다. 예를 들면 공인 IP의 80번 포트를 요청하면 어떤 사설 IP의 3000번 포트로 전달하게 된다 등에 사용됩니다.

 

 

🔗 참고 및 출처

https://velog.io/@ektmf4411/%EB%B0%A9%ED%99%94%EB%B2%BD-DMZ

반응형
반응형

📝공인 IP

외부에 공개되어 있는 IP 주소 이걸로 인터넷에 연결된 다른 PC로부터의 접근이 가능하다.

(전 세계에서 유일한 공인된 주소) [공유기가 가지고 있는 IP] 일반적으로 IP라고 불리는 것

 

📝공인 IP의 기능

통일된 공인 IP를 달고 나가고 들어올 때 내부에서 나에게 부여된 고유한 IP(사설IP)로 번역이 되어 나를 찾아온다

 

📝사설 IP

가짜 주소이니까 외부에서 내부로 접근 불가라는 특징을 가진다 (cmd-ipconfig로 알아볼 수 있다)

내 정보가 들어있어서 가려놨는데 이거 보니까 VMware가상머신으로 되어있네요.. 쨌든 IPv4로 나오는게 사설IP입니다.

📝공유기

공유기에 연결되는 모든 기기들에 사설 IP를 구축 

가장 쉬운 예는 컴퓨터들 공유기로 컴퓨터 여러대를 두는데 각각 사설IP를 만들어주는 것이다.

 

📝DNS 서버

IP 주소와 도메인을 매칭시키는 시스템

리눅스에선 /etc/hosts 에 적힌 내용이 1순위로 동작하고 그 후 DNS서버에 등록된게 2순위로 작동합니다.

DNS서버

📝도메인주소

IP주소를 기억하기 쉬운 문자로 표현한 것입니다.

예를 들어 www.naver.com 같이 임의로 정한 것이다 서버를 만들어본 사람은 알텐데

192.153.22.10:6300 뭐 이런식으로 해당 서버에 접근해야 페이지가 열립니다..

https://192.153.22.10:6300 이런식이다 그래서 이걸 맨날 외우기도 힘들기 때문에 알기 쉬운 걸로 바꾼겁니다.

그걸 DNS서버가 해주는 것이죠

 

📝IPv4

32비트 길이의 식별자로 0.0.0.0~255.255.255.255까지의 숫자의 조합으로 이루어지며 총 네구간으로

나눠져있으며 최대 12자리의 번호로 이루어져 있습니다. IPv4를 통해 최대 약 43억개의 서로 다른 주소를 부여할 수 있다

 

📝IPv6

세계 공용으로 사용되며 인터넷 사용자수가 급증하면서 IPv4주소가 고갈될 문제에 처해있습니다.      

이러한 고갈 문제를 해결하기 위해 등장한 주소가 바로 IPv이다 IPv4주소체계를 128비트 크기로 확장

반응형
반응형

📝포트번호

컴퓨터의 주소가 IP주소이며, 프로그램의 주소가 포트 번호 이다. Port 번호는 16bit로 이루어져있습니다.

2^16 이므로 총 65536개의 port number가 존재 할 수 있습니다.

 

예를들어 PC의 IP주소가 192.168.10.20 이라고 하면 컴퓨터에서 FTP로 자료를 받을 때 사용하는 IP주소는 자신의 주소인 192.168.10.20 이고 채팅을 할 때의 IP주소도 192.168.10.20이다.

FTP서버와 채팅 서버가 각각 패킷을 192.168.10.20 주소로 보내려고 하면 서로 혼동이 생기게 된다.

그 IP주소를 사용하는 프로그램이 하나가 아닌 것이다 그래서 포트번호가 생겼고, FTP서버가 포트 9000을 사용하면 채팅 서버는 포트 9001을 사용함으로 써 프로세스를 구분한다.

 

 

📝FTP

파일전송 프로토콜입니다.

 

📝DHCP

일정기간동안 IP를 임대하여 사용하는규약

 

📝밴드폭

1초동안 전달하거나 받는 비트 수

 

 

📝포트별 특징

  • 잘 알려진 포트
    • 0 ~ 1023번으로 여러개가 존재
    • 20 TCP FTP 데이터포트
    • 21 FTP 제어포트
    • 80 웹 페이지 전송 HTTP
    • 443 HTTPS
  • 등록된포트
    • 1024 ~ 49151번사용자가 직접 등록 할 수 있는 포트를 의미합니다.
  • 동적포트
    • 49152 ~ 65535번은 동적포트로서 수시로 변경되는 포트로서 인터넷이나 시스템에서 사용할 때 동적으로 할당하는 포트를 의미합니다.

 

 

📝플러그인

기본프로그램에 다른 기능들을 수행해주는 추가 프로그램들을 다운로드하여 사용할 수 있게 하는 것 (라이브러리 개념)

📝위젯

웹브라우저를 통하지 않고도 해당 서비스 바로 이용할 수 있도록 만든 프로그램 (날씨 , 계산기)

 

📝콘솔

출력장치를 총칭하는 말 (키보드 + 모니터)

예) 명령 프롬프트(콘솔프로그램) : 콘솔창 기반으로 작동하는 프로그램]

 

 

참고자료

https://jyhpan.tistory.com/162

 

port 번호 모음

자주 쓰는 프로그램, 서비스의 포트 번호 포트 포워딩을 하려면 인터넷 서비스, 소프트웨어가 쓰는 포트 번호를 알아야 한다. 사람들이 많이 쓰는 네트워크 서비스, 메신저, P2P 프로그램의 포트

jyhpan.tistory.com

 

반응형
반응형

📝Json

인간이 읽을 수 있는 텍스트를 사용하는 것 (경량 데이터 교환방식)

자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립적으로 이것을 다른 언어에서도 사용할 수 있도록 한 텍스트 형식이다. (서로 다른 시스템 통신을 하기에 용이)

즉, 연산결과나 그에 해당하는 값을 전달하거나 할때 사용한다.

 

JSON 데이터 생성을 위한 코드는 C, C++, C#, 자바, 자바스크립트, 펄, 파이썬 등 수많은 프로그래밍 언어에서 쉽게 이용할 수 있다.

하지만 JSON은 전송받은 데이터의 무결성을 사용자가 직접 검증해야 한다

 

 

json형식입니다. 키와 값으로 이루어져있습니다.

여기서 보면 id는 키이고 4079... 가 값입니다.

id(키)로 접근해서 값을 가져오는 거 자세한 건 프로그래밍하면서 같이 배우도록하죠

 

📝XML

eXtensible Markup Language → 확장될수 있는 표시 언어

HTML과 비슷하지만 사용자 임의로 태그를 만들 수 있다 

다목적 마크업 언어로 서로 다른 언어들간에 데이터를 주고 받는 여러 방법이 있다.

대표적인 것이 XML인데, XML은 문법이 복잡하고, 엄격한 표현규칙으로 인해서 json 대비 데이터의 용량이 커진다는 단점이 있다.

 

뭔가 json과 비슷하죠? Id라는 태그에 접근해서 4478이라는 값을 가져오는 형식이죠

 

📝SGML

복잡해서 안 쓰이지만 자율성이 있다 여기로부터 HTML, XML이 파생

 

📝파싱

저장된 데이터에 원하는 부분을 가져오는 것 

예) Json에서 키 이름이 name에 해당하는 데이터만 가져온다 → name부분을 파싱한다

 

📝쿼리스트링

url 뒤에 덧붙여서 추가적인 정보를 서버 측에 전달하는 것이다

클라이언트가 어떤 특정 리소스에 접근하고 싶어하는지 정보를 담는다

?로 시작하고 여러개일 경우 &로 연결한다

(http://localhost:8000/champ_infos/detail?champ_detail=1&Id=400)

반응형
반응형

📝인터프리터

한 줄씩 프로그램을 해석하고 실행시키는 프로그램이다. 목적프로그램을 사용 안 한다 

즉, 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야 하므로 실행 속도가 느리다

Virtual Machine을 두고, 머신 위에서 interpret을 수행하게 된다.

 

📝컴파일

목적 프로그램(Object Program)으로 번역하는 프로그램

번역 과정이 번거롭고 시간이 오래 걸리지만, 한 번 번역한 후에는 다시 번역하지 않고 하나의 패키지로 매우 빠르게 작동한다.

많은 메모리를 소모 (C++ , Java) (고급언어 -> 기계어) 바이너리 코드(binary Code) [ 0 또는 1 ]로 변환

 

📝목적프로그램

기계어로 작성된 프로그램 ( 컴파일을 통해서 만들어진다 )

 

📝인터프리터? 컴파일?

프로그램을 인터프리터방식이냐 컴파일 방식이냐를 이분법적으로 생각하는 건 옳지 않다는 의견을 들었다

왜냐하면 파이썬의 경우만해도 컴파일기능도 있고 인터프리터 형식도 같이 취하고 있다고한다.

한 줄씩 읽어 인터프리터가 바이너리코드로 변환시키고 모듈과 합쳐서 인터프리터가 실행 프로그램을 생성한다.

 

📝빌드

소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정을 말한다. (.exe 등...)

빌드의 단계 중 컴파일이 포함이 되어 있는데 컴파일은 빌드의 부분집합이라 할 수 있다.

 

📝스레싱

지나치게 페이지 부재가 많이 발생해 성능이 저하되는 현상

 

📝페이지부재

작업을 처리할 때 100개의 작업을 처리해야할 때 10개의 작업만 할 수 있으면 90개의 작업은 대기해야하는데

작업처리할 공간에 들어가지 못하는 시간이 길수록 페이지 부재가 많이 발생한다고 한다.

     

📝인터리빙

주기억 장치의 액세스 속도를 빠르게 하기 위한 기술이다

반응형
반응형

📝인터럽트

현재 실행중인 프로세스 중단되는 것을 의미한다.

 

📝PCB

다중 프로그램 환경하에 각 프로세스 구분하기 위한 것이다

 

📝모듈(화)

큰 문제를 해결하는 긴 소스 한가지 일을 하는 소스들(모듈)끼리 나누는 것을 모듈화라고 한다. 

예 ) 라이브러리, 더하기 클래스파일 등...

 

📝어플리케이션(응용프로그램)

특정한 업무 해결을 위한 목적을 가지고 만들어짐

 

📝앱

스마트폰 어플리케이션

 

📝IDE

통합 개발 환경 (프로젝트 생성 , 자동 코드 완성 , 디버깅 등 개발할 때 편의를 위한 기능들이 탑재되어 있다.)

예) 이클립스 , 비쥬얼 스튜디오 코드 등...

 

📝OLE

응용프로그램 간의 자료 공유 가능하다 (파워포인트 사진을 바로 복사해서 엑셀에 붙이기)

환경을 제공하는 여러 프로그램의 모임

반응형
반응형

📝주기억장치

RAM과 ROM이 있다 → 내부기억장치라고도한다.

 

📝보조기억장치

가상기억장치의 역할을 해준다. HDD 등... 

 

📝가상기억장치

보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용 (가상메모리를 사용한다고 이야기를 한다)

 

📝ROM

비휘발성 메모리 읽기만 가능하다 자주 사용되는 유명한 ROM으로는 Flash ROM 플래시가 있다

ROM은 대량의 데이터를 비교적 빠르게 읽고 쓸 수 있으며, 휘발성이 아닌 비휘발성 메모리로 사용됩니다.

요즘에는 플래시 메모리가 컴퓨터, 스마트폰, USB 드라이브, 카메라 및 다양한 디지털 장치에서 주로 사용됩니다.

SSD(고체 상태 드라이브)도 플래시 메모리를 기반으로 하고 있습니다.

 

📝RAM

휘발성 메모리 ddr3 ddr4에 따라 규격이 다르고 클럭수도 다르다

 

📝CPU (중앙처리장치)

논리게이트로 이루어졌고 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능(처리)을 관할한다

 

📝해밍코드

에러체크에 수정까지 한다

 

📝패리트비트

1의 개수가 홀수인지 짝수인지 체크하기 위해 추가되는 비트 해밍코드에 쓰인다

반응형
반응형

📝UI

유저인터페이스라는 말로 웹디자인 모바일 앱 디자인 같이 눈으로 보이는 것들 즉 시각적인 디자인을 의미합니다.

가독성이나 편리한 위치 편리한 체크박스 등으로 사용자가 편하게 쓸 수 있고 사람들을 더 끌어오는데 필요

 

📝UX

User Experience 유저들이 그 웹페이지를 보고 경험하고 느낀 것들 불편함 , 편리함, 나이에 따라 다르게 해야 한다

 

📝가상디스크

주기억장치에서 보조기억장치가 없을 때 디스크의 역할을 해줍니다

 

📝스풀

주변장치들이 CPU에 비해 느려서 발생하는 대기시간을 줄이기 위해 고안된 기법 (디스크 일부 사용)

스풀과 일반적인 버퍼의 차이점은 버퍼의 경우 여러 프로그램에 데이터들을 모아서 한번에 전송하지만 

스풀러의 경우 예를 들어 한 인쇄물이 완료될때까지 다른 인쇄물이 끼어들 수 없는 거 처럼 한 군데에서의 것만 모아서 전송합니다.

 

📝로더

디스크 내용을 메모리로 끌고 온다

 

📝FAT

디스크에 저장되어 있는 파일이 있으면 디스크 영역 위치에 대한 정보를 가지고 있다.

 

📝인자 vs 매개변수

인자 (Argument)

int A (int ab) {
   cout >> ab;
}

[ab] 가 인자값이다.
매개변수 (Parameter)

A(ac); 

ac가 파라미터값이다.

 

반응형
반응형

📝프로그래밍

순서를 만드는 행위를 의미한다

 

📝프로그래밍언어

컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 형식언어이다 (자바, C, C++등..)

 

📝마크업언어

프로그래밍 능력은 가지고 있지 않고 태그로 구성되어있다

  • HTML

 

📝스크립트 언어

프로그래밍에서 스크립트(script)라는 용어는 다른 프로그램에 의해 번역되어 수행되는 프로그램 명령어의 집합입니다.

C++이나 Java와 같이 컴파일 과정을 거쳐 컴퓨터의 프로세서(CPU)가 이해할 수 있는 상태로 변환하여 사용하는 것과는 달리, 스크립트 언어는 텍스트 형태로 된 여러 명령어들을 다른 프로그램이 읽어서 번역하고 실행하는 방식을 채택합니다.

 

예를 들어, JavaScript웹 브라우저에 내장된 JavaScript 해석기가 번역을 하여 실행합니다.

PHP 프로그램PHP에 의해, JSP 프로그램Tomcat이나 웹로직(weblogic) JRun과 같은 JSP 컨테이너에 의해 해석됩니다.

 

스크립트 언어는 일반적으로 배우기가 쉽고 프로그래밍 속도가 빠르다는 장점이 있습니다.

그러나 실행 속도가 일반적으로 느리고 제한된 범위 내에서 사용되는 등의 단점도 있습니다.

이는 컴퓨터가 매번 서버에서 번역을 하여 실행하기 때문에 발생하는 현상입니다.

 

세밀한 제어가 어려울 수 있고 실행 속도가 다른 언어에 비해 느릴 수 있습니다

스크립트 언어는 주로 서버측(Server side)에서 실행되거나 클라이언트측(Client side)에서 실행되는데, 서버측에서 실행되는 언어는 주로 HTML 결과물만을 생성하므로, 라이언트측에서 실행되는 언어에 비해 보안성이 뛰어나며 서버측의 DB 연동 등과 같은 유연한 기능을 구현할 수 있습니다

따라서, JavaScript와 같은 클라이언트 측 스크립트 언어는 주로 보조적인 수단으로 사용되며, 서버측에서 실행되는 스크립트 언어는 서버 기능을 보다 강화하고 보안성을 강화하기 위해 활용됩니다.

 

📝어셈블러

어셈블리어를 기계어로 변환

 

📝어셈블리어

 

📝정적타입언어

소스 코드를 보고 변수의 타입을 판단

 

📝동적타입언어

실행할 때 변수의 타입을 판단 (파이썬의 특징)

 

📝기계어

0 , 1 로 표현 되는 것들을 의미한다. 이것들이 모여서 글자를 이루거나 숫자를 이루거나한다.

 

📝저급언어

기계어에 가까운 언어 예) 어셈블리어

 

📝고급언어

인간이 이해하기 쉬운 언어 기계는 바로 이해할 수 없기 때문컴파일로 통해 기계어로 바꿔야한다 ( 자바 , C , C++ ...)

 

반응형