본문 바로가기

IT195

[C/C++] C++ 프로그램/함수 실행 시간 측정, ms 밀리초 기준 C++ 프로그램/함수 실행 시간 측정 C++ 에서 사용할 수 있는 프로그램/함수 실행 간 시간 측정 방법을 공유한다. chrono 를 이용하여 작성하였고 밀리초(ms) 단위로 측정하였다. 더 작은 단위가 필요하다면 duration_cast 의 인자를 원하는 단위로 변경하여 사용하면 된다. 소스코드 - 100ms 씩 10번을 sleep 하여 1000ms(1초) 에 근사한 측정치를 보여주는지 확인하자. #include #include #include using namespace std; using namespace chrono; int main(int _argc, char *_argv[]) { system_clock::time_point t_time_begin, t_time_end; milliseconds .. 2022. 1. 18.
linux netstat 용어 설명 linux netstat 용어 설명 netstat -antp 실행 화면 본인의 서버에서 netstat 를 실행한 화면이다. 이번에는 netstat 의 각 항목에 대한 설명을 진행하고 netstat 의 옵션은 추후에 기회가 되면 포스팅하겠다. Proto - 해당 네트워크 행위의 프로토콜을 명세한다. tcp인지 udp인지, ipv6인지. 위의 화면에서는 -antp의 t의 옵션으로 tcp만 출력한다. Recv-Q - 해당 프로세스가 받은 network data의 양을 의미한다. 원격으로부터 수신받은 데이터는 linux system queue에 buffer 되어있다가 프로세스에서 준비되면 buffer 된 데이터를 읽어가는 방식으로 동작한다. Recv-Q가 줄지않고 계속 늘어난다면 프로세스의 수신부에 문제가 있다.. 2022. 1. 18.
VMware, IP 관련 용어 정리 VMware, IP 관련 용어 정리 2009년 네이버 블로그에 썼던 글인데 뭐 지금 봐도 크게 틀린 말은 아니라서 가져왔다. 학생일 때 썼던 글인 만큼 입문자 시점에서 봤을때는 도움이 되지 않을까 싶다. 기본적으로 인터넷 검색이나 자료 검색은 지양하였으며 순수히 내 생각을 적어봄 1. VM ware의 사용법 - VM ware 프로그램의 사용법 자체는 문제가 되거나 어려운 점이 없으나, OS를 다중으로 돌릴만한 스펙의 PC 사양이 기본으로 요구되며 가상 머신과 실제 데스크톱의 전환(ALT+CTRL), 네트워크 설정(NAT, Bridged, Host)에 따른 데스크톱과 가상 머신의 IP 설정 방법, VM ware로 야기되는 자원의 손실(따로 구동하지 않더라도 메모리 일부를 계속 사용함) 정도만 고려해도 사용.. 2022. 1. 18.
[JAVA] 클래스와 메서드 설명 JAVA 클래스와 메서드 설명 javac - 컴파일러, class 확장자를 가진 자바 코드(byte code)를 생성, byte code는 UNIX나 기타 OS에서도 문제없이 실행된다. * java 파일은 항상 해당 파일이 있는 디렉토리에서 컴파일 하고 실행 요약 실행과정 방법 내용 소스 작성 및 저장 코딩과 저장 클래스 이름.java, 클래스명과 파일명이 같아야 한다. 컴파일 javac 클래스 이름.java 컴파일 툴을 이용, 클래스 이름.class 바이트코드를 생성한다. 실행 java 클래스 이름 실행툴을 이용, 바이트코드를 인터프리팅한다. JDK 자주 사용하는 툴 정리 툴(TOOL) 용도 javac 자바 컴파일러 java 자바 실행, 바이트코드 인터프리터 javadoc 자바 API문서(도큐먼트) 생.. 2022. 1. 18.
출력에 색깔 입히기 정리 및 결과, 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.
임베디드 리눅스 보안 이슈 정리 임베디드 리눅스 보안 이슈 정리 임베디드 리눅스 사용 제품 - 가전(공유기, NAS, CCTV 등), 영상/음향 기기(네트워크 기반 제품), 셋톱 Box 임베디드 리눅스를 사용하는 제품의 취약점 1. 보안을 고려하지 않은 설계 1) 많은 임베디드 제품은 보안을 고려하지 않은 채 만들어지고 있고, 일부 제품들은 텔넷(telnet), SSH 등 원격 포트를 열어두어 외부에서 접근이 가능한 실정. 2) 대부분의 제품들은 고정된 공장 초기 암호를 사용하고 있어 기본적인 취약점으로 작용. 3) 임베디드 리눅스는 모든 소스코드가 공개된 탓에 더 많은 악성코드가 나올 수 있음. 2. 사생활 침해 및 개인 정보 유출 1) 훔쳐보기/듣기 가능 (베이비 모니터, CCTV 등 Web cam) 2) 공유기의 DNS 주소 변경.. 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.