수진개발서
[baekjoon] 백준 1520 내려막길
Algorithm 2023. 1. 9. 16:54

문제 https://www.acmicpc.net/problem/1520 1520번: 내리막 길 첫째 줄에는 지도의 세로의 크기 M과 가로의 크기 N이 빈칸을 사이에 두고 주어진다. 이어 다음 M개 줄에 걸쳐 한 줄에 N개씩 위에서부터 차례로 각 지점의 높이가 빈 칸을 사이에 두고 주어진다. www.acmicpc.net 풀이 dfs, dp 문제이다. 처음에는 dfs로 풀고자 하였지만 계속해서 시간초과가 났다. dfs탐색만으로 문제를 수행하게 되면 이미 탐색한 곳을 다시 한번 탐색하게 되면서 시간 초과가 나오게 된다. 그래서 탐색 한 곳을 탐색 처리하게 되면 다시 이어서 방문하지 않아 여러가지 경우의 수를 구할 수 없다. 그래서 dp 초기값을 -1로 초기화하고 탐색 시 0으로 초기화해주어 탐색하였다. dp ..

[SNS Project] 리펙토링 - 좋아요 및 취소 메서드분리
프로젝트/SNS만들기 2023. 1. 9. 16:16

목표 - 자신이 단 댓글, 좋아요는 알람이 가지 않도록 하기 - 좋아요 서비스 로직 메서드 분리 코드 LikeService(이전 코드) public String controlLike(Long postId, String userName) { //유저와 게시물의 존재 유무 확인 ValidateUserPostDto validateUserPost = validateService.validateUserPost(userName, postId); //like db에 user과 post가 같은게 존재하는지 확인 Optional like = likeRepository.findByUserAndPost(validateUserPost.getUser(), validateUserPost.getPost()); //좋아요를 처음 누..

article thumbnail
[HTTP]인터넷 네트워크 기본지식
CS/개념 2023. 1. 7. 16:35

어떤 상태의 Http를 사용할까? API url설계는 어떻게 할까? 등등 백엔드 개발자는 HTTP에 관한 고민을 많이 한다. 실무에 꼭 필요한 HTTP 기본지식을 정리해볼까 한다. 프로토콜 계층 ✅IP(Internet Protocol) 특징 지정한 IP 주소에 데이터 전달 패킷(Packet) 이라는 통신 단위로 데이터 전달 출발지ip, 목적지ip 로 패킷 전달 수많은 노드들을 걸쳐서 목적지ip 로 도착 IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 중간에 패킷이 사라져도 알 방법이 없음 패킷의 순서가 보장되지 않음 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면 올바르게 전달해주지 못함 패킷 소실 중간에 서버에서 문제가..

article thumbnail
[SNS Project] Post 삭제 시 Like, Comment 삭제하기 (영속성 전이, Soft Delete)
프로젝트/SNS만들기 2023. 1. 7. 15:36

✅목표 Post삭제 시 연관 되어 있는 Comment, Like 삭제 포스팅을 읽기 전에 아직 영속성 전이와 Soft Delete를 알지 못한다면 아래의 포스팅을 먼저 읽기를 권장한다. https://alcoholble.tistory.com/11 https://alcoholble.tistory.com/7 [JPA] Soft Delete 적용하기 Soft Delete가 왜 필요한가? SNS 프로젝트를 진행하면서 한가지 상황을 가정해보았다. 누군가가 법적으로 침해되는 게시물이나 댓글을 작성하여 신고를 하려고한다. 하지만 그 회원이 탈퇴를 하면 alcoholble.tistory.com [JPA] 영속성 전이, 고아객체(Cascade) sns프로젝트를 진행하면서 해당 Post가 지워지기 되면 함께 관계되어있던 ..