전체 글

C++ Programming/알고리즘

[알고리즘] Dijkstra(다익스트라) 알고리즘

📌 Intro 최단 경로 알고리즘은 가장 짧은 경로를 찾는 알고리즘이다. 최단 경로를 찾기 위한 알고리즘은 여러 종류가 있는데 그 중에서 가장 많이 사용되는 다익스트라 알고리즘에 대해 알아보도록 하자. 📌 Dijkstra Algorithm 다익스트라 알고리즘은 한 노드에서 다른 모든 노드까지의 최단 경로를 구하는데 주로 사용한다. 즉 한 지점으로부터 다른 모든 지점까지 각각의 최단경로를 구할 수 있게 되는 것이다. 다익스트라 알고리즘을 사용하기 위해서는 모든 간선의 가중치가 음이 아니어야 한다는 조건이 있다. 다익스트라 알고리즘은 기본적으로 그리디 알고리즘으로 분류되는데, 매번 "가장 비용이 적은 노드"를 선택하기 때문이다. 알고리즘에 대해 간략하게 정리하면 다음과 같다. 출발 노드를 설정한다. 최단 거..

(구)Android/Java

[Android] Kakao Map API 사용방법(5) - 현재위치 기반으로 검색하기

📌 Intro 카카오지도에서 현재 위치를 기반으로 검색하는 방법에 대해 간단하게 정리한다. https://developers.kakao.com/docs/latest/ko/local/dev-guide#search-by-keyword 위 링크로 이동하면 다음과 같다. 이 외에도 여러가지 parameter가 있지만 내가 사용하기 위한 parameter들만 캡쳐했다. 쓰여있기도 하지만 정리해보면 다음과 같다. query : 필수 요소로 검색을 원하는 질의어(필수) x : 중심 좌표의 X 혹은 경도 값, 특정 지역을 중심으로 검색할 경우 radius와 함께 사용 가능 (radius는 반경거리) y : 중심 좌표의 Y 혹은 위도 값, 특정 지역을 중심으로 검색할 경우 radius와 함께 사용 가능 (radius는 ..

(구)Android/Java

[Android] Kakao Map API 사용방법(4) - 마커찍기

📌 Intro 카카오지도에 마커를 추가하는 방법에 대해 간단하게 정리한다. 📌 소스코드 // 마커 추가 MapPOIItem marker = new MapPOIItem(); MapPoint mapPoint = MapPoint.mapPointWithGeoCoord(37.447848031129844, 126.65792054526509); // (latitude, longitude) marker.setItemName("CU"); marker.setTag(0); marker.setMapPoint(mapPoint); marker.setMarkerType(MapPOIItem.MarkerType.BluePin); // 기본 마커 모양 marker.setSelectedMarkerType(MapPOIItem.MarkerT..

(구)Android/Java

[Android] Kakao Map API 사용방법(3) - 장소검색(Retrofit)

📌 Intro 카카오에서 제공하는 API중 REST API를 통한 장소 검색 기능이 있다. Retrofit 라이브러리를 이용하여 API 서버와 통신하고, 장소 검색 결과를 가져오는 방법을 정리하려고 한다. 📌 Retrofit 라이브러리 추가 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' build.gradle에 위 코드를 추가해주도록 한다. 글을 작성하는 시점에서 Retrofit의 최신 버전은 2.9.0버전이지만 새로운 최신 버전이 나왔다고 하더라도 안드로이스 스튜디오에서 아래와 같이 알려주기 때문에 맞게 고쳐주면 된다. 📌 Class & Int..

Jetson Xavier

[Jetson Xavier agx] Xavier 성능 확인방법

📌 Intro Xaiver에서 현재 CPU, GPU를 얼마나 사용하고 있는지 성능을 확인하는 방법에 대해 알아보자. 📌 Jetson Stats 설치 jetson_stats는 Jetson 시리즈 [Xavier NX, Nano, AGX Xavier, TX1, TX2] 시스템 모니터링과 컨트롤 패키지다. 직관적인 구성을 가지고 있기 때문에 사용하기 편리하다. sudo -H pip install -U jetson-stats sudo -H pip3 install -U jetson-stats 위 명령어를 이용하여 jetson_stats를 설치할 수 있다. (만약 pip으로 설치가 되지 않는다면 pip3를 이용하자.) 설치 후 재부팅하면 된다. 📌 jtop 실행 jtop : 시스템 모니터링 유틸리티 jetson_co..

Jetson Xavier

[Jetson Xavier agx] Xavier Fan 모드변경

📌 Intro Xavier가 생각보다 발열이 많다. 이를 해결하기 위해 Xavier는 2가지의 냉각 정책을 가지고 있는데, quiet 모드와 cool모드다. 기본적으로 Xavier는 quiet모드로 설정되어 있는데 이 냉각 정책은 81도가 되어야 냉각을 진행하게 된다. (공식적으로 Xavier가 최대 성능을 안정적으로 내기 위해서는 70도 내외 온도에서의 사용이 권장되는데 뭔가 이상하다.) 📌 냉각 정책 변경 sudo /usr/sbin/nvpmodel -d 냉각정책을 바꾸기 위해서는 위 명령어를 사용하면 된다. 위치에는 cool 혹은 quiet이 들어갈 수 있다. sudo /usr/sbin/nvpmodel -q 위 명령어를 통해 냉각 정책이 정상적으로 반영되었는지 확인할 수 있다. 명령어를 이용하여 냉각..

Jetson Xavier

[Jetson Xavier agx] Xavier 한글 사용 방법

📌 Intro Jetson Xavier argx에서 한글을 사용하는 방법에 대해 정리한다. 📌 방법 1. [System Setting]에 들어가 [Language Support]를 클릭한다. 2. Language Support 창이 출력되기 전에 아래와 같은 언어 지원을 체크하는 창이 출력된다. 3. 아래와 같은 창이 나타나면 "install" 버튼을 클릭하자. 4. 비밀번호를 입력한 후 "authenticate" 버튼을 클릭한다. 5. 아래의 그림과 같이 각종 폰트와 언어 관련 패키지가 설치되는데 시간이 조금 걸린다. 6. Language Support 창이 나오면 "Install/Remove Languages" 버튼을 클릭합니다. 7. 우측 스크롤바를 아래로 내리면 Korean이 체크되어 있을 것이다..

Jetson Xavier

Jetson Xavier agx] Xavier VsCode 사용하기

📌 Intro Xavier에서 Yolov5를 실행하는데 vi로는 디버깅이나 코드 수정이 불편해서 VSCode를 설치하려고 한다. 어떻게 진행하는지 알아보자. 📌 VSCode 설치 git clone https://github.com/JetsonHacksNano/installVSCode.git cd installVSCode ./installVSCodeWithPython.sh 위 명령어를 이용하여 vscode를 설치할 수 있다. 📌 VSCode 설치 확인 및 실행 code --version code HelloWorld/ code --version 을 이용하여 vscode가 잘 설치되었는지 버전을 확인할 수 있다. code HelloWorld/ 를 이용하여 vscode를 실행할 수 있다. 이렇게 vscode가 ..

Krrong
노는게 제일 좋아