목록전체 글 (281)
내 잡다한 노트
여러 번 보고 숙지를 꼭 해야 할 것 같다. 이걸 잘 알아둬야 프로젝트 버전관리와 협업을 쉽게 할 수 있다. Commit Message 구조 type : title body (본문, 생략 가능) Resolves : #issueNo, ... (해결한 이슈, 생략 가능) See also : #issueNo, ... (참고 이슈, 생략 가능) 기본 규칙 - 제목과 본문을 빈 행으로 구분 - 첫 글자는 대문자로 작성 - 제목 끝에 마침표X - 제목은 명령문으로 사용, 과거형X - 어떻게 보다는 무엇과 왜 Type type keyword 사용 시점 feat 새로운 기능 추가 fix 버그 수정 docs 문서 수정 style 코드 스타일 변경 design 사용자 ui 디자인 변경 test 테스트 코드, 리팩토링 테스..
복사를 yank(y), 잘라내기를 delete(d), 붙여넣기를 paste(p)라고 한다. 밑의 과정들은 esc키를 누르고 진행하면 됨. # 복사 여러 명령어가 있지만 간단하게 ny만 기억하자. n은 정수로 커서가 위치한 라인에서 시작해 n개의 줄을 복사해준다. # 삭제 dd - 현재 줄을 삭제. ndd - 위와 똑같이 n개의 라인을 삭제한다. d$ - 커서에서 줄 끝까지 다 삭제 #붙여넣기 커서를 원하는 위치로 이동하고 p를 누르면 붙여넣기를 한다.
a라는 (2, 3) shape를 가진 배열이 있다고 가정. # 배열의 사칙연산 a +-*/ value 사칙연산은 a의 모든 값에 사칙연산이 된다. # 배열끼리 연산 b와 c라는 크기가 같은 배열이 있을때, 두 배열을 사칙연산을 한다면, 같은 위치의 요소끼리 사칙연산이 된다. 위에 나온 배열들은 크기가 같을때를 가정한 것이고, 만약 크기가 다르다면??? 그래도 연산을 수행할 수 있다. 브로드캐스팅 덕분인데, 이건 dimension을 추가하거나 array를 복제하여 호환되도록 해서 다양한 모양의 array가 작업에서 함께 작동하도록 만드는 방법이다. 예를 들어 3x3 배열 A와 1x3 배열 B가 있는 경우 브로드캐스팅을 사용하여 함께 추가할 수 있습니다. NumPy는 'A'의 모양과 일치하도록 첫 번째 차원..
# 배열 생성 기본적으로 np.array() 함수를 사용한다. ex) a = np.array([[1, 2, 3,], [1, 2, 3]]) +) numpy는 ndarray라는 클래스를 사용하고 반면에 파이썬은 list를 사용한다. numpy는 C로 구현된 CPython에서만 사용되고, 행렬 연산이 c로 구현된 내부 반복문을 사용해 python 반복문에 비해 속도가 빠르다. 차이점) ndarray 클래스는 연속적인 메모리 배치를 가지고 있어 모든 원소가 같은 자료형이여야 한다. ndarray 클래스는 벡터화 연산을 지원한다. a*b를 하면 각 요소들끼리 서로 곱한 결과를 보여준다. np.zeros((a, b), dtype=) 튜플 형태로 인자를 넣어 shape가 (a, b)이고 값은 모두 0인 행렬을 생성...
revert 기존의 commit들을 삭제하지 않고 새로운 commit을 생성하여 프로젝트를 과거의 시점으로 되돌린다. reset의 상위버전 느낌. commit은 삭제하지 않는게 좋기 때문에 reset은 같이 공유하는 작업들에선 사용하지 않는 게 좋다. git revert HEAD를 입력하고 commit 메세지를 작성한다. 여러 commit들을 revert 하고 싶다면, git revert HEAD~2..HEAD 같은 형식으로 작성하자. HEAD~2는 현재 브랜치의 두 번째로 최근 커밋을 의미한다. 따라서 두 번째로 최근 커밋부터 현재까지의 모든 변경 사항을 되돌린다는 의미이다. cherry-pick 다른 브랜치의 특정 commit만을 가져올 때 사용 git cherry pick 가져올 커밋은 가져오지만 ..
특정 commit으로 롤백하는 방법 1. reset commit 이력을 남기지 않고 되돌린다. 2. revert commit 이력을 남기고 되돌린다. # reset 이전 commit으로 되돌아 갈 때 사용 옵션은 3가지가 있다. --soft --mixed (기본) --hard HEAD~ 는 바로 이전의 commit을 의미하고, HEAD 포인터 위치가 변경돼 마지막 commit이 사라졌다 하지만 파일들의 변화는 없다. 즉, --soft 옵션은 파일을 add하고 난 후(commit 직전의 상황)로 되돌려준다. git reset HEAD~ 를 하면 --mixed 옵션을 하게 된 것이다. HEAD의 포인터 위치가 변경된다. 파일을 add하기 전으로 되돌려준다. 작업한 내용들은 있지만, unstaged 상태로 되..
시스템 콜 처리 과정은 소프트웨어 시스템에서 사용자 프로그램이 OS와 상호작용하여 특정 작업을 수행하는 과정이다. 운영체제에서 제공하는 서비스에 접근할 때 사용되며, 일반적으로 하드웨어 자원에 접근하거나 메모리 관리, 프로세스 관리 등의 운영 체제 기능을 수행하는 데 사용된다. 시스템 콜 처리 과정 1. 사용자 프로그램에서 시스템 콜 함수 호출 호출한다. 시스템 콜 함수는 보통 C 라이브러리 함수 형태로 제공되며, 시스템 콜 번호와 인자 값을 인자로 받는다. 2. 사용자 모드에서 커널 모드로 전환 CPU는 현재 실행 중인 사용자 모드에서 커널 모드로 전환된다. 이 과정에서 CPU는 특권 명령어(Privileged instruction)를 사용하여 운영 체제에게 제어권을 넘긴다. 3. 시스템 콜 번호와 인..
문제) https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 ) def solution(maps): answer = [] dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] visited = [] for _ in range(len(maps)): # visited 셋팅 temp = [] for _ in range(len(maps[0])): temp.append(False) visited.append(temp) for i in..