본문 바로가기
반응형

개발9

생산성 있는 코딩, 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
반응형