본문 바로가기

전체 글143

출력에 색깔 입히기 정리 및 결과, ansi color 출력에 색깔 입히기 정리 및 결과 일전 C언어 색깔 입히기 포스팅에 이어 일부가 아닌 전체적인 ansi color 코드와 출력을 알아보고자 한다. https://muabow.tistory.com/173 [C/C++] C언어 출력에 색깔 입히기 예제 C언어 출력에 색깔 입히기 - print color, ANSI color, 설명, 예제 C 언어로 개발을 하다 보면 출력이나 로그에 색깔을 써야 할 때가 있는데 간단하게 정의해 놓고 사용한다. 샘플 코드는 표와 같이 사 muabow.tistory.com 위 포스팅의 코드 확장이라고 봐주면 된다. 스크립트 ansi.sh 내용 ansi color는 shell 뿐만 아니라 C/C++ 및 리눅스의 모든 출력에서 사용이 가능하다. 아래 스크립트 내용과 밑에 결과 화면 .. 2022. 1. 17.
Server OS 동향 변화 Server OS 동향 변화 [2000-2015] 한번 잃은 감은 돌아오지 않는다는걸 여실하게 느꼈다. 지금 다시보니까 내가 이런걸 썼다고? 싶다. 15년 이후로 이런 자료를 만들 일이 없어서.. 정확히는 기획이나 트렌드 분석하는 업무랑 좀 멀어지다보니 확실히 세상이 어떻게 돌아가는지 감이 떨어진다. 개발만 죽어라해서 건강이 죽기 직전까지 간거 말곤 근 5~6년은 기억에 남는게 없다. 가끔씩 시간내서 업계 동향이나 트렌드 분석을 해봐야겠다. 끝. 2022. 1. 17.
[C/C++] C++ JSON parser example, C언어 JSON 파서 예제, rapidjson C++ JSON parser example 본 json_parser 라이브러리는 rapidjson을 활용한 wrapper이다. 이미 그 자체로 훌륭한 JSON parser 인 rapidjson은 소스코드가 아닌 헤더로만 구성되어있고 사용자의 역량에 따라 코드 표현이 천차만별이라 같은 선언, 같은 메서드, 같은 출력을 보장하기 위해(공용화) wrapper class를 만들게 되었다. * rapidjson 홈페이지, tutorial이 무척 잘되어있다. https://rapidjson.org/ RapidJSON: Main Page A fast JSON parser/generator for C++ with both SAX/DOM style API Tencent is pleased to support the op.. 2022. 1. 17.
Rest API 요청 언어별 정리, CURL/PHP/PYTHON/C/C++/QT/JAVA/Node.js Rest API 요청 언어별 정리 Rest API 호출 방식 소스코드를 각 언어 별로 정리해보았다. 무엇을 좋아할지 몰라 잔뜩 준비 했으니 쓸모가 있었으면 좋겠다. 준비한 언어 목록은 다음과 같다. - 목록 - 1. CURL 2. PHP 3. PYTHON 4. C/C++ 5. QT 6. JAVA 7. Node.js # 소스코드 - 각각의 요청은 http://httpbin.org/get 를 대상으로한다. - GET method 한정하여 작성. 코드 내 POST로 변경할 수 있는 요소들이 있으니 필요하면 수정해서 사용할 것. - 모든 request의 response 응 동일하기 때문에 가장 아래에 응답 결과로 정리한다. 1. CURL - OS: Ubuntu 16.04.7 LTS, Version: curl 7.. 2022. 1. 17.
[일기] 세상에서 제일 예쁜 우리 하프문 베타 ;) 우리집 베돌이는 세상에서 제일 예쁘다. 처음부터 베타를 키울 생각은 없었다. 홈플러스 쇼핑 중 우연찮게 들린 수족관 코너에서 플라스틱 커피컵에 온몸을 쭈구리고 바닥에 얼굴을 대고 있는 모습이 너무 안쓰럽고 아파보여서 나도 모르게 대려왔다. 사실 그 순간까지도 집에는 베타를 키울만한 어항과 환경이 없었다.. 컵에서 한시라도 빨리 빼주고 싶어서 대충 다이소 둥근 어항에 담아줬는데 먹지고않고 헤엄도 안치고 계속 구석으로만 숨을려고해서 당근마켓을 통해 15하이큐브 베타침대 어항히터를 당일 치기로 다 구매하고(성격이 급해서 택배는 생각도 안했다) 먹이도 가루형 플레이크형 뭐 모르겠지만 여러개를 사서 먹이번응을 살폈다. 또 좀 편안하게 지냈으면해서 스킨답서스 화분을 하나 작살내서 수생 조경도 만들어줬다. 요망한 베.. 2022. 1. 16.
linux coredump, core 파일 생성 방법, ulimit linux coredump, core 파일 생성 방법 리눅스 상에서 프로그래밍 작업 시 core 파일이 필요한 순간이 있다. C/C++ 프로그램 실행 중 segmentation fault 발생 시 core 파일을 만들어 디버그 작업을 해야 한다던가.. ulimit 명령어는 시스템 정보(pipe, memory, file size, core size, stack size, descriptor open 개수 등)를 보여주고 설정할 수 있는 명령어이다. 그럼 ulimit -a를 통해 시스템 정보를 살펴보자. muabow@muabow:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (.. 2022. 1. 16.
[C/C++] C언어 MAC 주소 읽기 구현, get mac address C언어 MAC 주소 읽기 구현 MAC 주소를 얻는 소스 코드를 구현한다. 네트워크 관련 처리를 하다보면 MAC 주소가 필요한 경우가 자주 발생한다. 이 역시 shell 명령을 통해 MAC 주소를 얻는거보다 소스코드로 구현하는게 깔끔하고 빠르다. 소스코드 이 역시 C언어로 변경하여 사용할 수 있다. 단지 return type을 string으로 받고 싶어 cpp로 했을 뿐. C언어 타입으로 변경하려면 cpp 요소만 제거하여 사용하자. * 이더넷 인터페이스가 많은 경우 count_if 항목에서 req->ifr_name 의 인터페이스명을 보고 판단하여 mac 주소를 획득하면 된다. 물론 한번에 다 얻을 수 도 있으니 활용하자. #include #include #include #include #include #i.. 2022. 1. 16.
linux aplay PCM 파일 재생 예제 linux aplay PCM 파일 재생 예제 ALSA 에서 기본으로 제공되는 aplay 명령어를 이용하여 PCM파일을 재생해보자. 아래 예제를 살펴보면 알 수 있지만 대상을 어떻게 재생할지 ALSA parameter를 설정하는 과정과 같다. 즉 재생할 대상 파일이 어떻게 구성되어있든 상관 없이 설정한 옵션으로 동작하기 때문에 대상의 오디오 정보를 정확히 모른다면 당연하게도 소리가 원하는 대로 나오지 않을 것이다. 예제와 설명 -t raw : 타입이 raw, 즉 PCM 파일을 재생하겠단 의미한다. -c 2 : 2채널로 재생한다. 2채널은 Stereo 타입을 의미한다. -r 48000 : 샘플링레이트(sample rate)를 48Khz로 재생한다. -f S16_LE : Signed 16bits Little .. 2022. 1. 15.