전체 글 498

[C++개발자되기]28. 파일 다루기 2부(확장자 검사)

개요 파일 관리에 필요한 sample code를 제공한다. 확장자 검사 1. rfind로 확장자 존재 유무를 찾는다. 2. substr로 찾은 확장자를 추출 후 뒤에서부터 일치하는 확인 한다. #include int main() { std::string file_name = "test.json"; std::string extension = ".json"; if (file_name.rfind(extension) != std::string::npos) { if (extension == file_name.substr(file_name.length() - extension.length())) { std::cout

ProgrammingLang/c++ 2022.01.19

[linux] libc와 glibc의 차이

개요 libc가 뭐고 glibc가 무엇인지 알아 봅니다. 결론 libc는 "표준 C 라이브러리"를 말하는 대 명사이고 glibc는 GNU에서 만든 libc 입니다. 그래서 https://man7.org/linux/man-pages/man7/libc.7.html 에서 보면 libc의 종류를 3가지의 분류 합니다. libc의 종류 glibc - pathname : /lib/libc.so.6 - 상세 설명 : 1992 이후로 linux에서 가장 많이 사용되는 libc linux libc - pathname : libc.so.5 - 상세 설명 : 1990년에 glibc의 대시 잠깐 나왔다 사라진 libc other C libraries - uClibc : 경량화 libc - dietlibc : 경량화 libc ..

[compile] 공부 해야 할 것

https://asung123456.tistory.com/18 Ubuntu C/C++ shared library 컴파일하기 fPIC 옵션 GOT, PLT c++ g++ -shared -fPIC -o g++ -shared fPIC -o lib.so code.cpp c gcc -shared [-fPIC] -o gcc -shared [-fPIC] -o lib.so code.c -fPIC 생략가능 하지만 공유라이브러리를 만들 때는 -fPIC 옵션 사용을 권장합니.. asung123456.tistory.com https://www.lesstif.com/software-architect/shared-library-linker-loader-12943542.html 동적 라이브러리(shared library)와 Lin..

[systemd] systemd를 시용한 자가 업데이트 로직

[개요] linux상에서 프로그램 스스로 종료 시키고 재시작 하는 방법을 정리 합니다. [Flow] 1. Program A 내부에서 update를 수행 하는 스크립트를 실행 system("nohup update.sh fork 2>&1 > /dev/null &"); 을 system 명령어로 실행 2. "update script"는 system 명령어로 실행 되어 Prorgam A의 socket 정보 까지 모두 상속 받게 되었음으로 강제로 열려있는 fd를 종료 합니다. for fd in $(ls /proc/$$/fd/); do [ $fd -gt 2] && exec {fd}

[skin] 스킨 만들때 사용한 기술 정리

DropDown 메뉴 https://blog.naver.com/PostView.naver?blogId=bgpoilkj&logNo=221150512824 [HTML/CSS] 드롭 다운 메뉴 만들기 안녕하세요. S Writer입니다. 오늘은 CSS를 이용하여 드롭 다운 메뉴를 만드는 방법에 대해 알아보겠... blog.naver.com 스킨 분석 https://cpro95.tistory.com/122 티스토리 HTML 스킨 편집하기 안녕하세요? 티스토리 블로그 사용자입니다. 티스토리 블로그는 네이버 블로그보다 좀 더 사용자 친화적이며, 잘 설계된 정적 사이트 제너레이터라고 볼 수 있습니다. 정적 사이트 제너레이터 cpro95.tistory.com

[skin] tistory 스킨 개발을 위해 필요한 기초 정보

SKIN Guideline tistory에서 제공하는 skin 가이드라인 보면 됩니다. https://tistory.github.io/document-tistory-skin/ 소개 · GitBook 티스토리 스킨 가이드 티스토리에서는 스킨을 통해서 사이트를 자유롭게 디자인할 수 있습니다. 스킨은 치환자를 사용하여 제작되고 사용된 치환자에는 티스토리의 데이터가 대입되어 티스토 tistory.github.io SKIN Guideline 보는 법 처음에 tistory에서 제공해주는 guidline을 보면 html수준의 개발을 한 사람이 보면 이건 어떻게 하라는 건지 할 겁니다. 그래서 해당 guidline을 보는 법을 공유합니다. Tistory skin은 어디서 편집하나요? 1. 관리 페이지로 로그인 후 좌측..

[C++개발자되기]26. L-value, R-value, &, && 와 std::move의 관계

>>[C++ 관련 모든 글 보기] 개요 L-value, R-value, &, && 관계와 R-value와 std::move에는 어떤 관계가 있는지 알아본다. 개념 설명 1. L-value와 R-Value 란? - 자료형 선언 시 "=" 기준으로 왼쪽에 있는 것과 오른쪽에 있는 것을 가리킬 때 사용하는 명칭이다. - 아래 그림에서 파란색 영역에 있는 것은 L-Value라고 칭하고 빨간색 영역에 있는 것을 R-Value라고 칭한다. 2. & 와 && 란? - &은 reference라고 불리며, L-Value에 대한 새로운 별칭을 만들어 줄 때 사용된다. - &&은 R-Value reference라고 불리며, R-Value에 대한 새로운 별칭을 만들어 줄 때 사용된다. R-Value와 std::move의 관계..

ProgrammingLang/c++ 2021.12.05

[C++개발자되기]24. std::function

>>[C++ 관련 모든 글 보기] 개요 std::function의 기능을 알아 본다. 지원 시기 C++11 Header #include 정의 C++에서 callable 할 수 있는 것을 객체로 만드는 class * callable 이란? c++에서 호출 가능한 것들을 말한다. 1. 함수 2. lambda 3. operator() 정의 #include std::function func 사용법 #include void print(int a, int b); std::function fp = print; 사용 시기 1. 함수를 인자로 전달 하고 싶을떄 2. vector에 function을 넣고 싶을때 3. Thread를 pool로 만들어서 관리 하고 싶을때

ProgrammingLang/c++ 2021.12.05