백엔드 52

가장 쉽게 배우는 도커

✏️ 도커가 뭐고 왜 쓰는건가요? 프로듀싱 일을 하는 A씨 🙎🏻 계약건마다 현지로 다니며 일하는데 매번 많고 복잡한 장비들을 새 업무현장으로 옮겨 조립하고 설치하는 일에 신물이 나있다 이때 나타난 🐡 복커(도커) 🐡"먼저 장비들을 사본들로 박제할게요" 🐡"하나하나 할 수 도 있고, 서로 연결되고 조립된 모습까지 문서를 저장하듯 보관할 수 있어요" 🐡"그 박제된 사본을 새 작업실에 가져가서 그대로 설치할 수 있어요" 저장한 사본은 복커허브(도커 허브)☁️라는 공간에 업로드 "클라우드를 쓰는 것 처럼 어디서든 내려 받아 설치하면 돼요" 🙎🏻"같은 공간에서 다른 작업을 하는 B씨. 물건들 두는 곳도 겹치고 전선도 꼬여. 서로 방해되지 않게 설치하고 작업하는 게 골치아파" 🐡"분리된 작업 공간을 만들면 돼요" ..

도커 쿠버네티스 이 정도는 알아야 해요! 개념만 살짝 듣고 가시죠~!

👉🏻 서버 도커, 쿠버네티스 모두 서버 얘기, 인프라적인 얘기 🧩 물리적 서버 서버 = 컴퓨터 클라이언트들의 응답을 처리해주는 컴퓨터들 IDC(데이터 센터)에 많은 서버들이 있었다 서버에 접속 서버에는 특정 프로그램들이 구동됨 서버들이 응답 채팅 / 웹 / ... 우리가 접속하고 있는 모든 것들이 서버 VM Virtual Machine 물리적 서버가 있지만 그것들을 나누거나 합쳐서 쓰는 개념으로 가상으로 보인다는 개념 컴퓨터가 한 대 있는데 여기에 여러개의 윈도우/리눅스 같은 것을 설치해서 쓸 수 있게 해주는 가상 머신 - 컴퓨터에 VMWare 처럼 윈도우를 깔 수 있는 프로그램을 깔고 거기에 또 윈도우를 설치 - 그러면 윈도우는 실제 물리적 컴퓨터에 깔린 것이 아니다 - 컴퓨터(하드웨어)위에 원래 윈도..

[백엔드기초] 백엔드의 시작, 백엔드와 관련된 거의 모든 것

백엔드라고 해서 백엔드만 존재하는 것이 아니다 앱 어떤 화면 (사용자가 보고 있는 화면) 무언가 버튼이 눌렸을 때, 서버의 어떤 기능이 호출되는 상황 전체 아키텍처 Java, Spring 당연히 잘 알아야하지만, 이것만 안다고 다 되는 것은 아니다 API 스펙, API가 어떻게 호출되는지 (프로토콜) 통신단 저장 (DB) 모두 알아야해 👉🏻 전체 아키텍처 🧩 단말 ✅ Android / iOS 앱 안드로이드 자바, 코틀린으로 개발 iOS swift로 개발 React native, Flutter, Ionic 등.. ➡️ React vs React Native React 웹 개발 기본적으로 return하는 곳에 html 태그 기반 (화면 만들어) React Native 앱 개발용 html 태그 기반, 화면 그..

백엔드 2023.11.23

[네트워크기초이론]#36. 퇴근시간을 결정하는 TCP 장애유형 5가지

TCP라는 프로토콜은 생각보다 매우 정교하다. 그리고 굉장히 복잡하다 장애 대응 대원칙 (순서) - 무조건 아래에서 위로!!! Layered 구조 - 아래가 전제가 되어야 위에가 성립됨 - 네트워크가 안된다? 제일 먼저 LAN선 확인, L1, L2 수준 확인, ... - TCP도 IP 통신이 성립된 뒤에! 예를 들어 파일을 다운 받는 경우 - 파일을 읽어서 프로세스가 버퍼에 담은 후 타고 내려가서 PC 쪽의 Process까지 올라감 - 이 때 조립이 일어난다 - 조립된 것이 Buffer 쪽으로 가서 쌓인다 - 남는 공간이 window size 장애 유형1. LOSS - L1, L2 수준 - 보낸 애는 보냈다 하는데 받는 애가 못 받았다거나, 안 보내서 못 받았거나 - 네트워크에서 Packet을 잃어버리는..

[네트워크기초이론]#33. 길 잃은 Packet의 소멸과 TTL

인터넷이란 라우터의 거대한 집합체 - 구성요소 : Router, DNS Router - 설계 구조상 hierachical하지 않다 더보기 라우터의 설계 구조가 하이어라키컬하지 않다는 것은, 라우터의 구조나 설계가 계층적이지 않다는 것이다. 쉽게 말하면, 라우터의 내부 구조나 동작 방식이 복잡한 여러 단계나 계층으로 나뉘어 있지 않다는 것이다. 마치 집을 지을 때 복층이 아닌 단층 집처럼, 라우터 내부도 간단하게 설계되어 있다는 것이다. - 직렬화 X - 수평적 O - 매시 형태로 얽혀 있음 IP 헤더 - Source: 3.3.3.3 - Destination: 5.5.5.5 - 이 때 TTL 값이 들어간ㄷ TTL - Time To Live - 최대 크기가 MTU인 한 덩어리의 데이터 packet이 인터넷을..

[네트워크기초이론]#32. L2 스위치와 ARP 작동원리

ARP 프로토콜 - Address Resolution Protocol IP주소로 MAC Address를 알아내는 프로토콜 더보기 컴퓨터들이 서로 통신할 때는 특별한 주소가 필요하다. 이 주소 중에는 IP 주소와 맥 주소라는 두 가지 주소가 있다. IP 주소는 컴퓨터의 집 주소 같은 것이고, 맥 주소는 컴퓨터의 고유 번호 같은 것이다. 그런데 컴퓨터가 서로 통신하려면 IP 주소를 통해 어떤 컴퓨터인지 알아야 하고, 그 다음에 맥 주소를 통해 직접 메시지를 전송한다. ARP는 이 두 주소를 서로 연결해주는 역할을 하는데, IP 주소를 알고 있을 때 그 IP 주소에 해당하는 맥 주소를 알아내는 도구라고 할 수 있다. "너는 친구들과 편지를 주고받을 때, 친구의 집 주소를 알아야 편지를 보낼 수 있잖아? 컴퓨터..

[네트워크기초이론]#31. TCP/IP통신과 MAC주소의 변화

MAC 주소의 변화에 대해서 - 소켓 수준에서 다루는 데이터 단위는 Stream - Stream 데이터를 잘라낸 하나가 Segment - Segment가 L3로 내려가면서 IP Packet - (인터넷은 Packet switching Network, 패킷 교환 네트워크) - L2에서는 Frame 캡슐화 - Segment는 직소 퍼즐 하나 - Packet = 퍼즐 하나를 택배 박스에 담음 - Frame = 택배를 운송하는 트럭 - 트럭 한 대로 처음부터 끝까지 가지 않는다. 갈아탄다 - L3 패킷은 가만히 있는데 - 패킷을 통채로 인캡슐레이션한 Ethernet Header는 계속 바뀐다 - 최초 패킷이 Generate 됐을 때 - IP Packet을 감싸고 있는 Frame - Ethernet 헤더가 붙음 ..

[네트워크기초이론]#27. TCP 연결, LAN선 뽑기 그리고 게임해킹!

LAN케이블을 뽑으면 TCP 연결은 어떻게 될까? 구조: Layered - L3는 L4의 기반 (Base) - TCP의 Base 프로토콜은 IP - 연결이라는 개념은 TCP에도 있고 Access 계층에도 있다 - TCP: 연결, connection, session - Access계층: Link - up / down - TCP는 L2 이더넷보다 위에 있다 = (L4가 성립하려면) L1, L2, L3가 성립했다는 전제 하에 L4가 성립 - 어떤 사람이 "대학 졸업했다"라고 하면 초중고는 이수했다는 전제 O - TCP 연결이 성립했다 - Ethernet연결 (=Link-up 상태 = 물리적 통신 가능)상타에서 Virtual Circuit 연결이 성립 더보기 네트워킹에는 크게 두 가지 전송 모드가 있다: 회로 ..

[네트워크기초이론]#26. TCP 연결이라는 착각에 대해

"TCP는 연결 지향이다, Connection Oriented다" '연결'은 모호하다 TCP헤더 Port 번호 - 출발지와 목적지가 쌍으로 나온다 - 16bit - 경우의 수는 2¹⁶ - 0 ~ 65535 - 0번, 65535번은 사용하지 않음 - 1 ~ 655354 (사실 1번도 사용하진 않음) Sequence Number - 중요!!!! - 직소퍼즐 하나에 붙인 번호 - 32bit - 경우의 수는 2³² - 용량으로 환산하면 4GB - 32bit로 표현할 수 있는 최대 메모리 크기 - Ack번호와 Seq번호가 합쳐서 작동 Flags - 각각의 의미가 있음 - 표시한 두 가지를 가지 먼저 알아보기 '연결'이란 무엇인가? '연결이 되었다'는 근거가 무엇인가? - 길동이가 영희에게 전화 - 영희가 받아서 ..