전체 글 26

플레이데이터 풀스택 백엔드 9기 8월 2주차 회고

플레이데이터 풀스택 백엔드 9기 21주차 주간회고 및 학습기록 (스물한 번째 기록)중복제거를 마친 뉴스 기사를 db에 저장하는 것까지 구현했다. 이번 주는 체력적, 정신적으로 좀 힘들었다. 크게 코드에 변화를 주지 못하고 개선에 대한 방향만 고민한 거 같다.db에 저장한 결과와 연관뉴스 관계만 따로 db에 저장한 내용을 기록으로만 남기고자 한다.다음과 같이 각 기사의 제목과 카테고리, 링크, 수집 날짜, 작성 날짜, 기자, 신뢰 여부, 이미지 url을 news 테이블에 담았다. 또한 기사 식별을 쉽게 하고 연관 뉴스 관계를 알아보기 쉽게 하려고 기사 링크에서 oid_aid 정보도 가져왔다.oid_aid 정보?네이버 뉴스의 기사들 링크를 보면 https://n.news.naver.com/mnews/arti..

플레이데이터 풀스택 백엔드 9기 8월 1주차 회고

플레이데이터 풀스택 백엔드 9기 20주차 주간회고 및 학습기록 (스무번째 기록)이번 주는 크롤링한 뉴스들의 유사도를 분석하여 중복 기사를 제거하는 로직을 구현하였다. 크롤링한 뉴스들을 분석하는 과정은 파이썬으로 진행하였다. 각 카테고리의 뉴스끼리 제목 유사도 분석을 진행한 후, 동일한 내용의 기사로 의심되는 후보군에 대해 본문 유사도를 분석했다. 유사도는 TF-IDF 벡터를 기반으로 코사인 유사도를 계산하여 측정하였다. 이를 위해 작성한 코드들을 간략하게 기록하고자 한다.1. 제목 유사도 분석 import reimport pandas as pdfrom preprocess_config import okt, STOPWORDS, IMPORTANT_KEYWORDSdef preprocess_titles(text)..

플레이데이터 풀스택 백엔드 9기 5개월차 월간회고

플레이데이터 풀스택 백엔드 9기 7월 월간회고Facts7월에는 CI/CD 진도와 4차 프로젝트를 마치고 드디어 최종프로젝트를 시작했다. 부트캠프 로비에 있는 화이트보드에 '아키텍처 설게에 일주일 이상 투자하세요. 안 그러면 마지막에 엄청난 양의 충돌을 볼 수 있습니다' 라고 쓰여있는 걸 여러 번 봤기 때문에 기획 및 설계에 공들였다. 팀원 간 의견충돌도 여러 번 있었지만 이 정도 과정은 당연히 각오했기 때문에 큰 이슈 없이 넘어갈 수 있었다. 물론 구현 단계에서 기획한 걸 다시 바꿀 수도 있겠지만, 기본적인 방향성에 대해 합의가 잘 이루어졌기 때문에 큰 걱정은 안된다. 또, 우리 팀에 프론트엔드 에이스가 있어서 큰 걱정을 덜을 수 있었다.Feelings한달 반 뒤면 이 과정이 끝난다는 게 안 믿긴다. 엄..

플레이데이터 풀스택 백엔드 9기 7월 4주차 회고

플레이데이터 풀스택 백엔드 9기 19주차 주간회고 및 학습기록 (열아홉번째 기록) 최종프로젝트를 시작한지 벌써 2주가 지났다. 개발보다 기획이 더 어렵다는 것을 많이 느낀다. 그렇지만 꽤나 재밌다. 당연하게 여겼던 각종 서비스들에 대한 고민을 하고, 어떻게 하면 사용자들을 만족시킬 수 있을까 치열하게 논의하는 과정이 재미있다. 언젠가 프로젝트 매니저가 되어 기획하는 일을 하고 싶다는 생각이 들 정도이다. (기획이 얼마나 어렵고 힘든 일인지 제대로 느끼지 못해서 하는 말일지도 모른다) 이번 주는 자바로 크롤링을 진행해봤다. 생각보다 자바로도 할 만했다. 강사님께서 알려주신 방식으로 코드를 짜보니 크게 어렵지는 않았다. 파이썬에서 BeautifulSoup과 Selenium으로 크롤링을 하는 것처럼 자바에서는..

플레이데이터 풀스택 백엔드 9기 7월 3주차 회고

플레이데이터 풀스택 백엔드 9기 18주차 주간회고 및 학습기록 (열여덟번째 기록)Jenkins를 로컬 환경에서 실행하기 위해 필요한 설정들을 정리하고자 한다. [GitHub Push] ↓[Jenkins] - 백엔드 빌드 (.jar or Docker) - 프론트 빌드 (정적 파일) - Docker 이미지 빌드 + Push - k8s manifest 준비 ↓[GitOps: ArgoCD] - 이미지 버전 감지 후 자동 배포 - K8s 클러스터에 반영 4차 프로젝트였기 때문에 위와 같은 흐름만 진행해봤다. 최종프로젝트 때는 모니터링까지 다 해보고자 한다. 1. Jenkins plugin 설정 로컬에서 Jenkins에 접속하면 (난 18080 포트로 지정하였다) 일..

플레이데이터 풀스택 백엔드 9기 7월 2주차 회고

플레이데이터 풀스택 백엔드 9기 17주차 주간회고 및 학습기록 (열일곱번째 기록)이번 주에는 AWS 실습 및 4차 프로젝트 프론트-백 연결을 진행했다. AWS는 좀 더 사용해봐야 감이 더 잡힐 거 같고, 이번 주에도 코드를 구현하며 알게 된 점을 정리하고자 한다. 1. JwtConfig 설정 실수로 인한 Refresh Token 만료 버그JwtConfig는 application.yml 파일에 정의된 jwt 관련 설정값들을 바인딩해서 관리하는 클래스이다.설정 파일의 값을 매핑해서 편리하게 쓸 수 있도록 하는 일종의 Dto라고 볼 수 있다.그런데 실수한 것은 refreshExpiration을 jwtrefreshExpiration으로 뒀더니yml 파일에서 파싱을 못해서 토큰 생성과 동시에 만료되어버리는 불상사..

플레이데이터 풀스택 백엔드 9기 7월 1주차 회고

플레이데이터 풀스택 백엔드 9기 16주차 주간회고 및 학습기록 (열여섯번째 기록)이번 주에는 Jenkins 공부와 함께 4차 프로젝트 백을 구현했다. 이번 주에 공부하면서 어려웠던 것과 프로젝트 백단을 구현하며 복습한 부분을 정리해보고자 한다. 1. Spring Security 기반 JWT 인증 흐름 및 구성요소 설명4차 프로젝트에서 로그인, 회원가입 등 user-service를 맡았다. Jwt 방식으로 인증 로직을 구현하기로 했기 때문에 필요한 클래스들의 역할과 기능을 정리했다.[요청] | |---▶ [JwtAuthenticationFilter] | └─ HTTP 요청 헤더에서 JWT 추출 | └─ JwtTokenProvider로 토큰 검증 & 정보 추출 | ..

플레이데이터 풀스택 백엔드 9기 4개월차 월간회고

플레이데이터 풀스택 백엔드 9기 6월 월간회고Facts6월에는 spring 기반 MSA 서비스 및 DevOps, Docker, Kubernetes, Jenkins에 대한 내용을 배웠다. 코딩보다는 설정에 대한 내용이 주를 이뤘기 때문에 이전보다 수월하게 집중할 수 있었다. 아직은 헷갈리기 때문에 4차 프로젝트와 최종프로젝트를 진행하면서 완전하게 내 것으로 만들어야겠지만, 다행히 CI/CD에 대한 감은 잡을 수 있었다. 3차 프로젝트로 MSA 기반 영화추천 기능 백엔드 구현을 진행한 후 곧바로 4차 프로젝트를 시작했다. 이건 실습시간에 하거, 각자 집에서 조금씩 해오기로 했다. 난 회원 가입, 정보 수정, 마이페이지, 회원 관리 등(user-context)을 구현하기로 했다. Feelings파이프라인이라는..

플레이데이터 풀스택 백엔드 9기 6월 4주차 회고

플레이데이터 풀스택 백엔드 9기 15주차 주간회고 및 학습기록 (열다섯번째 기록)이번 주에는 kubernetes 공부와 함께 4차 프로젝트 프론트를 조금씩 이어나갔다. 어렵게 느껴졌던 node, pod 개념과 프론트를 진행하면서 중요하다고 느낀 것을 정리하고자 한다.1. Kubernetes - Cluster, Node, Pod, Container, Service, IngressKubernetes컨테이너 오케스트레이션 도구자동화된 컨테이너 배포, 스케일링, 관리를 제공하는 오픈소스 플랫폼필요성 : 도커 이미지와 관리할 컨테이너가 늘어남 → 인스턴스 상태 관리나 자동화 툴의 필요Kubernetes vs Docker ComposeKubernetes Docker Compose1. yml 파일에 정의한 설정대로 ..

플레이데이터 풀스택 백엔드 9기 6월 3주차 회고

플레이데이터 풀스택 백엔드 9기 14주차 주간회고 및 학습기록 (열네번째 기록)이번 주에는 Ansible, CircleCI, DevOps, Docker에 대해 배웠다. 처음 Docker를 배웠을 때는 개념이 잡히지 않아 좀 힘들었기 때문에 비유를 통해 이해하려고 노력했다. 내가 이해한 방식을 기록하고자 한다. 1. 비유를 통한 Docker의 이해Docker여러 컨테이너를 띄울 수 있는 운영 플랫폼비유: 배Dockerfile이미지를 만들기 위한 스크립트 파일이런 환경에서 시작해서, 이 파일 복사하고, 이런 프로그램 설치하고, 이렇게 실행해줘...등의 명령어 모비유: 설계도(이미지)를 만드는 레시피Image컨테이너의 실행 설계도 (서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일 된 실..