본문 바로가기
728x90
반응형

목차훔치기/면접을 위한 CS 전공지식 노트89

네트워크 분류 (면접을 위한 CS 전공지식 노트) 네트워크 분류 네트워크 분류 네트워크 분류(Network classification)는 컴퓨터 네트워크에서 발생하는 데이터 패킷을 여러 그룹 또는 클래스로 분류하는 작업을 의미합니다. 이는 데이터 패킷을 특정한 기준에 따라 다른 그룹으로 나누는 것을 의미합니다. 이렇게 분류된 패킷은 그 후에 다른 처리나 전송 방식을 적용하기 위해 사용됩니다. 네트워크 분류는 보안, 트래픽 관리, 품질 보증(QoS), 네트워크 모니터링 등 다양한 목적을 위해 사용될 수 있습니다. 네트워크 분류 Firewall 및 보안: 네트워크 분류는 방화벽과 같은 보안 장치에서 사용될 수 있습니다. 패킷을 특정 애플리케이션, 프로토콜 또는 소스/목적지 IP 주소 등의 기준으로 분류하여 악성 행위를 차단하거나 허용할 수 있습니다. 트래픽.. 2023. 8. 23.
네트워크 토폴로지와 병목 현상 (면접을 위한 CS 전공지식 노트) 네트워크 토폴로지와 병목 현상 네트워크 토폴로지와 병목 현상 네트워크 토폴로지(Topology)는 컴퓨터 네트워크에서 장치들 간의 물리적 또는 논리적 연결 방식을 나타내는 구조를 말합니다. 네트워크 토폴로지는 네트워크의 구성, 통신 방식, 신뢰성 등에 영향을 미치며, 다양한 형태의 토폴로지가 있습니다. 병목 현상(Bottleneck)은 네트워크에서 데이터 전송 속도가 제한되는 부분을 의미합니다. 네트워크에서 데이터는 가장 느린 속도로 흐르게 되는데, 이것이 전체 통신 속도를 결정하게 됩니다. 병목 현상은 데이터가 더 빠른 속도로 흐르는 다른 부분들을 지나치면서 전체적인 통신 성능을 제한하게 됩니다. 예를 들어, 네트워크의 한 구간이나 장치가 다른 부분보다 처리 속도가 낮아서 그 부분에서 발생하는 데이터 .. 2023. 8. 22.
처리량과 지연 시간 (면접을 위한 CS 전공지식 노트) 처리량과 지연 시간 처리량과 지연 시간 네트워크에서 처리량(Throughput)과 지연 시간(Latency)은 둘 다 네트워크 성능과 관련된 개념입니다. 이 두 가지는 각각 네트워크의 성능을 측정하고 평가하는 데 사용되며, 다음과 같이 정의됩니다. 처리량(Throughput): 네트워크 처리량은 단위 시간당 전송되는 데이터 양을 나타내는 지표입니다. 일반적으로는 초당 비트 수(bit per second, bps) 또는 바이트 수(byte per second, Bps)로 측정됩니다. 높은 처리량은 네트워크가 데이터를 효율적으로 전송하고 처리할 수 있는 능력을 나타냅니다. 처리량은 네트워크 대역폭, 데이터 전송률, 패킷 크기 등 여러 요인에 의해 영향을 받습니다. 빠른 처리량을 가진 네트워크는 대용량 데이터.. 2023. 8. 21.
패러다임의 혼합 (면접을 위한 CS 전공지식 노트) 패러다임의 혼합 패러다임의 혼합 프로그래밍에서 "패러다임의 혼합"이란, 서로 다른 프로그래밍 패러다임을 결합하여 사용하는 것을 의미합니다. 각각의 프로그래밍 패러다임은 특정한 방식으로 문제를 해결하고 코드를 구성하는 데 사용되며, 이러한 패러다임들을 혼합함으로써 프로그램을 더 효율적으로 작성하고 유연성을 확보할 수 있습니다. 패러다임의 혼합 예시 객체 지향과 절차형 혼합: 객체 지향 프로그래밍과 절차형 프로그래밍을 혼합하여 사용하는 경우가 많습니다. 객체 지향의 장점인 모듈화와 재사용성을 활용하면서, 일부 성능이 중요한 부분에서는 절차형 방식으로 최적화된 코드를 작성할 수 있습니다. 함수형과 객체 지향 혼합: 함수형 프로그래밍과 객체 지향 프로그래밍을 혼합하여 사용하는 경우에는 함수형 프로그래밍의 불변성.. 2023. 8. 20.
절차형 프로그래밍 (면접을 위한 CS 전공지식 노트) 절차형 프로그래밍 절차형 프로그래밍 절차형 프로그래밍(Procedural Programming)은 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그램을 작성할 때 일련의 단계나 절차를 정의하여 문제를 해결하는 방식을 가리킵니다. 이 패러다임은 프로그램을 작은 부분으로 나누고 각 부분을 함수나 프로시저로 구성하여 실행 순서대로 처리하는 방식으로 동작합니다. 절차형 프로그래밍 주요 특징 절차적 추상화: 문제를 해결하기 위한 절차적인 단계들을 정의하고, 각 단계를 함수나 프로시저로 구현합니다. 이를 통해 복잡한 문제를 간단한 단계로 분해할 수 있습니다. 변수와 데이터: 변수를 사용하여 데이터를 저장하고 조작합니다. 이러한 변수들은 프로그램 실행 중에 상태를 유지하며, 이를 통해 데이터의 변화나 연산을 추적할 수 .. 2023. 8. 19.
객체지향 프로그래밍(면접을 위한 CS 전공지식 노트) 객체지향 프로그래밍 객체지향 프로그래밍 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발 패러다임 중 하나로, 현실 세계의 개념과 구조를 프로그래밍에 반영하여 코드를 구성하는 방법론입니다. 이 접근 방식은 프로그램을 '객체'라 불리는 작은 단위로 나누고, 이러한 객체들 간의 상호작용을 통해 프로그램을 구축하는 방식입니다. 객체지향 프로그래밍 주요 특징 객체(Object): 현실 세계의 실체나 개념을 프로그래밍에 반영한 단위로, 데이터와 해당 데이터를 다루는 메서드 (함수)의 집합으로 이루어져 있습니다. 객체는 클래스(class)라는 템플릿을 기반으로 생성됩니다. 클래스(Class): 객체를 생성하기 위한 템플릿으로, 객체의 속성(변수)과 동작(메서드)을 정.. 2023. 8. 18.
선언형과 함수형 프로그래밍(면접을 위한 CS 전공지식 노트) 선언형과 함수형 프로그래밍 선언형과 함수형 프로그래밍 선언형 프로그래밍 (Declarative Programming): 선언형 프로그래밍은 **무엇(What)**을 할 것인지에 집중하는 프로그래밍 스타일입니다. 이 스타일에서는 코드가 목표하는 상태를 명세하고, 시스템은 그 명세에 맞게 동작하도록 합니다. 프로그래머는 어떻게(How) 동작하는지에 대한 구체적인 세부 사항보다는 원하는 결과에 초점을 맞추게 됩니다. 예를 들어, SQL (Structured Query Language)은 선언형 프로그래밍의 좋은 예입니다. SQL 쿼리를 사용하여 데이터베이스에서 원하는 데이터를 검색할 때, 당신은 어떤 데이터를 원하는지를 명시하고 데이터베이스 시스템이 그 요구사항을 처리합니다. 이때 어떻게 데이터가 가져와지는지.. 2023. 8. 17.
MVVM 패턴(면접을 위한 CS 전공지식 노트) MVVM 패턴 MVVM 패턴 MVVM 패턴은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나로, 애플리케이션의 사용자 인터페이스(UI)와 비즈니스 로직을 분리하여 관리하고, 코드의 가독성과 유지보수성을 향상하는데 도움을 주는 패턴입니다. MVVM은 Model-View-ViewModel의 약자로, 세 가지 주요 구성요소로 구성됩니다. MVVM패턴 구성요소 Model: 모델은 애플리케이션의 데이터와 비즈니스 로직을 포함하는 부분입니다. 데이터베이스에서 가져온 정보, 웹 서비스와의 통신 결과물 등이 모델에 해당합니다. 모델은 UI나 뷰와 독립적으로 존재하며, 데이터의 변경을 통지하여 뷰나 뷰모델에 변화를 전달합니다. View: 뷰는 사용자 인터페이스를 나타냅니다. 이 부분은 사용자가 실제로 보고 상호작용하는.. 2023. 8. 16.
MVP 패턴 패턴(면접을 위한 CS 전공지식 노트) MVP 패턴 MVP 패턴 MVP(Mode-View-Presenter) 패턴은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나로, 사용자 인터페이스를 개발하는 데 도움을 주는 패턴입니다. MVP 패턴은 코드의 구조화와 유지보수를 용이하게 하며, UI 로직과 비즈니스 로직을 분리하여 개발을 더 모듈화 하고 테스트하기 쉽게 합니다. 이 패턴은 주로 웹 및 데스크톱 응용 프로그램에서 사용되지만, 다른 플랫폼에서도 유사한 개념으로 활용될 수 있습니다. MVP패턴 구성요소 Model (모델): 모델은 애플리케이션의 비즈니스 로직과 데이터를 처리하는 역할을 담당합니다. 데이터베이스에서 데이터를 가져오거나 수정하고, 필요한 연산을 수행하며, 이러한 데이터를 가공하여 프레젠터에게 전달합니다. 모델은 UI와 독립적으로 .. 2023. 8. 15.
728x90
반응형