setting, git, shell etc 21

docker Error saving credentials: error storing credentials

Error saving credentials: error storing credentials - err: exit status 1, out: `error storing credentials - err: exit status 1, out: `The user name or passphrase you entered is not correct.`` 도커 로그인시 위 에러가 자꾸 발생한다. 분명 맞는 아이디와 패스워드를 입력했는데도 틀렸다고 나온다. https://acet.pe.kr/m/790?category=446101 여기에 해법이 있는데 이대로 하니 잘 되어서 이걸 가져왔다.나중에 또 발생할것같아서 참고용으로 저장해 둠. 1. rm /usr/local/bin/docker-credential-osxkeycha..

jq, awk

쉘에서 입력값을 받아서 가공해서 쓸때 조금서 세세하게, 정교하게 가공하기 위해서 아래의 jq나 awk를 많이 쓴다. 프로그래밍으로 다 받아서 처리해도 되지만(awk도 프로그래밍이지만 어떤 작업을 처리하기 위해 소스파일을 따로 만들어서 처리하는 경우를 말함.) 그러면 너무 닭잡는데 소잡는 칼을 쓰는것 같고.. 하는 느낌이 들어서 쉘의 한줄 명령어를 쓸때 소금처럼 간단하게 많이 쓰는데 아래 블로그에 튜토리얼식으로 글 설명이 꽤 잘되어있다. 글을 저장해놓고 한번씩 참조할때 다시 한번 보면 좋을것같다. jqhttps://www.44bits.io/ko/post/cli_json_processor_jq_basic_syntax awkhttps://recipes4dev.tistory.com/171

recursive file name, content search, pushd, popd

1. '파일명'을 찾을때 find명령어를 많이 쓴다. find를 사용하면 경로를 입력한 파일 내에서 폴더가 있으면 재귀적으로 들어가면서 파일명들을 조건에 맞게 검색이 가능하다. ex) 모든 경로에서 na가 들어간 모든 파일 이름을 찾자 -> find / -name *na* 2>/dev/null 그러면 파일에 쓰여있는 내용들을 현재 파일 내에서 재귀적으로 들어가면서 검색을 하려면 어떻게 해야 할까??grep을 사용하면 현 경로에서 recursive하게 파일 내용들을 검색해볼수 있다. 맥 기준.https://apple.stackexchange.com/questions/275373/how-to-make-grep-work-like-in-ubuntu/275379 를 참조한다. grep -R '검색할 내용' 검색할..

ssh to server without password

ssh를 사용해서 서버로 접속시 일반적으로 비밀번호를 요구한다. 근데 아래와 같은 과정을 거치면 비밀번호를 요구하지 않는다. 현재 내 컴퓨터, 서버 이렇게 총 두대가 있고 내 컴퓨터에서 서버로 들어가는 경우로 한다. 1. 서버의 키를 가져와서 ssh접속시 사용. pem파일을 생성, 받은 후 ssh -i ~~~.pem 계정@주소 2. 내 퍼블릭 키를 서버에 등록. 내 컴퓨터의 ~/.ssh/id_rsa.pub안의 값을 서버 컴퓨터 안의 ~/.ssh/authorized에 복붙해놓으면 ssh접속시 비밀번호를 묻지 않는다. 참고https://serverfault.com/questions/706336/how-to-get-a-pem-file-from-ssh-key-pair https://opentutorials.or..

intellij, pycharm git 단축키 설정.

파이참을 쓰는데 인텔리제이도 똑같을테니 제목을 저리 지음. 내용은 단축키 설정에 관한건데 굳이 git 단축키라고 제목을 적은 이유는 딱히 깃 단축키말고는 다른 단축키를 지정해서 효과를 못봤기에 깃 단축키 지정이라고 적었다. 티켓 시스템 + 깃으로 버전관리하는 회사들 대부분이 버전 관리를 할 때에 아래와 같은 프로세스로 진행한다. git pull -> git make new branches from master -> 작업 -> commit -> push -> merge 물론 순서가 바뀌거나 조금 다를수도 있지만 이게 일반적인데, 파이참에서 깃 풀을 하려면 마우스로 아래와 같은 과정을 거쳐야 한다.깃 풀 말고도 새 브랜치를 따거나, 커밋을 할때도 마찬가지이다. 근데 맨날 똑같은 작업을 하다 보니 매번 반복되..

pycharm git line history

파이참에서 깃 히스토리를 종종 본다. 특정 라인을 고쳐야 하는데 이 라인이 왜 필요한지 모르겠어서(또는 이거 짠 사람 누구지? 하려고. 근데 그러면 다 내가짰었음.) 히스토리를 찾아보고자 한다. 다른 회사들도 그러겠지만 우리 팀도 커밋로그를 남길때 어떤 티켓과 관련된 정보인지, 왜 넣었는지가 써있다. 그런데 소스파일에 대한 히스토리는 복잡하다. 그리고 몇달 전에 수정된 경우 히스토리를 하나씩 클릭해가면서 찾아야하기 때문에 찾기가 불편하다. 이 경우.. 해당 라인에 커서를 갖다놓고 Show History for Selection을 눌러준다. 그러면 누가 언제 커밋메시지는 뭐로 수정했는지 다 뜬다. 인텔리제이도 동일한 회사니까 동일한 방법으로 될 거라 생각함. 이거 말고도 다른분은 플러그인?을 깔아서 아예 ..

git 초기 세팅.

노트북을 바꿔서 깃랩 세팅을 하는데.. git pull로 풀을 받았는데 비밀번호를 입력하라는 메시지가 뜬다. 근데 계정이 회사 공용계정인데..?(내 계정이 아니라서 비밀번호를 따로 모른다는 말.) 하다가 찾아서 해결했다. https://dejavuqa.tistory.com/139 글이 없어질때를 대비한 요약. 맥북 기준.1. ssh-keygen 명령어로 key 생성한다.2. cat ~/.ssh/id_rsa.pub로 생성된 키를 출력한다.3. 출력한 키를 전부 복사해서 깃랩에 등록해준다.(이 과정이 회사 공용계정으로 접속하는게 아닌 내 계정으로 접속하게 만듬.)4. pull이나 push 테스트를 해본다. 2. git pull시 비밀번호 없이 pull하게 만들기. https://ourcodeworld.com..

ssh warning 무시하는 방법.(git pull, push등등이 WARNING뜨면서 안될때.)

회사에서 일을 하다 집에 와서 일하다보면 vpn으로 연결해서 하는데, 망이 달라서그런지 ssh접속시 아래와 같은 에러가 뜬다.Warning: the ECDSA host key for 'xxxxx.net' differs from the key for the IP address 'x.x.x.x' 그리고 접속하겠으면 yes를 누르라는게 추가로 뜬다.(회사에서 접속하면 안뜸.) 이것말고도 git pull을 받아오거나 push를 할 때 WARNING!!이 뜨면서 pull이나 push가 안된다고 종종 뜬다. 깃랩서버가 두개의 서버로 구성되어있을경우 원래의 키를 가지고 있는 서버에서 pull이나 push를 할때까지 계속 요청을 넣어봐야 한다. 근데 귀찮다. 이런 경우 어차피 회사의 도메인이라 믿을수 있으면.. sud..

intellij es lint 끄기, indent 4로 설정되어있는데 2로 적용되는경우.

eslint 때문에 속터져서 꺼버리려고 찾아다니다 적음. intellij eslint disable방법. 아래에서 체크해제해준다. indent 4로 설정되어있는데 에디터에서 계속 2로 적용되어있는경우.https://intellij-support.jetbrains.com/hc/en-us/community/posts/206332339-Tabs-and-Indents-are-2-spaces-despite-setting-at-4-spaces prefrence에서 아래처럼 Detect and use existing file indents for editing와 Enable EditorConfig support를 체크해제해준다.

expect

맥이나 리눅스로 작업을 하다 보면 회사등에서 ssh를 이용해서 서버로 접속하는 경우가 많다. 나같은 경우 종종 프로그램이 잘 도는지 특정 서버로 접속을 해야 하는데, 이 과정이 너무 번거롭다. ssh로 0번 서버에 접속 후, 다시 거기서 1번 서버로 접속 후, 다시 거기서 2번 서버로 접속하고, 그 이후에 특정 계정으로 로그인을 한 다음 작업을 시작한다. 종종 작업을 위해 접속하는 날도 있지만 단순히 모니터링을 위해 들어가는 날은 저 일련의 과정이 너무 귀찮다. ssh를 하나하나 치는것도 일이지만 서버 주소가 많다보니 기억을 잘 못해서 매번 페이지에서 찾아서 들어가기 때문이다. 그래서 인터넷에서 자동화 스크립트를 찾아봤다. 자동적으로 ssh로 0번서버, 1번서버, 2번서버로 접속후 특정 계정으로 로그인해..

shell script 기초.

https://www.shellscript.sh 변수 선언과 변수 사용, 변수와 문자열 concat등. #!/bin/sh echo Hello * World var="first val...." echo $var echo "$var"!!! 변수 선언과 사용. ''안에서는 $로 출력해도 문자열 그대로 나온다. 변수 사용시 ""로 감싸서 사용할것. 변수와 문자열을 연결해서 파일 만들기 등. 변수 선언은 ${변수이름} 으로 사용하는걸 습관들이자. #!/bin/sh echo 'What is your name?' read myname echo 'myname is $myname' echo "myname is $myname" touch "${myname}_file" *의 의미와 반복문 예제 #!/bin/sh echo "..

crontab

크론탭에 관한 설명은 찾아보면 많다. 일단 기본적인 정보와 getting started처럼 기본 사용법만 적었다. 현재 크론탭 스케쥴러 수정.crontab -e 크론탭 스케쥴러 확인.crontab -l 크론탭 스케쥴러 수정 시 vi편집기처럼 사용이 가능하다. 크론탭은 한줄로 작성해야 하며 주석 작성시 #를 쓰면 된다. 한줄 포맷 예시이다.#example22 15 12 5 5 /usr/bin/python /example/practice.py 순서대로 분,시간,일,월,요일,실행시킬 명령어이다. 숫자 대신 *를 쓰면 그 시간대나 요일에 관계없이 항상 실행시킨다는 뜻이다. 참고로 맨 뒤의 실행시킬 명령어는 절대 경로로 전부 다 써야 한다. 크론탭이 잘 작동하는지 예시를 돌려보려면 practice.py같이 파이썬..

intellij 뚝뚝 끊김.

intellij를 기본 설정으로 놓고 사용할 경우 사용중 뚝뚝 끊길때가 있다. 6글자를 치면 3글자가 나오고, 끊기고 3글자가 나온다던지. 스크롤을 올렸다가 내렸는데 일정 부분만 올라갔다가 끊기고 일정 부분 다시 올라가고, 마우스 클릭도 끊기면서 적용되서 클릭 되었는지 몇초 기다려봐야 하고.... 종종 복사 붙여넣기도 잘 안될 수도 있다. 생산성이 확 떨어지는데 메모리가 부족한 경우이다. http://stackoverflow.com/questions/13578062/how-to-increase-ide-memory-limit-in-intellij-idea-on-mac 의 중간 사진을 참조해서 오른쪽 아래에서 메모리를 보자.메모리를 보면 기본적으로 725라고 나와있다.(750메가가 할당이 되어있다.) 메모리..

맥에서 pip로 모듈 설치시 operation not permitted에러

ex) dmgbuild를 설치하고자 한다. sudo pip install dmgbuild를 했는데.... sudo로 관리자 권한으로 실행했음에도 불구하고...이처럼 갑자기 죽어버리는 경우가 있다. 지금보니 dmgbuild라는 모듈 말고도 여러가지 앱이 동일한 원인으로 죽는 경우가 많은것 같다. Exception:Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7...

구글 크롬 단축키

http://painkillers.tistory.com/26 에서 그대로 가져옴. 문제될시 글 삭제하겠습니다. 창 또는 탭 바로가기Ctrl+N새 창을 엽니다.Ctrl+T새 탭을 엽니다.Ctrl+Shift+N시크릿 모드로 새 창을 엽니다.Ctrl+O를 누른 상태에서 파일 선택컴퓨터에서 선택한 파일을 Google 크롬에서 엽니다.Ctrl을 누른 상태에서 링크 클릭새 탭에서 링크를 엽니다.Shift를 누른 상태에서 링크 클릭새 창에서 링크를 엽니다.Alt+F4현재 창을 닫습니다.Ctrl+Shift+T닫았던 마지막 탭을 다시 엽니다. Google 크롬은 닫았던 탭을 10개까지 기억합니다.링크를 탭으로 드래그해당 탭에서 링크를 엽니다.링크를 탭 사이로 드래그탭 표시줄상의 특정 위치에서 새 탭으로 링크를 엽니다.C..

Intellij 테마,폰트 바꾸기.

테마.1. http://color-themes.com/?view=index 에서 테마 쇼핑을 한다. 2. Intellij의 File -> Import Settings 에서 위에서 다운받은 .jar파일을 선택한다. 3. 재시작하면 적용되있다. 폰트.앞 포스팅에서 말한대로 폰트받아서 Intellij에서 Intellij IDEA->Preference에서 Editor -> Colors & Fonts의 Font에서 바꾸면 된다. 플러그인.예로 쓸모있어보이는 https://plugins.jetbrains.com/plugin/10080-rainbow-brackets 를 설치한다고 하자.https://www.jetbrains.com/help/idea/installing-plugin-from-disk.html 를 보고 ..

git 기초, 생활코딩 git 강좌

무료 e-book : https://progit2.s3.amazonaws.com/ko/2015-07-08-5c390/progit-ko.582.pdf 깃헙 하나도 몰랐는데 위 이북 보고 좀 익숙해짐 저기서 도움이 된 부분만 올린다. 1. 개념 잡기의 23 페이지. 2. 가장 기초적인 깃 명령어들이 나와있는 39페이지. 3. 깃 브랜치 관련 75페이지. 4. 회사에서 가장 많이 쓸것 같은 190페이지의 프로젝트에 기여하기 부분. 저부분을 가장 많이 썼었다. 가장 많이 쓰는 패턴. 1. git status로 깃 상태 확인2. git checkout -b '브랜치이름' 으로 해당 브랜치가 없으면 만들고 그 브랜치로 바꿈.아니면 git branch '브랜치이름.'3. 프로젝트 폴더로 들어가서 README.md같은..

컬러플한 터미널 만들기, 예쁜 폰트 설정.

안돼서... 한참 삽질하다 발견한거 진짜 쉽게 정리한다. 난 맥북 프로 레티나를 쓴다. vi가 허전해서 스킨을 적용하고 싶은데 구글링을 해도 딱 좋은 자료가 안나온다. 그래서 정리한다.. 1. iTerms2를 다운로드해서 설치한다. 기본 터미널이 아닌 개인용으로 커스텀하기 위한 새 터미널인것 같다. 그냥 실행하면 된다. 2. http://vimcolors.com/에서 쇼핑을 한다. 뭐가뭐가 예쁠까... 3. 하나를 골라서 github으로 들어간다. 난 요걸 골랐다. 4. 이거때문에 삽질을 많이 했는데 그냥 아무거나 다운받아서 설치하면 되는게 아니라 iTerms2에 적용시키려면 확장자가 .itermcolors로 끝나야 한다.(이렇게 iTerms2용으로 나온게 아니면 그냥 포기하는게 편한듯..) 3번의 깃헙..

Intellij 단축키 모음.

참고로 단축키는 Preference -> Keymap에서 설정할 수 있다. http://blog.naver.com/zkdlfhrm/110186811323 에서 가져옴. Editing Ctrl + Space Basic code completion (the name of any class,method or variable) Ctrl + Shift + Space Smart code completion (filters the list of methodsand variables by expected type) Ctrl + Shift + Enter Complete statement Ctrl + P 함수호출시 인수 정보 확인 (within method call arguments) Ctrl + Q 코드에 대한 문서창 ..