본문 바로가기

전체 글143

[C/C++] 오름차순 정렬, 내림차순 정렬 C언어, qsort 활용 [C/C++] 오름차순 정렬, 내림차순 정렬 C언어, qsort 활용 qsort 함수를 이용한 오름차순/내림차순 정렬 함수 구현을 해보자. qsort는 quick sort의 약자로 배열을 정렬하는 함수이다. quick sort에 대해 간단히 설명하면 원소와 다른 원소의 비교로 정렬하는 비교 정렬이다. 알고리즘적인 내용을 터치할 건 아니니 바로 함수 원형과 사용법을 알아보자. qsort 헤더 및 원형 #include void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); qsort 함수의 인자를 쉽게 풀이해보면 다음처럼 이해하면 쉬울 것이다. qsort(, , , ) 꼭 정수 배열일 필요는 없다.. 2022. 1. 10.
다음 블로그 검색 안될 때, 블로그 등록/신청 방법 다음에서 티스토리 블로그 검색 안될 때, 등록/신청 방법 티스토리 포스팅을 하면서 다음 검색 유입이 너무 없어서 다음 포털에서 여러 가지로 검색해보았다. 1. https://muabow.tistory.com - 블로그 주소 검색, 결과 : 검색 안됨 2. 이름 같은게 중요 한가요 - 블로그 이름, 결과 : 검색 안됨 3. 특정 포스트 또는 키워드 검색, 결과 : 검색 안됨 그래서 다음 검색 등록에서 등록 > 사이트 검색에 블로그를 몇 번 등록하였지만 등록이 안되었다. https://register.search.daum.net/index.daum Daum - 검색등록 Daum 검색등록 사이트 검색을 무료로 등록할 수 있는 서비스입니다. 언제든 정보보완 수정이 가능하며, 등록 후에는 Daum 검색결과에 노출.. 2022. 1. 10.
샤오미 스마트 어항 여과제 넣기, 걸이식 여과기에 여과제 넣기 샤오미 어항 여과제 넣기, 걸이식 여과기에 여과제 넣기 작은 어항들로 물생활 중 여과로 인해 (물고기들이) 고통받아 결국 여과재를 구매하고 설치한 후기를 남겨본다. 1. 샤오미 어항 여과제 넣기 샤오미 어항의 여과재는 기본적으로 상판 내부에 U 형 얇은 스펀지가 2개뿐이다. 한참을 기본 여과로 사용했으나 물이 깨져 한순간에 몰살되는 일을 (2번이나) 겪고 이러면 안 되겠다 싶어 본격적으로 여과를 하기로 마음을 먹었다. 여과재는 싸다군에서 박테리아 여과재 1L를 구매하였다. 가격은 3,500원. 작은 어항을 쓰는 본인에겐 아주 적당한 양이여서 고민 없이 구매. 구매 링크는 아래 참조. https://ssadagun.com/product/untitled-36 박테리아 여과재 싸다군 물잡이를 끝내놓은 프리미엄.. 2022. 1. 9.
디렉토리별 용량 확인 방법 / linux du, find 활용 디렉토리별 용량 리눅스에서 디렉토리 용량을 확인하는 명령어는 du가 있다. 그리고 파일 또는 디렉토리를 탐색하는 find 명령어도 있다. 이 두개를 조합하여 디렉토리별 용량 조회하는 방법을 알아보자. 우선 du, 간단하게 소개하자면 파일(또는 디렉토리 등 대상)의 용량을 확인하는 명령어다. 자세한 내용은 아래 man page를 참고하면 되겠고 바로 예제로 들어간다. du - estimate file space usage https://man7.org/linux/man-pages/man1/du.1.html du(1) - Linux manual page man7.org 예제 1. du 명령어만 이용 root@muabow:/var/log# du . 4 ./samba/cores/smbd 4 ./samba/cor.. 2022. 1. 9.
[C/C++] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 C언어에서 readdir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 글로벌 vector에 저장한다. 이전 포스팅 중 PHP로 구현한 파일 탐색기와 동일한 기능을 수행한다. https://muabow.tistory.com/249 [PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 opendir, readdir, is_dir 함수를 사용하는 재귀 함수로 구성하였다. 디렉터리는 제외하고 파일만 조회하고 탐색된 전체 경로(full path)를 배열로 반환 muabow.tistory.com 소스코드 #inc.. 2022. 1. 7.
[C/C++] parse mp3 header/C언어 MP3 헤더 분석 함수 공유 parse mp3 header C언어 MP3 헤더 분석에 도움이 될 함수를 공유한다. 이번 코드는 C언어를 기준으로 작성하였고 main()이 없이 함수만 공유하니 상황에 맞게 사용하면 되겠다. MP3 파일 또는 스트리밍의 구성은 AAU(Audio Access Uint)의 연속으로 이루어져 있으며 각 AAU는 매직 비트, 헤더(프레임 정보), 프레임 데이터로 구성이 되어있다. 즉 MP3 파일을 재생하기 위해선 샘플 레이트, 비트레이트, 채널, MP3 코덱 정보 등 재생 정보가 필요한데 이 정보는 각각의 AAU마다 존재하는 헤더에 구성되어있단 것이다. 위의 이유로 프레임데이터를 추출하기 위해선 AAU의 정보를 추출하는 것이 매우 중요하고 아래 head parser는 그것에 도움을 줄 수 있다. 소스코드 #i.. 2022. 1. 7.
리눅스 기초/기본 정리, 입문 문서 공유 리눅스 기초/기본 정리, 입문 문서 공유 PDF viewer를 통해 리눅스 기초 정리 문서를 공유한다. 오래전에 신입사원 교육 목적으로 작성한 문서지만 기본적인 내용은 예나 지금이나 큰 틀에서 변한 게 없으니 참고하길 바라고 내용 중 임베디드 관련 내용은 그냥 그런가 보다 해주면 되겠다. 리눅스에 입문하는 분들에게 도움이 되길 바라며.. 목차 1. GNU (GNU에 대한 설명) 2. Why LINUX (리눅스를 쓰는 이유 등) 3. NIX 계보 4. 운영체제와 리눅스 개념 5. 리눅스 디렉토리 구조 6. 리눅스 파일 소유권 7. 리눅스 부팅 과정 8. shell profile 9. vim profile 10. 정규 표현식 11. 유용한 명령어들 (whereis, find, main, ulimit, net.. 2022. 1. 7.
[PHP] fileperms을 활용한 파일 탐색과 퍼미션 검사 fileperms을 활용한 파일 탐색과 퍼미션 검사 이전에 작성한 탐색기 함수를 이용하여 대상 경로의 모든 파일 중 사용자가 지정한 퍼미션이 아닌 파일을 배열로 반환하는 함수를 만든다. 공동 공간에서 작업을 하거나 서버 내 파일 생성/삭제 등 여러 파일을 제어하다 보면 퍼미션이 꼬이는 경우가 종종 발생한다. 특히 웹 서비스와 관련된 파일을 만들고 관리하다 보면 퍼미션으로 인해 웹 페이지에서 접근이 안 되는 경우가 많다. 그럴 때 일괄적으로 특정 경로의 퍼미션 체크를 할때 유용하게 사용된다. ▽ 파일 탐색기 함수 포스팅 https://muabow.tistory.com/249 [PHP] readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 readdir을 활용한 파일 목록 읽기 예제, 파일 탐색기 op.. 2022. 1. 6.