다익스트라 알고리즘
·
알고리즘
다익스트라 알고리즘하나의 시작 노드에서 다른 모든 노드까지의 최단 거리를 구하는 알고리즘간선의 가중치에 음수가 없는 그래프에서만 사용 가능원리현재까지 발견한 경로 중 가장 거리가 짧은 노드부터 확정시작 노드의 거리를 0으로 설정하고 나머지 노드의 거리는 무한대 INF 로 설정함아직 처리하지 않은 노드 중 거리가 가장 짧은 노드를 선택선택 노드를 중간 경유지로 하였을 때, 기존에 알던 거리보다 더 짧은지 확인더 짧은 경로를 발견하면 최단 거리 갱신모든 노드 반복우선순위 큐를 사용하는 이유매번 최단 거리가 가장 작은 노드를 찾아야함최소 힙 우선순위 큐를 사용하면 가장 가까운 노드를 꺼낼 수 있따.priority_queue, vector>, greater> pq;pair 에는 {거리, 노드 번호} 값을 저장,..
복사 생성자
·
C++
복사 생성자란?생성자를 호출하는 객체와 동일한 타입의 객체를 인자로 전달받아, 전달받은 객체와 동일하게 객체를 구성(=복사)하는 생성자class Player{public:Player(){ std::cout 실행결과Player() callPlayer(int number) callPlayer(const Player& other) call생성자 오버로딩생성자는 매개변수의 형태에 따라 오버로딩할 수 있다.생성자 오버로딩 : 매개변수의 개수나 타입이 다른 생성자를 여러 개 정의객체를 생성할 때 전달한 인수에 맞는 생성자가 호출된다.Player player3(player2) : 같은 타입의 객체를 전달하여 복사 생성자를 호출한다.복사 생성자같은 타입의 기존 객체로 새 객체를 초기화Player(const Pla..
포인터
·
C++
포인터란?메모리 주소를 저장하는 변수일반 변수는 값이 저장된다면, 포인터 변수는 다른 데이터가 위치한 메모리 주소를 저장할 수 있다.아무 주소도 기리키지 않는 포인터는 nullptr로 초기화void* 는 데이터 타입을 지정하지 않은 범용 포인터, 역참조는 타입 몰라서 불가역참조란? 포인터에 저장된 메모리 주소를 따라가, 주소에 저장된 실제 값에 접근& 연산자다른 변수의 메모리 주소를 얻을 때는 주소 연산자인 & 사용 int var = 8; int* ptr = &var;여기서 &var 는 var 메모리 주소를 반환한다.* 연산자포인터가 가리키는 값에 접근하는 * 연산자포인터에 저장된 주소로 이동하여 해당 메모리의 값에 접근하는 것 : 역참조int var = 8; int* ptr = &var; *ptr ..
[Review] 그림으로 이해하는 AWS 구조와 기술
·
기타/Review
AWS는 많은 서비스들이 있다. 나는 AWS와 RDS만을 주로 사용하여서 다른 서비스들과 AWS에대한 놓친 개념이 있는지 알고 싶어서 길벗 책 리뷰이벤트에 참여하게 되었다. 책을 처음 딱 받았을 때 생각보다 아담한 책이었고 간단하게 보기 좋겠다 라는 생각을 하였다. 글 중간중간에 설명에 대한 그림이 있어서 헷갈리는 부분을 쉽게 이해할 수 있었다. 이 책은 AWS가 무엇인지, 어떠한 서비스를 제공하는지, AWS의 주요 서비스를 설명하면서 각 서비스들의 사용요금을 설명해주고 있기 때문에 AWS를 처음 접하는 사람에게 적합한 책이다. 설명 뒤에 그림이 참조 되어있어서 책에서 설명하는 구조가 눈에 잘 들어왔다. 나는 처음 AWS에 무지한 상태로 EC2와 RDS를 사용하여 프로젝트를 진행하는 도중에 AWS 서비스..
JavaScript ES6
·
기타/JavaScript
const, let const와 let은 블록 스코프이며 호이스팅 문제들을 해결해주고 코드 관리 수월 const : 한번 값을 할당하면 다른 값으로 할당 불가, 재선언 불가, const로 선언한 변수는 상수 let : 재할당 가능, let으로 선언한 변수 재선언은 불가 ` ` 백틱 ${변수} 형식으로 + 없이 문자열 넣을 수 있음 const String1 = num1 + '더하기' + num2 + '는 \'' + result + '\''; const String2 = `${num1}더하기$[num2}는 '${result}'`; String2 가 백틱을 사용해서 가독성 좋아짐 객체 리터럴 - 객체의 메서드에 함수를 연결할 때 콜론: 과 function을 붙이지 않아도 된다. - 속성명과 변수명이 동일한 경..
[Docker] Dockerfile로 도커 이미지 생성
·
기타/Docker
dockerfile -> 도커 클라이언트 -> 도커 서버 -> 이미지 - dockerfile은 도커이미지를 만들기 위한 설정파일이며 컨테이너가 어떻게 행동할지 설정들을 정의 - 도커 클라이언트 : 도커 파일에 입력된 것이 도커 클라이언트에 전달되어야함 - 도커 서버 : 도커 클라이언트에 전달된 모든 중요 작업들을 함 hello를 출력할 dockerfile을 작성 # 베이스이미지 FROM alpine # 추가적으로 필요한 파일 다운로드 #RUN command # 컨테이너 시작시 실행 될 명령어 CMD ["echo", "hello"] 위의 dockerfile 작성 후 아래와 같이 build 해줌 docker build ./ ※※※※※※※docker build ./ 실행시 이미지 ID 나오지 않는 경우 더보기..