[초보용] VIM(VI)에서 실수로 Ctrl + z를 눌렀을 때, 복귀하는 법.

VI 같은 편집기를 사용하다보면, 무심결에 Ctrl+z를 눌러 편집 중이던 내용을 되돌리려고 하는 경우가 있습니다. 이런 경우, 의도와는 다르게 shell로 빠져 나오게 됩니다. (단축키를 변경하지 않았다면) 이때, VI는 백그라운드로 실행이 되고 있고, shell 명령을 실행할 수 있는 상태가 됩니다. 이때 프로세스가 종료된 것으로 알고, 편집 중이던 파일을 다시 열게 되면 이미 파일을 편집 중이라는 경고가 뜨게됩니다. shell이 실행된 경우, 당황하지 말고 fg 명령으로 다시 편집 중이던 vim으로 돌아올 수 있습니다. (정확하게 말하면 프로세스 번호를 파라미터로 입력해야 하지만, 생략하면 가장 마지막 프로세스로 돌아갑니다. ) 만약 중지된 프로세스가 있는 상태에서 다시 파일을 편집 중에 shell..

[초보용] proxy 환경에서 git 사용하기

제가 다니는 회사를 비롯하여, 몇몇 회사들에는 보안상의 이유로 Proxy서버를 거쳐서 외부와 연결을 하도록 하고 있습니다. Proxy 서버를 거치면서 제가 무엇을 하는지 다 까발려지기에 거부감이 있지만, 회사에서 하는 일에 대해서 회사는 알고 있을 필요가 있다고 생각해 어느 정도는 이해하려고 하고 있습니다. 하지만, 한번씩 Proxy서버 때문에 발목 잡힐 때마다 뒷목을 잡곤합니다. 그 중의 하나가 Git Proxy 설정입니다. Proxy 설정하기 [기본] 설정하는 방법은 간단합니다. CLI에서 다음과 같이 입력해주면 끝입니다. $ git config --global http.proxy "{proxy_host}:{proxy_port}" 이렇게 쉬운 경우만 있다면 좋겠지만, 세상이 그렇게 녹록치 않습니다. ..

(편집기 없는)컨테이너에서 파일 작성하기

특별한 경우가 아닌 한, 용량을 줄이기 위해 Docker Container에는 편집기가 없습니다. 그래서 보통은 컨테이너를 구동하는 호스트에 볼륨을 마운트하고 그 위치에서 파일을 작성하여 컨테이너와 공유합니다. 그런데, 벌써 컨테이너를 구동하여 사용하고 있는 경우, 또는 컨테이너 내부에서 사용되는 사용자의 uid가 호스트의 uid와 다르다면 갑자기 피곤함을 느끼고 의욕이 저하되기도 합니다. 몇 줄 안되는 설정을 담고 있는 파일 하나 추가하자고, 볼륨 설정하고 권한 변경하고 파일 작성 하고 수정하고 다시 컨테이너 구동하고... 그래서 간단한 파일을 만드는 경우 유용하게 쓸 수 있는 팁을 소개합니다. 1. echo 간단하게 echo 명령과 리디렉션(">" 또는 ">>")을 이용하는 방법이 있습니다. 한 두 ..

[LeetCode] 2. Add Two Numbers

2. Add Two Numbers : https://leetcode.com/problems/add-two-numbers/ 음이 아닌 Interger 수를 표현한 두 개의 링크드 리스트가 있다. 각 문자는 역순으로 저장되어 있고, 각 노드는 한개의 숫자를 담고 있다. 두 숫자를 합한 링크드 리스트를 반환하라. 두 개의 숫자는 0을 제외하면, 0으로 시작하지 않는다. Example 1: Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Explanation: 342 + 465 = 807. Example 2: Input: l1 = [0], l2 = [0] Output: [0] Example 3: Input: l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9..

[LeetCode] 1. Two sum

Integer 배열 nums 와 Integer target이 주어졌을 때, 합하여 target이 되도록하는 인덱스를 리턴하라. 각 입력은 정확히 한 개의 해를 가지며, 동일한 요소를 두번 사용하지 않는다. 정답의 순서는 관계없다. Example 1: Input: nums = [2,7,11,15], target = 9 Output: [0,1] Output: Because nums[0] + nums[1] == 9, we return [0, 1]. Example 2: Input: nums = [3,2,4], target = 6 Output: [1,2] Example 3: Input: nums = [3,3], target = 6 Output: [0,1] Constraints: 2