시스템엔지니어/CS와 이것저것 17

[백엔드] 가상화

가상화(Virtualization)이란?하나의 물리적인 컴퓨팅 리소스를 논리적으로 분리하여 여러 개의 가상 리소스를 생성해 사용하는 기술서버, 스토리지, 네트워크 등 다양한 IT리소스를 가상화할 수 있으며, 클라우드 컴퓨팅의 핵심 기술이다. 가상화는 왜 필요할까?- 서버 가상화를 통해 하나의 물리 서버에서 여러 가상 서버를 배치하여 하드웨어 리소스를 효율적으로 사용할 수 있다.- 물리적인 하드웨어 수를 줄일 수 있어 초기 구축 비용 및 유지 관리 비용을 절감할 수 있다.- 각 가상 리소스들은 격리되어 있어 하나의 가상 리소스에 자앵가 발생해도 다른 가상 리소스에 영향을 미치지 않는다.- 가상 리소스를 필요에 따라 빠르게 생성하거나 삭제할 수 있어 인프라 운영이 유연해진다.- 가상 리소스는 소프트웨어 기반..

[백엔드] 멀티 스레딩

개념프로세서: 하드웨어프로세스: 실행중인 프로그램스레드: 스레드는 프로세스내의 작업 단위이다. 일반적으로 한 프로세스는 여러 개의 스레드를 가질 수 있으며, 스레드는 프로세스 내의 자원과 데이터를 공유한다. 멀티 프로그래밍: 하나의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근할 수 있도록 하는 방법이다.멀티 태스킹: 다수의 작업(Task)을 운영체제의 스케줄링에 의해 번갈아 가며 수행되도록 한다.멀티 프로세싱: 다수의 프로세서가 협력적으로 일을 처리하는 것멀티 스레딩: 하나의 프로세스를 다수의 스레드로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화 하여 수행 능력을 향상시킨다. 멀티 쓰레딩 주요 특징1. 경량화된 실행 단위- 낮은 오버헤드: 같은 프로세스 내에서 실행되..

[백엔드] RDB 페이징 쿼리의 필요성

RDB란?Relation Database이다.이 외에도 DB는 여러종류가 있다.- Document DB(MongoDB)- Key-value DB(Redis)- Graph DB(Neo4j)- Column-family DB(cassandra)- Search Engin(Elastic Search) 페이징 쿼리란?데이터베이스에서 전체 데이터를 부분적으로 나누어 데이터를 조회하거나 처리할 때 사용되는것데이터를 상대적으로 작은 단위로 나누어 처리하기 때문에 데이터베이스나 애플리케이션 리소스 사용 효율이 증가하여, 로직 처리 시간을 단축시킬 수 있다.-> MySQL에서 페이징 쿼리는 LIMIT, OFFSET 구문을 사용한다. +) LIMIT, OFFSET 방식 페이징 쿼리를 사용할 때 어떤 문제가 발생할까?뒤에 있..

[하드웨어 ] MCP(Model Context Protocol)가 가져오는 하드웨어 변화(데이터센터)

Model Context Protocol (MCP) 개요: LLM의 입력으로 들어가는 컨텍스트를 일관되게 주입하고 관리할 수 있도록하는 표준화된 인터페이스/프로토콜 MCP가 필요한 이유: LLM은 기본적으로 stateless하다.: 매번 모든 정보를 prompt에 넣어줘야 하는데 이 과정은 복잡하고 비효율적이다.이러한 컨텍스트를 외부에서 관리하고 LLM은 응답만 하는 구조를 통해 이를 극복할 수 있다. MCP 동작 방식1. 클라이언트가 MCP에 요청2. MCP서버가 클라이언트로 받은 요청(컨텍스트) 수집3. 수집한 내용을 LLM프롬프트에 적절히(?) 만들어서 주입4. LLM은 신속한 응답 생성 MCP 사용 사례1. 챗봇: 유저의 히스토리 기억2. 복잡한 RAG 시스템(Retrieval-Augmented ..

[네트워크] NIC, L2 Frame, LAN 카드, MAC주소

NIC + (L2) Frame + LAN card + MAC- NIC(Network Interface Card)는 흔히 LAN(Locla Area Network) 카드이다.- 유/무선 NIC이 있지만 굳이 구별하지 않고 NIC라고 할 때가 많다.- NIC은 H/W이며 MAC주소를 갖는다.   NIC (Network Interface Card, 네트워크 인터페이스 카드)- 흔히 LAN 카드라고 불립니다. 즉, NIC와 LAN 카드는 거의 같은 의미로 사용된다. - 유선(랜선 연결) NIC와 무선(Wi-Fi) NIC가 있지만, 보통 그냥 "NIC"라고 통칭하는 경우가 많다. - NIC는 하드웨어 장치입니다. 컴퓨터나 네트워크 장치에 실제로 꽂히는 부품이다. - 각 NIC는 고유한 MAC 주소를 가지고 있다...

[데이터센터] BSC란? (Basic Struscture Cabling)

Basic Structure Cabling(BSC)구조화된 케이블링을 의미한다.건물이나 캠퍼스 전체에 걸쳐 음성, 데이터 및 비디오 신호를 전송하기 위해 표준화된 케이블과 하드웨어로 구성된 시스템이다.이는 현대적인 통신 및 네트워킹의 기본 요소이며, 효율적이고 체계적인 케이블 관리 방식을 제공한다. BSC의 주요 구성 요소BSC는 여러 하위 시스템으로 구성된다.1. 수평 케이블링 (Horizontal Cabling): 작업 영역에서 통신실까지 케이블을 연결한다.2. 백본 케이블링 (Backbone Cabling): 통신실, 장비실 및 입구 시설 간에 케이블을 연결한다.3. 통신실 (Telecommunications Room): 케이블 연결 및 네트워크 장비를 위한 공간이다.4. 작업 영역 (Work Ar..

[프론트엔드] 브라우저 메모리 캐시, 디스크 캐시

메모리 캐시랑 디스크 캐시는 브라우저가 리소스를 저장하는 방식을 나타낸다.  메모리 캐시란?- 말 그대로 메모리, 즉 RAM에 저장돼서 빠른 속도가 특징이다.- RAM 메모리까지 가지 않고 CPU에 작은칩 안에 빠른 메모리 L1, L2, L3에서 데이터를 가져와 디스크 캐시 보다 더 빠르게 데이터를 가져 온다.- 현재 열린 탭에서 CSS나 JS 같은 리소스를 바로 가져올 때 유용합니다. 하지만 브라우저 창을 닫거나 새로고침하면 해당 리소스들이 사라지게 된다. 디스크 캐시란?- 하드디스크나 SSD 같은 저장장치에 저장돼서, 브라우저를 껐다 켜도 남아 있는 것이 특징이다.- 하드디스크에 접근하는 시간을 개선하고자 RAM에 저장하는 기법이며 하드디스크에 접근해서 데이터를 가져오는 것보다 RAM에 접근에서 데이..

[네트워크] 면접에서 물어보는 OSI 7 계층

"물데네전세표어"아마 IT 하신 분들이면 머릿속에 외우고 있는 단어일것이라 생각된다.물리계층부터 어플리케이션 계층까지 그래, 일단 외우긴 외웠는데. 면접에서는 물데네전세표어를 아냐고 물어보진 않기에,면접 때 물데네전세표어를 어떻게 물어보는지 키워드 바탕으로준비해보자!  OSI 7계층: 표준화, 효율적인 통신데이터링크/전송 계층: 데이터링크(동일 네트워크), 전송(최종 사용자), 신뢰성 보장7계층 프로토콜: 계층별 기능, 다양한 프로토콜(이더넷, IP, TCP, HTTP 등)라우터 계층: 네트워크 계층, IP 주소 기반, 최적 경로, 패킷 전달TCP 계층: 전송 계층, 연결 지향형 통신, 데이터 신뢰성OSI 7계층 캡슐화: 헤더 추가, 데이터 포장, 효율적인 데이터 전송Port 번호: IP 주소, 애플리케..

[서버] Linux와 Windows 서버에 인증서 설치하기

리눅스 서버 (Apache) 1. 필수 패키지 설치:sudo apt updatesudo apt install apache2 openssl 2. SSL 가상 호스트 설정 파일 생성 또는 편집: sudo nano /etc/apache2/sites-available/your_domain.conf  ServerName your_domain.com SSLEngine on SSLCertificateFile /path/to/your_domain.crt SSLCertificateKeyFile /path/to/your_domain.key SSLCertificateChainFile /path/to/your_domain_bundle.crt # (필요한 경우)  3. SSL 활성화 및 설정 적용:s..

[백엔드] SSL 인증서와 HTTPS

SSL 인증서 및 HTTPS 작동 방식앞서 대칭키 암호화와 비대칭키 암호화에 대해 알아보았습니다. 이제 이러한 암호화 방식을 활용하는 SSL 인증서와 HTTPS에 대해 알아보자SSL(Secure Sockets Layer) 인증서란?SSL 인증서는 웹사이트의 신원을 확인하고, 웹 서버와 브라우저 간의 안전한 연결을 설정하는 데 사용되는 디지털 인증서이다. SSL 인증서는 웹사이트의 공개 키를 포함하며, 이는 방문자의 브라우저가 서버의 신원을 확인하고 안전하게 데이터를 암호화하는 데 사용된다. SSL은 현재 TLS(Transport Layer Security)라는 이름으로 표준화되어 사용되고 있다. 따라서, SSL 인증서는 TLS 인증서를 포괄하는 개념으로 이해할 수 있다.SSL 인증서의 작동 원리연결 요청..