danbibibi
article thumbnail
[C/C++] 공백을 포함한 파일을 문자열 변수에 쓰기
언어/C, C++ 2024. 5. 27. 09:24

#include #include #include int main(){ std::string response = ""; std::ifstream file("/tmp/response.json"); std::stringstream buffer; buffer

article thumbnail
[Git] git stash
DevOps 2024. 4. 23. 14:44

git stash 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어 아직 마무리하지 않은 작업은 commit 하지 않고 나중에 다시 꺼내와 마무리할 수 있음 # stash 스택에 임시 작업 저장 $ git stash # 혹은 $ git stash save # stash 목록 확인 $ git stash list # stash 적용 ( = 하던 작업 가져오기) $ git stash apply $ git stash apply [apply 이름] $ git stash apply --index # staged 상태까지 저장 # 스택에 남아 있는 stash 제거 $ git stash drop # drop + apply $ git stash pop # stash 적용한 것 되돌리기 git sta..

article thumbnail
TOTP(Time Based One Time Password)
프로그래밍/기타 2024. 4. 15. 09:56

TOTP(Time Based One Time Password) 공유 비밀키와 시간정보를 사용하여 일회성 비밀번호를 생성

article thumbnail
[Linux] 파일 이름, 내용 일괄변경
프로그래밍/Linux 2024. 4. 3. 10:01

# 현재 디렉토리 내의 모든 파일, 디렉토리의 이름중 A가 포함된 파일, 디렉토리의 이름의 A를 B로 변경 $ find ./ -name "*A*" | sed -e 'p' -e "s/A/B/g" |xargs -n 2 mv # 현재 디렉토리 내의 모든 파일들의 내용중 A를 B로 변경 $ find ./ -type f | xargs sed -i 's/A/B/g'

article thumbnail
[Linux] grep 정리
프로그래밍/Linux 2024. 3. 27. 16:50

grep 입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어 단순 문자열 매칭뿐만 아니라 정규 표현식(Regular Expression)에 의한 패턴 매칭(Pattern Matching) 방식도 사용 가능 정규표현식 메타 문자 (Meta Character) 설명 . 정확히 1개의 문자와 매치 * 앞 문자가 0회 이상 매치 {n} 앞 문자가 정확히 n회 매치 {n,m} 앞 문자가 n회 이상 m회 이하 매치 [ ] 대괄호에 포함된 문자 중 한개와 매치 [^ ] 대괄호 안에서 ^뒤에 있는 문자들을 제외 [ - ] 대괄호 안 문자 범위에 있는 문자들 매치 () 표현식을 그룹화 ^ 문자열 라인의 처음 $ 문자열 라인의 마지막 ? 앞 문자가 0 또는 1회 매치 (확장 정규 표현식) + 앞 문..

article thumbnail
BOJ 9466번: 텀 프로젝트
문제 풀이/백준 2024. 3. 26. 20:58

문제 문제 바로가기> BOJ 9466번: 텀 프로젝트 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 풀이 dfs 를 이용하여 팀을 이루는 학생들을 구하고, 이를 전체 학생 수에서 빼주는 방식으로 문제를 풀었다. N이 최대 100,000이므로, 방문했던 cycle을 재방문하는 것을 피해야한다. 이를 위해 방문을 시작하고 중간에 cycle이 이루어졌더라도 해당 cycle을 구해주기 위해 cnt 배열을 이용해주었다. #include #include #define MAX 100005 using namespace std;..

article thumbnail
[Linux] sed(Stream Editor) 정리
프로그래밍/Linux 2024. 3. 26. 09:46

sed(Stream Editor) vi 편집기처럼 원하는 내용 추출, 문자열 치환 등 다양한 작업을 수행할 수 있음 1개의 라인씩 입력 라인을 읽어들여 표준출력으로 출력함 홀드 버퍼(데이터의 원본을 가지고 있는 곳), 패턴 버퍼(조건에 따라 가공된 데이터 저장) 두가지 버퍼를 가지고 있음 ed vs sed - sed의 경우 라인들을 하나씩 읽고, 수정하고, 출력하기 때문에 기억장치 안의 버퍼를 사용하지 않음 - 버퍼를 사용하지 않으면 파일의 크기에 제한 없이 작업을 할 수 있음 - ed와 같이 버퍼를 사용하는 경우는 버퍼의 크기보다 큰 파일은 처리할 수 없으며 대개 버퍼의 크기는 1MB - 따라서 sed는 아주 큰 파일을 처리할 때 주로 사용됨 사용법 # 특정 패턴을 적용하여 데이터 추출 sed [패턴]..

article thumbnail
BOJ 2617번: 구슬 찾기
문제 풀이/백준 2024. 3. 25. 21:46

문제 문제 바로가기> BOJ 2617번: 구슬 찾기 2617번: 구슬 찾기 모양은 같으나, 무게가 모두 다른 N개의 구슬이 있다. N은 홀수이며, 구슬에는 번호가 1,2,...,N으로 붙어 있다. 이 구슬 중에서 무게가 전체의 중간인 (무게 순서로 (N+1)/2번째) 구슬을 찾기 위해서 www.acmicpc.net 풀이 dfs를 이용하여 중간 크기의 구슬이 될 수 없는 경우를 체크해주었다. #include #include #include #define MAX 100 using namespace std; int N, M; bool visited[MAX]; set fs[MAX], rs[MAX]; void input(){ cin >> N >> M; int a, b; for (int i = 0; i < M; i..

article thumbnail
BOJ 20040번: 사이클 게임
문제 풀이/백준 2024. 3. 24. 20:51

문제 문제 바로가기> BOJ 20040번: 사이클 게임 20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net 풀이 union-find를 이용하여 cycle을 찾아주었다. #include #define MAX 500005 using namespace std; int N, M; int par[MAX]; int find_(int x){ if(par[x] == x) return x; return par[x] = find_(par[x]); } int union_(int y, int x){ int py = find_(y)..

article thumbnail
[Docker] Docker rootless 설치
DevOps 2024. 3. 21. 11:19

리눅스에서 패키지 설치 권한도 없을 때 실행하기 위해 다음과 같이 docker를 rootless로 설치할 수 있다. $ curl -fsSL https://get.docker.com/rootless | sh # (설치 후) 화면에 나온 EXPORT 명령어 2개 입력 (복붙) $ systemctl --user start docker

article thumbnail
BOJ 3020번: 개똥벌레
문제 풀이/백준 2024. 3. 20. 23:37

문제 문제 바로가기> BOJ 3020번: 개똥벌레 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 풀이 각각의 높이(h)로 날 때, 파괴하게 되는 장애물 수를 이분탐색을 이용해서 구해주었다. 석순, 종유석으로 나눠 하면서 이상한 부분에서 너무 헷갈렸다 ................ #include #include #include using namespace std; int N, H; vector up, down; // 석순, 종유석 void input(){ cin >> N >> H; for (int i = 0; ..

article thumbnail
나를 웃게 했던 그 이름을 여기에 새기러
Daily/음악 2024. 3. 20. 20:49

오늘 밤 이곳에 그려진 이 계절은 뜨거운 여름이 되었다 사랑을 외치던 그때가 온 것처럼 모두가 이 노래를 외쳤다 그때의 우리가 흘렸던 눈물만큼 우리의 미소가 흘렀다 너희가 있어서 이 겨울도 아름다울 거야 난 지금 네게 가고 있는 길이야 봄의 끝보다 훨씬 빠르게 아직도 네게 가고 있는 길이야 여름밤 공기보다 뜨겁게 내 어린 시절 우연히 들었던 믿지 못할 한마디 이 세상을 다 준다는 매혹적인 얘기 내게 꿈을 심어 주었어 말 도 안돼 고갤 저어도 내 안의 나 나를 보고 속삭여 세상은 꿈꾸는 자의 것이라고 용기를 내 넌 할 수 있어 그냥 이대로 이끌리듯 날 놓아주면 난 괜찮을까 지금 내 앞에 흔들리듯 안길 것 같은 또 다른 내일 Oh 머리부터 발끝까지 다 사랑스러워 Oh 니가 나의 여자라는 게 자랑스러워 무뚝뚝..

article thumbnail
[Jenkins] Agent Node 추가
DevOps 2024. 3. 20. 15:58

Jenkins Agent Node Master - Slave 구조 관리는 Master 노드에서, 빌드는 Agent 노드에서 진행 Jenkins Agent 설치 파일을 배포하여 Master 노드에 대한 1:1 연결 Jenkins Agent Node 생성 1. Jenkins 관리 > Nodes 2. New node를 클릭하여 새로운 agent 생성 Name : Agent로 사용할 node의 이름 Number of executors : Agent node의 동시 job 실행 개수 Remote root directory : agent를 설치할 jar 파일이 위치해야 할 곳 Launch method : Agent로 사용할 곳의 접속정보 (JAVA / SSH 등 방법 존재) Jenkins Agent Node 실행 ..

article thumbnail
[Linux] 권한 설정 정리 (chown, chmod, chgrp)
프로그래밍/Linux 2024. 3. 20. 13:36

chown change + owner 파일의 소유권과 그룹을 변경하는 명령어 # chown [OPTION] [OWNER][:[GROUP]] [FILE] # 소유주 변경 (modul dir 안의 파일들의 소유권을 모두 user1에게 줌) $ chown -R user1 module # 소유주와 그룹 변경 $ chown -R users:user1 module chown 명령어 옵션 옵션 설명 -c (--changes) 기존에 지정된 모드에서 변경되는 경우에만 출력 -f (--slient, --quiet) 오류 메세지를 출력하지 않음 -v (--verbose) 처리된 모든 파일 및 디렉토리에 대한 메세지를 출력 -h (--no-dereference) 심볼릭링크 파일이 변경됨 -R (--recursive) 지정한..

article thumbnail
BOJ 16947번: 서울 지하철 2호선
문제 풀이/백준 2024. 3. 7. 23:08

문제 문제 바로가기> BOJ 16947번: 서울 지하철 2호선 16947번: 서울 지하철 2호선 첫째 줄에 역의 개수 N(3 ≤ N ≤ 3,000)이 주어진다. 둘째 줄부터 N개의 줄에는 역과 역을 연결하는 구간의 정보가 주어진다. 같은 구간이 여러 번 주어지는 경우는 없고, 역은 1번부터 N번까지 번호 www.acmicpc.net 풀이 1. dfs를 이용해 cycle을 구해준다. 이전 노드가 아닌, 다른 노드에서 방문한 노드를 재방문 하는 경우, cycle이라고 볼 수 있다! 2. bfs를 이용해 역과 순환선 사이의 거리를 구해준다! #include #include #include #include #define MAX 3005 using namespace std; struct QUEUE{ int n, ..