Programming
-
[TIL] audio detecting, 푸리에변환, 사운드 파라미터, 주파수 도메인 공부Programming/Etc. 2023. 7. 26. 12:35
소리의 기본 원리 소리의 진폭, 주기, 주파수, 파형 (볼륨, 음정, 음색의 결정 원리) (tistory.com) 소리의 진폭, 주기, 주파수, 파형 (볼륨, 음정, 음색의 결정 원리) 소리란 공기의 밀도가 반복하여 변화(진동)하며 주변으로 퍼져나가는 것이다. ▼ 소리의 원리는 이전 글 참고 ▼ 소리란? 소리의 기초 원리 (feat. 마이크와 스피커의 작동 원리) 이번 글은 소리의 curryyou.tistory.com 진폭 → amplitude = volume 주파수 → 높낮이 = pitch 빠를수록 고음 샘플레이트 오디오 데이터 추출 및 변환: ADC, 샘플링, 샘플레이트, 채널 (tistory.com) 오디오 데이터 추출 및 변환: ADC, 샘플링, 샘플레이트, 채널 이번 글에서는 컴퓨터에서 오디오 ..
-
yolo_v2_class.hpp 가 Debug mode에서 bad_alloc 예외 발생하는 문제 해결Programming/Debug 2023. 7. 17. 15:07
기존에 yolo_v2_class.hpp를 release모드에서 잘 사용하다가 메모리 leak확인을 위해 debug모드로 빌드가 필요했다. opencv까지 다시 빌드해서 디버깅까지는 성공했는데 실행하다가 중간에 Detector 초기화 부분에서 bad_alloc예외가 발생하였다.. 해결 방법 darknet 을 다운로드 받고 빌드한다. (cuda, cudnn은 이전에 잘 세팅되어있었다.) opencv 경로도 잘 입력해 준 후 cmake 빌드하면 build - darknet 위치에 yolo_cpp_dll.sln을 열어준다. 여기서 디버그 모드로 빌드하면 에러가 발생하는데, 01. 개발 환경 세팅하기. (Yolo - darknet) (tistory.com) Matching CUDA arch and CUDA gen..
-
C++ 프로그램에서 memory leak 발생한 사건 | 소멸자 사용하기Programming/Debug 2023. 7. 14. 19:07
내가 짠 프로그램에서 memory leak으로 인해 critical issue가 발생하였다. 그동안 알고리즘에만 집중하느라 흐린눈 하고 있던 부분인데 이번 기회로 메모리 체크를 하게 되었다. memory leak의 원인 비디오 input을 읽어와서 영상처리를 수행하고 그 결과를 output으로 저장하는 프로그램이다. 이 프로그램이 정상적으로 file make를 끝내면 메모리 누수가 일어나지 않았다. 문제는 중간에 에러가 리턴되는 경우였다. YOLO detector에서 사람이 없는 경우는 에러 리턴으로 중간에 함수를 탈출하도록 했는데, 이때 Frame transfer관련된 객체가 close되는 코드를 타지 않고 중간에 함수를 탈출한다. 메모리 해제가 되지 않은 채로 프로세스가 반복되면서 0.2~0.3GB씩..
-
[PuTTY] 윈도우에서 리눅스로 ssh 접속하는 프로그램Programming/Etc. 2023. 6. 28. 15:58
Download PuTTY: latest release (0.78) (greenend.org.uk) Download PuTTY: latest release (0.78) This page contains download links for the latest released version of PuTTY. Currently this is 0.78, released on 2022-10-29. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel www.chiark.greenend.org.uk 위 사이트에서 exe파일 다운로드 받..
-
[라이프 사이클] C++, Python, OpenCV의 라이프 사이클 정리 및 장단점 비교Programming/Computer Science 2023. 6. 15. 20:16
C++의 라이프 사이클 자원 할당 동적으로 할당되는 메모리나 파일 핸들링. new연산자를 사용해서 동적으로 메모리를 할당하거나 파일 i/o 클래스를 사용한다. 자원 사용 할당된 자원으로 작업을 수행한다. 동적으로 할당된 메모리에 데이터를 저장하거나 파일 데이터를 읽고 쓴다. 자원 해제 할당된 자원을 더 이상 사용하지 않으면 명시적으로 자원을 해제하여 반환한다. 메모리 누수를 방지하기 위함이다. delete 연산자나 close() 함수 등의 소멸자를 사용하여 자원을 해제한다. 프로그램 종료 프로그램이 종료될 때 할당된 자원은 운영체제에 반환된다. C++의 경우 main()함수가 반환되면 프로그램이 종료되고 이 때 자원이 자동으로 해제 된다. python의 라이프 사이클 파이썬 프로그램이 시작되면 코드의 위..
-
파이썬 코딩테스트에서 유용한 함수 정리Programming/코딩공부 2023. 6. 12. 19:57
파이썬 코딩테스트에서 유용한 함수들은 다양한 상황과 문제 유형에 따라 다를 수 있지만, 일반적으로 다음과 같은 함수들이 자주 활용됩니다: 1. 내장 함수 (Built-in Functions): - `len()`: 컨테이너(리스트, 튜플, 문자열 등)의 길이를 반환합니다. - `sorted()`: 리스트나 이터러블 객체를 정렬한 결과를 반환합니다. 🟡 sorted()와 sort()의 차이 더보기 `sorted()`와 `sort()`는 둘 다 리스트를 정렬하는 함수입니다. 그러나 사용 방법과 동작 방식에 차이가 있습니다. - `sorted()`: `sorted()`는 원본 리스트를 변경하지 않고 새로운 정렬된 리스트를 반환합니다. 따라서 원본 리스트는 그대로 유지됩니다. `sorted()` 함수는 전달된 리..
-
[Visual Studio] yolo_v2_class 에러 해결 (LNK1120, LNK2001)Programming/Debug 2023. 6. 2. 14:20
같은 문제를 두번이나 헤메어서 기록합니다.. 환경 Visual Studio 2019 C++ OpenCV + yolo_v2_class.hpp 문제상황 링커 관련 오류... 분명히 dll 다 넣었고, 라이브러리 path랑 목록 다 확인했다... 반나절동안 해매다가 방법 찾아냄.. 해결방법 수정 전 (내가 만든 .h파일에서 헤더파일 include하는 부분) #include "yolo_v2_class.hpp" 수정 후 #include "yolo_v2_class.hpp" #ifdef DEBUG #pragma comment(lib, "yolo_cpp_dll.lib") #else #pragma comment(lib, "yolo_cpp_dll.lib") #endif 위와같이 라이브러리 입력 코드를 추가했더니 바로 잘 ..
-
[네트워크] 기본 지식 공부Programming/Network & cloud 2023. 5. 31. 00:29
OSI 7계층에 대해서 설명 OSI 7계층은 컴퓨터 네트워크에서 사용되는 계층 모델입니다. 네트워크 통신을 단계별로 분할해서 각 계층에서 특정 기능을 수행합니다. 1. 물리계층 2. 데이터 링크 계층 3. 네트워크 계층 4. 전송 계층 5. 세션 계층 6. 표현 계층 7. 응용 계층 TCP/IP 4계층에 대해서 설명 인터넷 프로토콜 스택의 기본구조입니다. OSI 구조와 다르게 4계층으로 구분됩니다. 1. 네트워크 인터페이스 2. 인터넷 계층 3. 전송 계층 4. 응용 계층 DNS가 무엇인가? =domain name system의 약자로, 인터넷상에서 도메인 이름과 IP주소를 상호 변환하는 시스템 입니다. 인터넷에서 기기들은 IP주소로 접근하는 것이 편하지만 사람들은 도메인 이름을 기억하는 것이 쉽습니다...
-
[구름level] 파이썬 - input parsing하는 법 정리Programming/코딩공부 2023. 5. 30. 02:08
여러줄 들어올때는 sys.stdin.readline사용 한줄만 있을때는 그냥 rstrip해도됨 Case1 input 로 넘기고 나머지는 n줄, 2차원 배열로 저장하기 input import sys input = sys.stdin.readline n= int(input()) data = [] for _ in range(n): line = sys.stdin.readline().rstrip().split() row = [int(x) for x in line] data.append(row) Case 2 두 정수를 각각 int에 저장 예) 3 5 -1 4 import sys input = input().rstrip() num1, num2 = map(int, input.split()) print(num1, num2..
-
[TIL] 230524 - RESTFul APIProgramming/Computer Science 2023. 5. 25. 23:41
🤍API Application Programming Interface 🤍RESTful REST의 기본 원칙을 지킨~ REST의 6가지 원칙 server-client uniform interface stateless caching ….. ….. RESTFul API 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스 [네트워크] REST API란? REST, RESTful이란? :: 히진쓰의 서버사이드 기술 블로그 (tistory.com) [네트워크] REST API란? REST, RESTful이란? REST API란 REST를 기반으로 만들어진 API를 의미합니다. REST API를 알기 위해 REST부터 알아보도록 하겠습니다. REST란? REST(Representati..