목록Computer/공부 (16)
Today I Learned …
* 개인적인 공부 내용을 기록한 글입니다. IP IP (IPv4) IP 주소는 32bit이며, 8bit (= 1byte) 단위로 점을 찍어 구분한다. 00000000.00000000.00000000.00000000 위와 같은 표현은 사람이 읽기에 불편하므로 다음과 같이 십진수로 표시하여 사용한다. 0.0.0.0 이처럼 점으로 구분된 십진 표기법을 Dotted Decimal이라 부른다. 우리가 아는 IP 주소는 위와 같은 표기 전환 과정을 거쳐 표현되기 때문에, IP의 범위는 0.0.0.0 ~ 255.255.255.255 이다. * 현재는 IPv4 주소 고갈로 IPv6가 해결책으로 대두되었다. 공인 IP / 사설 IP / 고정 IP / 유동 IP 자세한 내용은 아래에서 다룬다. * 유동 IP = 동적 IP..
* 개인적인 공부 내용을 기록한 글입니다. SSL/TLS SSL/TLS SSL (Secure Sockets Layer) ⇒ Netscape 사 개발 (1990년대 중반) TLS (Transport Layer Security) ⇒ IETF 사 개발 (1999년) 웹 브라우저와 웹 서버 간 통신을 암호화하기 위해 사용하는 프로토콜이다. TLS는 SSL의 차세대 버전으로, 거의 동일한 작업을 수행하며 점차 SSL을 대체하고 있다. Port는 443이다. 웹사이트 URL이 https로 시작하고, 연결이 안전하게 이뤄지고 있음을 알려주는 자물쇠 표시가 뜨면 이는 브라우저가 TLS를 통해 연결되어 있다는 의미이다. SSL/TLS 작동 원리 [1] 세션 시작 전 비대칭키로 Handshake [2] 세션 도중 세션키를..
* 개인적인 공부 내용을 기록한 글입니다. 방화벽 (Firewall) 방화벽이란 [1] 미리 정의된 보안 규칙에 기반하여, 들어오고 나가는 네크워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이다. [2] 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 (= 인터넷) 간의 장벽을 구성한다. [3] 서로 다른 네트워크를 지나는 데이터를 허용하거나 거부하거나 검열, 수정하는 하드웨어나 소프트웨어 장치이다. * 내부 네트워크 = LAN * 외부 네트워크 = WAN 방화벽의 역할 신뢰 수준이 다른 네트워크 구간들 사이에 놓여서, 신뢰 수준이 낮은 네트워크로부터 오는 해로운 트래픽이 신뢰 수준이 높은 네트워크로 오지 못하게 막는다. 정책 기반의 방화벽 방화벽은 다양한 수준의 정책으로 네트워크..
* 개인적인 공부 내용을 기록한 글입니다. Bit, Nibble, Byte 및 2진수, 10진수, 16진수 정리 Bit 0 └ Bit (0~1) Nibble 0000 └ Nibble (0~15) Byte 0000 0000 └ Byte (0~255) * 컴퓨터가 데이터를 저장하는 최소 단위 Bit → Nibble → Byte 0 or 1 = 1 Bit 4 Bits = 1 Nibble 8 Bits = 2 Nibbles = 1 Byte Byte 단위 1000 Byte = 1 Kbyte (10³) 1000 Kbyte = 1 Mbyte (10⁶) 1000 Mbyte = 1 Gbyte (10⁹) 1000 Gbyte = 1 Tbyte (10¹²) 2진수 0, 1 Binary Bit의 숫자체계 컴퓨터는 전압이 있거나 ..
* 개인적인 공부 내용을 기록한 글입니다. 사담 뭔가를 '두루뭉술'하게 알고 있다는 사실 만큼 자신감을 깎는 것도 없을 것 같다. 들으면 대충 뭔지는 아는데... 일목요연하게 설명은 못하겠고... 결국 '제대로'는 모르고 있는 것이다. 이런 것들이 정말 많지만 하나씩 확실히 정리하다보면 거품 같았던 주변 지식에 조금씩 윤곽이 잡히는 것 같다. 설명 오늘은 DOM과 DOM 관련 개념들에 대해 의식의 흐름 순으로(..) 공부해본다. DOM 관련 기초 개념 DOM의 사전적 정의 문서 객체 모델 (The Document Object Model, DOM) 은 HTML, XML 문서의 프로그래밍 인터페이스다. * 인터페이스 : 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜 DOM의 종류 W3C DOM 표..
* 개인적인 공부 내용을 기록한 글입니다. * 「Do it! HTML+CSS+자바스크립트 웹 표준의 정석」을 참고합니다. 텍스트 관련 태그 : 제목 : 텍스트 단락 : 줄 바꿈 : 중요한 텍스트를 굵게 표시 : 중요하지는 않지만 굵게 표시 : 중요한 텍스트를 기울게 표시 : 중요하지 않은 텍스트를 기울게 표시 : 위 첨자 : 아래 첨자 : 구분선 목록 관련 태그 : 순서 있는 목록의 시작과 끝 : 순서 없는 목록의 시작과 끝 : 목록의 각 항목 : 설명 목록의 시작과 끝 : 설명 목록의 제목 : 설명 목록의 설명 태그 관련 Type 1 : 숫자 (기본값) a : 영문 소문자 A : 영문 대문자 i : 로마 숫자 소문자 I : 로마 숫자 대문자 태그 관련 속성 start : 원하는 번호부터 시작 표 관련 ..
* 개인적인 공부 내용을 기록한 글입니다. 사담 이쪽 공부를 하다보면 소켓이라는 단어를 자주 듣게 된다. 소켓을 만들어서 뭘 연결해서 뭘 어떻게 해서.... 대체 그 소켓이 뭔데?? 라는 물음에서 이번 포스팅을 시작해본다. 소켓 (Socket) 1. 소켓이란? 프로세스가 네트워크 상으로 데이터를 내보내거나 네트워크로부터 데이터를 받으려면 일종의 창구가 필요하다. 그 역할을 하는 것이 소켓이다. 2. 소켓의 정의 [1] Protocol [2] IP Address [3] Port Number 3. 소켓의 형식 [1] 스트림 ① 양방향, 연결 지향형 소켓 ② 오류 수정, 전송 처리, 흐름 제어 등을 보장 ③ 각 메세지를 보내기 위해 별도의 연결을 맺음 → 오버헤드* 발생 ④ 소량의 데이터보다는 대량의 데이터를..
* 개인적인 공부 내용을 기록한 글입니다. SCP 써보고 넘어오니까... 신세계다. 아주 간단하고... 깔끔합니다. 지금까지 머한거지? 들어가기 전 1. 업로드할 파일이 있는 로컬 디렉토리에 위치한 상태에서 2. 서버와 연결해준 후 3. 파일 교환을 시작하면 된다. 업로드 시 ① 복잡하게 경로 적을 일이 현저히 줄어듦 ② 로컬에서 서버로 업로드 시, 전송된 파일은 서버의 홈 디렉토리 안에 저장됨 ③ 현재 작업 디렉토리에 없는 파일을 업로드 시에는 파일명 자리에 절대 경로 적어주면 됨 다운로드 시 ① 서버 접속 시 디렉토리 탐색이 가능하기 때문에, 다운로드할 파일이 있는 서버 디렉토리로 들어가주면 됨 ② 탐색 커맨드는 Bash 커맨드와 거의 똑같다. 일단 쓰다가 안되는 것만 따로 찾아서 쓰면 될 듯 SFT..
* 개인적인 공부 내용을 기록한 글입니다. SSH 기초 1. SSH란? Secure Shell = 보안 셸 원격지 호스트 컴퓨터에 접속하기 위해 사용하는 인터넷 프로토콜이다. 과거에 주로 사용되던 Telnet은 암호화가 이루어지지 않아 보안 상 취약했으므로, 기존의 기능에 암호화 기능을 추가하여 1995년에 나온 프로토콜이다. 현재는 원격 접속 보안을 위한 필수적인 요소로 자리잡고 있다. Port 번호는 22번이다. 2. SSH의 강점 사용자 인증부터 데이터 전송까지 모든 과정이 암호화되기 때문에 보안성이 매우 높다. ⇒ 만약 통신이 노출되더라도 이해할 수 없는 암호화된 문서로 보인다. 3. SSH의 주요 기능 [1] 보안 접속을 통한 Rsh, Rcp, Rlogin, Rexec, Telnet, Ftp 등..
* 개인적인 공부 내용을 기록한 글입니다. * 「 yagom - 스위프트 기본 문법 」 강의를 기반으로 하고 있습니다. * 강의 링크 : https://youtu.be/2n-fSlW-jts import UIKit import Swift //상수 //let 이름: 타입 = 값 //변수 //var 이름: 타입 = 값 //값의 타입이 명확하다면 타입 생략 가능 //let 이름 = 값 //var 이름 = 값 let constant: String = "차후에 변경 불가능 상수 let" var variable: String = "차후 변경 가능한 변수 var" variable = "변수는 다른 값 할당 가능" //constant = "상수는 변경 불가" 오류발생 //상수 선언 후에 나중에 값 할당 가능 //나중에 ..
* 개인적인 공부 내용을 기록한 글입니다. SSH 공개키 인증을 사용하여 로그인하는 방법 0. 들어가기 전 [1] 클라이언트 측에는 OpenSSH 클라이언트가, 서버 측에는 OpenSSH 서버가 설치되어있어야 합니다. [2] 간단한 과정이기 때문에 구글링해서 확인 후 설치해주세요. 0-1. 전체 과정 요약 [1] 클라이언트 측에서 키를 두 개 생성한다. [2] 생성한 키 중 하나를 서버에 복사해준다. ⇒ 사실상 끝 1. 클라이언트 측에서 키 생성 ① $ ssh-keygen ⇒ 비대칭 Key Pair를 생성한다. ② 경로, Passphrase 설정 ⇒ 둘 다 설정 안해도 무방 (Enter 두 번 입력) ③ /.ssh 디렉토리로 들어가기 ⇒ 아래와 같이 키가 두 개 생성된 것을 볼 수 있다. (known_h..
* 개인적인 공부 내용을 기록한 글입니다. VSCode에서 SFTP Extension 사용하기 1. SFTP란? 보안성이 강화된 파일 전송 프로토콜이다. 이름도 기능도 FTP와 유사하나, SSH을 기반으로 만들어진 확장 프로토콜이다. 따라서 Port 번호는 22번을 이용한다. 2. VSCode에서 SFTP Extension의 역할 가상 환경에 올린 리눅스로 개발을 하다보면 명확히 불편한 점이 있다. Host PC와 Guest PC 간의 소스 코드 공유가 녹록치 않다는 점이다. 물론 Git을 이용할 수도 있지만, 일일이 Push & Pull로 작업 상황을 맞춰주는게 생각보다 귀찮다. 그냥 한쪽에서 수정을 하면, 반대쪽의 파일도 바로 수정한 내용으로 업데이트되게끔 할 순 없을까? 바로 이런 경우에 SFTP ..