전체 글

전체 글

    [Linux, Ubuntu] 나의 .vimrc 설정

    vim의 설정파일 .vimrc은 다음과 같이 설정되어 있다.마지막 세션 Key Setting/Tmux Keyset 파트는 단축키 설정이라 취향에 맞게 설정하면 될 것 같다.(아래 파일을 적용시키기 위해 해야할 일이 아래에 설명되어 있음)"""""""""""""""""""""""" GENERAL """"""""""""""""""""""""set encoding=UTF-8set noswapfileset mouse+=a"""""""""""""""""""""""" Vundles """"""""""""""""""""""""set rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()Plugin 'VundleVim/Vundle.vim'Plu..

    [Linux, Ubuntu] ssh를 이용한 파일 전송 scp 명령어

    Linux에서 사용하는 scp 명령어는 Secure Copy의 약자로, 원격 시스템 간에 파일을 복사할 때 사용된다. scp 명령어는 ssh 프로토콜을 사용해 파일을 복사해서 데이터 전송이 암호회되어 있어 보안이 강화된다고 한다. 파일 전송은 아래의 방향으로 가능하다. 로컬 -> 원격 (Local to Remote) 원격 -> 로컬 (Remote to Local 원격 -> 원격 (Remote to Remote) 명령어를 사용할 때 앞 쪽에 전송할 파일의 경로, 뒤 쪽에 파일의 목적지가 온다는 것을 기억하면 쉽게 기억할 수 있을 것 같다. 연습용 명령어를 기록하며 글을 작성할 것인데, 연습 환경은 아래와 같다. 로컬: Mac, 원격1: UTM(ubuntu), 원격2: AWS(ubuntu) 로컬 컴퓨터에서 ..

    [Linux, Ubuntu] 파일 묶기 및 해제 명령어 tar (.tar, .tar.gz)

    Linux의 tar 명령어는 사실 파일의 용량을 줄여주는 압축이 아니고 여러 파일을 하나로 묶어주는 명령어이다. 파일의 용량을 줄일 목적으로 사용할 때는 -z 옵션을 추가로 줘야한다. (뒤에서 다룸) 다음 명령어를 복사해서 테스트 디렉토리를 만들자. mkdir test_directory cd test_directory touch a.txt b.txt c.txt mkdir test1 mkdir test2 cd .. tar 명령어로 파일 하나로 묶기 tar -cvf [파일명.tar] [압축대상(파일,폴더)] 위에서 만든 테스트 디렉토리를 tar 명령어로 압축해보자. tar 파일이 생성된 것을 확인할 수 있다. .tar 파일 해제하기 그 전에 다음 명령어로 기존에 만들었던 test_directory 디렉토리를..

    [C/C++] 백준 10476번 - 좁은 미술전시관

    10476번: 좁은 미술전시관 기다랗고 2N개의 방이 있는 미술관이 있다. 미술관은 세로로 N줄, 가로로 2칸의 방으로 구성된다. 위아래, 양 옆으로 붙어있는 방들은 서로 연결되어 있다. 오늘의 큐레이터는 미술관 운영진으로 www.acmicpc.net #include #include using namespace std; #define endl '\n' #define INF 1e9 #define SIZE 201 int N, M, sum; int arr[SIZE][2]; int dp[SIZE][SIZE][3]; void initInput() { cin >> N >> M; for (int i = 1; i > arr[i][j]; sum += arr[i][j]; } } for (int i = 1; i

    Arm 어셈블리 명령어

    Arm 프로세서가 어떤 상태나 모드로 동작하는지 확인할 때, Arm 프로세서에서 어떤 연산을 시킬 때 어셈블리 명령어를 실행한다. 즉, 소프트웨어 입장에서 어셈블리 명령어는 Arm 프로세서와 대화할 수 있는 언어이다. Arm 어셈블리 명령어의 기본 형식 Arm 아키텍처의 어셈블리 명령어는 아주 다양하지만 아래 형식에서 크게 벗어나지 않는다. OP_CODE , , OP_CODE : MOV, ADD와 같은 어셈블리 명령어 Rd : 목적지 레지스터(destination), 어셈블리 명령어를 실행한 결과가 저장되는 레지스터 Rn, Rm : 어셈블리 명령어의 피연산자 자주 사용되는 어셈블리 명령어는 다음 표와 같다. 종류 명령어 데이터 처리 ADD, SUB, ORR, LSL, LSR, ... 메모리 연산 LDR,..

    [C++] 백준 9019번 - DSLR

    9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net BFS로 해결할 수 있는 문제다. 네 가지 연산(D, S, L, R)에 대한 함수를 만들어 놓고, 함수 포인터로 네 가지 함수를 순차적으로 호출한다. 함수들은 연산을 끝낸 뒤 함수의 이름을 반환해 큐에 삽입하기 위한 문자열을 만든다. 연산된 숫자와 문자열을 큐에 삽입한다. 동일한 숫자에 대한 중복 연산을 막기 위해 visited 배열을 사용한다. 숫자를 기준으로 visited 배열을 검사하며 중복 연산을 막는다. #include #include #i..

    Ubuntu에서 zsh 설치

    Ubuntu에서 zsh 설치 zsh를 설치하려면 git과 curl이 설치되어 있어야 한다. 만약 설치되지 않았다면 다음 명령어로 git과 curl을 설치하고, 둘째줄 명령어로 zsh를 설치하자. sudo apt install git curl sudo apt install zsh 설치가 완료되면 다음 명령어를 실행하자. sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 명령어가 수행되고 나면 기본 쉘을 zsh로 설정하겠냐고 물어볼 것이다. 그러겠다고 하자. 다음 명령어로 기본 쉘이 변경됐는지 확인할 수 있다. echo $SHELL 만약 기본 쉘이 zsh로 바뀌지 않았다면 변경하는 명령을..

    Ubuntu에서 설치한 패키지 삭제하기

    Ubuntu에서 패키지 삭제 설치한 패키지를 삭제하기 위해서는 관련된 패키지를 모두 지워야 한다. 관련된 패키지들을 확인하기 위해 아래 명령어를 사용하자. dpkg --list | grep [패키지 이름] 명령어를 실행 후 확인된 패키지들을 모두 삭제한다. 삭제 명령은 다음과 같다. sudo dpkg --purge [패키지 이름] 📌 패키지 의존성 때문에 삭제하는 순서에 따라 에러가 발생할 수도 있다. 에러가 발생한다면 순서를 바꿔가면서 해보자.