본문 바로가기

# CS

(7)
[Network] L1, L2, L3, L4, L7 모든 스위치에 대해 알아보자 L1, L2, L3, L4, L7 모든 스위치에 대해 알아보자스위치는 네트워크 회선과 서버 컴퓨터를 연결하는 네트워크 장비다. 복잡한 시스템 구성도에는 L2, L3, L4 가 항상 있다. 이번에 담당 시스템의 재구축을 진행하면서 시스템 장비들의 관리망 연결을 위해 L2 스위치를 사용했다. 도대체 L은 무엇이며, 뒤에 숫자는 어떤 의미고, 각각 스위치의 차이는 무엇인지 알아보자. L의 의미: 네트워크 OSI 7계층 (OSI 7 Layer)컴퓨터공학을 전공했다면, 아니면 비전공자라도 정보처리기사 공부를 했다면 네트워크 7계층 모델을 들어봤을 것이다. 1 - 물리 계층(Physical Layer) 2 - 데이터 링크 계층(Data Link Layer) 3 - 네트워크 계층(Network Layer) 4 - 전..
그리디(Greedy) 알고리즘 그리디(Greedy) 알고리즘 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하는 알고리즘이다. 지금의 선택이 앞으로 남은 선택들에 어떤 영향을 끼칠지 고려하지 않는다. 그래서 모든 경우의 수를 고려하는 완전 탐색이나 동적 계획법 알고리즘과 달리, 그리디 알고리즘은 매 선택이 그 순간에 대해서는 최적 여부만 고려하므로 최종 도출된 해가 최적이 아닐수도 있다. 그리디 알고리즘을 사용하면 좋은 경우 최적 부분 구조 문제의 최적해가 부분 문제의 최적해로 구성되는 경우에 그리디 알고리즘이 유용하다. 이런 경우에는 각 단계에서 최적의 선택을 하면 전체 문제의 최적해를 얻을 수 있다. 탐욕 선택 속성 각 단계에서 최적의 선택을 하는 것이 문제 전체에 대한 최적해를 구하는 데 필요한 조건이라면 그리디 알..
다익스트라(Dijkstra) 알고리즘: 최단경로 구하기 다익스트라(Dijkstra) 알고리즘: 최단경로 구하기 다익스트라 알고리즘이란? 다익스트라 알고리즘은 그래프 내의 가중치를 가진 정점들 간의 최단 경로를 찾는 알고리즘이다. 이 알고리즘은 그리디 알고리즘으로 분류된다. 매 단계마다 현재까지 알려진 최단 경로와 가장 가까운 정점을 선택하여 최단 경로를 확장해나간다. 이 알고리즘은 한 번의 루프마다 하나의 정점을 처리하므로, 모든 정점들을 고려해야 할 경우 시간 복잡도가 O(V^2)가 될 수 있다. 가중치가 양수인 그래프에서 사용 가능하며, 음수 가중치가 있는 경우에는 정확한 결과를 보장하지 않는다. 작동과정 1. 출발 노드 설정 2. 출발 노드 기준으로 각 노드의 최소 비용 저장 3. 방문하지 않은 누드 중에서 가장 비용이 적은 노드 선택 4. 해당 노드를..
알고리즘 시간 복잡도 계산하기: Big-O 표기법 시간 복잡도: Big-O 표기법 알고리즘의 효율성을 이론적으로 분석하는 방법으로, Big-O 표기법은 불필요한 연산을 제거하여 시간 복잡도를 간단히 나타낸다. 시간 복잡도 입력값과 연산 수행 시간의 상관관계를 나타내는 척도 시간 복잡도 분석 시간 복잡도 분석에서는 알고리즘이 수행하는 연산의 횟수를 계산한다. 입력의 개수가 증가함에 따라 연산의 횟수가 어떤 형태로 증가하는지에 관심을 둔다. 시간 복잡도 함수 알고리즘이 수행하는 연산의 횟수를 나타내는 함수이다. 입력의 개수 n에 대한 함수(T(n))으로 표현한다. n2을 구하는 문제에 대한 3가지 알고리즘이 다음과 같을때, def Algorithm_A T_A(n)=2 # Algorithm_B 덧셈연산: sum+n # n 대입연산: { i T_B(n)=2n+..
[Network] 미들웨어(Middleware)란 무엇인가? 미들웨어(Middleware)란? 양 쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어 3-Tier 구조에서의 미들웨어(Middleware) [1-Tier 구조] 비즈니스 로직 처리, 데이터 처리 등을 모두 한 곳의 물리적 환경(서버)에서 통합 제공하는 형태 1개의 통합 서버에 문제가 생겼을 때 전체 서비스 장애로 이어진다. 어느 포인트에서 장애를 일으켰는 지 분석이 쉽지 않다. [3-Tier 구조] DBMS서버, 정적 페이지 서버(WEB Server), 동적 페이지 서버(WAS)를 분리해서 제공하는 형태 관리와 유지 보수가 간편해짐 부하의 분산이 가능 WEB Server 사용자의 요청이 유입되는 순간 호출되는 앞단(Front-end)의 정적 페이지(html, css, j..
[OS] CPU와 메모리 CPU와 메모리 CPU(중앙처리장치: Central Processing Unit) CPU는 메모리에 저장된 명령어를 읽고, 읽은 명령어를 해석해서 실행하는 부품이다. CPU 내부는 ALU, Register, CU 로 구성된다. ALU (산술논리연산장치: Arithetic Logic Unit) ALU는 계산을 위한 부품이다. 컴퓨터 내부에서 수행되는대부분의 계산을 수행한다. Register (레지스터) Register는 CPU 내부의 작은 임시 저장 장치이다. 프로그램을 실행하는 데 필요한 값들을 임시로 저장한다. CPU 안에는 각기 다른 이름과 성능의 여러 레지스터가 존재한다. CU (제어장치: Control Unit) CU는 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호(제어 신호)를 보낸다. C..
[Network] HTTP, HTTPS 어떤 차이가 있지? HTTP, HTTPS 어떤 차이가 있지? HTTPS는 HTTP에 보안기능이 추가된 프로토콜이다. 각각의 항목에 대해 아래에서 자세히 알아보자. HTTP(HyperText Transfer Protocol) HPPT란 하이퍼 텍스트 전송 프로토콜(HyperText Transfer Protocol)의 약자로 웹에서 정보를 주고 받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고 받는데 쓰였지만 최근에는 Plain text, JSON, XML 등 다양한 형태의 정보도 전송하고 있다. 🔮 프로토콜 (Protocol) 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약이다. 신호 송신의 순서, 데이터의 표현법, 오류 검출법 등을 규정한다. HTTP의 특징으로는..