문제 현상 vscode에서 쉬프트 커맨드 p로 shell command: Install code command in PATH 를 실행해서 code . 로 프로그램을 실행하면 맥을 재부팅했을 때 사라진다. 그러면 또 vscode를 켜서 uninstall 해주고 install을 다시 해주는게 너무 귀찮다. 그러므로 .zshrc 파일에 저장해서 재부팅에 관계없이 계속 커맨드를 사용할 수 있도록 한다. How vs code docs 에 보면 터미널에서 하는 방법이 나와 있는데, .bash_profile이나 .zshrc 파일을 켜서 path에 추가해주면 된다. 추가한 후 echo $PATH로 확인해보면 vscode path가 추가돼있다. 다만 여기서 주의할 점이 있다. vscode가 Applications(응용 ..
네이버 부스트코스에서 CS50 강의를 같이 스터디할 수 있다길래 냉큼 신청해보았다. 사실 그 전에도 edWith에서 CS50 강의를 신청해서 들으려고 시도했었는데 강의하시는 교수님이 엄청 말이 빠르시고 영어인데 자막이 없어서, 사실 좀 듣기 어려웠다. 그래서 중간에 흐지부지 되었었는데, 마침 부스트코스에서 CS50 강의에 한글 자막도 제공하고 다른 사람들이랑 같이 진도를 나갈 수 있다고 신청했다. 스터디 과정 일단 이 스터디를 신청할 때 무료 스터디라 그런지 나름 적어야 하는 양식이 있었다. 지원 동기 관련한 질문이나 퀴즈 같은 것도 있었다. 폼을 작성한 사람이 모두 선발된 것인지 아니면 너무 성의없는 사람은 걸러졌는지는 모르겠으나, 일단 선정이 되면 '부스터'라는 이름으로 스터디에 참여하..
이제 면접을 보러 다니면서 받은 질문들을 정리하고 내가 몰랐던 부분, 대답이 미흡했던 부분 등을 더 공부해서 보완할 생각이다. 다음 면접은 더 잘볼 수 있길 바라는 마음으로 작성한다.. :) React, Redux 테스트를 고려해서 코드를 짠 경험이 있는지 MobX랑 리덕스 차이 리액트 훅에 대해 설명해보시오 리액트에서 arrow function을 사용하면 일반 함수를 쓰는 것과 어떤 차이가 있는지 Java 제네릭(Generic)에 대해 설명해보시오 HTML, CSS Semantic HTML에 대해 설명해보시오 CSS를 사용해 수평정렬을 할 때 주로 사용하는 방법 JavaScript 불변 객체를 만드는 방법으로 무엇을 사용하는가 자바스크립트에서 비동기를 설명해보시오 프로미스와 어싱크 어웨이트의 차이점을 ..
특정한 sub folder 제외하고 모두 복사하기 은근 종종 써야 하는데 쓸 때마다 찾아보기 귀찮은 명령(eg. 어디에 소스코드 제출해야 할 때 노드 모듈 빼기) $ rsync -av [project_name]/ to [copy_project_name] --exclude=node_modules/ # project_name 하위 내용을 copy_project_name 디렉토리로 노드모듈 빼고 전부 복사하기 rsync가 원래는 동기화용 이라고 하는데 스택오버플로우에서 검색한 결과 복사용으로도 사용되는 듯 하다. 여기서 / 를 주의해야 하는데 [project_name] 뒤에 / 를 붙이지 않으면 [copy_project_name] 내에 [project_name] 디렉토리 자체가 통째로 포함돼 버린다.
The following untracked working tree files would be overwritten by merge 상황 컨트리뷰트 작업 하기 전에 여러 커미터가 있는 upstream의 업데이트 사항을 내 origin에 pull(fetch & merge)하고자 함. (즉 동기화) 여느때와 같이 git remote update, git pull —rebase upstream master를 치는 순간 아, 멘토님이 리베이스 말고 머지하라고 하셨지, 라는 생각이 들었다. 황급하게 ctrl+c로 프로세스를 종료한 뒤에 다시 git merge upstream/master를 시도했으나 그때부터 계속 에러가 났다... 주요 에러는 merging is not possible because you have..
[Git] stash Stash the changes in a dirty working directory away 지저분한 워킹디렉토리의 변경사항을 잠시 치워두세요 (Stash: 살며시 치우다, 감추다, 은닉처) git stash가 수행하는 2가지 git stash 는 현재 commit 되지 않은 변경사항들을 임시적으로 저장하고 HEAD commit의 워킹디렉토리를 복구한다. 스테시는 로컬 깃 레포지토리에 한정된다. 리모트에 푸시할 때 같이 이동하는 것이 아니다. 왜 쓸까? 현재 작업하고 있는 내용을 기억하고 싶기는 한데(위에서 1번 작업) 현재 워킹 디렉토리가 지저분한 경우 깨끗한 워킹 디렉토리로 돌아가고 싶을 때(위에서 2번 작업) 즉 현재 작업 내용을 기억하고 싶기는 한데 커밋해서 반영하기는 싫을 ..
.zshrc 파일 열기 문제 뭔가를 설치하고 나서 잘 설치되었는지 확인하기 위해서 명령어를 쳤을 때에 쉘이 이를 인식하지 못하는 경우가 있다. 예를 들어 nvm을 설치하고 나서 nvm —version 했는데 command not found가 나오는 경우라든가. 그럴 때에는 .zshrc파일(bash면 bash_profile)에 스크립트를 추가해줘야 되는데 문제는 .zshrc 파일이 안 열릴때.(후… ) 해결 방법은 간단하다. 그냥 에디터로 열면 된다! 나는 vscode를 사용하므로 code ~/.zshrc 를 쳤더니 에디터로 열렸다! 열어서 스크립트 추가 및 저장하고 터미널 다시 열었더니 nvm 명령어를 잘 인식하였다:)
Git log 예쁘게 보기 Before After 적용하는 법 터미널에 입력 git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit" 실행시킬 때는 git lg 실행하면 그냥 git log --graph했을 때보다 직관적이고 하이라이팅된 형태로 볼 수 있다. 바뀐 내용을 상세히 보고 싶을 때에는 git lg -p를 입력하면 된다.
Fork한 깃허브 소스 동기화 & PR 날리기 일단 fork한 다음 내 레포로 간다. clone or download 버튼을 통해 주소를 복사한다. git clone [내 레포 주소] 폴더를 만들고자 하는 위치에서 git clone을 해서 로컬 레포를 만든다. cd [폴더 이름] git remote -v 해당 폴더로 이동한 뒤 remote 를 체크한다. 그러면 origin [내 깃헙 레포 주소] 이렇게 나올 것이다. 즉 포크해서 가져온 내 레포와 기본적으로 연결되어 있는 것이기 때문에 원래의 소스가 있는 레포랑 연결하려면 별도로 추가해주어야 한다. git remote add upstream [원래 소스 깃허브 주소] 포크해온 원래 소스가 있는 깃허브로 이동해서 주소를 복사한 뒤 위 명령어를 실행한다. 그..
Upstream, Downstream의 일반적인 개념 upstream과 downstream은 두 레포간의 관계에 따라 정의되는 상대적인 개념이다. 어떤 한 레포가 절대적으로 업스트림이거나 다운스트림이 아니라는 소리이다. 비유적으로 설명하자면 upstream은 영어 뜻 그대로 하천의 윗부분(상류?)라고 할 수 있다. 물줄기가 위에서 밑으로 내려올 때, 그 위에서 원천이 되는 source를 upstream이라고 칭하는 것이다. 내 래포가 myRepo이고 다른 레포가 otherRepo라 하자. 내가 otherRepo로부터 pull from 해오고(당겨오고) push to한다면 내 myRepo가 downstream, otherRepo가 upstream으로 정의된다. 하나의 업스트림에 여러 개의 다운스트림이 있을..
[Git] Rebasing 리베이스는 머지랑 비슷한 개념이지만 조금 다르다! 머지랑 리베이스는 다른 브랜치의 작업 내용을 합친다는 면에서 비슷하다. 내가 이해한 바로는 주요하게 다른 점은 크게 2가지이다. 머지는 fast-forward가 아닌 이상 두 개의 브랜치로 갈라진 모양이 남게 된다. 반면 리베이스는 하나의 linear한 히스토리로 남게 된다. 머지는 merge commit을 필요로 한다. 즉 머지하기 위해서는 커밋을 반드시 해야되는데 별 의미없는 커밋메세지만 남기기 십상이다. 리베이스를 하면 이 merge commit이 필요 없다. 그럼 언제 머지를 하고 언제 리베이스를 하지? 여러 명의 사람이 같이 작업을 할 때에는 리베이스가 추천된다고 한다. 여러 커미터가 있을 때에 머지를 사용하게 되면 깃..
워킹 디렉토리 삭제하기 (Git) git init을 한 로컬 디렉토리 자체를 삭제하고 싶을 때에 Window git bash 기준으로 삭제하고자하는 해당 디렉토리의 상위 폴더에서 rm -rf [삭제하고자 하는 디렉토리명] 을 친다. 만약 디렉토리 삭제가 아니라 해당 디렉토리 내부 git만 삭제하고 싶으면, 그 디렉토리 내부로 이동해서 rm -rf .git 이라고 하면 된다. 옵션을-rf라고 해야하는데 -r만 치는 바람에 시간을 허비했으므로 기록으로 남겨봄(...) +) 깃헙 레포에 폴더 구조가 이상하게 올라가서 레포를 아예 삭제, 재생성한 다음 다시 파일을 업로드 해보려고 했는데, git 히스토리를 아예 삭제하지 않으면 고쳐지지 않았다. 계속 시도를 해도 로컬 디렉토리 구조대로 올라가지 않고, 잘못된 상..
Docker 시작기(for Window7) Situation 학원컴퓨터는 윈도우7, 내 노트북은 OSX. 운영체제가 다르다 보니 맥북에서 작업하던걸 학원컴퓨터에서 실행하고 작업하려니 생기는 문제점들이 많았다. 처음에는 깃헙에 올리고 pull해서 쓰기만 하면 되겠지 싶었는데, 뭐가 뭔지 모를 에러가 나서 이럴 바에 도커를 시작해보자고 생각했다. 도커 툴박스 설치 및 이미지 pull docker for window가 있긴 하지만 윈도우 7에서는 사용할 수 없기 때문에, docker toolbox를 설치하였다. 설치하면 나름 귀여운 고래가 나온다. 시험 삼아 ubuntu 이미지를 pull 해보자. 4개의 이미지를 다운로드 받아 온다. docker pull ubuntu 그러나 docker images -a 하면..
Cheerio로 cgv 웹 크롤링(키워드 찾기) 알라딘 4dx를 예매하려고 크롤링 튜토리얼을 해보았다. 원래는 찾고자 하는 키워드를 홈페이지에서 찾은 뒤 텔레그램으로 알림을 줄 생각이었지만, 하다가 예매가 오픈해버리는 바람에..:) 키워드 찾는 데까지만 하고 일단 정리. source code crawler.js var request = require('request'); // used to make HTTP request var cheerio = require('cheerio'); // parse and select HTML elements var URL = require('url-parse'); // parse URLs // 키워드를 검색할 url 주소. 극장..
Add books Modal 현재까지 구현한 기능 버튼 클릭 시 책 검색할 수 있는 부트스트랩 모달 팝업 책 제목 및 저자 검색 시 네이버 책검색 api로 요청하여 검색 결과를 모달에 렌더링 기본 설정 Spring Tool 3 add-on 설치 후 Spring legacy project 생성 WEB-INF/spring/appServlet/servlet-context 추가 WEB-INF/web.xml 인코딩 필터 추가 내부 요청 URL http://localhost:8000/book/bookList.do 폰트 Noto Sans KR @import url(http://fonts.googleapis.com/earlyaccess/notosanskr.css); Naver Login(네아로) 기본 설정 Scribe..
- Total
- Today
- Yesterday
- Session
- JavaScript
- Conflict
- jQuery
- 리덕스
- til
- Data Structure
- oracle
- CSS
- 깃
- GIT
- 제네릭스
- Redux
- linkedlist
- rxjs
- 알고리즘
- 자바
- c언어
- this
- Prefix Sums
- 인스턴스
- package.json
- react
- 포인터 변수
- getter
- 개발 공부
- youtube data api
- useEffect
- Java
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |