전체 글 71

[SourceTree] fail to push some refs to 오류 해결

포스팅 목적 소스트리를 사용하다가 branch 를 merge 한 후 main branch 에 push 할 것이 4건 있다고 나와있어서 push 버튼을 눌렀더니 아래와 같이 failed to push some refs to 오류가 발생했습니다. git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags origin main:main Pushing to "레포지토리" To "레포지토리" ! [rejected] main -> main (fetch first) error: failed to push some refs to "레포지토리" hint: Updates were rejected because the ..

[GitHub] 잔디 심기 오류 해결

포스팅 목적 깃허브에서 볼 수 있는 지표 중 하나인 Contributions ( 일명 잔디 심기 ) 가 기록되지 않는 현상이 발생할 때마다 해결 방법을 추가합니다. Contributions 기록 조건 깃허브 프로필에서 commit 건 수를 볼 수 있는 화면입니다. 기본적으로 commit 을 할 때 마다 쌓이지만 쌓이지 않는 때도 있어서 몇 가지 제한 사항이 있었습니다. 깃허브의 email 과 local git 의 email 이 일치해야 합니다. default 브랜치와 commit 한 브랜치가 같아야 합니다. name 이 다를 경우 문제 해결 깃허브 email 은 위와 같이 확인 할 수 있습니다. 터미널에서 $ git config 명령어로 설정을 알아 볼 수 있습니다. 로컬 email 과 글로벌 email..

[Git] 깃허브 신규 저장소 생성 및 관련 설정하기

포스팅 목적 소스를 깃허브 상에서 관리하기 위해 깃허브 신규 저장소 생성시 해야할 몇 가지 일들을 기록합니다. 디렉토리를 깃이 관리할 수 있도록 새로운 프로젝트를 init 합니다. 깃허브와 연동합니다. 같이 작업할 팀원을 추가합니다. GUI 상에서 깃을 사용할 수 있도록 소스트리에서 불러옵니다. (중간중간 작업물을 확인할 수 있게 되면) 외부에서 작업물을 확인할 수 있도록 배포 합니다. 선행 작업 Git 설치 깃허브 아이디 만들기 소스트리 설치 ( Optional ) 순서 1. 깃허브 접속 후 로그인 https://github.com 2. Repositories - New 생성 저장소 이름과 설명 (생략가능), 공개여부와 초기화를 위한 설정 등을 체크하고 나면 저장소를 만들 수 있습니다. 3. 레포지터리..

HTML 관련 알아야할 내용 (면접 질문) 정리하기

포스팅 목적 HTML 과 관련된 면접 질문들을 알아보고 이해한 만큼의 답안을 작성합니다. 계속해서 업데이트 됩니다. 질문 목록 HTML 버전을 확인하는 방법 / DOCTYPE 의 역할 더보기 한줄 요약 일 경우 HTML5 이며 HTML 을 랜더링하는 방식을 지정하기 위해 사용합니다. 내용 doctype 은 html 문서의 형식을 구분하여 어떻게 랜더링을 할지 명시하기 위해 사용합니다. 표준이 제정되기 이전에 개발된 오래된 웹 페이지들도 랜더링이 필요합니다. HTML4, XHTML 등을 지원하는 호환 모드 (quirks mode) 와 HTML5 를 지원하는 표준 모드 (standard mode) 가 있습니다. 으로 사용할 경우 표준모드의 HTML5 로 랜더링 됩니다. 참고 자료 호환 모드와 표준 모드 [H..

[프로그래머스] 멀쩡한 사각형

문제 정보 프로그래머스 문제 링크 난이도 : level 2 해결 방법 멀쩡하지 않은 사각형은 나눈 줄에 의해 쪼개져야(?) 하므로 각 칸에서 위쪽 선의 위치와 아래쪽 선의 위치로 찾을 수 있습니다. 기울기가 w / h 로 고정적이므로 아래 그림과 같이 한 줄에 멀쩡하지 않은 사각형이 몇개나 나오는지 계산했습니다. 소스 코드 // 프로그래머스 // 코딩테스트 연습 > Summer/Winter Coding(2019) > 멀쩡한 사각형 function main(){ let answer = new Array(); let output = new Array(); // 입출력 예 입력 answer.push(solution(8, 12)); answer.push(solution(10000000, 10000000)); a..

JavaScript 배열의 특징과 내장 메소드 시간 복잡도 알아보기

포스팅 목적 JavaScript 내장 배열 메소드 한눈에 보기 위 포스팅에서 알아본 JavaScript 내장 배열 메소드들의 시간 복잡도, 그리고 이와 관련이 있는 JavaScript 배열의 특징까지 알아봅니다. 시간 복잡도 초기화 fill, splice : O(n) 요소 추가 / 제거 pop / push : O(1) shift / unshift : O(n) 정렬 sort : O(n log n) reverse 순회 forEach, map, reduce, reduceRight : O(n) 조건 판단 every, some, includes, filter : O(n) 요소 찾기 find / findIndex, indexOf / lastIndexOf : O(n) 문자열 반환 join, toString 새로운 배..

배열 초기값을 설정 방법과 대괄호 [] 로 초기화를 해야하는 이유

포스팅 목적 JavaScript 배열 초기값을 설정하는 방법과 초기화시에 new Array() 보다 [] 을 사용해야 하는 이유를 알아봅니다. 배열 초기화 방법 1. for 문 const arr = []; for(let i = 0; i 0); console.log(arr); // [0, 0, 0, 0, 0] const arr = Array.from({length: 5}, (v, index) => index); // 이때 v는 undefined console.log(arr); // [0, 1..

코딩 테스트 유형 알아보기

포스팅 목적 코딩 테스트 유형을 알아보고 유형별로 문제를 풀어봐야 대응할 수 있기 때문에 자주 출제되는 유형을 알고 빠르게 알고리즘을 선택하기 위해 포스팅 했습니다. (알고리즘) 코딩 테스트 유형 중요도 순 정리 완전 탐색 Exhaustive Search ( Brute Force ) 깊이 우선 탐색 ( DFS ) 넓이 우선 탐색 ( BFS ) 동적 프로그래밍 ( Dynamic Programming ) 그리디 ( Greedy ) 이진 탐색 ( Binary Search ) 파라메트릭 서치 ( Parametric Search ) 투 포인터 ( Two Pointer ) 유니온 파인드 ( Union-Find ) 크루스칼 프림 다익스트라 GCD (최대공약수, 최소공배수) 순열/조합 Backtracking Divid..

JavaScript 내장 문자열 메소드 한눈에 보기

포스팅 목적 문자열과 관련된 내장 메소드를 유형별로 분류하여, 사용할 최적의 메소드를 매번 찾기 귀찮아서 찾기 쉽도록 정리했습니다. MDN 홈페이지에 나와있는 메소드를 기준으로 하였습니다. 메소드의 유형이나 중요도는 제가 판단했기 때문에 주관적인 의견이 포함되어 있습니다. 유형별 메소드 자르기 : slice, split, substring 요소 찾기 : charAt, search, indexOf / lastIndexOf 포함 여부 판단 : startsWith / endsWith, includes 추가 : concat, repeat, padStart / padEnd 공백 제거 : trim / trimStart / trimEnd 교체 : replace / replaceAll 변환 : toUpperCase /..