안녕하세요. 가끔 헷갈리는 포트가 중복될 때 도커 네트워크 부분을 정리해 보았습니다. 혹시 틀린 점 있으면 언제든 말씀주세요.. 도커 네트워크의 개념과 포트포워딩 하는 방법을 알고 있다는 전제하에 기록합니다. 같은 도커 네트워크에 묶여있는 컨테이너들은 도메인 이름을 통해 서로를 찾아갈 수 있습니다. 하지만 여러 서비스를 같은 PC에서 도커로 실행 할 경우 DB포트가 겹치는 경우같은 것이 발생할 수 있습니다. 이때 포트포워딩을 하면 통신할 수 있는 같은 포트의 컨테이너들을 여러개 실행할 수 있게 되는데, 이때 해당 컨테이너와 통신을 하는 경우가 아래 3가지로 나뉩니다. 1. HostPC 밖에서 연결을 시도하는 경우 2. Local 환경에서 연결을 시도하는 경우 3. 같은 Docker 네트워크 내에서 연결을..
우분투에도 윈도우 10과 같은 캡쳐기능이 존재합니다. 윈도우 10 에서는 윈도우키 + 쉬프트키 + s 를 누르면 마우스커서로 자신이 원하는곳을 캡쳐할 수 있습니다. ( 클립보드 형태로 저장되는데, 이때 우측에 사진을 클릭하면 파일로 저장할 수 있습니다. ) 우분투에서는 쉬프트키 + 프린트스크린 키를 누르면 마우스커서로 자신이 원하는곳을 캡쳐할 수 있습니다. ( 바로 사진파일 저장 화면이 뜹니다. ) 기타 등등은 아래의 블로그에서 참조하여 다양한 캡쳐 기능을 알아보았습니다. 요약 1. 전체 화면 챕쳐 -> print 1-1 클립보드로 저장 -> print + control 2. 활성화된 윈도우 캡쳐 -> alt + print 2-1 활성화된 윈도우 캡쳐 클립보드로 저장 -> alt + control +..
Direct-address Tables - 크기가 |U|인 테이블 T를 생성하고 key k를 slot k에 저장하는 방식 - 중복되는 key가 없다고 가정 이러한 테이블의 장점은 키 값만 알면 데이터를 바로 찾을 수 있으므로 시간복잡도가 엄청나게 빠르다 .O(1) Direct addressing의 공간 복잡도 - O(|U|) - 실제 공간 사용을 전체 공간으로 나눈 |K|/|U|를 적재율이라고 한다. - 만약 적재율이 낮다면, 실제로 대부분의 공간은 낭비된다. Hash Tables 해쉬함수라는 것은 임의의 크기의 데이터를 받아서 그 데이터를 고정된 크기로 바꿔주는 것을 해쉬라고 부른다. actual keys를 어떠한 해쉬함수에 넣어서 거기에 해당하는 해쉬값에 넣어준다. 문제점은 동일한 해쉬값이 생길 수 ..
비교를 이용하는 정렬 지금까지 소개한 모든 정렬들은 비교연산으로 정렬 하였다. 비교 연산이란 둘중 누가더 큰지를 비교하여 연산하는 것이다. - 비교정렬의 하한값 : 비교연산으로 정렬하는 방법은 아무리 빨라도 오메가(n lg n)보다 느리다. 1. 계수 정렬 - 실제 숫자를 세는 방법으로 숫자가 몇 개인지를 기록한다. 0이 몇갠지 세고, 1이 몇갠지 세서 3개의 0을 앞에두고 5개의 1을 뒤에 둔다. 입력된 배열 A에 가장 작은 숫자가 무엇이고, 가장 큰 숫자가 무엇인지를 확인해 보고, 그 배열안에 0이 몇개 1이 몇개 2가 몇개 3이 몇개 를 세야한다. A에서 가장 작은값이 0이고, 가장 큰 값이 5 이므로 6개의 cell 을 가지는 배열을 만들어서, 각 숫자가 몇개인지 세어 배열에 넣어준다. 이런식으로..
./darknet detect cfg/yolov3-tiny.cfg weights/yolov3-tiny.weights data/person.jpg 이런식으로 darknet 이라는 실행프로그램을 실행시킨다고 하자. darknet의 코드는 int main(argc, argv[]) { """ "" "" } 이런식으로 작성되어 있을 것이다. 이때 argv에 실행할 때 쓴 내용들이 스페이스를 기준으로 들어간다. 예를 들면 : ./darknet detect cfg/yolov3-tiny.cfg weights/yolov3-tiny.weights data/person.jpg 를 입력 argv[0] = darknet argv[1]= detect argv[2] = cfg/yolov3-tiny.cfg argv[3] = weig..
2020/03/10 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #2 ( 선택정렬 in c ) 2020/03/18 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #3 ( 삽입정렬 in c ) 2020/03/20 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #4 ( 합병정렬 in c ) 2020/03/20 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #5 ( 힙정렬 in c ) 2020/05/13 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #6 ( 힙 정렬 in c ) 2 수행시간만 보면 효율적인 것은 nlgn을 가지는 정렬이다. mrege sort 는 nlgn이긴 하지만 추가 공간이 필요하다. heapsort 는 nlgn이긴 하지만 힙 구조를 만들고, 그 구조..
2020/03/20 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #5 ( 힙정렬 in c ) 컴퓨터 알고리즘 초급 #5 ( 힙정렬 in c ) 힙 정렬 힙 정렬이란? - 힙의 특성을 이용한 정렬 수행시간 : 합병정렬과 동일한 O(nlogn), 삽입정렬과 동일한 제자리 정렬 (Sort in Place) 힙이란 ? - 완전 이진 트리에 가까운 형태 이진 트리란? - 각 �� 15051015.tistory.com 퀵 정렬 (Quicksort) : 피봇이라는 값을 기준으로 피봇보다 작은것은 왼쪽, 큰것은 오른쪽으로 보내는 파티셔닝이라는 작업을 반복해서 작은 숫자는 계속 왼쪽, 큰 숫자는 계속 오른쪽으로 보내서 정렬시키는 방법 Divide-and-Conquer paradigm을 사용 (작게 쪼개서 작은걸..
2020/03/20 - [Study/소프트웨어] - 컴퓨터 알고리즘 초급 #5 ( 힙정렬 in c ) 3산이 나오면 대피해야한다. ( 힙 구조 만들기 (Building a heap) BULID-MAX-HEAP(A) A.heap-size = A.length for i = [A.length / 2] downto 1 MAX-HEAPIFY(A,i) : 배열의 절반크기부터 자식과 부모를 비교하며 올라간다. 배열의 절반부터 하는 이유 : n번째 부모는 2/n에 있다. 2/n보다 큰 부모는 없다. 가장 마지막에 있는 부모가 2/n이다. 10개의 숫자가 배열로 입력되었을 때 이진 트리의 표현 방법 A = {4,1,3,2,16,9,10,14,8,7} 2/10 = 5 (자식을 가지는 마지막 노드) A[5] = 16 (자식..