BFS 알고리즘 (백준 2021번: 최소 환승 경로)
·
카테고리 없음
https://www.acmicpc.net/problem/2021 파이썬으로 아래와 같이 구현하였다. import sysfrom collections import dequeinput = sys.stdin.readlinen, l = map(int, input().split())station_visited = [0] * (n + 1) # 각 역의 깊이 저장 (환승 횟수)line_visited = [0] * (l + 1) # 해당 노선을 이용한 적 있나?subway = [list(map(int, input().split())) for _ in range(l)]graph = [[] for _ in range(n + 1)]for i in range(l): for j in subway[i]: if..
원격 데스크탑(RDP, RDS) 인증서 구성
·
카테고리 없음
윈도우 서버를 운영하다보면 대부분 서버에 원격 데스크탑 (Remote Desktop) 연결을 통해 접속 할 것입니다.DNS에 해당 서버에 맞는 IP를 연결해도, 실제로 연결하려면 아래와 같은 경고창이 한번 뜰 것입니다.  해당 경고를 무시하고 접속해도 해당 연결은 암호화 된 통신을 하므로 무시해도 무방하나,서버에 인증 된 기관에서 발급한 유효한 TLS 인증서가 있다면 해당 인증서를 연결함으로써 해당 경고가 안뜨도록 할 수 있습니다. 우선 사전 조건으로 컴퓨터에 사용하려는 개인용 인증키 설치가 필요합니다.개인용 인증키 설치가 완료되었다면, 인증서 적용 방법은 2가지 방법이 있습니다. 방법 1: WMI(Windows Management Instrumentation) 스크립트 사용 1. 시작 > 실행 > ce..
HTTP Chunking 과 테스트 클라이언트 구현
·
카테고리 없음
HTTP 1.1은 HTTP 메세지를 나눠서 보낼 수 있는 청크 인코딩을 지원 합니다. HTTP 1.1은 기본적으로 TCP 세션을 지속적으로 유지하며 (Persistent Connection = keep-alive = connection reuse), 이는 새로운 TCP 세션을 생성하기 위한 오버헤드를 제거해 네트워크 대기시간을 줄이는 방법 중 하나 입니다. 소켓 프로그래밍을 해본 사람을 알겠지만, 소켓을 재사용하기 위해서는 보내는 메세지의 정확히 길이를 알거나 종료 조건을 알아야  합니다. 따라서 사전에  HTTP 메세지의 본문(body)의 길이를 Content-Length 헤더를 통해 알려 주고, 수신 받는 쪽에서는 해당 바이트수(길이) 만큼 읽어 동일한 소켓을 종료하지 않고 연결을 유지하며 재사용 할..
유니온 파인드 알고리즘 (백준 1717: 집합의 표현)
·
카테고리 없음
https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 파이썬으로 아래와 같이 작성했다. import sys sys.setrecursionlimit(10**6) input=sys.stdin.readline n, m = map(int, input().split()) # 노드의 부모 노드를 저장하는 배열 # 최초 각 노드의 부모는 자기 자신 parent = [i for i in range(n+1)] # 각 노드의 랭크..
다익스트라 알고리즘 (백준 1753번: 최단경로)
·
카테고리 없음
https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 파이썬으로 알고리즘 정리하기 위해 아래와 같이 작성했다. import sys import heapq def dijkstra(graph, start): n = len(graph) # 최초 거리를 무한으로 설정 dist = [float('inf')] * n # 시작점의 거리는 0 dist[start] = 0 # 시작점을 큐에 추가 heap = [(0, start)..
IIS URL Rewrite 활용해서 파일명 없이 다운로드 받기
·
카테고리 없음
간혹 웹페이지 수정을 최소화 하기위해서, URL에 파일명 없이 다운로드 받고 싶은 경우가 많이 있을 것이다. 예를 들어, http://www.example.com/latest/ 입력시, 가장 최신의 파일을 다운로드 받는 형태가 될 것이다. 물론 서버 사이드 스크립트나 자바스크립트 등을 활용해 쉽게 목적을 이룰 수 있지만, 코드 변경 없이 IIS 의 URL Rewrite 만을 활용해 처리해 볼 생각이다. IIS 에 Site 를 만들고, 문서 최상위 폴더 아래 다운로드 될 파일이 있는 file 이라는 폴더를 추가하고, 해당 폴더에 aaa.exe 라는 파일을 한개 추가 하였다. 서버 IP와 경로를 넣고 파일 명을 넣으면 정상적으로 파일이 다운로드 된다. http://192.168.111.10/file/aaa...