일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바스크립트
- 컨테이너
- 자료구조
- 브라우저
- cors
- 이진탐색
- 연결 리스트
- vue3
- 프론트엔드
- 알고리즘
- alexnet
- 연결리스트
- RxJS
- 배열
- 해시테이블
- C
- 큐
- APOLLO
- 포인터
- RT scheduling
- 릿코드
- Machine Learning
- 스택
- 타입스크립트
- 프로그래머스
- GraphQL
- pytorch
- 프로세스
- 웹팩
- 코딩테스트
- Today
- Total
목록개발 (9)
프린세스 다이어리
1. git tag 추가하는 법 로컬 터미널에서 배포 나간 커밋을 복사해 가져와서 다음과 같은 순서로 입력한다. $ git tag v1.1.0 cb12cb102121cb121cc11a9ebfa4abeeaa53d78d -m "신규 기능 추가 어쩌고" $ git push origin v1.1.0 2. git tag 삭제하는 법(로컬, 원격) 앗 원격에 올리기까지 했는데 메시지나 버전 수정을 해야 한다면 다음과 같이 진행한다. $ git tag -d v1.1.0 $ git tag v1.1.0 cb12cb102121cb121cc11a9ebfa4abeeaa53d78d -m "기존 서비스 마이그레이션" $ git push origin v1.1.0 혹 아래와 같은 에러가 뜨면 터미널에서 원격 태그를 지우거나 깃랩 또..
문제상황 git clone을 받으려고 하는데 "RPC failed; curl 18 transfer closed with outstanding read data remaining" 라는 문구가 뜨면서 클론이 안 되고 있다. 원인 규모가 큰 레포지토리를 클론하려고 하는데 로컬에서 네트워크 상황이 좋지 않은 경우, 원격 연결이 끊어지고 클론이 취소가 된다. 해결 방법 먼저 얕은 클론을 한 후(--depth 1) -> 점진적으로 레포를 가져온다(fetch --unshallow) $ git clone http://github.com/myrepo --depth 1 $ cd myrepo $ git fetch --unshallow 결과 잘 받아와짐
가끔 다른 컴퓨터로 개인 공부를 할 때가 생기는데, 이런 경우 깃헙에 아무리 push해도 커밋 잔디가 심어지지 않을 때가 있다. 기존에 설정된 이메일과 이름이 내가 origin에 올리고자 하는 깃헙의 정보와 일치하지 않아서다. 해결법은 간단하다. 지금 열어 놓은 프로젝트 루트에서 local의 작성자 이름과 이메일을 바꿔주면 된다. git config --local user.name "gitdongcha" git config --local user.email "sample@name.com" 그리고 새로운 커밋을 하나 만들어서 한 번 더 push 해주면, 이제부터는 소중한 잔디가 채워진 것을 확인해볼 수 있다. ㅋㅋㅋㅋ
깃헙에 잔디를 심으면서 공부를 하는데 가끔가다가 깃헙 들어가보면 열심히 커밋한 내역이 안 보일 때가 있다. 대부분의 경우 커밋한 작성자의 이메일이 해당 깃헙의 이메일과 일치하지 않아서 발생하는 문제다. 이미 다른 계정으로 커밋을 해 왔으니, 해당 레파지토리에 반영된 이전 커밋들의 작성자와 커밋한 사람을 전부 교체해 주고 force push 하면 된다. 터미널에서 깃 레포 루트에서 다음 2단계를 진행해주면 된다. 단 나 혼자 관리하는 개인 레포인 경우에만 권장되는 방식이다. 1. 작성자, 커밋한 사람 바꾸기 git filter-branch -f --env-filter "GIT_AUTHOR_NAME='원하는 작성자 이름'; GIT_AUTHOR_EMAIL='원하는 작성자 이메일'; GIT_COMMITTER_N..
새로운 프로젝트를 시작하고 나서부터 vscode에서 뭔가 이상한 현상이 발생됐다. components 폴더가 있으면 바로 밑에 components 2, components 3 이라는 빈 폴더가 생기고, 또 내가 수정한 적도 없는 파일들이 source control 탭에 좀비처럼 올라오고 있었다. 원래는 단순히 changes를 비워주거나 일시적인 vscode 오류인 줄 알고 브랜치를 삭제 후 다시 받아서 작업을 계속했는데, 똑같은 문제가 계속 발생하여 혹시 깃 캐시 문제가 아닐까 하고 캐시 삭제를 해 보았다. 방법은 다음과 같다. git rm -r --cached . git add . git commit -m "깃 캐시삭제" 프로젝트 루트에서 차례로 수행해주면 된다. 커밋 메시지는 각자 원하는 메시지로 작..
1. 프록시란 프록시는 클라이언트와 서버 사이에 위치하여, 그들 사이의 HTTP 메시지를 정리하는 중개인의 역할을 한다. '프락시'라고 하는 것이 표준어인 것 같은데, 보편적으로 프록시라는 단어가 더 많이 쓰이고 있고 나도 프록시라는 말이 더 친숙해서 굳이 표준어를 고집하지는 않으려 한다. 프록시라는 단어를 인터넷에 검색한 결과나, 일전에 프록시 우회 프로그램을 활용했던 경험에 비추어 보았을 때, 프록시는 VPN과 비교하여 다소 부정적인 방식으로 활용이 되거나 보안성의 측면에서 떨어진다는 인식이 있는 것 같다. 2. 프록시는 게이트웨이와 어떻게 다를까? 웹 프록시 서버는 클라이언트와 서버 사이에서 트랜잭션을 수행하는 중개인이다. 프록시 서버는 HTTP 클라이언트의 요청을 받기 때문에 클라이언트 입장에서는..
C언어 문법을 익히다가 갑자기 궁금해져서 찾아보았다. 프로그래밍 언어가 등장하기 전, 고등 수학에서 사용하던 변수들이 i, j, k였다. 그래서 FORTRAN의 설계자들은 비슷한 방식을 차용하여 언어를 디자인했다. 포트란 개발자가 말하길, 1960년 포트란 개발 당시 문법상 변수의 타입을 지정할 수가 없었다고 한다. 포트란의 뭔가 다른 버전을 개발하셨는지는 모르겠지만, 위의 원로 개발자분의 이야기와는 조금 다르게, 포트란에서는 일반적으로 타입 선언 없이 i~n은 기본적으로 정수형이었고, 이 외의 문자를 사용하면 기본값으로 실수형을 의미하게 되었다. 정수형을 의미하는 integer라는 단어의 첫 글자와 두 번째 글자가 각각 i, n이기 때문이라고 한다. 여기에서 왜 i, j가 수학에서 먼저 사용되기 시작한..
동적 타입 언어 컴파일이 아니라 런타임 때 타입이 결정되는 언어. - 타입 없이 변수만 선언해서 값을 지정할 수 있음. let number = 11; number = "십일"; // 정상 number가 최초에 Number로 선언되었지만, 두 번째 줄에 String을 재할당해도 타입 에러 안남 - 장점: 컴파일 시 타입을 명시해주지 않아도 되기 때문에 빠르게 코드 작성 가능, 사용하기 위해 지켜야 할 규칙이 적어 러닝 커브가 낮고 상대적으로 코드가 짧음 - 단점: 예시처럼 런타임 실행 도중에 예상치 못한 타입이 들어와 타입 에러 발생할 수 있음, 런타임 시 에러를 확인할 수 있기 때문에 코드가 길고 복잡해질 경우 타입 에러를 찾기 어려워짐. 예: 파이썬, 자바스크립트, 루비, objective-c, php..