努力未来
努力未来
Elastic search로 검색엔진 고도화하기
게시글 데이터를 Elasticsearch에 전송하여 색인합니다.또는 ES 내부에서 처리:검색은 단순한 기능이지만, 사용자 만족도와 서비스 완성도를 크게 좌우하는 핵심 요소입니다.이번 프로젝트에서는 단순 키워드 조회를 넘어, 다음과 같은 점을 직접 구현하며 실전 역량을 키웠습니다:
Docker 기반 Elasticsearch + Kibana 개발 환경 구성하기
Elasticsearch와 Kibana 컨테이너가 동일 네트워크 상에서 통신할 수 있도록 브리지 네트워크를 생성합니다.🔐 이 설정으로 Elasticsearch는 비밀번호 기반 인증이 필요하며, HTTPS 없이도 접근 가능하게 됩니다.비밀번호를 명령어로 직접 입력하고자 할 때 -i 옵션을 사용합니다:Kibana는 Elasticsearch에 접속할 계정 정보가 필요하며, 내부적으로 kibana_system 계정을 사용합니다.이후
GCP Cloud Build 기반 CI/CD 구축하기
필요한 권한:Cloud Run 배포 시:
Spring Boot로 실시간 채팅 구현하기 (WebSocket + STOMP)
단체 채팅 기능을 구현하기 위해 WebSocket과 STOMP 프로토콜을 기반으로 실시간 채팅 시스템을 구축했습니다.Spring Boot를 기반으로 사용자 인증(JWT), 채팅방 참여자 검증, 메시지 저장 및 전송 기능을 통합한 구조입니다.단체 채팅 기능은 단순한 HTTP 요청/응답 구조로는 구현이 어렵습니다. 왜냐하면 채팅은 "양방향 실시간 통신" 이 필요하기 때문입니다. 이 문제를 해결하기 위해 사용한 기술이 WebSocket +
ERD 분석하기
본격적인 졸업 프로젝트 개발 시작 전에 기존 코드를 리펙토링 하고자 ERD를 정리하여 그려보았다.아래 필드들은 조회 시 JOIN이 많을 수 있음 → 반드시 인덱스 필요:✅ 해결 방법: 아래처럼 인덱스 추가likes, board_interest_tags, user_interest_tag 같은 테이블에서:✅ 선택지:
Google Cloud Run 이용하여 Springboot 프로젝트 배포하기
먼저 Google Cloud SQL에서 MySQL 인스턴스를 생성하고, 외부에서 접근 가능하도록 설정해야 합니다.Spring Boot 애플리케이션을 컨테이너로 패키징하기 위한 Dockerfile 예시는 다음과 같습니다.터미널에서 다음 순서로 진행합니다.배포가 완료되면 Cloud Run에서 아래와 같은 URL이 출력됩니다.이 URL로 서비스에 접근할 수 있습니다.