전체 글 160

[정보처리기사] mac,dac,rbac의 특징

MAC (Mandatory Access Control), DAC (Discretionary Access Control), RBAC (Role-Based Access Control)은 모두 접근 제어 방식으로, 각각의 차이점은 다음과 같다.MAC (Mandatory Access Control, 강제 접근 제어)정의: 시스템 관리자 또는 보안 정책에 따라 자원에 대한 접근 권한을 설정하는 방식이다.특징: 사용자가 자신의 자원에 대해 접근 권한을 설정할 수 없으며, 모든 접근 권한은 중앙 관리자나 시스템에 의해 통제된다.사용 사례: 군사 및 정부 기관과 같이 높은 수준의 보안이 요구되는 환경.장점: 보안이 엄격하게 유지되며, 데이터 유출이나 접근 권한 남용을 방지할 수 있다.단점: 유연성이 부족하고, 관리가 ..

[정보처리기사] 라우팅 프로토콜(IGP,RIP,OSPF,BGP)

라우팅 프로토콜은 네트워크 상에서 패킷이 목적지까지 도달하는 최적의 경로를 결정하는 데 사용된다. 라우팅 프로토콜은 크게 정적 라우팅 프로토콜과 동적 라우팅 프로토콜로 분류된다. 정보처리기사 시험에서는 동적 라우팅 프로토콜이 더 중요하다.동적 라우팅 프로토콜은 IGP와 EGP로 나뉜다.IGP는 내부 라우팅 프로토콜을 의미하며, RIP와 OSPF로 나뉜다. RIP는 거리 벡터 라우팅 프로토콜로 홉 수를 중요시한다. OSPF는 링크 상태 라우팅 프로토콜로 경로의 상태를 종합적으로 평가하여 최적의 경로를 결정한다.EGP는 외부 라우팅 프로토콜을 의미하며, BGP가 대표적이다. BGP는 주로 자율 시스템 간의 경로를 결정하는 데 사용된다. BGP는 외부 네트워크 간의 경로 정보를 교환하여 최적의 경로를 설정한다..

[정보처리기사] 데이터 교환 방식(전용회선, 메세지교환, 패킷교환, 데이터그램, 가상회선)

데이터 교환 방식데이터 교환 방식에는 전용회선, 메시지 교환, 패킷 교환, 데이터그램, 가상 회선 등이 있다. 각 방식의 특징과 작동 원리에 대해 알아보자.전용회선 (Circuit Switching)전용회선 방식은 두 통신 장치가 통신을 시작하기 전에 고정된 경로를 설정하고, 통신이 끝날 때까지 그 경로를 유지하는 방식이다. 전화망에서 많이 사용된다.특징: 연결 설정 시 경로가 고정된다. 통신 품질이 일정하며, 실시간 통신에 적합하다.장점: 일정한 대역폭과 지연 시간이 보장된다.단점: 회선이 비효율적으로 사용될 수 있다. 통신 중간에 경로 변경이 어렵다.메시지 교환 (Message Switching)메시지 교환 방식은 데이터를 전체 메시지 단위로 전송하는 방식이다. 각 메시지는 목적지까지 독립적으로 전달..

[정보처리기사] DAS/NAS/SAN 개념 정리

DAS (Direct Attached Storage)DAS는 서버에 직접 연결된 저장 장치를 의미한다. 서버 내부에 장착된 하드 디스크 드라이브(HDD)나 SSD 같은 형태로 존재할 수 있다.연결 방식: SCSI, SATA, SAS 인터페이스를 사용해서 서버에 직접 연결된다.용도: 개별 서버의 저장 공간을 확장하는 용도로 사용된다.장점: 설치와 관리가 비교적 간단하고, 데이터 전송 속도가 빠르다.단점: 확장성과 유연성이 낮고, 다른 서버와 데이터 공유가 어렵다.NAS (Network Attached Storage)NAS는 네트워크를 통해 데이터 저장 장치를 여러 서버가 공유할 수 있도록 하는 시스템이다. NAS는 전용 파일 서버 형태로 존재하며, 파일 기반의 데이터 접근을 지원한다.연결 방식: 이더넷 네..

[객체지향프로그래밍] java의 Getter, setter에 대하여

Java에서 getter와 setter는 객체의 캡슐화(encapsulation)를 지원하는 중요한 메서드이다. 이 메서드들은 클래스의 멤버 변수를 외부에서 직접 접근하지 못하도록 보호하고, 대신 간접적으로 접근하고 수정할 수 있는 방법을 제공한다. getter와 setter의 주요 목적은 데이터의 무결성을 유지하면서 접근을 제어하는 것이다.Getter와 Setter의 개념Getter 메서드: 클래스의 멤버 변수 값을 반환하는 메서드이다. 일반적으로 get이라는 접두사와 함께 변수의 이름을 사용하여 메서드를 정의한다.Setter 메서드: 클래스의 멤버 변수 값을 설정하는 메서드이다. 일반적으로 set이라는 접두사와 함께 변수의 이름을 사용하여 메서드를 정의한다.[예제] public class Person..

Computer Science 2024.06.14

[객체지향프로그래밍] static 멤버 안에서 this 변수를 사용할 수 없는 이유

static 멤버 안에서 this 키워드를 사용할 수 없는 이유는 static 멤버가 클래스 수준에서 존재하기 때문이다. 좀 더 구체적으로 설명하면 다음과 같다. 클래스 수준에서 접근:static 멤버(변수와 메서드)는 클래스 자체에 속하며, 특정 인스턴스에 속하지 않는다. 따라서 클래스가 로드될 때 메모리에 할당되며, 프로그램이 종료될 때까지 유지된다.반면, non-static 멤버는 특정 인스턴스에 속하며, 인스턴스가 생성될 때 메모리에 할당되고 인스턴스가 소멸될 때 메모리에서 해제된다.this 키워드의 의미:this 키워드는 현재 인스턴스를 가리킨다. 이는 non-static 멤버 함수나 생성자 내에서 현재 객체를 참조할 때 사용된다.static 메서드나 변수는 특정 인스턴스가 아닌 클래스 자체에 ..

Computer Science 2024.06.13

[객체지향프로그래밍] static 변수에 대하여(non-static 변수와 어떻게 다를까?)

객체지향프로그래밍에서 static 변수와 non-static 변수는 중요한 개념이다. 두 가지는 사용 방법과 동작이 다르다.static 변수는 클래스에 속하며 클래스의 모든 인스턴스가 공유하는 변수다. static 변수는 클래스 수준에서 선언되고 클래스가 로드될 때 초기화되며 프로그램이 종료될 때까지 존재한다. 클래스의 모든 인스턴스가 동일한 static 변수를 공유하며, static 변수의 값을 변경하면 그 변경 사항이 클래스의 모든 인스턴스에 반영된다. static 변수는 한 번만 메모리에 할당되므로 메모리 사용량을 줄일 수 있다. static 변수는 클래스명.변수명 형식으로 접근하며 객체를 생성하지 않고도 접근할 수 있다.non-static 변수는 인스턴스 변수로, 각 인스턴스마다 별도로 존재하는 ..

Computer Science 2024.06.12

[객체지향프로그래밍] JAVA의 garvage collection 개념

자바의 가비지 컬렉션(Garbage Collection, GC)은 JVM(Java Virtual Machine)에서 자동으로 메모리를 관리하는 메커니즘이다. 가비지 컬렉터는 프로그램 실행 중 더 이상 사용되지 않는 객체들을 탐지하고 메모리에서 제거하여 메모리 누수를 방지하고, 응용 프로그램이 효율적으로 메모리를 사용할 수 있게 한다. 자바의 가비지 컬렉션은 몇 가지 특징을 가지고 있다. 먼저, 객체의 생성과 힙 메모리를 관리한다. 자바 프로그램에서 객체가 생성되면 힙 메모리에 할당된다. 힙 메모리는 프로그램이 실행되는 동안 동적으로 할당되는 메모리 영역이다. 객체가 더 이상 참조되지 않을 때, 즉 프로그램에서 해당 객체에 접근할 수 없게 되면 이 객체는 가비지(garbage)로 간주된다. 가비지 컬렉션은..

Computer Science 2024.06.05

[객체지향프로그래밍] 절차적 언어 vs 객체지향 언어의 특징

절차적 언어는 high level language의 초기 버전으로서, 연속적인 command를 실행하는데에 집중하는 언어로 작용한다. 이해하기 쉽고, 코드를 짜기도 쉬우며, 재사용되기 어렵다는 점이 특징이다. 객체지향 언어는 연속적인 프로그래밍을 목적으로 하지 않는다. 그 대신 각 객체를 선언하고, 객체간의 관계를 표현한다. 이러한 객체지향 언어는 코드 재사용, 유지보수, 추상화에 도움이 된다.  # 절차적 프로그래밍 예제 def add_numbers(a, b):     return a + b def main():     num1 = 5     num2 = 3     result = add_numbers(num1, num2)     print(f"두 숫자의 합: {result}") if __name__ ..

Computer Science 2024.06.05

[자료구조] Text pattern matching- Naive Approach 방법, 코드 구현

Naive Approach는 텍스트 패턴 매칭 알고리즘 중 가장 기본적이고 직관적인 방법이다. 이 방법은 단순히 텍스트 내에서 패턴을 찾기 위해 모든 가능한 위치에서 패턴을 하나씩 비교하는 방식으로 동작한다. Naive Approach는 다음과 같은 단계로 구성된다:텍스트와 패턴 길이 확인: 텍스트 T의 길이를 n, 패턴 P의 길이를 m이라고 할 때, 가능한 모든 시작 위치를 검사하기 위해 T의 길이에서 P의 길이를 뺀 만큼의 위치까지 반복을 수행한다.모든 시작 위치 검사: 텍스트의 각 가능한 시작 위치에서 패턴과의 일치를 검사한다. 이를 위해 T의 위치 i부터 i + m - 1까지의 부분 문자열을 패턴 P와 비교한다.패턴 일치 확인: 패턴의 모든 문자가 일치하는지 확인하고, 일치하면 그 시작 위치를 기..

Computer Science 2024.06.04
반응형