본문 바로가기

운동하는 개발자

(181)
Docker로 파일 보내기 / Docker에 있는 파일 가져오기 1. 도커에 있는 파일 가져오기 docker cp [container]:[container_path] [localpath] ex) docker cp container:/tmp/res.dat ./ container라는 이름의 컨테이너 내에 /tmp/res.dat 파일을 해당 명령을 내리는 내 경로로 복사해온다 2. 도커로 파일 보내기 docker cp [localpath] [container_name]:[container_path] ex) docker cp ./res.dat container:/tmp/ 현재 경로의 res.dat파일을 container라는 이름을 가진 컨테이너의 tmp경로로 복사한다
Linux 서비스 로그 확인 (journalctl) 리눅스에서 서비스의 상태를 확인하면 아래에 최신로그의 일부가 나온다 이를 확인하는 방법이다. journalctl 간단히 위 명령어만 칠 수 있다. 이때 많이 응용되는 명령어를 소개하면 journalctl -u [서비스명] 특정 서비스의 로그만 검색 journalctl -u [서비스명] --since "[YYYY-MM-DD HH:MM:SS]" --until "[YYYY-MM-DD HH:MM:SS]" 특정 서비스의 특정 날짜, 시간대의 로그만 검색 journalctl -j tail과 마찬가지로 새로 추가되는 로그 계속 출력
Beakjoon] 줄 세우기(백준 2252코테) - 그래프 (C++) 🅰️문제주소 : https://www.acmicpc.net/problem/2252 🚩문제 🪡풀이 - 답이 여러 개인 경우가 존재할 수 있으면 위상정렬을 떠올려야 한다 (위상정렬은 사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘) - 학생의 키 비교를 2차원 벡터로 map화 하여 저장하고 해당 학생 수만큼 진입차수 배열을 만든다 - 키 비교가 되었을 경우 비교된 학생의 배열값을 증가시킨다 - 진입차수가 0인 노드부터 queue에 넣은 뒤 출력시키고 해당 노드가 가리키는 노드의 진입차수 값을 1 감소시킨다 (이때 감소시킨 값이 0 이면 큐에 집어넣는다) - 큐 전체가 비어있을 때까지 반복 ☕코드는 아래 숨김 더보기 #include #include #include int main() { std::io..
resize2square 개인정보 처리방침 resize2square은(는) 정보주체의 자유와 권리 보호를 위해 「개인정보 보호법」 및 관계 법령이 정한 바를 준수하여, 적법하게 개인정보를 처리하고 안전하게 관리하고 있습니다. 이에 「개인정보 보호법」 제30조에 따라 정보주체에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. 목차 1. 개인정보의 처리 목적 resize2square 은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며, 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. 1)..
C++로 Windows 환경에서 코드 동작 시간 체크 (feat. GetTickCount64의 오류) 코드를 작성하여 테스트하던 중 생각보다 속도가 느려서 어디서 시간이 딜레이되는지 확인해야 하는 경우가 종종있다. 기존 사내 프로젝트 전임자의 코드에서 GetTickCount64()를 쓴 흔적이 있길래 그대로 사용하여 로그를 찍어봤더니 대부분의 코드에서는 0ms으로 찍히나 일부 로그가 15~17ms로 찍히는것이 확인되었다. 대부분 같은 구간에서 찍혀서 해당 시간이 실제인줄 알았으나... GetTickCout64()는 IRQ(Interrupt Request) 즉 인터럽트 처리 시간이 발생하여 해당 로그가 찍힌것이였다. 이후 찾아보니 GetTickCout64()는 20ms이내의 수행시간일 경우 오차범위가 존재하였다. 나는 초당 60프레임의 비디오 데이터를 처리하는 로직을 테스트 중에 있었기에 16ms이내의 시..
Linux to Linux 파일 전송 (SCP) 지난번 Linux to Windows, Windows to Linux간의 파일전송을 포스팅 한 적이 있다. 2023.12.01 - [운동하는 개발자/Linux] - Linux(ubuntu) to Windows , Windows to Linux 파일 전송 (SCP) Linux(ubuntu) to Windows , Windows to Linux 파일 전송 (SCP) 나의 상황은 사설 아이피의 Windows 개발 PC와 공인 아이피의 리눅스 Linux 서버 간의 파일 교환이 필요한 상황이었다. 당연히 리눅스로는 공인아이피이기에 다양한 방법으로 전송이 가능하겠지만 singo112ok.tistory.com 사용법도 똑같지만 제목 검색시 유리함을 위해서 새 글로 Linux To Linux 파일 전송을 작성한다 sc..
Beakjoon] 여행 가자(백준 1976코테) - 그래프 (C++) 🅰️문제주소 : https://www.acmicpc.net/problem/1976 🚩문제 🪡풀이 - 이동하기 원하는 길이 모두 이어져있는지 union find를 통해 간단하게 찾을 수 있다 - 각 노드(도시)가 이어진 루트 노드를 별도의 배열에 저장해 둔다. - 이어진 길은 union find로 재귀 탐색하며 루트노드의 값으로 업데이트시킨다 - 트리구조에서 스타구조 모형으로 점점 변해가며 시간복잡도가 줄어든다. ☕코드는 아래 숨김 더보기 #include #include std::vector ROAD; int find(int a) { if (a == ROAD[a]) return a; return ROAD[a] = find(ROAD[a]); } void UnionFunc(int a, int b) { a = ..
Beakjoon] 물통 (백준 2251코테) - 그래프 (C++) 🅰️문제주소 : https://www.acmicpc.net/problem/2251 🚩문제 🪡풀이 - 그래프로 map을 그려놓고 BFS, DFS 하는 것이 아닌 역으로 그래프를 그리는 문제 - 2차원 길찾기와 유사하게 물의 이동의 케이스를 배열로 구성한다. (0->1, 0->2, 1->0, 1->2, 2->0, 2->1) - 방문여부는 A와 B의 물통 양으로 이차원 배열을 만들어서 체크한다. - A, B, C의 물통의 양을 입력받은 뒤 BFS탐색을 시작하되 이동할 노드를 큐에 추가하고(예:0에서 1) 방문한 경우는 제외시킨다. - 받는물통한테 보내는 물통의 모든 용량을 추가한 뒤 기존 물통의 크기를 초과한 경우 초과한 만큼 다시 보내는 물통으로 보낸다. 초과하지 않았을 경우 보내는 물통은 0을 저장한다. ..