본문 바로가기
반응형

프로그래밍504

간이 망 관리 프로토콜(Simple Network Management Protocol, SNMP)에 대해서 간이 망 관리 프로토콜이란? 간이 망 관리 프로토콜(Simple Network Management Protocol, SNMP)은 IP 네트워크 상의 장치로부터 정보를 수집 및 관리하며, 또한 정보를 수정하여 장치의 동작을 변경하는 데에 사용되는 인터넷 표준 프로토콜이다. SNMP를 지원하는 대표적인 장치에는 라우터, 스위치, 서버, 워크스테이션, 프린터, 모뎀 랙 등이 포함된다. SNMP는 네트워크 모니터링의 목적으로 네트워크 관리에서 널리 사용된다. 현재 사용되는 SNMP의 주요 버전은 세 가지로, SNMPv1이 가장 초기 버전이며 이후 개발된 SNMPv2와 SNMPv3는 성능 및 유연성, 보안성 면에서 향상된 버전이다. SNMP는 국제 인터넷 표준화 기구(IETF)에 의해 정의된 인터넷 프로토콜 스위.. 2023. 10. 30.
Effective C# Item 13 : 정적 클래스 멤버를 올바르게 초기화하라 정적 클래스 멤버를 올바르게 초기화하라. 정적 멤버 변수를 포함하는 타입이 있다면 인스턴스를 생성하기 전에 반드시 정적 멤버 변수를 초기화해야 한다. 이를 위해 C#에서는 정적 멤버 초기화 구문(static member initializer) 정적 생성자(static constructors) 라는 두 가지 기능을 제공한다. 정적 생성자는 타입 내에 정의된 모든 메서드, 변수, 속성에 최초로 접근하기 전에 자동으로 호출되는 특이한 메서드다. 이 메서드를 활용하면 정적 변수를 초기화하거나, 싱글톤 패턴을 적용하거나, 혹은 여타의 작업을 효과적으로 수행할 수 있다. 정적 변수를 초기화하기 위해서 인스턴스 생성자나 전용의 private:메서드 혹은 다른 관용구를 사용해서는 안된다. 정적 필드를 초기화하는 과정이.. 2023. 10. 27.
[프로그래머스 Programmers] 푸드 파이트 대회 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건.. 2023. 10. 27.
랜선(LAN Cable, Ethernet Cable)에 대해서 랜선(LAN Cable, Ethernet Cable) 원래 전화선 용도로 쓰이다가 현대에서는 주로 근거리 통신망(Local Area Network)을 구축하기 위해 사용되는 케이블이다. 가장 흔하게는 랜선이라고 불리며 세부 분류인 UTP라는 이름이 익숙하게 알려져 있기도 하다. 랜선의 종류 - 카테고리 CAT, Category 구분법은 간단히 말하면 대역폭(최고 주파수와 최저 주파수의 차이, 1초에 보낼 수 있는 최대 데이터의 크기)으로 UTF Cable을 구분하는 구분법이다. 대역폭에 따라 전송 속도의 차이가 발생해서 같은 시간 동안 전송하는 데이터량이 많고 적음의 차이로 나타나며 일반 가정에서는 주로 10/100 Mbps의 인터넷 속도를 많이 사용한다. 높은 사양의 케이블은 공장이나 사무실 등의 내부.. 2023. 10. 27.
Effective C# Item 8 : 이벤트 호출 시에는 null 조건 연산자를 사용하라. 이벤트 호출 시에는 null 조건 연산자를 사용하라 이벤트를 발생시키는 작업은 간단해 보인다. 이벤트를 정의하고, 이벤트를 발생시켜야 할 경우 이벤트를 호출하기만 하면 이벤트에 결합되어 있는 이벤트 핸들러가 호출될 것이기 때문이다. 멀티캐스트 델리게이트의 경우 이벤트에 결합된 이벤트 핸들러가 여러 개지만 내부적으로 이를 순차적으로 호출해 줄 것이므로 복잡성이 외부로 드러나지 않는다. 하지만 실제로는 이벤트를 호출하는 경우 다양한 문제가 발생하곤 한다. 우선 이벤트에 결합된 이벤트 핸들러가 없다면 어떻게 될까? 이벤트 핸들러가 결합되어 있는지를 확인하는 코드를 추가하면 된다고 생각할지 모르지만, 이벤트 핸들러가 결합되어 있는지 확인하는 코드와 이벤트를 발생시키는 코드 사이에 경쟁 조건(race condit.. 2023. 10. 26.
[프로그래머스 Programmers] 카드 뭉치 문제 설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 "i"를 사용한.. 2023. 10. 26.