[Kotlin Spring] 스프링 스케줄러를 이용한 매일 오전 3시 작업 예약하기
·
백엔드/Kotlin + Spring
서론이전에 뉴스 기사 스크래핑 및 요약 기능을 구현한 후 자동화를 시키기 위해 스프링 스케줄러를 사용하기로 했다.목표는 최신 뉴스 기사 스크래핑 및 요약을 매일 사람들이 이용하지 않는 시간대에 업데이트하는 것이다.  Spring Scheduler스프링의 스케줄러는 특정 시간에 특정 작업을 자동으로 실행하게 해주는 기능이다.1. 기본 설정@Configuration@EnableSchedulingclass JpaConfig  2. 주요 어노테이션@Scheduled 어노테이션을 사용하면 된다.@Componentclass ScheduledTasks { // 1. 고정 간격으로 실행 @Scheduled(fixedRate = 5000) // 5초마다 fun reportCurrentTime() { ..
티스토리 블로그 챌린지 중간 점검
·
기타
2024.10.31 - [기타] - [이벤트] 티스토리 오블완 챌린지 [이벤트] 티스토리 오블완 챌린지티스토리에서 이벤트를 한다. fun main() { println("오늘 블로그 완료!")} 챌린지 이름은 오블완 2024.11.07 ~ 11.273주 동안 매일 블로그를 한 개씩 쓰는 챌린지이다. (거의 네이버 블첼) 코딩 블로그를campus-coder.tistory.com 이전에 발행한 포스팅 하나 넣고 시작하기. 티스토리 오블완 챌린지를 시작하고 요즘 개발 블로그를 매일 한 개씩 작성하고 있다.지금까지는 이전 프로젝트에서 사용했던 기술, 현재 프로젝트에서 사용했던 기술들을 정리하는 시간을 가졌다. 블로그 챌린지 한번 시작하니 멈출 수가 없는 느낌이다.3번 정도까지는 재밌게 쓴 것 같은데, 일주일이 ..
[Kotlin Spring] Relogging - 뉴스 기사 스크래핑하기 (크롤링과 스크래핑 차이)
·
백엔드/Kotlin + Spring
1. 서론Relogging 프로젝트에서 뉴스 기사를 스크래핑한 후 ai를 통해 요약하고 원문을 보고 싶다면 원본 사이트로 리다이렉션 하는 기능을 구현하자는 아이디어가 나왔다. 토스 증권의 뉴스 3줄 요약 기능을 참고하여 아이디어를 얻었다. 크롤링과 스크래핑 차이웹 크롤링은 웹 페이지의 링크를 타고 계속해서 탐색을 이어나가지만, 웹 스크래핑은 데이터 추출을 원하는 대상이 명확하여 특정 웹 사이트만을 추적한다는 차이점이 있다. 참고: https://blog.hectodata.co.kr/crawling_vs_scraping/ 2. 리소스 Selector 경로 얻기내가 이전에 작성했던 블로그 포스팅의 내용을 스크래핑해 보도록 하겠다. 리소스의 위치가 고정되어 있는 경우 이런 방법을 통해 스크래핑할 수 있다. ..
2024 활동 정리 및 회고
·
기타
2024년 활동백엔드에 대해 공부하고 프로젝트 경험을 쌓으며 백엔드 개발자가 되기 위해 노력했던 1년이었다. 대학교 3학년 1학기 재학 및 휴학올클 & 42 서울 본과정올클: 2024년 3월까지 진행했다.42 서울: 2024년에도 계속 활동 중이다. 아래 포스팅에 관련 내용이 있다. 2024.11.12 - [기타] - 2023 활동 정리 및 회고 2023 활동 정리 및 회고2023년 활동 정리를 해보려 한다. 순서는 활동을 시작한 순서를 기준으로 했다. 내 일상에 비중을 두지 않고 단지 참여만 했거나 활동했던 내용이 거의 없는 활동들은 제외했다. 2023년 활동본격campus-coder.tistory.com SSU-Plector주제: 팀 프로젝트, 공모전개발 기간: 2024년 3월 ~ 6월, 7월~8월 ..
2023 활동 정리 및 회고
·
기타
2023년 활동 정리를 해보려 한다. 순서는 활동을 시작한 순서를 기준으로 했다. 내 일상에 비중을 두지 않고 단지 참여만 했거나 활동했던 내용이 거의 없는 활동들은 제외했다. 2023년 활동본격적으로 프로그래밍을 배우기 시작하고 내가 하고 싶은 분야에 대해 탐구했던 1년이었던 것 같다. 대학교 2학년 재학주제: 대학참여 기간: 2023년 2023년 한 해동안 대학교 2학년을 다녔다. 본격적으로 프로그래밍에 대한 공부를 한 것 같다. 1학년에는 자유전공학부여서 일부 과목에서만 프로그래밍을 배우고, 기초 문법 정도를 배워서 별로 흥미를 느끼지 못했지만, 2학년에 소프트웨어학부로 전과한 이후에는 내가 배우는 것으로 무언가를 만들 수 있다는 것에 흥미가 붙어서 열심히 공부한 것 같다. 성적도 따라서 올라주었다..
[42서울] Netpractice LEVEL 8 문제 풀이
·
대외활동/42서울
서론인터넷 통신을 위한 서브넷팅, 라우팅 테이블 설정, ip 주소 설정 등에 대해 배울 수 있는 과제이다. 이 포스팅에서는 예시로 하나의 문제에 대한 해설을 적어보았다. 한 라우터의 다른 경로는 다른 네트워크 주소를 사용해야 한다.한 경로의 네트워크 주소는 모두 동일하며, 호스트 주소는 모두 달라야 한다.이 두 가지 네트워크의 기본 개념을 토대로 주어진 문제의 빈칸을 해결하면 된다. 서브넷 참고자료2023.12.05 - [전공/네트워크] - [네트워크] #17 IP (개념, Datagram 형식, IPv4, IPv6, 주소 접근, NAT) [네트워크] #17 IP (개념, Datagram 형식, IPv4, IPv6, 주소 접근, NAT)목차IP(Internet Protocol)Datatgram forma..
[Kotlin Spring] Relogging - AWS S3를 이용한 이미지 호스팅
·
백엔드/Kotlin + Spring
1. 서론서비스를 개발하다 보면 이미지를 저장하고 제공해야 하는 상황이 자주 발생합니다. Relogging 프로젝트에서도 사용자 프로필 이미지, 플로깅 모임 배너 이미지, 뉴스 기사 썸네일 등 다양한 이미지 리소스를 다루어야 했습니다. 이미지 호스팅을 구현하는 방식은 크게 두 가지가 있습니다:애플리케이션 서버에서 직접 이미지를 저장하고 제공하는 방식구현이 비교적 간단하고 직관적하지만 서버 리소스(디스크 공간, 네트워크 대역폭) 부담이 큼확장성과 가용성 측면에서 한계가 있음클라우드 스토리지 서비스(AWS S3 등)를 활용하는 방식초기 설정과 구현이 다소 복잡할 수 있음하지만 서버 부하를 줄일 수 있고 확장성이 뛰어남CDN과 연계하여 더 빠른 이미지 제공 가능비용 효율적인 운영 가능이 글에서는 Reloggi..
[백엔드] AWS S3 엑세스 키 발급 방법
·
백엔드
AWS S3 엑세스 키, 비밀 엑세스 키를 발급 받는 방법을 알아보자.  AWS 계정 로그인 이후 오른쪽 위 계정 이름을 클릭한 후 보안 자격 증명 클릭  왼쪽의 엑세스 관리 - 사용자 클릭오른쪽 주황색 사용자 생성 버튼 클릭  이름 지정  AmazonS3FullAccess 선택아래의 다음 버튼 클릭사용자 생성 버튼 클릭  생성된 사용자에서 보안 자격 증명 클릭   CLI 선택, 권장사항 체크박스 클릭, 다음 버튼 클릭다음 페이지의 설명 칸 적기(건너뛰기) 이후 엑세스 키와 비밀 엑세스 키가 생성된 것을 확인할 수 있다.
[백엔드] AWS S3 버킷 생성
·
백엔드
서론Amazon S3는 업계 최고의 확장성, 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스이다. S3 버킷을 생성해보자.프로젝트를 하며 이미지를 호스팅하기 위해 S3를 사용하게 되었는데, 사용한 김에 내용을 정리하여 블로그 글을 쓰게 되었다. S3 버킷 생성 AWS 회원가입 후 상단의 검색창에 S3를 검색해서 들어가자  버킷 만들기 클릭  버킷 이름 입력  퍼블릭 액세스 차단 해제, 실제 배포 할 때에는 보안을 위해 설정해 주자이후, 맨 아래의 버킷 만들기 클릭이후, 생성된 버킷 이름 클릭  권한 클릭오른쪽 아래 버킷 정책의 편집  버킷 ARN 복사 후정책 생성기 클릭  Select Type of Policy : S3 선택Principal : * 입력Actions : GetObject, ..
[Kotlin Spring] Relogging - Spring AI 활용 구현 정리 (OpenAI, ChatGPT API 사용하기)
·
백엔드/Kotlin + Spring
1. 서론프로젝트에서 뉴스 요약하기 기능을 구현하기 위해 OpenAI의 ChatGPT를 사용하기로 했다. 사실 이전 프로젝트에서도 GptAPI를 사용한 기능을 구현했었는데, 아래 사진처럼 클래스도 여러 개 만들어야 하고 더 효율적으로 AI 기능을 사용할 수는 없을까? 라는 생각을 하다가 Spring에서 AI를 지원한다는 정보를 알게 되었다. 이번 포스팅에서는 Spring AI를 사용하여 정말 간단하게 AI 기능을 구현하는 방법을 알아보겠다.  2. ReferenceSpring AI에서는 다양한 AI를 지원하며 공식 문서에서 이를 찾아볼 수 있다. 다음 링크는 OpenAI의 Chat AI 사용 방법에 대한 Spring 공식 문서 링크이다. 이 문서와 OpenAI의 공식 문서를 참고하여 코드를 작성했다.Sp..