목록전체 글 (106)
오예 !!!
네트워크 병목 현상 네트워크 병목 현상의 주요 원인 네트워크 대역폭 네트워크 토폴로지 서버 CPU, 메모리 사용량 비효율적인 네트워크 구성 병목 현상 발생 시 네트워크 관련 테스트 & 네트워크 무관 테스트를 수행하여 '네트워크로부터 발생한 문제점'인 것을 확인한 후, 네트워크 성능 분석 수행 네트워크 성능 분석 명령어 네트워크 성능 분석 시 사용 (1) ping (Packet INternet Groper) 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어 해당 노드의 패킷 수신 상태, 도달하기까지의 시간, 해당 노드까지 네트워크가 잘 연결되어 있는지 확인 가능 TCP/IP 프로토콜 중 ICMP 프로토콜을 통해 동작 ICMP 프로토콜을 지원하지 않는 기기를 대상으로는 실행할 ..
네트워크 분류 규모를 기반으로 네트워크 분류 가능 LAN (Local Area Network) 근거리 통신망 개인적으로 소유 가능한 규모 같은 건물이나 캠퍼스 같은 좁은 공간에서 운영됨 전송 속도가 빠르고, 혼잡하지 않음 MAN (Metropolitan Area Network) 대도시 지역 네트워크 도시 (ex. 서울시) 같은 넓은 지역에서 운영됨 전송 속도는 평균이고, LAN보다 혼잡 WAN (Wide Area Network) 광역 네트워크 국가 또는 대륙 같은 더 넓은 지역에서 운영됨 전송 속도는 낮고, MAN보다 혼잡
팩토리 패턴 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴 상속 관계에 있는 두 클래스에서 상위클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴 상위 클래스와 하위 클래스가 분리 ➡️ 느슨한 결합 상위 클래스에서는 인스턴스 생성 방식에 대해 전혀 알 필요 없음 ➡️ 더 많은 유연성을 갖게 됨 객체 생성 로직이 따로 떨어져 있기 때문에 코드를 리팩터링하더라도 한 곳만 고칠 수 있게 됨 ➡️ 유지보수성 증가 ex) 라떼 레시피, 아메리카노 레시피, 우유 레시피라는 하위 클래스가 컨베이어 벨트를 통해 전달되고, 상위 클래스인 바리스타 공장에서 이 레시피들을 토대로 라떼 등을 생산 자바스크립트의 팩토리 패턴 new Object()로 구현 가능 예..
2. 네트워크 토폴로지와 병목 현상 네트워크 토폴로지 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태 트리 토폴로지 (Tree Topology) 계층형 토폴로지 트리 형태로 배치한 네트워크 구성 장점 노드의 추가, 삭제가 쉬움 단점 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음 버스 토폴로지 (Bus Topology) 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성 근거리 통신망(LAN)에서 사용 장점 설치 비용이 적음 신뢰성이 우수함 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉬움 단점 스푸핑이 가능함 스푸핑: LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위치 기능을 마비시키거나 속여서 특정 노드에 해당 ..
네트워크 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭하는 용어 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합체 노드: 서버, 라우터, 스위치 등의 네트워크 장치 링크: 유선 또는 무선 처리량과 지연 시간 네트워크 구축 시 '좋은' 네트워크로 만드는 것이 중요 좋은 네트워크: 많은 처리량을 처리할 수 있고, 지연 시간이 짧으며, 장애 빈도가 적고, 좋은 보안을 갖춘 네트워크 1. 처리량 (Throughput) 링크를 통해 전달되는 단위 시간당 데이터양 단위: bps (bits per second) = 초당 전송 또는 수신되는 비트수 처리량에 영향을 주는 요소들 사용자들의 트래픽 네트워크 장치 간 대역폭 대역폭: 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 ..
이코테 p.380 병사 배치하기 https://www.acmicpc.net/problem/18353 18353번: 병사 배치하기 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 해설 & 소스코드 dp[i] = i번째 원소를 마지막 원소로 갖는 부분 수열의 최대 길이 i번째 원소의 앞에 i번째 원소보다 작은 값을 갖는 j번째 원소가 있다면 dp 테이블 갱신 i번째 원소의 앞에 i번째 원소보다 작은 값이 있게 하기 위해서 입력받은 리스트의 순서를 반대로 뒤집음 # 입력 받기 n = int(input()) array = list..
이코테 p.377 퇴사 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제 해설 및 소스코드 첫날이 아닌, 마지막날부터 계산해야 함 dp[i] = i번째 날 부터 퇴사 전까지 벌 수 있는 최대 비용 점화식은 다음과 같음 dp[i] = max(p[i] + dp[t[i] + i], max_cost) i번째 날의 비용과 i번째 날의 상담이 끝나는 날의 최대 비용을 합친 것 vs 현재까지의 최대 비용을 비교하여 더 큰 값 선택 # dp[i] = i번째 날부터 퇴사일까지 벌 수 있는 최대 비용 # 점화식: dp[i] = max(p[i] + dp[i + t[i]], max_value) # ..
이코테 p.344 경쟁적 전염 https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 해설 및 소스코드 BFS를 이용하여 바이러스 증식 구현 BFS 구현을 위해 큐를 이용 번호가 작은 바이러스부터 증식시켜야 하기 때문에 초기에 큐에 현재 존재하는 모든 바이러스 정보를 삽입한 후, 바이러스 번호 기준으로 오름차순 정렬 번호가 작은 바이러스부터 큐에서 꺼낸 후, 해당 바이러스의 상하좌우에 대해 확인하여 증식할 수 있는 경우 ..