728x90 반응형 CS17 FTP 통신 dataConnectionport 지정하기 FTP 통신에는 능동 모드(Active Mode), 수동 모드(Passive Mode)가 존재합니다.능동 모드의 경우 20번 포트와 21번 포트를 통해서 데이터 전송이 이루어 집니다.수동 모드의 경우, 20번 포트와 랜덤 포트(1024 ~ 65536 중 택 1)를 통하여 데이터 전송이 이루어집니다. 여기서 수동 모드의 경우, 랜덤 포트를 지정할 수 없을까요? 그렇다면 특정 몇개의 포트만 오픈해야 하는 경우에는 어떻게 해야할까요? FTPServer 외부 라이브러리를 통하여 확인해보면, 데이터 전송마다 스레드를 사용하게 됩니다. 그리고 테스트를 진행해보면, 데이터 크기가 아무리 많아도 1 ~ 100개의 스레드만 사용하게 되죠. 즉, 스레드의 개수는 Passive Mode에서 client가 포트를 사용하는 개.. 2024. 12. 30. ShiftOr 알고리즘 이번 시간에는 ShiftOr이라는 근사 문자열 매칭 알고리즘에 대하여 이야기해보고자 합니다. unix 계열의 agreap이라는 명령어에서 사용하고 있습니다.https://en.wikipedia.org/wiki/Agrep agrep - WikipediaFrom Wikipedia, the free encyclopedia agrep (approximate grep) is an open-source approximate string matching program, developed by Udi Manber and Sun Wu between 1988 and 1991,[1] for use with the Unix operating system. It was later ported to OS/2, DOS, anden.. 2024. 7. 28. Two-Way String-Matching에 대하여 오늘은 KMP 방식과 Boyer-Moore의 방식을 조합하여 양방향으로 탐색하는 Two-Way String Matching Algorithm에 대하여 알아보도록 하겠습니다. python 3.10에서 적용한 이후 약 25배가량의 엄청난 효과를 보았다고 알려진 알고리즘 입니다.C의 strstr의 하위 문자열 함수를 구현하는데에도 사용되어져 있습니다. 찾고자 하는 문자열이 앞에 있는 경우개수 / 문자열 길이 / 패턴 길이kmp(s)boyer-moore (s)rabin-karp (s)two-way String Macthing (s)100,000 / 2,000 / 107.926154.06316.30524.87610,000 / 5,000 / 100.96616.5241.7982.69 찾고자 하는 문자열이 뒤에 있는 .. 2024. 7. 21. rabin-karp 이번에는 hashing을 활용한 문자열 매칭 알고리즘인 라빈-카프(rabin-karp)에 대해 알아보고자 합니다. 라빈-카프 알고리즘의 시간복잡도는 O(N)으로 지금까지 진행하였던 왠만한 문자열 매칭 알고리즘보다 빠르다는 장점이 있습니다.그치만, 여러 가지 다양한 부분에서 문제점이 있어 실제 서비스에서는 사용하기 어렵다는 단점이 있습니다. 장점 - 시간이 빠르다단점 - hashing 값이 충돌이 날 수 있다. - overflow가 발생할 수 있다. "abbaba"라는 문자열에 "aba"라는 문자가 포함되어 있는지 확인하는 방법을 예시로 들어보겠습니다.hashing을 사용하기 때문에, 자리수마다의 문자의 아스키 코드 넘버에 특정 값을 곱하여 하나의 숫자 단위로 표현합니다.2를 활용하여 예시를 들면 pat.. 2024. 7. 11. 이전 1 2 3 4 5 다음 728x90 반응형