전체 글 62

포트 미러링/ 패킷 인젝션

포트 미러링 (Port Mirroring) 포트미러링이란 특정 포트의 트래핑을 다른 포트로 복제해 주는 역할을 뜻합니다. 스위치는 기본적으로 각 포트에 연결된 장비에게 해당되는 트래픽만 전달합니다. 그래서 보통은 eth0 같은 인터페이스에서 "자기에게 오는 패킷"만 볼 수 있습니다. 그런데 포트 미러링 기능을 쓰면, 스위치가 특정 포트의 트래픽을 복제해서 다른 포트로 보내줍니다. 이때 장비가 미러링된 포트에 연결되어 있으면, 원래 다른 포트로 흘러가는 트래픽까지 모두 확인할 수 있습니다. 스위치 기능이 없는 장비는 포트 미러링 기능을 제공하지 않으며 장비 자체가 송수신하는 패킷만 확인 할 수 있게 됩니다. 스위치에서 포트 미러링은 내부 칩(Application-Specific Integrated Cir..

OSI 7Layers (L2/L3/L4)

OSI 7 Layer란?네트워크 통신을 7단계로 나누어 각 계층의 역할을 정의한 모델로, 각 계층마다 데이터를 식별하는 고유한 식별자가 존재합니다.대표적으로 2계층은 MAC 주소, 3계층은 IP주소, 4계층은 포트 번호가 식별자로 사용됩니다. 쉽게 비유하자면, IP는 집주소와 같이 네트워크 환경에 따라 변경가능하며, MAC 주소는 주민등록 번호화 같이 태어날 때 부터 부여되고 평생 변하지 않은 주소입니다. 포트 번호는 집 안에서 어느 방(프로그램/서비스) 인지를 구분하는 역할이라고 볼 수 있습니다 IP 주소(IPv4/ IPv6) : 네트워크 상에서 위치를 나타내는 논리적 주소MAC 주소: 같은 네트워크(LAN) 내에서 장치 자체를 구분하는 물리적 주소 포트 번호: 한 장치 안에서 "어느 프로그램/서비스..

SPA 영단어 정리 (2일차)

Objectively객관적으로Chore집안일on in charge of me내 책임니다One of the two둘 중 하나make an appointment약속하다might be able to 아마 ~일거야get sweaty땀이나다to prevent blood sugar혈당 스파이크를 막다take a strolltake a short walk산책하다 time effiecient시간 효율적인modifyrevise수정하다cuisine나라 고유의 음식attract customer손님을 끌다effort 노력maintain a good relationshipkeep a storong connections좋은 관계를 맺다on a regular schedule 규칙적으로sanitation worker환경 미화원cro..

카테고리 없음 2026.08.16

AI Agent 를 활용한 코드 자동화 아키텍처 설계

1. RAG 파이프라인 설계문서, 규격, 코드 인덱싱코드와 아키텍처 문서를 청크 단위로 분리메타데이터 태깅 후 임베딩 생성 → 벡터 DB 저장LangChain RAG 체인 구성사용자 질문 → 벡터 검색 → LLM 관련성 평가 → Branch에서 답변 생성 여부 결정핵심 포인트: 검색 정확도를 높이려면 코드와 문서를 분리 인덱싱하고, 조건부 로직을 문장으로 풀어써야 함 2. LangGraph 기반 그래프 설계State: 질문, 검색 결과, 대화 기록, 에러 카운트Node: 검색 에이전트, 코드 생성 에이전트, 분석 에이전트Edge:일반 엣지 → 검색 → 코드 → 분석 순차 진행조건부 엣지 → 분석 실패 시 코드 노드로 루프 재시도체크포인팅: 각 노드 실행 후 상태 자동 저장 → 실패 시 중간 상태에서 재시..

AI Agent 2026.07.26

SPA 영단어 정리 (1일차)

linger 오래 끄는, 마음에 오래남는, 망설이는, 질질 끄는 hesitate망설이는, 주저하는self confidence자신감cocky자만하는On the other hands/ On the contrary반면에trait/ feature특징backfire역효과가 나다 psychology test심리 테스트resilent 회복탄력성있는resilence회복탄력성I was feeling under the weather 컨디션이 좋지 않은expectation기대I have an expeience making decision very carefully subsidiary 자회사working from home재택근무homebody집순이sightsee관광하다show interest in~에 관심을 보이다meticu..

카테고리 없음 2026.07.26

read/write과 sendfile 방식 비교

Context Switching이란 커널 모드와 사용자 모드 간의 전환을 의미합니다.현재 실행 중인 사용자 프로세스 (user mode) -> 커널 코드 (kernel mode)로 전환하거나 그 반대로 바뀌는 것을 말하는데 이 전환은 OS 레벨에서 이루어집니다. 예를 들어 read 호출 시 사용자 코드가 실행되며 시스템 콜이 발생하고, user mode에서 kernel mode로 전환되게 됩니다. 커널 에서 해당 fd를 확인하고 디스크로부터 실제 데이터를 읽고 커널 내부 버퍼에 복사를 수행합니다. 커널은 내부 함수를 사용하여 사용자 공간 버퍼로 데이터를 복사한뒤 작업이 끝나면 Kernel mode에서 User Mode로 돌아갑니다. 따라서 read, write는 2번의 context switch가 발생하..

C++ 2025.06.20

12. [C++] atomic/ mutex/ spin lock

멀티 코어 환경에서 동기화 자원의 접근을 보장하는 방법은 여러가지가 있습니다. 대표적인 방법으로는 os 가 제공하는 동기화 방법인 mutex와 cpu의 하드웨어 명령어를 직접사용하는 atomic 방법이 있습니다. 추가로, 락이 풀릴 때까지 무한 루프를 돌며(cpu를 계속 점유하며) 대기하는 방식인 스핀락이 있습니다. 오늘은 이 세가지 방식에 대해서 알아보겠습니다. 1. mutexmutex 방식은 스레드가 자원을 사용하려고 할 때 lock을 걸어 (sleep) 대기하여 동기화 자원의 접근을 보장하는 방법입니다. 이는 운영체제 커널이 관리하는 락 메커니즘을 사용하며, 락을 잡지 못한 스레드는 대기 상태(sleep)로 들어가면서 다른 스레드가 CPU를 쓸 수 있도록 해줍니다. 그래서 락이 풀릴 때까지 해당 ..

C++ 2025.06.15

11. [C++] 파티션 메모리 복사 (dd 명령어, 파일 입출력)

개요eMMC와 같은 저장 장치는 하나의 물리적 장치입니다.이 장치를 논리적으로 나누는 것을 파티션이라고 하는데, 저장장치 안에서 영역을 구분해주는 역할을 합니다.리눅스와 같은 운영체제에서는 커널 내부에 VFS(Virtual File System)이라는 추상화 계층이 있어 여러 파일 시스템과 장치 파일을 통합 관리합니다. eMMC와 같은 특정 하드웨어에 유저가 접근하려면, VFS가 유저의 요청을 디바이스 드라이버로 전달하고, 드라이버가 하드웨어와 직접 통신하여 데이터를 읽거나 씁니다. 따라서 유저는 직접 물리 메모리에 접근하지 않고, 커널을 통해 메모리와 하드웨어 자원에 접근할 수 있습니다. 리눅스 커널 내부의 VFS(Virtural File System)는 /proc, /sys, /dev 와 같은 가상 ..

C++ 2025.06.03

10. [C++] 가중치가 없는 그래프에서 사이클 탐지 및 지름 구하기

문제)N개의 정점과 M개의 간선을 가진 가중지가 없는 그래프 G가 주어진다. 그래프 G 에서 사이클을 이루는 노드들이 존재할 경우 사이클에 포함된 노드를 제거한 이후 남은 노드 및 간선에서 가장 먼 두 노드의 거리를 출력한다. 예시 입력)10 111 22 33 13 44 55 62 78 99 10 단계1. 가중치가 없는 양방향 그래프를 구성한다. : 연결 확인 시 어느 방향으로든 이동 가능한 경우 graph[A].push_back(B), graph[B].push_back(A)로 인접리스트 구현#include #include #include using namespace std;const int MAX = 100005;vector graph[MAX];int main() { int N, M; ci..

C++ 2025.06.03

09. [C++] 벡터와 리스트에서의 erase/remove 사용법

벡터와 리스트에서의 erase 사용법에 대해 알아보기 전에 벡터와 리스트를 잠시 비교해보겠습니다.vector와 list는 모두 sequence container로, sequence container에는 forward_list, list, deque, vector, array 등이 있습니다. list의 경우에는 bidirectonal iterator를 사용하는 이중 연결리스트(앞뒤 이동만 가능)이고, vector의 경우에는 contiguous iterator를 사용하는 연속된 배열(Random access 지원)이다. vector는 인덱스 접근이 빠르고 메모리를 효율적으로 사용할 수 있다는 장점이 있지만 연속된 배열이기 때문에 앞이나 중간에 데이터를 삽입하거나 삭제하면 해당 원소의 뒤 원소들을 모두 이동..

C++ 2025.06.01