분류 전체보기

· 알고리즘
다익스트라 알고리즘 플로우 요약 반복문 이전 출발 노드에서 각 노드로의 최단 거리를 갱신,기록하는 배열 선언 더 적은 이동거리를 우선하는 우선순위 큐를 선언 우선순위 큐에 초기 상태 삽입 반복문 이후 큐에서 꺼낸 상태가 현재 최소 경로인지 검사 및 갱신 다음 방문 가능한 노드에 대하여 큐에 삽입 다익스트라의 꽃은 최적 상태 검사 다익스트라 알고리즘은 출발 노드로 부터 각 모든 도착 노드까지 최소 비용의 경로로 방문하게 되는 알고리즘이다. 따라서 최적으로 이동하고있지 않은 상태는 유망하지 않은 상태가 되며 더 이상 탐색하지 않아도 된다. 예를 들어 a 노드에서 c 노드까지 가는데 이미 5라는 비용으로 방문하는 방법을 알았다면, 7이라는 비용이 발생하는 동일 경로는 버려버리면 된다. 이 때 현재 상태가 최적..
· 언어/C++
c++에서 외부 라이브러리의 기능(메서드)를 사용해야하는 상황. // [Project.cpp] #include "Project.h" #include "library.h" void main(){ // library.cpp 에 정의되어있는 메서드 Function(); } 위와 같은 방식으로 Project.cpp 에서 library.cpp에 정의되어있는 Function() 메서드를 실행하려면 라이브러리를 어떻게 개발해야할까? library 입장에선 export library를 개발하는 입장에서는 // [library.h] static bool __declspec(dllexport) Function(); //선언부 // [library.cpp] #include "library.h" bool Function(){..
Reactor, RxJava, WebFlux에서 사용되는 용어들 Spring WebFlux, Project Reactor 등 Reactive Streams가 사용되는 프로젝트를 개발하면서 구글링을 하면 아래의 용어들을 만나볼 수 있다. 앞으로 구글링할 때 읽다가 단어의 뜻을 몰라 브레이크가 걸리지 않도록 용어의 뜻을 예제와 함께 알아보자 Publisher : 발행자, 생산자, Emitter 데이터를 생산하는 주체 Emit : Publisher가 데이터를 Downstream(아래 참고)으로 방출하는 것 Subscriber : 구독자, 소비자 데이터를 소비하는 주체 Sequence : Publisher가 emit하는 데이터의 연속적인 흐름 stream, pipeline과도 의미가 같다. Subscribe :..
문제 상황 항해99 실전 6주 WebFlux 기반의 팀프로젝트가 끝난 이후, 급하게 개발한 부분들이 신경쓰여서 팀원 한분과 프로젝트 디벨롭을 결심했고, 가장 먼저 눈에 띈 부분은 예외 처리 로직이였습니다. 기존 예외 처리 로직 기존 아래와 같은 방식으로 예외를 처리하고있었는데. if (!signupRequestDto.getPassword().equals(signupRequestDto.getPassword2())) { return Mono.error(new ResponseStatusException(HttpStatus.BAD_REQUEST, "비밀번호가 일치하지 않습니다.")); } client에게 보여질 Exception을 handle 하는 로직이 서비스 클래스 단에서 이루어지고 있는 것이 불편했다. 예..
서병렬
'분류 전체보기' 카테고리의 글 목록