etc 41

github 'remote rejected'로 푸시 실패하는 경우 해결방법 (access token scope)

깃허브에 푸시할 때 'remote rejected'라고 나오면서 푸시에 실패하는 경우가 있는데 원격 저장소에서 푸시를 거부하는 원인은 여러가지가 있습니다. 이번 게시물에서는 액세스 토큰 권한이 없어서 푸시가 안되는 경우의 해결방법을 알아보겠습니다. 참고로 Windows 10 환경에서 git이 Windows Credential Manager를 사용하는 상황입니다. github access token scope 때문에 remote 푸시 실패하는 경우 ! [remote rejected] master -> master (refusing to allow an OAuth App to create or update workflow `.github/workflows/build.yml` without `workflow`..

etc 2020.09.21

VS code 출력창 오토스크롤 항상 키는법

요즘 vscode에 sftp 확장을 깔아서 개발하고 있는데요, 자꾸 출력창(output view)이 잠기는 현상이 생깁니다. 그래서 출력창에 계속 맨 처음에 떴던 output만 나오게 되는데, 이는 비주얼 스튜디오 코드의 스마트 스크롤(smart scroll)이라는 기능때문이라고 합니다. 이런식으로 출력창에 자물쇠가 있는데 사진처럼 풀린 상태로 되어 있어야 output 창에 새 출력이 들어왔을때 새 줄이 출력됩니다. 잠긴 경우는 그 자리에 스크롤이 고정됩니다. [09-19 23:24:48] [info] [watcher/updated] c:\...\a.ejs [09-19 23:24:49] [info] local ➞ remote c:\...\a.ejs [09-19 23:25:20] [info] [watche..

etc 2020.09.20

git autocrlf로 개행문자 통일하는 법

아시다시피 윈도우즈에서는 캐리지 리턴(Carriage Return, CR, \r)과 라인 피드(Line Feed, LF, \n)를 개행문자로 사용해 \r\n이 개행문자가 되고, 리눅스 계열과 MacOS에서는 라인 피드만 사용해 \n이 개행문자가 됩니다. 여러 OS에서 작업하거나 협업을 하는 경우 개행문자가 달라서 커밋 내역이 이상해지는 경우가 있습니다. 특히 윈도우와 리눅스에서 동시에 작업할 때 문제가 가끔 생깁니다. git autocrlf 설정을 통해 개행문자를 통일시키는 법을 알아보겠습니다. git autocrlf 설정 먼저 깃에서 core.autocrlf는 파일을 git object에 체크인할 때 개행문자를 처리하는 옵션인데요, 3가지 설정이 가능합니다. core.autocrlf = false (d..

etc 2020.09.19

노션 내보내기(export) 설정 방법

요즘 개발자들 노션(Notion) 많이 쓰죠. 직관적이고 편리해서 많이 쓰이는데 저도 이력서를 노션으로 작성했습니다. 그런데 이력서를 pdf로 요구하는 곳이 있더라고요. 그래서 한번 내보내기 기능을 써서 PDF로 뽑아봤습니다. 맨 오른쪽 위 점 세개 메뉴를 눌러서 Export를 누릅니다. 여기서 내보내기 설정을 할 수 있습니다. 내보내기 할 수 있는 포맷은 총 세개입니다. PDF HTML Markdown & CSV HTML과 마크다운&CSV로 내보내기를 할 때는 서브페이지를 포함시킬 수 있는데, PDF에서 서브페이지를 포함시키는 것은 엔터프라이즈 계정일 때만 가능합니다. PDF로 내보낼 때 페이지 설정이 가능한데, A4, A3, Letter, Legal, Tabloid의 옵션이 있습니다. 한국에서는 보통..

etc 2020.09.17

Out of the blue: 갑자기, 난데 없이

Out of the blue는 "갑자기, 난데 없이"를 나타내는 숙어로, 아무런 조짐도 없이 뜻하지 않은 일이 생기는 것을 말합니다. 자주 사용되는 숙어중에 하나입니다. 예문을 살펴봅시다. So this woman in her 40s just died alone in her apartment? Just out of the blue? 40대 여자가 아파트에서 죽었다고? 갑자기? - Six Feet Under, S02E05 Out of the blue는 out of nowhere와도 거의 비슷한 뜻을 갖고 있습니다. 흔히 '마른 하늘에 날벼락 온다'라고 하죠? 아무 조짐 없이 난데 없는 일이 일어났을 때 그런 표현을 쓰는데요, 미국에서도 비슷하게 마른 하늘에 날벼락을 A bolt out of the blue..

etc 2020.09.14

VS code Remote-ssh로 AWS EC2 인스턴스 접속 및 개발하는 법

aws ec2 인스턴스에 PuTTY(푸티)로 접속해서 개발하고 있는데 저는 vim보다는 로컬에서 비주얼 스튜디오 코드(visual studio code)나 sublime text를 써서 개발하는게 훨씬 빠르더라고요. 그래서 vs code에서 SSH 설정해서 원격소스를 로컬에서 수정하도록 설정해봤습니다. 일단 기본적인 ssh 설정은 되어 있다고 가정하겠습니다. openssh-server 설치 및 sshd 설정 ssh 인바운드 설정 (ec2 보안그룹) VS code의 SSH 터널링 구조입니다. 원격 머신에 vs code 서버 설치는 자동으로 되니 별 신경은 안써도 되는데 권한은 있어야 합니다. pem 파일로 개인키 생성 EC2 인스턴스 만들때 다운로드받은 키페어 파일을 PuTTYGen을 이용해 OpenSSH..

etc 2020.09.10

git 기본 에디터 변경하는 법

git은 기본적으로 쉘 환경변수에서 VISUAL 또는 EDITOR로 설정된 것을 에디터로 사용하고, 아니면 vi를 사용하는데요, 우분투의 기본 에디터가 nano라서 git의 커밋 메시지를 쓰거나 revert를 하거나 등등 여러 작업을 할때 나노를 사용하게 됩니다. 위 사진은 git commit할 때 nano 에디터가 나온 모습인데요, 저는 vim이 더 익숙하니까 한번 바꿔보겠습니다. git에서 설정하는 방법과 시스템 에디터를 바꾸는 방법이 있는데 두 방법 다 소개하겠습니다. git config에서 설정하기 $ git config --global core.editor vim 이렇게 config core.editor를 vim으로 설정하면 앞으로 깃에서 에디터를 호출할 때 시스템 에디터와 상관 없이 vim을 ..

etc 2020.09.10

git credential cache 설정 방법

git을 사용할 때 원격 저장소에 푸시하는 등 접근할 때 아이디와 비밀번호가 필요한데요, 기본적으로 git은 입력했던 아이디와 비밀번호를 저장하지 않아 매번 repository에 접근할 때마다 아이디와 비밀번호를 요구합니다. $ git push Username for 'https://github.com': John Password for 'https://john@github.com': ... $ git push Username for 'https://github.com': John Password for 'https://john@github.com': (반복) 매 번 푸시할때마다 아이디와 비밀번호(또는 개인 액세스 토큰(PAT))를 입력하면 정말 귀찮겠죠? 그래서 git은 1.7.9 버전 이후부터 cre..

etc 2020.09.10

Github MFA 이용시 토큰 생성 방법

깃허브는 멀티팩터 인증(MFA, Multi-Factor Authentication)을 지원합니다. 계정 보안을 위해서는 꼭 2단계 인증 등을 해주는게 좋은데요, 저는 구글 인증기(google authenticator)를 연동해 사용하고 있습니다. 깃허브 계정이 MFA를 사용중일 때 커밋을 푸시하려면 계정, 비밀번호로는 안됩니다. 토큰을 만들어줘야 하는데 이번 게시물에서는 개인 액세스 토큰(Personal access token)을 만들어서 로그인을 진행하는 방법에 대해 알아보겠습니다. Github 개인 액세스 토큰 생성 및 로그인 방법 $ git push -u origin master Username for 'https://github.com': example Password for 'https://ex..

etc 2020.09.08

GPG key 생성 방법, github 연결 방법 및 git 설정 방법

GPG는 GnuPG = GNU Privacy Guard로 PGP(Preety Good Privacy)를 대체하는 암호화, 복호화 프로그램입니다. 깃허브 커밋 내역을 보면 커밋 메시지 옆에 "Verified" 로고가 있는 경우가 있는데요, 커밋이 gpg(또는 pgp) 키를 이용해 서명되었다는 것을 나타냅니다. 왜 굳이 커밋에 인증을 해야 할까요? 기본적으로 git 커밋에는 이름과 이메일이 들어갑니다. 그런데 악의적인 사용자가 git 설정에 제 이름과 이메일을 써서 멀웨어를 만든 뒤 깃허브에 릴리즈했다고 생각해봅시다. 나중에 멀웨어임이 밝혀지면 저는 그 멀웨어에 관여하지 않았지만 커밋 내역에 이름과 이메일이 들어가있어 범인으로 오인될 수 있습니다. 또 팀원의 깃헙계정이 해킹돼 악성 코드가 심어진 PR을 보냈..

etc 2020.09.08