본문 바로가기

전체 글55

substring과 slice String을 추출하는 다양한 방법substr()해당 메서드는 더이상 지원하지 않는다.그래서 아래의 메서드를 사용하도록 하자 (문서) substring()사용법String.substring(indexStart, indexEnd); 결과indexStart부터 indexEnd까지 반환하는데 indexEnd는 포함하지 않는다.원본 데이터를 손상시키지 않는다.egconst str = 'apple';/* 2번째 index string은 반환하지 않음 */console.log(str.substring(0, 2)); // ap 주의`indexStart`가 `string`의 길이보다 클 경우, `indexStart`와 `indexEnd`를 교환하여 연산한다.const str = 'apple';/* 실제로 str.sub.. 2025. 2. 22.
position sticky, 알고 쓰고 계신가요? 요소의 위치를 정하는 CSS 속성 중 position에 다른 값보다 늦게 합류하게 된 sticky가 있다.오늘은 무심코 써왔던 sticky에 대해 간략히 파헤쳐 볼 것이다. sticky?사전적 정의로는 끈적거리는, 착 달라붙는이라는 뜻이다.fixed는 스크롤의 위치와 관계없이 가장 최상위 블록(시각상 뷰포트)을 기준으로 고정이 되고,sticky는 부모 요소의 스크롤이 되는 시점에 고정된다는 것이다. 부모의 스크롤이 사라지면 함께 고정이 풀린다. sticky의 조상은?element는 normal flow를 따라 element의 가장 가까운 scroll 조상과 containing block을 기준으로 상대적 위치가 정해진다.이것은 다른 요소의 위치에 영향을 주지 않고 독립적으로 움직인다.sticky elem.. 2025. 2. 22.
생산성 있는 코딩, Github Copilot 구독부터 적용까지(+ 사용 후기) 코파일럿, 이야기만 들어봤지 실제로 쓰는 것을 본적은 없었는데 새로 합류한 회사 동료가 쓰는 것을 보자마자 경악을 했었는데, 드디어 나도 구독을 결심하게 되었다. 구독을 결심하게 된 가장 큰 이유는 생산성이다. 코파일럿은 복잡한 코드는 작성하기 어렵지만 단순한 코드는 귀신같이 잘 작성하는 관점에서 높은 생산성을 보인다. 알아서 "니가 원하는게 이거야?" 라는 것을 바로 보여주고, 그 즉시 코드를 작성할 수 있다. 서론은 여기까지하고, 코파일럿 구독부터 적용까지 설명해보겠습니다. Github Copilot에 접속하여 [Get started with Copilot]을 클릭한다. 그러면 세가지의 구독 옵션을 선택할 수 있는데, 일단 제일 싼게 눈에 들어올 것이다. 개인적으로 그냥 사용할거면 $10 짜리 가장 .. 2024. 4. 22.
동시성과 병렬성 두 개념의 차이는 시간의 관점에서 봐야 한다. Concurrent computing : 여러 계산이 동시에 실행되는 컴퓨팅의 한 형태 Parallel computing : 많은 계산 또는 프로세스 실행이 동시에 수행되는 계산 유형 사전적으로는 동의어로 취급한다고 한다. 쉽게 말하면 병렬성은 태스크들이 물리적으로 같은 시간에 진행되고 있다는 말이고, 동시성은 태스크들이 물리적으로 같은 시간에 진행되는 것은 아니나 논리적으로는 같은 시간에 진행되고 있다는 말이다. 병렬성은 동시성의 상위 집합이며, 병렬성을 만족하면 동시성이 만족되지만 역은 성립하지 않는다. 동시성: 싱글 코어에서 멀티 쓰레드를 동작 병렬성: 멀티 코어에서 멀티 쓰레드를 동작 위의 그림을 보면 싱글 코어에서는 Context Switch가 일어.. 2024. 4. 21.
우선순위 큐와 힙은 뭘까? 23.1 도입 우선순위 큐 선입선출이 아니고, 우선순위가 가장 높은 자료가 가장 먼저 꺼내진다. 연결 리스트나 동적 배열로 구현 가능하다 O(n) 시간 소요되며 비효율적이다. 힙을 통해 구현하는 것이 가장 적합하다. 힙 가장 큰 또는 가장 작은 원소를 찾는데 최적화된 형태의 이진 트리 O(lgN) 시간 소요 23.2 힙의 정의와 구현 특정한 규칙을 만족하는 이진 트리 대소 관계 규칙: 부모 노드가 가진 원소는 항상 자식 노드가 가진 원소 이상이다. 힙의 모양 규칙 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다. 마지막 레벨에 노드가 있을 때는 항상 왼쪽부터 순서대로 채워져 있어야 한다. 배열을 이용한 힙의 구현 트리에 포함된 노드의 개수만 알면 트리 전체의 구조를 알 수 있다. 배열을 제일.. 2024. 4. 17.
이진 검색 트리는 뭘까? 22.1 도입 일정한 순서에 따라 정렬한 상태로 저장해준 검색 트리 32비트 정수들을 작은 것부터 큰 것까지 정렬한 상태로 저장할 수도 있고, 문자열을 가나다순으로 정렬해서 저장할 수도 있다. 원소의 추가와 삭제만이 아니라 특정 원소의 존재 여부 확인 등을 할 수 있다. 대부분 표준 라이브러리에서 제공한다. 22.2 이진 검색 트리의 정의와 조작 이진 트리? 각 노드가 왼쪽과 오른쪽, 최대 두 개의 자식 노드만을 가질 수 있는 트리 자식 노드의 배열 대신 두 개의 포인터 left와 right를 담는 객체로 구현된다. 위의 트리는 왼쪽은 루트보다 작은 값, 오른쪽은 루트보다 큰 값으로 이뤄진 트리이다. 그러나 잘못된 예처럼 루트인 16보다 작은 원소인 15가 루트보다 작은 값으로 올 수는 없다. 순회 크기.. 2024. 4. 17.
728x90
반응형