프로젝트 노트
-
손쉽게 일자별 start ~ end 검색 구현하기 : ZonedDateTime.truncatedTo(TemporalUnit unit)프로젝트 노트 2024. 3. 29. 10:43
오랜만에 검색 기능을 구현하다가 검색 일자별로 조금 더 쉽게 start와 end date를 구하고 싶다는 생각이 들어 조금 알아보다가 간편한 방법이 있어 공유하면 좋겠단 생각이 들었습니다. 아래 예시 코드를 보시죠! ...Something Codes... ZonedDateTime end = ZonedDateTime.now(); // 현재의 시간을 구합니다(Time zone) ZonedDateTime start = end.minusDays(day); // 특정 day의 값 만큼 이전 일자 데이터를 구합니다. // 여기서 day는 기본 7일로 설정하여 주간 검색 기능을 구현하였습니다. // 추가적으로 start의 경우 00시 00분부터 처리를 해달라는 요구사항이 있었습니다. // 이를 간편하게 처리하기 위해..
-
Ubuntu (우분투) 환경에서 OpenSearch Dashboard 설치 및 외부 접속 설정프로젝트 노트 2023. 12. 12. 16:58
앞선 게시글에서 Ubuntu 환경에서 OpenSearch를 설치하는 내용을 살펴보았습니다. Ubuntu (우분투) 에 OpenSearch (오픈서치) 설치하기 운영환경이 Ubuntu로 픽스되어 해당 운영체제에 Opensearch를 설치를 하게 되었습니다. apt-get을 통해 손쉽게 다운로드 할 수 있는 상황도 있겠으나, 저는 배포판(tar)를 다운받아 설치하는 방법을 알 deguruv.tistory.com 그럼 이제 보다 쉽게 사용하기 위해 Dashboard를 설치해보도록 하겠습니다. 앞선 게시글에서 OpenSearch를 다운받았던 사이트 내에 OpenSearch-Dashboard 다운로드 버튼을 클릭하여 다운로드 받습니다. 역시나 tar.gz로 다운받습니다. 다운로드 받아 압축을 풀면 폴더가 생성됩니..
-
Ubuntu (우분투) 에 OpenSearch (오픈서치) 설치하기프로젝트 노트 2023. 12. 12. 15:51
운영환경이 Ubuntu로 픽스되어 해당 운영체제에 Opensearch를 설치를 하게 되었습니다. apt-get을 통해 손쉽게 다운로드 할 수 있는 상황도 있겠으나, 저는 배포판(tar)를 다운받아 설치하는 방법을 알아보려 합니다. 운영체제 환경은 위와 같습니다. Ubuntu 20.04.4 LTS 버전이 깔려있군요..22버전으로 업그레이드를 했어도 됐으나 이미 설치되어있으니 그냥 해보죠. 우선 Opensearch를 다운받아야겠지요? 아래 사이트로 접속합니다. Opensearch 2.11.1 opensearch.org 살짝 아래로 내려보면 OpenSearch를 다운로드 받는 버튼이 보이며 플랫폼과 패키지를 선택 후 다운로드 해주면 됩니다. 저는 .tar.gz으로 다운로드 하였습니다. 다운로드가 완료되었네요...
-
OpenSearch + Spring Boot + Java 연동 예제 (HTTPS 및 Apache HttpClient 5 활용하기!)프로젝트 노트 2023. 12. 6. 15:18
📌 들어가며 회사 프로젝트에서 기존에 DB를 Oracle을 사용하다 급격한 로깅 트래픽의 증가로 Oracle에서 검색 효율이 좋은 ElasticSearch를 사용해보려 했습니다. 허나 그 막대한 라이선스 비용을 감당하느니 차라리 다른 식으로 구현을 해보자 하여 갑자기 대두된 플랫폼이 OpenSearch였습니다. 처음에 OpenSearch라는 플랫폼이 생소하긴 했지만 이미 AWS 진영에서는 많이 사용되고 있었고, 별도의 로컬 서버를 구축할 수 있도록 이미 설치패키지가 제공되고 있었습니다. LogStash와 Kibana로 멋지게 대시보드도 구현할 수 있고, QueryDSL을 활용할 수 있는 Dashboard도 손쉽게 활용할 수 있었습니다. 근데 다만 문제는 Java와의 연동 예제가 많지 않다는 것이었죠.. ..
-
[뉴스파이프라인 #3] MongoDB에 데이터를 저장해보자(Spring Boot + Spring Batch + Jsoup + Spring Cloud + Kafka Streams + MongoDB)프로젝트 노트 2023. 11. 10. 11:12
📌 들어가기에 앞서 [뉴스파이프라인 #1] Spring Boot + Spring Batch + JSOUP을 활용한 뉴스 크롤링 📌 만드는 이유 우선 저는 경제관련 뉴스 보는 것을 굉장히 즐깁니다. 그간 뉴스를 보려면 사이트에 접속을 하고 제가 직접 찾아봐야 함이 너무 귀찮더군요.. 누군가 제게 재깍재깍 알맞은 시간 deguruv.tistory.com [뉴스파이프라인 #2] Spring Boot + Spring Batch + Jsoup에 Kafka Streams 로 파이프라이닝 해보기! 📌 들어가기에 앞서.. 어제는 이런걸 해보았습니다. [뉴스파이프라인 #1] Spring Boot + Spring Batch + JSOUP을 활용한 뉴스 크롤링 📌 만드는 이유 우선 저는 경제관련 뉴스 보는 것을 굉장히 즐깁..
-
[뉴스파이프라인 #2] Spring Boot + Spring Batch + Jsoup에 Kafka Streams 로 파이프라이닝 해보기!프로젝트 노트 2023. 11. 8. 10:16
📌 들어가기에 앞서.. 어제는 이런걸 해보았습니다. [뉴스파이프라인 #1] Spring Boot + Spring Batch + JSOUP을 활용한 뉴스 크롤링 📌 만드는 이유 우선 저는 경제관련 뉴스 보는 것을 굉장히 즐깁니다. 그간 뉴스를 보려면 사이트에 접속을 하고 제가 직접 찾아봐야 함이 너무 귀찮더군요.. 누군가 제게 재깍재깍 알맞은 시간 deguruv.tistory.com Spring Batch를 통해 뉴스를 긁어와서 텔레그램으로 전송해주는 프로젝트를 가볍게(?) 만들어 보았습니다. 사실 이걸로도 충분히 경제와 부동산 뉴스를 텔레그램으로 볼 수 있게 되었습니다. 근데 막연하게 뇌리에 'Kafka Streams'를 공부했던 기억이 났습니다. 활용해보고 싶다는 생각이 강하게 들었습니다. '한 번 써..
-
[뉴스파이프라인 #1] Spring Boot + Spring Batch + JSOUP을 활용한 뉴스 크롤링프로젝트 노트 2023. 11. 6. 16:15
📌 만드는 이유 우선 저는 경제관련 뉴스 보는 것을 굉장히 즐깁니다. 그간 뉴스를 보려면 사이트에 접속을 하고 제가 직접 찾아봐야 함이 너무 귀찮더군요.. 누군가 제게 재깍재깍 알맞은 시간에 알려줬으면 좋겠다는 생각을 했습니다. 추가적으로 회사의 업무용 메신저로 텔레그램을 활용합니다. 오케이, 그럼 뉴스를 긁어와서 제 텔레그램으로 전송해주는 어플리케이션을 만들면 되겠군요? 해봅시다. 📌 아키텍쳐랄 것도 없지만.. 원대한 꿈을 꾸고 있습니다. 하지만 지금 스텝에서는 거기까지 얘기를 하진 않으려 해요. 그래도 아키텍쳐라는 것을 한 번이라도 그려보고 가는게 낫지 않을까요? 예상하셨겠지만, 크롤러에서 긁어와서 News라는 Record를 만들고 Telegram으로 전송하면 끝입니다. 📌 프로젝트 생성 'NewsP..