본문 바로가기

전체 글355

[Algorithm] 그래프 탐색 - BFS / DFS 대표적인 문제 유형1. 경로 탐색(최단 거리, 시간)2. 네트워크 연결3. 조합 [Python] 백준 1260번: DFS와 BFS1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다.cookiee.tistory.com BFS(Breadth-First Search): 너비 우선 탐색  그래프에서 가까운 노드부터 우선적으로 탐색한다. 주로 두 정점 사이의 최단 경로를 찾을 때 사용한다. 방문한 노드를 차례로 저장한 후 꺼낼 수 있는 자료 구조 Queue를 사용한다.경로가 매우 길 경우에는 탐색 가지가 증가함에 따라 많은 메모리 .. 2022. 11. 19.
[Spring Data JPA] 커서 기반 페이지네이션(Pagination) 보호되어 있는 글 입니다. 2022. 11. 19.
[Pre Project] Day 13 : 프로젝트 배포 기여한 내용 배포 시 발생한 CORS 이슈 해결 새롭게 배운 내용 AWS EC2로 Spring Boot 서버를 배포하는 흐름 보강할 내용 · 서버 배포의 개념과 방법 · CORS 회고 오늘은 Stack Overflow 사이트를 클론 코딩 한 프리 프로젝트의 배포일이다. 배포는 다른 백엔드 팀원이 맡아 주셨고, 오전 중에 백엔드, 프론트엔드 양측 서버의 배포가 완료되었지만, 프로젝트 이전까지 학습을 해 오면서 보안 파트 다음으로 배포 과정이 어렵게 느껴졌었기에 과정에 대한 설명을 요청드려 정리했다. 먼저 백엔드 서버는 어느 정도 API 개발이 완료된 이후부터 AWS의 EC2를 통해 배포해 왔었다. 인스턴스(ubuntu) 내에서 git clone을 통해 빌드 과정을 거치지 않고, 인텔리제이에서 빌드를 하여 .. 2022. 11. 7.
[Spring Security] CORS(Cross-Origin Resource Sharing) 설정 🍕 CORS(교차 출처 자원 공유)란? 요청을 받는 백엔드 쪽에서 이를 허락할 다른 출처들을 미리 명시하여 다른 출처 간에 리소스를 공유할 수 있도록 한다. 브라우저는 다른 출처끼리의 요청이 보내질 때 요청에 Origin이라는 header(데이터가 전송될 때 데이터의 맨 앞쪽에 붙은 보충 정보 - 받는 쪽의 IP 주소, 사용할 프로토콜이나 옵션 등)를 추가한다. Origin에는 요청하는 쪽의 scheme(요청할 자원에 접근할 방법인 프로토콜 http, ftp, telnet)과 도메인, 포트가 담긴다. https:// : scheme naver.com : 도메인 :443 : 포트 요청을 받은 서버는 답장의 헤더에 지정한 Access-Control-Allow-Origin 정보를 실어서 보낸다. 여기에 요청을.. 2022. 11. 6.
[Pre Project] Day 12 : 개발 완료일 기여한 내용 질문과 답변으로 긴 글을 담을 수 있도록 DB 컬럼 타입 변경 새롭게 배운 내용 🧸 Spring Boot에서 JPA를 통해 데이터베이스(MySQL)를 관리할 때 데이터 타입 지정하기 // 컬럼에 들어갈 수 있는 최대 값보다 넣으려고 하는 데이터가 더 클 때 발생하는 오류 com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'body' at row 1 @Entity가 붙은 클래스는 JPA가 관리하며, 클래스와 테이블을 매핑시킨다. 이때 클래스 안에 String 타입의 필드가 존재할 때 아무런 설정도 하지 않으면 기본적으로 varchar(255) 타입의 컬럼이 된다. @Column(c.. 2022. 11. 4.
[Pre Project] Day 10 기여한 내용 · User Dto에 유효성 검증 추가 · BusinessLogicException이 발생 시 응답 바디로 에러 메시지가 반환되지 않는 문제 수정 · 질문과 답변을 수정했을 때 수정 시간이 반영되지 않는 문제 해결 · 로그인 성공 시 응답 바디로 유저 정보를 전달하도록 구현 보강할 내용 기본 API의 요청과 응답을 점검하기 회고 Spring MVC 패턴의 웹 애플리케이션에 Spring Security를 적용하는 핵심 기능의 구현이 끝나니 무엇을 검토하고 보강해야 할지 갈피를 잡지 못했다. 오늘은 프론트엔드 분들이 통신 테스트를 하며 요청하신 부분을 위주로 클라이언트의 API 요청에 관한 응답을 살피는 시간을 가졌다. 로그인에 필요한 비밀번호의 조건을 고민하다가 User 엔티티의 Dto에 아래.. 2022. 11. 2.