목록Spring (16)
olrlobt
추천 알고리즘 이번에 진행한 프로젝트의 도메인은 '빅데이터 추천'이었다. 나는 추천 시스템에 관한 지식이 전혀 없는 상태였기에 여러 가지 학습한 내용을 정리하고, 내가 사용한 추천 알고리즘에 대해 작성하려 한다. 이 프로젝트의 요구사항은 사용자가 작성한 일기(글)를 기반으로 비슷한 내용의 다른 일기를 K개 추천하는 것이었다. 그렇다면, 어떻게 코드로 사용자가 작성한 일기와 비슷한 일기들을 찾을 수 있을까? 먼저, 숫자와 숫자의 유사도를 비교한다고 생각해 보자. 우리는 숫자와 숫자의 유사도를 비교할 때, 단순히 비교하는 숫자들의 거리차이가 가까울수록 유사도가 높다고 말한다. 이는 단어나 글에서도 똑같이 적용될 수 있는데, 단어를 컴퓨터가 이해할 수 있도록 숫자 배열로 표현한 임베딩 벡터값을 이용하면 된다...
많은 개발자들의 고민 나는 깃허브 리드미에 내 블로그를 홍보하기 위해 링크를 해 놓곤 한다. 하지만, 이 전의 내 깃허브 리드미에는 아래와 같이 a 태그를 이용한 조촐한 이미지 링크만 띄워 놓거나, 좌측 프로필에 조그맣게 걸어 놓는 것이 전부였다. 눌러보고 싶다는 호기심도 생기지 않고, 홍보도 잘 안 되는 것이 불만이었는데, 이를 해결할만한 마땅한 방법이 없어서 그대로 내버려 둔 채로 오랜 시간을 보냈다. 사실 나뿐만이 아니라, 다른 개발자분들 역시 별반 다르지 않다. 거의 숨은 블로그 찾기 급으로, 기술 스택과 함께 나열해 놓은 것을 볼 수 있었다. 많은 개발자, 혹은 개발자 지망생 분들이 자신의 블로그를 홍보, 포트폴리오, 지식공유의 목적으로 깃허브 리드미에 걸어 놓은 것을 자주 볼 수 있는데, 그리..
시도 시군구 행정구역 폴리곤으로 구분하기 카카오 맵 API에서는 지도 위에 원, 선, 다각형 등을 표시하고 이벤트를 넣을 수 있는데, 이를 활용하여 우리나라의 시도/시군구/행정구역을 폴리곤(다각형)으로 표시할 수 있다. 카카오 지도 API 다각형 그리기 카카오 지도 API에서는 아래와 같은 방법으로 다각형을 그릴 수 있다. 카카오 지도 API 공식 홈페이지 - 다각형 그리기 : https://apis.map.kakao.com/web/sample/drawShape/ // 다각형을 구성하는 좌표 배열입니다. 이 좌표들을 이어서 다각형을 표시합니다 var polygonPath = [ new kakao.maps.LatLng(33.45133510810506, 126.57159381623066), new kakao..
[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 인프런의 김영한 강사님의 무료강의를 듣고 궁금한 내용을 찾아서 정리하였다. 스프링 빈 (Spring Bean) Java Bean은 일반적으로는 getter와 setter를 갖고 있는 클래스(객체)를 의미하고, new를 통해 객체를 생성해 사용하곤 한다. 이러한 객체를 스프링 컨테이너에 등록해 주어, 개발자가 아닌 스프링 프레임워크가 객체를 관리하게 하는 것을 제어의 역전 (IoC)라고 하며, 이때 스프링 프레임워크가 관리하는 객체들을 스프링 빈 (S..
Mediapipe 분석 시간 현재 내가 진행 중인 프로젝트에서는 Mediapipe의 분석 결과를 가지고 여러 가지 작업을 진행할 예정이다. 하지만 Mediapipe의 경우, 실시간 영상 데이터만을 활용하여 분석 결과를 보여주게 된다. 즉, 30초 길이의 영상의 분석 결과를 갖기 위해서는 30초간 영상을 재생하면서 데이터를 실시간으로 보내주어야만 결과 값을 얻을 수 있었다. 나는 이 점이 내가 만들 서비스에서 치명적인 문제가 될 수 있다고 생각했다. 사용자가 서비스를 이용할 때, 30초 영상을 사용하려면 30초를 기다려야 한다는 얘기니, 큰 불만사항이 될 수 있다. Mediapipe로 2배속 영상 분석 앞서 말한, 분석 시간을 줄일 수는 없을까 고민을 해 보았다. 가장 먼저 떠오른 방법은 단순히 배속된 영..
저번 포스팅에서 Mediapipe 분석 결과를 3D grid로 출력하는 것을 다루었다. https://olrlobt.tistory.com/54 [Pose Estimation] Mediapipe Pose 분석 결과 3D grid로 렌더링하기 토이 프로젝트 진행 중, 3D 결과 값을 보여준다면 사용자에게 더 좋은 결과를 보여 줄 수 있다고 생각하여, 3D Utils의 Grid를 이용하여 사용자에게 결과를 보여주기로 하였다. Mediapipe Media pipe는 Googl olrlobt.tistory.com PoseWolrdLandmarks가 나타내는 값 poseWolrdLandmarks는 Mediapipe 공식 홈페이지에서 엉덩이 중심의 점으로부터 meter 단위의 3D 좌표라고 안내하고 있다. 나는 당연..
토이 프로젝트 진행 중, 3D 결과 값을 보여준다면 사용자에게 더 좋은 결과를 보여 줄 수 있다고 생각하여, 3D Utils의 Grid를 이용하여 사용자에게 결과를 보여주기로 하였다. Mediapipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식과 같은 다양한 기능들을 제공한다. 자세한 내용은 이 전 포스팅에서 다루었다. https://olrlobt.tistory.com/50 [Pose Estimation] MediaPipe Pose / 미디어 파이프로 사람 포즈 감지하기 Media pipe Media pipe는 Google에서 제작한 Machine Lunning Solution으로 얼굴추적, 손추적, 객체 인식과 같은 다양한..
FFmpeg FFmpeg는 비디오, 오디오를 처리하는 오픈소스 라이브러리이다. 대표적으로 지원하는 동작으로는 파일변환, 편집, 스트리밍, 인코딩과 디코딩 등이 있고, 비디오에서 썸네일을 자동으로 뽑아내는 곳에 자주 이용된다. 특이한 점으로는, 주로 커멘드 입력으로 동작한다. 또한, FFmpeg는 다양한 운영체제에서, 다양한 프로그래밍 언어로 사용할 수 있는 라이브러리로 제공되어, 수많은 개발자와 사용자 모두에게 유용한 기능을 많이 제공해 준다. 오늘은 FFmpeg를 이용하여 Spring boot 프로젝트에서, 클라이언트가 요청한 동영상 파일을, 2 배속하여 다시 사용자에게 보여줄 것이다. 공식 Github : https://github.com/FFmpeg/FFmpeg FFmpeg 설치 먼저, 스프링 부트..